Merge "Correct the DICE support VTS VSR index" into main
diff --git a/android/TerminalApp/Android.bp b/android/TerminalApp/Android.bp
index 4bb9703..59f18df 100644
--- a/android/TerminalApp/Android.bp
+++ b/android/TerminalApp/Android.bp
@@ -18,6 +18,7 @@
         "debian-service-grpclib-lite",
         "gson",
         "VmTerminalApp.aidl-java",
+        "MicrodroidTestHelper", // for DeviceProperties class
     ],
     jni_libs: [
         "libforwarder_host_jni",
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/ErrorActivity.java b/android/TerminalApp/java/com/android/virtualization/terminal/ErrorActivity.java
index 44dcce5..7099f22 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/ErrorActivity.java
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/ErrorActivity.java
@@ -25,6 +25,10 @@
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+
 public class ErrorActivity extends BaseActivity {
     private static final String EXTRA_CAUSE = "cause";
 
@@ -59,7 +63,8 @@
         Exception e = intent.getParcelableExtra(EXTRA_CAUSE, Exception.class);
         TextView cause = findViewById(R.id.cause);
         if (e != null) {
-            cause.setText(getString(R.string.error_code, e.toString()));
+            String stackTrace = getStackTrace(e);
+            cause.setText(getString(R.string.error_code, stackTrace));
         } else {
             cause.setText(null);
         }
@@ -69,4 +74,15 @@
         Intent intent = new Intent(this, SettingsRecoveryActivity.class);
         startActivity(intent);
     }
+
+    private static String getStackTrace(Exception e) {
+        try (StringWriter sWriter = new StringWriter();
+                PrintWriter pWriter = new PrintWriter(sWriter)) {
+            e.printStackTrace(pWriter);
+            return sWriter.toString();
+        } catch (IOException ex) {
+            // This shall never happen
+            throw new RuntimeException(ex);
+        }
+    }
 }
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java b/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java
index 316c8c4..016af83 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java
@@ -33,6 +33,7 @@
 import android.os.ConditionVariable;
 import android.os.Environment;
 import android.os.SystemClock;
+import android.os.SystemProperties;
 import android.provider.Settings;
 import android.util.Log;
 import android.view.KeyEvent;
@@ -56,6 +57,7 @@
 import androidx.annotation.NonNull;
 
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.microdroid.test.common.DeviceProperties;
 
 import com.google.android.material.appbar.MaterialToolbar;
 
@@ -77,10 +79,19 @@
     static final String KEY_DISK_SIZE = "disk_size";
     private static final String VM_ADDR = "192.168.0.2";
     private static final int TTYD_PORT = 7681;
-    private static final int TERMINAL_CONNECTION_TIMEOUT_MS = 20_000;
+    private static final int TERMINAL_CONNECTION_TIMEOUT_MS;
     private static final int REQUEST_CODE_INSTALLER = 0x33;
     private static final int FONT_SIZE_DEFAULT = 13;
 
+    static {
+        DeviceProperties prop = DeviceProperties.create(SystemProperties::get);
+        if (prop.isCuttlefish() || prop.isGoldfish()) {
+            TERMINAL_CONNECTION_TIMEOUT_MS = 180_000; // 3 minutes
+        } else {
+            TERMINAL_CONNECTION_TIMEOUT_MS = 20_000; // 20 sec
+        }
+    }
+
     private ExecutorService mExecutorService;
     private InstalledImage mImage;
     private X509Certificate[] mCertificates;
diff --git a/android/TerminalApp/res/values-af/strings.xml b/android/TerminalApp/res/values-af/strings.xml
index b5b47d9..af277a3 100644
--- a/android/TerminalApp/res/values-af/strings.xml
+++ b/android/TerminalApp/res/values-af/strings.xml
@@ -17,65 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminaal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Terminaalskerm"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Skermpyltjie"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Leë reël"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Dubbeltik om invoer te tik"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Installeer Linux-terminaal"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"As jy Linux-terminaal wil begin, moet jy omtrent <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> se data oor die netwerk aflaai.\nWil jy voortgaan?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Laai af wanneer wi-fi beskikbaar is"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Jy sal omtrent <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> se data oor die netwerk moet aflaai om Linux Terminaal te begin.\nWil jy voortgaan?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Laai net oor wi-fi af"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Installeer"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installeer tans"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Netwerkfout. Gaan verbinding na en probeer weer."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Kon weens ’n netwerkfout nie installeer nie. Gaan jou verbinding na en probeer weer."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linus-terminaal word tans geïnstalleer"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux-terminaal sal begin wanneer jy klaar is"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Kon weens die netwerkkwessie nie installeer nie"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Kon nie installeer nie. Probeer weer."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux Terminaal sal begin nadat die installasie voltooi is"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Kon weens ’n netwerkkwessie nie installeer nie"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Kon nie installeer nie omdat wi-fi nie beskikbaar is nie"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Kon nie installeer nie. Probeer asseblief weer"</string>
     <string name="action_settings" msgid="5729342767795123227">"Instellings"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Maak terminaal gereed"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Stop tans terminaal"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminaal het omgeval"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Verander grootte van skyf"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Verander grootte / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Verander grootte van skyf"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Verander die grootte van die kernafdeling"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Skyfgrootte is gestel"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> toegewys"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> maks."</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Kanselleer"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Herbegin om aansoek te doen"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Poortaanstuur"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Stel poortaanstuur op"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminaal probeer om ’n nuwe poort oop te maak"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Poort versoek om oop te wees: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Pas toe"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminaal sal herbegin word om die skyf se grootte te verander"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Bevestig"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Poortkontrole"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Laat luisterpoorte toe of weier hulle"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Luisterpoorte"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Het toegelate poorte gestoor"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"Vee <xliff:g id="PORT_NUMBER">%d</xliff:g> uit"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Laat ’n nuwe poort toe"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Voer ’n nuwe poortnommer in"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Stoor"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Kanselleer"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminaal probeer om ’n nuwe poort oop te maak"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Poort versoek: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Aanvaar"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Weier"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Herwin"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Afdelingherwinningopsies"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Verander na aanvanklike weergawe"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Verwyder almal"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Afdelingherwinningopsies"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Stel terug na aanvanklike weergawe"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Verwyder alle -data"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Stel terminaal terug"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Data sal uitgevee word"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Bevestig"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Data sal verwyder word"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Stel terug"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Kanselleer"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Rugsteun data na <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Terugstel het misluk omdat rugsteun misluk het"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Kon weens ’n rugsteunfout nie terugstel nie"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Kon nie terugstel nie"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Kan nie rugsteunlêer verwyder nie"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Kon nie rugsteundata verwyder nie"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Verwyder rugsteundata"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Maak skoon <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <!-- no translation found for error_title (7196464038692913778) -->
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Verwyder <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Onterugstelbare fout"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
     <skip />
-    <!-- no translation found for error_desc (1939028888570920661) -->
-    <skip />
-    <!-- no translation found for error_code (3585291676855383649) -->
-    <skip />
+    <string name="error_code" msgid="3585291676855383649">"Foutkode: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Instellings"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminaal loop tans"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Klik om die terminaal oop te maak"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Klik om Terminaal oop te maak"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Maak toe"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminaal maak toe"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Verplig toemaak"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> is geaktiveer"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-am/strings.xml b/android/TerminalApp/res/values-am/strings.xml
index aa97b52..5eb23d1 100644
--- a/android/TerminalApp/res/values-am/strings.xml
+++ b/android/TerminalApp/res/values-am/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"ተርሚናል"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"ተርሚናል ማሳያ"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"ጠቋሚ"</string>
+    <string name="empty_line" msgid="5012067143408427178">"ባዶ መስመር"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"ግብዓት ለመተየብ ሁለቴ መታ ያድርጉ"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux ተርሚናልን ይጫኑ"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux ተርሚናልን ለማስጀመር በአውታረ መረብ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> የሚገመት ውሂብ ማውረድ ያስፈልግዎታል። \nይቀጥላሉ?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Wi-Fi ሲገኝ አውርድ"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux ተርሚናልን ለማስጀመር በአውታረ መረቡ ላይ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> የሚሆን ውሂብ ማውረድ ያስፈልግዎታል። \nመቀጠል ይፈልጋሉ?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Wi-Fi ብቻ በመጠቀም አውርድ"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ጫን"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"በመጫን ላይ"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"የአውታረ መረብ ስህተት። ግንኙነት ይፈትሹ እና እንደገና ይሞክሩ።"</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"በአውታረ መረብ ስሕተት ምክንያት መጫን አልተሳካም። ግንኙነትዎን ይፈትሹ እና እንደገና ይሞክሩ።"</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux ተርሚናልን በመጫን ላይ"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux ተርሚናል ከጨረሰ በኋላ ይጀምራል"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"በአውታረ መረብ ችግር ምክንያት መጫን አልተሳካም"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"መጫን አልተሳካም። እንደገና ይሞክሩ።"</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"ጭነቱ ከተጠናቀቀ በኋላ Linux ተርሚናል ይጀምራል።"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"በአውታረ መረቡ ችግር ምክንያት መጫን አልተሳካም"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Wi-Fi ስለማይገኝ መጫን አልተሳካም"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"መጫን አልተሳካም። እባክዎ እንደገና ይሞክሩ"</string>
     <string name="action_settings" msgid="5729342767795123227">"ቅንብሮች"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"ተርሚናልን በማዘጋጀት ላይ"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"ተርሚናልን በማቆም ላይ"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"ተርሚናል ተበላሽቷል"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"የዲስክ መጠን ቀይር"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"መጠን ቀይር / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"የዲስክ መጠንን ቀይር"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"የስር ክፍልፋይ መጠንን ቀይር"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"የዲስክ መጠን ተቀናብሯል"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> ተመድቧል"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> ከፍተኛ"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"ይቅር"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"ለመተግበር እንደገና ይጀምሩ"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"ወደብ ማስተላለፍ"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"ወደብ ማስተላለፍን ያዋቅሩ"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"ተርሚናል አዲስ ወደብ ለመክፈት እየሞከረ ነው"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"እንዲከፈት የተጠየቀ ወደብ፦ <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"ተግብር"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"የዲስክ መጠንን ለመቀየር ተርሚናል እንደገና ይጀምራል"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"አረጋግጥ"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"የወደብ ቁጥጥር"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"የማዳመጫ ወደቦችን ይፍቀዱ/ይከልክሉ"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"የማዳመጫ ወደቦች"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"የተቀመጡ የሚፈቀዱ ወደቦች"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"አዲስ ወደብ ይፍቀዱ"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"አዲስ የወደብ ቁጥር ያስገቡ"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"አስቀምጥ"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"ይቅር"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"ተርሚናል አዲስ ወደብ ለመክፈት እየጠየቀ ነው"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"የተጠየቀ ወደብ፦ <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"ተቀበል"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"ከልክል"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"መልሶ ማግኘት"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"የክፍልፋይ መልሶ ማግኛ አማራጮች"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"ወደ የመጀመሪያ ሥሪት ለውጥ"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"ሁሉንም አስወግድ"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"የክፍልፋይ መልሶ ማግኛ አማራጮች"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"ወደ የመጀመሪያ ሥሪት ዳግም አስጀምር"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"ሁሉንም ውሂብ አስወግድ"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"ተርሚናልን ዳግም አስጀምር"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ውሂብ ይሰረዛል"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"አረጋግጥ"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ውሂብ ይወገዳል"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"ዳግም አስጀምር"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"ይቅር"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"ውሂብን ወደ <xliff:g id="PATH">/mnt/backup</xliff:g> ምትኬ አስቀምጥ"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"ምትኬ ስላልተሳካ መልሶ ማግኘት አልተሳካም"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"በምትኬ ስሕተት ምክንያት መልሶ ማግኘት አልተሳካም"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"መልሶ ማግኘት አልተሳካም"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"የመጠባበቂያ ፋይልን ማስወገድ አይቻልም"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"የምትኬ ውሂብን ማስወገድ አልተሳካም"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"ምትኬ ውሂብን አስወግድ"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> አጽዳ"</string>
-    <string name="error_title" msgid="7196464038692913778">"ሊመለስ የማይችል ስሕተት"</string>
-    <string name="error_desc" msgid="1939028888570920661">"ከስሕተት መልሶ ማግኘት አልተሳካም።\nመተግበሪያውን እንደገና ለማስጀመር መሞከር ወይም አንዱን የመልሶ ማግኛ አማራጭ መሞከር ይችላሉ።"</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> አስወግድ"</string>
+    <string name="error_title" msgid="405150657301906598">"ሊመለስ የማይችል ስሕተት"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"የስሕተት ኮድ፦ <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"ቅንብሮች"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"ተርሚናል በመሄድ ላይ ነው"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"ተርሚናሉን ለመክፈት ጠቅ ያድርጉ"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"ተርሚናልን ለመክፈት ጠቅ ያድርጉ"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"ዝጋ"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"ተርሚናል በመዝጋት ላይ ነው"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"በግድ ዝጋ"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> ነቅቷል"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-ar/strings.xml b/android/TerminalApp/res/values-ar/strings.xml
index 5f9ad2e..5f029f5 100644
--- a/android/TerminalApp/res/values-ar/strings.xml
+++ b/android/TerminalApp/res/values-ar/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"شاشة الوحدة الطرفية"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"المؤشر"</string>
+    <string name="empty_line" msgid="5012067143408427178">"سطر فارغ"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"انقر مرّتين لإدخال نص"</string>
     <string name="installer_title_text" msgid="500663060973466805">"تثبيت الوحدة الطرفية بنظام التشغيل Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"لتشغيل الوحدة الطرفية بنظام التشغيل Linux، عليك تنزيل <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> من البيانات تقريبًا عبر الشبكة.\nهل تريد المتابعة؟"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"التنزيل عند توفُّر شبكة Wi-Fi"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"لتشغيل وحدة Linux الطرفية، عليك تنزيل <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> من البيانات تقريبًا عبر الشبكة.\nهل تريد المتابعة؟"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"التنزيل باستخدام Wi-Fi فقط"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"تثبيت"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"جارٍ التثبيت"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"حدث خطأ في الشبكة. يُرجى التحقُّق من الاتصال وإعادة المحاولة."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"تعذَّر التثبيت بسبب خطأ في الشبكة. يُرجى التأكُّد من الاتصال وإعادة المحاولة."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"جارٍ تثبيت الوحدة الطرفية بنظام التشغيل Linux"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"سيتم تشغيل الوحدة الطرفية بنظام التشغيل Linux بعد الانتهاء"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"تعذَّر التثبيت بسبب مشكلة في الشبكة"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"تعذَّر التثبيت. يُرجى إعادة المحاولة."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"سيتم تشغيل وحدة Linux الطرفية بعد اكتمال عملية التثبيت"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"تعذَّر التثبيت بسبب مشكلة في الشبكة"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"تعذَّر التثبيت لأنّ شبكة Wi-Fi غير متاحة"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"تعذَّر التثبيت. يُرجى إعادة المحاولة"</string>
     <string name="action_settings" msgid="5729342767795123227">"الإعدادات"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"جارٍ تحضير Terminal"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"جارٍ إيقاف Terminal"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"تعطَّل Terminal"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"تغيير حجم القرص"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"تغيير الحجم / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"تغيير حجم القرص"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"تغيير حجم قسم الجذر"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"تم ضبط حجم القرص"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"تم تخصيص <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"‫<xliff:g id="MAX_SIZE">%1$s</xliff:g> كحد أقصى"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"إلغاء"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"إعادة التشغيل لتطبيق التغييرات"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"إعادة توجيه المنفذ"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"ضبط إعادة توجيه المنفذ"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"تحاول الوحدة الطرفية فتح منفذ جديد"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"المنفذ المطلوب فتحه: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"تطبيق"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ستتم إعادة تشغيل الوحدة الطرفية لتغيير حجم القرص"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"تأكيد"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"التحكّم في المنافذ"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"السماح بمنافذ الاستماع أو حظرها"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"منافذ الاستماع"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"المنافذ المسموح بها المحفوظة"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"حذف <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"السماح بمنفذ جديد"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"إدخال رقم منفذ جديد"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"حفظ"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"إلغاء"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"تطلُب الوحدة الطرفية فتح منفذ جديد"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"المنفذ المطلوب: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"قبول"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"رفض"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"الاسترداد"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"خيارات استرداد القسم"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"التبديل إلى الإصدار الأولي"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"إزالة الكل"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"خيارات استرداد القسم"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"إعادة الضبط إلى الإصدار الأوليّ"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"إزالة كل البيانات"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"إعادة ضبط الوحدة الطرفية"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"سيتم حذف البيانات"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"تأكيد"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ستتم إزالة البيانات"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"إعادة الضبط"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"إلغاء"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"الاحتفاظ بنسخة احتياطية من البيانات في <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"تعذّر الاسترداد بسبب عدم نجاح عملية الاحتفاظ بنسخة احتياطية"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"تعذَّر الاسترداد بسبب حدوث خطأ في النسخة الاحتياطية"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"تعذّر الاسترداد"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"تتعذّر إزالة ملف النسخة الاحتياطية"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"تعذَّرت إزالة بيانات النسخة الاحتياطية"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"إزالة بيانات النسخة الاحتياطية"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"حذف بيانات النسخة الاحتياطية في <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"خطأ غير قابل للإصلاح"</string>
-    <string name="error_desc" msgid="1939028888570920661">"تعذَّر استرداد البيانات من خطأ.\nيمكنك محاولة إعادة تشغيل التطبيق أو تجربة أحد خيارات استرداد الحساب."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"إزالة بيانات <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"خطأ غير قابل للإصلاح"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"رمز الخطأ: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"الإعدادات"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"الوحدة الطرفية قيد التشغيل"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"انقر لفتح الوحدة الطرفية"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"انقر لفتح الوحدة الطرفية"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"إغلاق"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"جارٍ إغلاق الوحدة الطرفية"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"فرض الإغلاق"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"تم تفعيل <xliff:g id="ID_1">VirGL</xliff:g>"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-as/strings.xml b/android/TerminalApp/res/values-as/strings.xml
index ce4f6ab..29630b1 100644
--- a/android/TerminalApp/res/values-as/strings.xml
+++ b/android/TerminalApp/res/values-as/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"টাৰ্মিনেল"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"টাৰ্মিনেল ডিছপ্লে’"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"কাৰ্ছৰ"</string>
+    <string name="empty_line" msgid="5012067143408427178">"খালী শাৰী"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"ইনপুট টাইপ কৰিবলৈ দুবাৰ টিপক"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux টাৰ্মিনেল ইনষ্টল কৰক"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux টাৰ্মিনেল লঞ্চ কৰিবলৈ, আপুনি নেটৱৰ্কত প্ৰায় <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ডেটা ডাউনল’ড কৰিব লাগিব।\nআপুনি আগবাঢ়িবনে?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"ৱাই-ফাই সেৱা উপলব্ধ হ’লে ডাউনল’ড কৰক"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux টাৰ্মিনেল লঞ্চ কৰিবলৈ, আপুনি নেটৱৰ্কত প্ৰায় <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ডেটা ডাউনল’ড কৰিব লাগিব।\nআপুনি আগবাঢ়িবনে?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"কেৱল ৱাই-ফাই ব্যৱহাৰ কৰি ডাউনল’ড কৰক"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ইনষ্টল কৰক"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"ইনষ্টল কৰি থকা হৈছে"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"নেটৱৰ্কৰ আসোঁৱাহ। সংযোগ পৰীক্ষা কৰক আৰু পুনৰ চেষ্টা কৰক।"</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"নেটৱৰ্ক সম্পৰ্কীয় সমস্যাৰ বাবে ইনষ্টল কৰিব পৰা নগ’ল। আপোনাৰ সংযোগ পৰীক্ষা কৰি পুনৰ চেষ্টা কৰক।"</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux টাৰ্মিনেল ইনষ্টল কৰি থকা হৈছে"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"সমাপ্ত হোৱাৰ পাছত Linux টাৰ্মিনেল আৰম্ভ কৰা হ’ব"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"নেটৱৰ্ক সম্পৰ্কীয় সমস্যাৰ বাবে ইনষ্টল কৰিব পৰা নগ’ল"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"ইনষ্টল কৰিব পৰা নগ’ল। পুনৰ চেষ্টা কৰক।"</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux টাৰ্মিনেল ইনষ্টলেশ্বন সম্পূৰ্ণ হোৱাৰ পাছত আৰম্ভ হ\'ব"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"নেটৱৰ্ক সম্পৰ্কীয় সমস্যাৰ বাবে ইনষ্টল কৰিব পৰা নগ’ল"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"ৱাই-ফাই উপলব্ধ নোহোৱাৰ কাৰণে ইনষ্টল কৰিব পৰা নগ’ল"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"ইনষ্টল কৰিব পৰা নগ’ল। অনুগ্ৰহ কৰি পুনৰ চেষ্টা কৰক"</string>
     <string name="action_settings" msgid="5729342767795123227">"ছেটিং"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"টাৰ্মিনেল সাজু কৰি থকা হৈছে"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"টাৰ্মিনেল বন্ধ কৰি থকা হৈছে"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"টাৰ্মিনেল ক্ৰেশ্ব হৈছে"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"ডিস্কৰ আকাৰ সলনি কৰক"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"আকাৰ সলনি কৰক / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"ডিস্কৰ আকাৰ সলনি কৰক"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"ৰুট পাৰ্টিশ্বনৰ আকাৰ সলনি কৰক"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"ডিস্কৰ আকাৰ ছেট কৰা হৈছে"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> আৱণ্টন কৰা হৈছে"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"সৰ্বাধিক <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"বাতিল কৰক"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"প্ৰয়োগ কৰিবলৈ ৰিষ্টাৰ্ট কৰক"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"প’ৰ্ট ফৰৱাৰ্ডিং"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"প’ৰ্ট ফৰৱাৰ্ডিং কনফিগাৰ কৰক"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"টাৰ্মিনেলটোৱে এটা নতুন প’ৰ্ট খুলিবলৈ চেষ্টা কৰি আছে"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"প’ৰ্ট খোলা ৰখাৰ বাবে অনুৰোধ কৰা হৈছে: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"প্ৰয়োগ কৰক"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ডিস্কৰ আকাৰ সলনি কৰিবলৈ টাৰ্মিনেলটো ৰিষ্টাৰ্ট কৰা হ\'ব"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"নিশ্চিত কৰক"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"প’ৰ্ট নিয়ন্ত্ৰণ"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"শুনা প’ৰ্টৰ অনুমতি দিয়ক/অস্বীকাৰ কৰক"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"শুনা প’ৰ্ট"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"ছেভ কৰা অনুমোদিত প’ৰ্ট"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"<xliff:g id="PORT_NUMBER">%d</xliff:g> মচক"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"এটা নতুন প’ৰ্টৰ অনুমতি দিয়ক"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"এটা নতুন প’ৰ্ট নম্বৰ দিয়ক"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"ছেভ কৰক"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"বাতিল কৰক"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"টাৰ্মিনেলটোৱে এটা নতুন প’ৰ্ট খুলিবলৈ অনুৰোধ কৰি আছে"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"প\'ৰ্ট অনুৰোধ কৰা হৈছে: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"গ্ৰহণ কৰক"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"অস্বীকাৰ কৰক"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"পুনৰুদ্ধাৰ"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"পাৰ্টিশ্বন পুনৰুদ্ধাৰৰ বিকল্প"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"প্ৰাৰম্ভিক সংস্কৰণলৈ সলনি কৰক"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"আটাইবোৰ আঁতৰাওক"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"পাৰ্টিশ্বন পুনৰুদ্ধাৰৰ বিকল্প"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"প্ৰাৰম্ভিক সংস্কৰণলৈ ৰিছেট কৰক"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"আটাইবোৰ ডেটা আঁতৰাওক"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"টাৰ্মিনেল ৰিছেট কৰক"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ডেটাখিনি মচা হ’ব"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"নিশ্চিত কৰক"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ডেটাখিনি আঁতৰোৱা হ\'ব"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"ৰিছেট কৰক"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"বাতিল কৰক"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g>লৈ ডেটাৰ বেকআপ লওক"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"বেকআপ ল\'ব পৰা নগ\'ল বাবে পুনৰুদ্ধাৰ কৰিব পৰা নগ’ল"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"বেকআপ সম্পৰ্কীয় এটা আসোঁৱাহৰ বাবে পুনৰুদ্ধাৰ কৰিব পৰা নগ\'ল"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"পুনৰুদ্ধাৰ কৰিব পৰা নগ’ল"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"বেকআপ লোৱা ফাইল আঁতৰাব নোৱাৰি"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"বেকআপৰ ডেটা আঁতৰাব পৰা নগ\'ল"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"বেকআপ লোৱা ডেটা আঁতৰাওক"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> মচক"</string>
-    <string name="error_title" msgid="7196464038692913778">"পুনৰুদ্ধাৰ কৰিব নোৱৰা আসোঁৱাহ"</string>
-    <string name="error_desc" msgid="1939028888570920661">"এটা আসোঁৱাহৰ পৰা পুনৰুদ্ধাৰ কৰিব পৰা নগ’ল।\nআপুনি এপ্‌টো ৰিষ্টাৰ্ট কৰি চাব পাৰে বা পুনৰুদ্ধাৰৰ বিকল্পসমূহৰ মাজৰ পৰা এটা ব্যৱহাৰ কৰি চাব পাৰে।"</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> আঁতৰাওক"</string>
+    <string name="error_title" msgid="405150657301906598">"পুনৰুদ্ধাৰ কৰিব নোৱৰা আসোঁৱাহ"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"আসোঁৱাহ ক’ড: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"ছেটিং"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"টাৰ্মিনেলটো চলি আছে"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"টাৰ্মিনেলটো খুলিবলৈ ক্লিক কৰক"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"টাৰ্মিনেল খুলিবলৈ ক্লিক কৰক"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"বন্ধ কৰক"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"টাৰ্মিনেলটো বন্ধ কৰি থকা হৈছে"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"বলেৰে বন্ধ কৰক"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> সক্ষম কৰা আছে"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-az/strings.xml b/android/TerminalApp/res/values-az/strings.xml
index f816d81..371d9ad 100644
--- a/android/TerminalApp/res/values-az/strings.xml
+++ b/android/TerminalApp/res/values-az/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Terminal displeyi"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Kursor"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Boş sətir"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Mətn daxil etmək üçün iki dəfə toxunun"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux terminalını quraşdırın"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux terminalını işə salmaq üçün şəbəkə vasitəsilə təxminən <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> həcmində data endirməlisiniz.\nDavam etmək istəyirsiniz?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Wi-Fi əlçatan olduqda endirin"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux terminalını işə salmaq üçün şəbəkə vasitəsilə təxminən <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> həcmində data endirməlisiniz.\nDavam etmək istəyirsiniz?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Yalnız Wi-Fi istifadə edərək endirin"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Quraşdırın"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Quraşdırılır"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Şəbəkə xətası. Bağlantını yoxlayıb yenidən cəhd edin."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Şəbəkə xətası səbəbilə quraşdırmaq alınmadı. Bağlantını yoxlayın və yenidən cəhd edin."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux terminalı quraşdırılır"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Tamamlandıqan sonra Linux terminalı işə salınacaq"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Şəbəkə problemi səbəbilə quraşdırmaq alınmadı"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Quraşdırmaq alınmadı. Yenidən cəhd edin."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Quraşdırma tamamlandıqdan sonra Linux terminalı işə düşəcək"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Şəbəkə problemi səbəbilə quraşdırmaq alınmadı"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Wi-Fi əlçatan olmadığı üçün quraşdırmaq alınmadı"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Quraşdırmaq alınmadı. Yenidən cəhd edin"</string>
     <string name="action_settings" msgid="5729342767795123227">"Ayarlar"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Terminal hazırlanır"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Terminal dayandırılır"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminal çökdü"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Disk ölçüsü dəyişdirilməsi"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Yenidən ölçüləndirin / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Disk ölçüsünün dəyişdirilməsi"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Kök bölməsinin ölçüsünü dəyişin"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Disk ölçüsü ayarlandı"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> təyin edildi"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"maks <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Ləğv edin"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Tətbiq etmək üçün yenidən başladın"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Port yönləndirməsi"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Port yönləndirməsini konfiqurasiya edin"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal yeni port açmağa çalışır"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Portun açıq olması tələb edildi: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Tətbiq edin"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Diskin ölçüsünü dəyişmək üçün terminal yenidən başladılacaq"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Təsdiq edin"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Port nəzarəti"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Dinləmə portlarına icazə verin/imtina edin"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Dinləmə portları"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Yadda saxlanılmış icazə verilən portlar"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Yeni porta icazə verin"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Yeni port nömrəsi daxil edin"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Yadda saxlayın"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Ləğv edin"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal yeni port açmağı tələb edir"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Port tələb edildi: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Qəbul edin"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Rədd edin"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Bərpa"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Bölmə üzrə bərpa seçimləri"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"İlkin versiyaya dəyişin"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Hamısını silin"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Bölmə üzrə bərpa seçimləri"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"İlkin versiyaya sıfırlayın"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Bütün datanı silin"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Terminalı sıfırlayın"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Data silinəcək"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Təsdiq edin"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Data silinəcək"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Sıfırlayın"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Ləğv edin"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Datanı buraya yedəkləyin: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Yedəkləmə alınmadığı üçün bərpa etmək mümkün olmadı"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Yedəkləmə xətası səbəbilə bərpa olunmadı"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Bərpa etmək alınmadı"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Yedək faylı silmək mümkün deyil"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Yedək datanı silmək alınmadı"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Yedək datanı silin"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Təmizləyin: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Düzəldilməyən xəta"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Xətanı bərpa etmək alınmadı.\nTətbiqi yenidən başladın və ya bərpa seçimlərindən birini sınayın."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Silin: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Düzəldilməyən xəta"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Xəta kodu: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Ayarlar"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminal işləyir"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Terminalı açmaq üçün klikləyin"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Terminalı açmaq üçün klikləyin"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Bağlayın"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminal bağlanır"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Məcburi bağlanma"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> aktivləşdirilib"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-b+sr+Latn/strings.xml b/android/TerminalApp/res/values-b+sr+Latn/strings.xml
index e454a8b..2dddc37 100644
--- a/android/TerminalApp/res/values-b+sr+Latn/strings.xml
+++ b/android/TerminalApp/res/values-b+sr+Latn/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Prikaz terminala"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Kursor"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Prazan red"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Dvaput dodirnite da biste uneli tekst"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Instalirajte Linux terminal"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Da biste pokrenuli Linux terminal, treba da preuzmete oko <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> podataka preko mreže.\nŽelite da nastavite?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Preuzmi kada WiFi bude dostupan"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Da biste pokrenuli Linux terminal, treba da preuzmete oko <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> podataka preko mreže.\nŽelite li da nastavite?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Preuzimaj samo preko WiFi mreže"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instaliraj"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Instalira se"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Greška na mreži. Proverite vezu i probajte ponovo."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Instaliranje nije uspelo zbog greške na mreži. Proverite vezu i probajte ponovo."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Instalira se Linux terminal"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux terminal će se pokrenuti posle završetka"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Instaliranje nije uspelo zbog problema sa mrežom"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Instaliranje nije uspelo. Probajte ponovo."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux terminal će se pokrenuti kada se instalacija završi"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Instaliranje nije uspelo zbog problema sa mrežom"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Instaliranje nije uspelo jer WiFi nije dostupan"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Instaliranje nije uspelo. Probajte ponovo"</string>
     <string name="action_settings" msgid="5729342767795123227">"Podešavanja"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Terminal se priprema"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Terminal se zaustavlja"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminal je otkazao"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Promena veličine diska"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Promenite veličinu / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Promena veličine diska"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Promenite veličinu osnovne particije"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Veličina diska je podešena"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Dodeljeno <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maks. <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Otkaži"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Restartuj i primeni"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Prosleđivanje porta"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Konfigurišite prosleđivanje porta"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal pokušava da otvori novi port"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port čije je otvaranje traženo: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Primeni"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal će se restartovati da bi se promenila veličina diska"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Potvrdi"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Kontrola porta"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Dozvolite ili zabranite portove za slušanje"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Portovi za slušanje"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Sačuvani dozvoljeni portovi"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"Izbriši <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Dozvolite novi port"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Unesite novi broj porta"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Sačuvaj"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Otkaži"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal traži da otvori novi port"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Obavezan port: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Prihvati"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Odbij"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Oporavak"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opcije oporavka particija"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Promeni na početnu verziju"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Uklonite sve"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opcije oporavka particija"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Vratite na početnu verziju"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Uklonite sve podatke"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Resetujte terminal"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Podaci će biti izbrisani"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Potvrdi"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Podaci će biti uklonjeni"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Resetuj"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Otkaži"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Napravi rezervnu kopiju podataka na <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Oporavak nije uspeo jer pravljenje rezervne kopije nije uspelo"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Oporavak nije uspeo zbog greške pri pravljenju rezervne kopije"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Oporavak nije uspeo"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Uklanjanje fajla rezervne kopije nije uspelo"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Uklanjanje rezervne kopije podataka nije uspelo"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Uklonite rezervnu kopiju"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Obrišite <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Nepopravljiva greška"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Oporavak od greške nije uspeo.\nProbajte da restartujete aplikaciju ili probajte jednu od opcija za vraćanje."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Uklonite <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Nepopravljiva greška"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Kôd greške: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Podešavanja"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminal je aktivan"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Kliknite da biste otvorili terminal"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Kliknite da biste otvorili terminal"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Zatvori"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminal se zatvara"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Prinudno zatvori"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> je omogućen"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-be/strings.xml b/android/TerminalApp/res/values-be/strings.xml
index 6b982ca..26cae1c 100644
--- a/android/TerminalApp/res/values-be/strings.xml
+++ b/android/TerminalApp/res/values-be/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Тэрмінал"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Дысплэй тэрмінала"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Курсор"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Пусты радок"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Двойчы націсніце, каб увесці тэкст з клавіятуры"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Усталяванне тэрмінала Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Каб запусціць тэрмінал Linux, трэба спампаваць каля <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> даных па сетцы.\nПрацягнуць?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Спампаваць, калі будзе даступная сетка Wi-Fi"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Каб запусціць тэрмінал Linux, трэба спампаваць каля <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> даных па сетцы.\nПрацягнуць?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Спампоўваць толькі праз сетку Wi-Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Усталяваць"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Ідзе ўсталяванне"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Памылка сеткі. Праверце падключэнне і паўтарыце спробу."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Не ўдалося ўсталяваць з-за памылкі сеткі. Праверце падключэнне і паўтарыце спробу."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Ідзе ўсталяванне тэрмінала Linux"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Тэрмінал Linux будзе запушчаны пасля завяршэння"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Не ўдалося ўсталяваць з-за праблемы з сеткай"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Не ўдалося ўсталяваць. Паўтарыце спробу."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Тэрмінал Linux запусціцца пасля завяршэння ўсталявання"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Не ўдалося ўсталяваць з-за праблемы з сеткай"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Не ўдалося ўсталяваць, бо сетка Wi-Fi недаступная"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Не ўдалося ўсталяваць. Паўтарыце спробу."</string>
     <string name="action_settings" msgid="5729342767795123227">"Налады"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Ідзе падрыхтоўка тэрмінала"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Спыненне тэрмінала"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Збой тэрмінала"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Змяніць памер дыска"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Змяніць памер / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Змяніць памер дыска"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Змяніць памер каранёвага раздзела"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Памер дыска зададзены"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Прызначана <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Максімальны памер: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Скасаваць"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Ужыць (перазапуск)"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Пераадрасацыя партоў"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Наладзіць пераадрасацыю партоў"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Тэрмінал спрабуе адкрыць новы порт"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Запыт адкрыць порт: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Прымяніць"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Каб прымяніць змяненне памеру дыска, тэрмінал будзе перазапушчаны"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Пацвердзіць"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Кіраванне портам"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Дазволіць (адмовіць) доступ да партоў праслухоўвання"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Парты праслухоўвання"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Захаваць дазволеныя парты"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"Выдаліць порт <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Дазволіць доступ да новага порта"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Увядзіце нумар новага порта"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Захаваць"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Скасаваць"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Тэрмінал запытвае адкрыць новы порт"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Запытаны порт: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Прыняць"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Адмовіць"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Аднаўленне"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Варыянты аднаўлення раздзела"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Змяніць на зыходную версію"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Выдаліць усе"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Варыянты аднаўлення раздзела"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Скінуць да зыходнай версіі"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Выдаліць усе даныя"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Скінуць тэрмінал"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Даныя будуць выдалены"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Пацвердзіць"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Даныя будуць выдалены"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Скінуць"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Скасаваць"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Стварыць рэзервовую копію даных у <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Аднавіць не ўдалося: рэзервовая копія не створана"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Не ўдалося аднавіць з-за памылкі рэзервовага капіравання"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Не ўдалося аднавіць"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Не ўдаецца выдаліць файл рэзервовай копіі"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Не ўдалося выдаліць даныя рэзервовай копіі"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Выдаліць даныя рэзервовай копіі"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Ачысціць <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Непапраўная памылка"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Не ўдалося аднавіць праграму пасля памылкі.\nПеразапусціце яе або скарыстайце адзін з варыянтаў аднаўлення доступу."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Выдаліць: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Непапраўная памылка"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Код памылкі: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Налады"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Тэрмінал запушчаны"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Націсніце, каб адкрыць тэрмінал"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Каб адкрыць тэрмінал, націсніце тут"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Закрыць"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Тэрмінал закрываецца"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Закрыць прымусова"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"Модуль <xliff:g id="ID_1">VirGL</xliff:g> уключаны"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-bg/strings.xml b/android/TerminalApp/res/values-bg/strings.xml
index e987a06..7ff9785 100644
--- a/android/TerminalApp/res/values-bg/strings.xml
+++ b/android/TerminalApp/res/values-bg/strings.xml
@@ -20,55 +20,75 @@
     <string name="terminal_display" msgid="4810127497644015237">"Екран на Терминал"</string>
     <string name="terminal_input" msgid="4602512831433433551">"Курсор"</string>
     <string name="empty_line" msgid="5012067143408427178">"Празен ред"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Докоснете двукратно, за да въведете текст"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Инсталиране на терминала на Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"За да стартирате терминала на Linux, трябва да изтеглите около <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> данни през мрежата.\nИскате ли да продължите?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Изтегляне, когато е налице Wi-Fi"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"За да стартирате терминала на Linux, трябва да изтеглите около <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> данни през мрежата.\nИскате ли да продължите?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Изтегляне само посредством Wi-Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Инсталиране"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Инсталира се"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Грешка в мрежата. Проверете връзката и опитайте отново."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Инсталирането не бе успешно поради грешка в мрежата. Проверете връзката си и опитайте отново."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Терминалът на Linux се инсталира"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Терминалът на Linux ще бъде стартиран след завършване"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Инсталирането не бе успешно поради проблем с мрежата"</string>
-    <string name="installer_error_no_wifi" msgid="8631584648989718121">"Инсталирането не бе успешно, защото не е налице Wi-Fi"</string>
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Инсталирането не бе успешно. Опитайте отново."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Терминалът на Linux ще стартира, след като инсталирането завърши"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Инсталирането не бе успешно поради проблем с мрежата"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Инсталирането не бе успешно, защото не е налице Wi-Fi"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Инсталирането не бе успешно. Моля, опитайте отново"</string>
     <string name="action_settings" msgid="5729342767795123227">"Настройки"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Терминалът се подготвя"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Терминалът спира"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Терминалът претърпя срив"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Преораз­меряване на диска"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Преоразмеряване/Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Преораз­меряване на диска"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Преоразмеряване на размера на основния дял"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Размерът на диска е зададен"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Зададено: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Макс.: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Отказ"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Рестарт за прилагане"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Пренасочване на портове"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Конфигуриране на пренасочването на портове"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Терминалът се опитва да отвори нов порт"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Заявено отваряне на порта: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Прилагане"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Терминалът ще се рестартира, за да се преоразмери дискът"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Потвърждаване"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Контрол на портовете"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Разрешаване/отхвърляне на портовете за слушане"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Портове за слушане"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Запазени разрешени портове"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"Изтриване на <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Разрешаване на нов порт"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Въведете номера на новия порт"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Запазване"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Отказ"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Терминалът заявява отварянето на нов порт"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Заявен порт: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Приемам"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Отказ"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Възстановя­ване"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Опции за възстановяване на дяловете"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Промяна към първоначалната версия"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Премахване на всички"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Опции за възстановяване на дяловете"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Възстановяване на първоначалната версия"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Премахване на всички данни"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Нулиране на терминала"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Данните ще бъдат изтрити"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Потвърждаване"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Данните ще бъдат премахнати"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Нулиране"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Отказ"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Създаване на резервно копие на данните в(ъв) <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Възстановяването не бе успешно, защото създаването на резервно копие не бе успешно"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Възстановяването не бе успешно поради грешка при създаването на резервно копие"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Възстановяването не бе успешно"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Файлът с резервното копие не може да се премахне"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Премахването на резервното копие на данните не бе успешно"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Премахване на резервното копие на данните"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Изчистване на <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Непоправима грешка"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Неуспешно възстановяване от грешка.\nМожете да рестартирате приложението или да изпробвате една от опциите за възстановяване."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Премахване на <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Непоправима грешка"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Код на грешката: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Настройки"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Терминалът работи"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Кликнете, за да отворите терминала"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Кликнете, за да отворите терминала"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Затваряне"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Терминалът се затваря"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Принудително затваряне"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> е активирано"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-bn/strings.xml b/android/TerminalApp/res/values-bn/strings.xml
index a0f37dd..982d98f 100644
--- a/android/TerminalApp/res/values-bn/strings.xml
+++ b/android/TerminalApp/res/values-bn/strings.xml
@@ -17,65 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"টার্মিনাল"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"টার্মিনাল ডিসপ্লে"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"কার্সর"</string>
+    <string name="empty_line" msgid="5012067143408427178">"খালি লাইন"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"ইনপুট টাইপ করতে ডবল ট্যাপ করুন"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux টার্মিনাল ইনস্টল করুন"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux টার্মিনাল চালু করার জন্য আপনাকে নেটওয়ার্কের মাধ্যমে মোটামুটিভাবে <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ডেটা ডাউনলোড করতে হবে।\nআপনি কি চালিয়ে যাবেন?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"ওয়াই-ফাই পাওয়া গেলে ডাউনলোড করুন"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux টার্মিনাল চালু করতে, নেটওয়ার্কের মাধ্যমে মোটামুটি <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ডেটা ডাউনলোড করতে হবে।\nআপনি কি এগোতে চান?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"শুধুমাত্র ওয়াই-ফাই ব্যবহার করে ডাউনলোড করুন"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ইনস্টল করুন"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"ইনস্টল করা হচ্ছে"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"নেটওয়ার্কের সমস্যা। কানেকশন চেক করে আবার চেষ্টা করুন।"</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"নেটওয়ার্কের সমস্যা থাকায় ইনস্টল করা যায়নি। কানেকশন চেক করে আবার চেষ্টা করুন।"</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux টার্মিনাল ইনস্টল করা হচ্ছে"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"শেষ হয়ে গেলে Linux টার্মিনাল ইনস্টল করা শুরু হবে।"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"নেটওয়ার্কে সমস্যা থাকায় ইনস্টল করা যায়নি"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"ইনস্টল করা যায়নি। আবার চেষ্টা করুন।"</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"ইনস্টলেশন সম্পূর্ণ হওয়ার পরে Linux টার্মিনাল চালু হবে"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"নেটওয়ার্কের সমস্যা থাকায় ইনস্টল করা যায়নি"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"ওয়াই-ফাই উপলভ্য না থাকায় ইনস্টল করা যায়নি"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"ইনস্টল করা যায়নি। আবার চেষ্টা করুন"</string>
     <string name="action_settings" msgid="5729342767795123227">"সেটিংস"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"টার্মিনাল তৈরি করা হচ্ছে"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"টার্মিনাল বন্ধ করা হচ্ছে"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"টার্মিনাল ক্র্যাশ করেছে"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"ডিস্ক ছোট বড় করা"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"ছোট বড় করুন / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"ডিস্ক ছোট বড় করা"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"রুট পার্টিশনের সাইজ ছোট বড় করুন"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"ডিস্কের সাইজ সেট করা হয়েছে"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> অ্যাসাইন করা হয়েছে"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"সর্বাধিক <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"বাতিল করুন"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"প্রয়োগ করতে রিস্টার্ট করুন"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"পোর্ট ফরওয়ার্ড করা"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"পোর্ট ফরওয়ার্ড করা কনফিগার করুন"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"টার্মিনাল নতুন পোর্ট খোলার চেষ্টা করছে"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"পোর্ট খোলার অনুরোধ করা হয়েছে: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"প্রয়োগ করুন"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ডিস্ক ছোট বড় করতে টার্মিনাল রিস্টার্ট করা হবে"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"কনফার্ম করুন"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"পোর্ট কন্ট্রোল"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"লিসিনিং পোর্টের অনুমতি দিন/অনুমতি দেবেন না"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"লিসিনিং পোর্ট"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"অনুমতি দেওয়া পোর্ট সেভ করা হয়েছে"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"নতুন পোর্টের অনুমতি দিন"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"নতুন পোর্ট নম্বর লিখুন"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"সেভ করুন"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"বাতিল করুন"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"টার্মিনাল নতুন পোর্ট খোলার অনুরোধ করছে"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"পোর্ট ফরওয়ার্ড করা সম্পর্কে অনুরোধ করা হয়েছে: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"সম্মতি দিন"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"বাতিল করুন"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"আগের অবস্থায় ফেরানো"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"পার্টিশন আগের অবস্থায় ফেরানোর বিকল্প"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"প্রাথমিক ভার্সনে পরিবর্তন করুন"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"সবকটি সরান"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"পার্টিশন আগের অবস্থায় ফেরানোর বিকল্প"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"প্রাথমিক ভার্সনে রিসেট করুন"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"সব ডেটা সরান"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"টার্মিনাল রিসেট করুন"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ডেটা মুছে ফেলা হবে"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"কনফার্ম করুন"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ডেটা সরানো হবে"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"রিসেট করুন"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"বাতিল করুন"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g>-এ ডেটা ব্যাক-আপ নিন"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"ব্যাকআপ কাজ না করায় আগের অবস্থায় ফেরানো যায়নি"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"ব্যাক-আপ সম্পর্কিত সমস্যার জন্য ডেটা আগের অবস্থায় ফেরানো যায়নি"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"আগের অবস্থায় ফেরানো যায়নি"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"ব্যাকআপ ফাইল সরানো যায়নি"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"ব্যাক-আপ ডেটা সরানো যায়নি"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"ব্যাকআপ ডেটা সরান"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"ক্লিন আপ <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <!-- no translation found for error_title (7196464038692913778) -->
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> সরান"</string>
+    <string name="error_title" msgid="405150657301906598">"ডেটা ফিরিয়ে আনা যাবে না এমন সমস্যা"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
     <skip />
-    <!-- no translation found for error_desc (1939028888570920661) -->
-    <skip />
-    <!-- no translation found for error_code (3585291676855383649) -->
-    <skip />
+    <string name="error_code" msgid="3585291676855383649">"এরর কোড: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"সেটিংস"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"টার্মিনাল চলছে"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"টার্মিনাল খুলতে ক্লিক করুন"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"টার্মিনাল খুলতে ক্লিক করুন"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"বন্ধ করুন"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"টার্মিনাল বন্ধ হচ্ছে"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"জোর করে বন্ধ করুন"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> চালু করা আছে"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-bs/strings.xml b/android/TerminalApp/res/values-bs/strings.xml
index db6833f..08180ef 100644
--- a/android/TerminalApp/res/values-bs/strings.xml
+++ b/android/TerminalApp/res/values-bs/strings.xml
@@ -17,65 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Ekran terminala"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Kursor"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Prazan red"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Unos pisanjem dvostrukim dodirom"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Instalirajte Linux terminal"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Da pokrenete Linux terminal, trebate preuzeti otprilike <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> podataka putem mreže.\nŽelite li nastaviti?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Preuzmi kada je WiFi dostupan"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Da pokrenete Linux terminal, trebate preuzeti otprilike <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> podataka putem mreže.\nŽelite li nastaviti?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Preuzmi koristeći isključivo WiFi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instaliraj"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Instaliranje"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Greška na mreži. Provjeriti vezu i pokušajte ponovo."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Instaliranje nije uspjelo zbog greške na mreži. Provjerite vezu i pokušajte ponovo."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Instaliranje Linux terminala"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux terminal će se pokrenuti nakon završetka"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Instaliranje nije uspjelo zbog problema s mrežom"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Instaliranje nije uspjelo. Pokušajte ponovo."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux terminal će se pokrenuti nakon što se instalacija završi"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Instaliranje nije uspjelo zbog problema s mrežom"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Instaliranje nije uspjelo jer WiFi nije dostupan"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Instaliranje nije uspjelo. Pokušajte ponovo"</string>
     <string name="action_settings" msgid="5729342767795123227">"Postavke"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Priprema terminala"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Zaustavljanje terminala"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminal je pao"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Promjena veličine diska"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Promijenite veličinu / rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Promjena veličine diska"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Promijenite veličinu korijenske particije"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Veličina diska je postavljena"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Dodijeljeno: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maksimalno <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Otkaži"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Ponovo pokrenite da primijenite"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Prosljeđivanje priključka"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Konfigurirajte prosljeđivanje priključka"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal pokušava otvoriti novi priključak"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Priključak je zatražio otvaranje: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Primijeni"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal će se ponovo pokrenuti radi promjene veličine diska"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Potvrdi"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Upravljanje priključkom"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Dozvoli/odbij priključke za slušanje"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Priključci za slušanje"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Sačuvani dozvoljeni priključci"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"Izbriši priključak <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Dozvolite novi priključak"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Unesite broj novog priključka"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Sačuvaj"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Otkaži"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal zahtijeva otvaranje novog priključka"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Zatražen je priključak: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Prihvati"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Odbij"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Oporavak"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opcije za oporavak particije"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Promijeni u početnu verziju"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Ukloni sve"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opcije za oporavak particije"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Vrati na početnu verziju"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Uklonite sve podatke"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Poništite terminal"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Podaci će se izbrisati"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Potvrdi"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Podaci će se ukloniti"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Vrati na zadano"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Otkaži"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Napravi sigurnosnu kopiju podataka na <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Oporavak nije uspio jer sigurnosna kopija nije uspjela"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Oporavak nije uspio zbog greške sigurnosne kopije"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Oporavak nije uspio"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Nije moguće ukloniti fajl sigurnosne kopije"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Uklanjanje podataka sigurnosne kopije nije uspjelo"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Ukloni podatke sigurnosne kopije"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Očisti <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <!-- no translation found for error_title (7196464038692913778) -->
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Ukloni <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Nepopravljiva greška"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
     <skip />
-    <!-- no translation found for error_desc (1939028888570920661) -->
-    <skip />
-    <!-- no translation found for error_code (3585291676855383649) -->
-    <skip />
+    <string name="error_code" msgid="3585291676855383649">"Kȏd greške: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Postavke"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminal je pokrenut"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Kliknite da otvorite terminal"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Kliknite da otvorite terminal"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Zatvori"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminal je zatvoren"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Prisilno zatvori"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"Omogućeno: <xliff:g id="ID_1">VirGL</xliff:g>"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-ca/strings.xml b/android/TerminalApp/res/values-ca/strings.xml
index 8fcb422..d8fb9eb 100644
--- a/android/TerminalApp/res/values-ca/strings.xml
+++ b/android/TerminalApp/res/values-ca/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Pantalla del terminal"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Línia buida"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Fes doble toc per escriure una entrada"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Instal·la el terminal de Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Per iniciar el terminal de Linux, has de baixar uns <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de dades a través de la xarxa.\nVols continuar?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Baixa quan hi hagi una Wi‐Fi disponible"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Per iniciar el terminal de Linux, has de baixar uns <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de dades a través de la xarxa.\nVols continuar?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Baixa només mitjançant la Wi‑Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instal·la"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Instal·lant"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Error de la xarxa. Comprova la connexió i torna-ho a provar."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"No s\'ha pogut instal·lar a causa d\'un error de la xarxa. Comprova la connexió i torna-ho a provar."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"S\'està instal·lant el terminal de Linux"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"El terminal de Linux s\'iniciarà quan hagi acabat"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"No s\'ha pogut instal·lar a causa d\'un problema de la xarxa"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"No s\'ha pogut instal·lar. Torna-ho a provar."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"El terminal de Linux s\'iniciarà quan hagi acabat la instal·lació"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"No s\'ha pogut instal·lar a causa d\'un problema de la xarxa"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"No s\'ha pogut instal·lar perquè la Wi‑Fi no està disponible"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"No s\'ha pogut instal·lar. Torna-ho a provar."</string>
     <string name="action_settings" msgid="5729342767795123227">"Configuració"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"S\'està preparant el terminal"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"S\'està aturant el terminal"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"El terminal s\'ha bloquejat"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Canvia la mida del disc"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Canvia la mida / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Canvia la mida del disc"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Canvia la mida de la partició d\'arrel"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Mida del disc definida"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> assignats"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> màx."</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Cancel·la"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Reinicia per aplicar"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Redirecció de ports"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configura la redirecció de ports"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"El terminal està provant d\'obrir un port nou"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port que se sol·licita obrir: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Aplica"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"El terminal es reiniciarà per canviar la mida del disc"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirma"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Control de ports"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Permet o denega els ports d\'escolta"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Ports d\'escolta"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Ports permesos desats"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Permet un port nou"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Introdueix un número de port nou"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Desa"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Cancel·la"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"El terminal està sol·licitant obrir un port nou"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Port sol·licitat: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Accepta"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Denega"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Recuperació"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opcions de recuperació de la partició"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Canvia a la versió inicial"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Suprimeix-ho tot"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opcions de recuperació de la partició"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Restableix a la versió inicial"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Suprimeix totes les dades"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Restableix el terminal"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Les dades se suprimiran"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirma"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Les dades se suprimiran"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Restableix"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Cancel·la"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Crea una còpia de seguretat de les dades a <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"No s\'ha pogut recuperar perquè la còpia de seguretat ha fallat"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"No s\'ha pogut recuperar a causa d\'un error de còpia de seguretat"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"La recuperació ha fallat"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"No es pot suprimir el fitxer de còpia de seguretat"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"No s\'han pogut suprimir les dades de la còpia de seguretat"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Suprimeix les dades de la còpia de seguretat"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Elimina <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Error irrecuperable"</string>
-    <string name="error_desc" msgid="1939028888570920661">"No s\'ha pogut recuperar després de l\'error.\nPots provar de reiniciar l\'aplicació o provar una de les opcions de recuperació."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Suprimeix <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Error irrecuperable"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Codi d\'error: <xliff:g id="ERROR_CODE">%s</xliff:g>."</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Configuració"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"El terminal s\'està executant"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Fes clic per obrir el terminal"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Fes clic per obrir el terminal"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Tanca"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"El terminal s\'està tancant"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Força el tancament"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> està activat"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-cs/strings.xml b/android/TerminalApp/res/values-cs/strings.xml
index 376a89d..872da07 100644
--- a/android/TerminalApp/res/values-cs/strings.xml
+++ b/android/TerminalApp/res/values-cs/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminál"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Zobrazení terminálu"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Kurzor"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Prázdný řádek"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Dvojitým klepnutím zadáte vstup"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Instalovat terminál Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Ke spuštění terminálu Linux si musíte přes datovou síť stáhnout přibližně <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> dat.\nChcete pokračovat?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Stáhnout, když bude dostupná Wi-Fi"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Ke spuštění terminálu Linux je potřeba stáhnout přes datovou síť přibližně <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> dat.\nChcete pokračovat?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Stahovat jen přes Wi-Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instalovat"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Instalování"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Chyba sítě. Zkontrolujte připojení a zkuste to znovu."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Instalace se kvůli chybě sítě nezdařila. Zkontrolujte připojení a zkuste to znovu."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Instalace terminálu Linux"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Terminál Linux bude spuštěn po dokončení"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Instalace se nezdařila kvůli problému se sítí"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Instalace se nezdařila. Zkuste to znovu."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Po dokončení instalace se spustí terminál Linux"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Instalace se kvůli problému se sítí nezdařila"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Instalace se nezdařila, protože není k dispozici Wi-Fi"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Instalace se nezdařila. Zkuste to znovu"</string>
     <string name="action_settings" msgid="5729342767795123227">"Nastavení"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Probíhá příprava terminálu"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Ukončování terminálu"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminál selhal"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Změna velikosti disku"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Změnit velikost"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Změnit velikost disku"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Změnit velikost kořenového oddílu"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Velikost disku nastavena"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Přiděleno <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Max. <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Zrušit"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Je třeba restartovat"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Přesměrování portů"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Nakonfigurovat přesměrování portů"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminál se pokouší otevřít nový port"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Vyžádáno otevření portu: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Použít"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminál se za účelem změny velikosti disku restartuje"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Potvrdit"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Ovládání portů"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Povolit/zakázat naslouchající porty"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Naslouchající porty"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Uložené povolené porty"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"Smazat port <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Povolení nového portu"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Zadejte nové číslo portu"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Uložit"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Zrušit"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminál se pokouší otevřít nový port"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Požadovaný port: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Přijmout"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Zamítnout"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Obnovení"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Možnosti obnovení oddílu"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Změnit na původní verzi"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Odstranit vše"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Možnosti obnovení oddílu"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Resetovat na původní verzi"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Odstranit všechna data"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Resetovat terminál"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Data budou smazána"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Potvrdit"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Data budou odstraněna"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Resetovat"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Zrušit"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Zálohovat data do <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Obnovení se nezdařilo, protože záloha selhala"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Obnovení se kvůli chybě zálohy nezdařilo"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Obnovení se nezdařilo"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Soubor zálohy se nepodařilo odstranit"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Zálohovaná data se nepodařilo odstranit"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Odstranit data zálohy"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Vyčistit <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Neopravitelná chyba"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Z chybového stavu se nepodařilo dostat.\nRestartujte aplikaci nebo vyzkoušejte některou z možností obnovení."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Odstranit <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Neopravitelná chyba"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Kód chyby: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Nastavení"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminál běží"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Kliknutím otevřete terminál"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Kliknutím otevřete terminál"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Zavřít"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminál se zavírá"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Vynutit ukončení"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"Modul <xliff:g id="ID_1">VirGL</xliff:g> je aktivován"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-da/strings.xml b/android/TerminalApp/res/values-da/strings.xml
index dddfaaf..3a86899 100644
--- a/android/TerminalApp/res/values-da/strings.xml
+++ b/android/TerminalApp/res/values-da/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Terminalskærm"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Markør"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Tom linje"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Tryk to gange for at indtaste tekst"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Installer Linux-terminalen"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Du skal downloade ca. <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> data via netværket for at åbne Linux-terminalen.\nVil du fortsætte?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Download, når du har Wi-Fi-forbindelse"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Du skal downloade ca. <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> data via netværket for at starte Linux-terminalen.\nVil du fortsætte?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Download kun via Wi-Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Installer"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installerer"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Netværksfejl. Tjek forbindelsen, og prøv igen."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Installationen mislykkedes på grund af en netværksfejl. Tjek din forbindelse, og prøv igen."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux-terminalen installeres"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux-terminalen startes, når installationen er gennemført"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Installationen mislykkedes på grund af et netværksproblem"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Installationen mislykkedes. Prøv igen."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux-terminalen starter, når installationen er gennemført"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Installationen mislykkedes på grund af et netværksproblem"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Installationen mislykkedes, fordi Wi-Fi ikke er tilgængeligt"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Installationen mislykkedes. Prøv igen"</string>
     <string name="action_settings" msgid="5729342767795123227">"Indstillinger"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Forbereder terminal"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Stopper terminal"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminalen er gået ned"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Tilpas diskens størrelse"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Tilpas størrelse/Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Tilpas diskens størrelse"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Tilpas rodpartitionens størrelse"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Diskstørrelsen er angivet"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Tildelt: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maks.: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Annuller"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Genstart for at bruge"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Omdirigering af port"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Konfigurer omdirigering af port"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminalen forsøger at åbne en ny port"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Porten, der anmodes om at være åben: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Anvend"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminalen genstartes for at tilpasse diskens størrelse"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Bekræft"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Portstyring"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Tillad/afvis aktive porte"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Aktive porte"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Gemte tilladte porte"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Tillad en ny port"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Angiv et nyt portnummer"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Gem"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Annuller"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminalen anmoder om at åbne en ny port"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Port, der anmodes om: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Acceptér"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Afvis"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Gendannelse"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Muligheder for gendannelse af partition"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Skift til oprindelig version"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Fjern alle"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Muligheder for gendannelse af partition"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Nulstil til oprindelig version"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Fjern alle data"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Nulstil terminalen"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Dataene slettes"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Bekræft"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Dataene fjernes"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Nulstil"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Annuller"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Sikkerhedskopiér data til <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Gendannelsen mislykkedes, fordi sikkerhedskopieringen ikke kunne udføres"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Gendannelsen mislykkedes på grund af en fejl i sikkerhedskopien"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Gendannelsen mislykkedes"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Sikkerhedskopifilen kan ikke fjernes"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"De sikkerhedskopierede data kunne ikke fjernes"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Fjern data for sikkerhedskopi"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Ryd op på <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Uoprettelig fejl"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Gendannelse efter fejl mislykkedes.\nDu kan prøve at genstarte appen eller prøve en af gendannelsesmulighederne."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Fjern <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Uoprettelig fejl"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Fejlkode: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Indstillinger"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminalen kører"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Klik for at åbne terminalen"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Klik for at åbne terminalen"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Luk"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminalen lukker"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Tving til at lukke"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> er aktiveret"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-de/strings.xml b/android/TerminalApp/res/values-de/strings.xml
index 2d6eadc..5eda1b6 100644
--- a/android/TerminalApp/res/values-de/strings.xml
+++ b/android/TerminalApp/res/values-de/strings.xml
@@ -17,65 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Terminalanzeige"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Leere Zeile"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Doppeltippen, um Text einzugeben"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux-Terminal installieren"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Damit du das Linux-Terminal starten kannst, musst du ungefähr <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> an Daten über das Netzwerk herunterladen.\nMöchtest du fortfahren?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Herunterladen, wenn WLAN verfügbar ist"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Damit du das Linux-Terminal starten kannst, musst du ungefähr <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> an Daten über das Netzwerk herunterladen.\nMöchtest du fortfahren?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Nur über WLAN herunterladen"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Installieren"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Wird installiert"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Netzwerkfehler. Prüfe die Verbindung und versuche es noch einmal."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Die Installation ist aufgrund eines Netzwerkfehlers fehlgeschlagen. Prüfe deine Verbindung und versuche es dann noch einmal."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux-Terminal wird installiert"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux-Terminal wird nach der Installation gestartet"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Die Installation ist aufgrund eines Netzwerkproblems fehlgeschlagen"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Die Installation ist fehlgeschlagen. Versuche es noch einmal."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Das Linux-Terminal wird gestartet, nachdem die Installation abgeschlossen ist"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Die Installation ist aufgrund eines Netzwerkproblems fehlgeschlagen"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Die Installation ist fehlgeschlagen, weil kein WLAN verfügbar ist"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Die Installation ist fehlgeschlagen. Bitte versuche es noch einmal."</string>
     <string name="action_settings" msgid="5729342767795123227">"Einstellungen"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Terminal wird vorbereitet"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Terminal wird beendet"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminal ist abgestürzt"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Größe des Laufwerks anpassen"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Größe anpassen / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Größe des Laufwerks anpassen"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Größe der Stamm-Partition anpassen"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Größe des Laufwerks wurde festgelegt"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> zugewiesen"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maximal <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Abbrechen"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Anwenden (Neustart)"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Portweiterleitung"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Portweiterleitung konfigurieren"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal versucht, einen neuen Port zu öffnen"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port, der geöffnet werden soll: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Anwenden"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal wird neu gestartet, um die Größe des Laufwerks anzupassen"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Bestätigen"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Portsteuerung"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Überwachungsports zulassen / ablehnen"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Überwachungsports"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Gespeicherte zulässige Ports"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"„<xliff:g id="PORT_NUMBER">%d</xliff:g>“ löschen"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Neuen Port zulassen"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Neue Portnummer eingeben"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Speichern"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Abbrechen"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal fordert an, einen neuen Port zu öffnen"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Angeforderter Port: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Akzeptieren"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Ablehnen"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Wieder­herstellung"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Optionen für die Partitionswiederherstellung"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Zur ersten Version wechseln"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Alle entfernen"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Wiederherstellungsoptionen für die Partition"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Auf erste Version zurücksetzen"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Alle Daten entfernen"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Terminal zurücksetzen"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Daten werden gelöscht"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Bestätigen"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Daten werden entfernt"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Zurücksetzen"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Abbrechen"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Daten unter <xliff:g id="PATH">/mnt/backup</xliff:g> sichern"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Wiederherstellung aufgrund eines Sicherungsproblems fehlgeschlagen"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Wiederherstellung aufgrund eines Sicherungsfehlers nicht möglich"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Wiederherstellung fehlgeschlagen"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Sicherungsdatei kann nicht entfernt werden"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Sicherungsdaten konnten nicht entfernt werden"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Sicherungsdaten entfernen"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Daten unter <xliff:g id="PATH">/mnt/backup</xliff:g> entfernen"</string>
-    <!-- no translation found for error_title (7196464038692913778) -->
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"„<xliff:g id="PATH">/mnt/backup</xliff:g>“ entfernen"</string>
+    <string name="error_title" msgid="405150657301906598">"Nicht behebbarer Fehler"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
     <skip />
-    <!-- no translation found for error_desc (1939028888570920661) -->
-    <skip />
-    <!-- no translation found for error_code (3585291676855383649) -->
-    <skip />
+    <string name="error_code" msgid="3585291676855383649">"Fehlercode: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Einstellungen"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminal wird ausgeführt"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Zum Öffnen des Terminals klicken"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Zum Öffnen des Terminals klicken"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Schließen"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminal wird geschlossen"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Schließen erzwingen"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> ist aktiviert"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-el/strings.xml b/android/TerminalApp/res/values-el/strings.xml
index f25d4cb..ff1bc81 100644
--- a/android/TerminalApp/res/values-el/strings.xml
+++ b/android/TerminalApp/res/values-el/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Τερματικό"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Προβολή τερματικού"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Δείκτης"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Κενή γραμμή"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Πατήστε δύο φορές, για να πληκτρολογήσετε είσοδο"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Εγκατάσταση τερματικού Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Για την εκκίνηση του τερματικού Linux, πρέπει να κατεβάσετε περίπου <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> δεδομένων μέσω δικτύου.\nΘέλετε να συνεχίσετε;"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Λήψη όταν υπάρχει διαθέσιμο Wi-Fi"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Για την εκκίνηση του τερματικού Linux, πρέπει να κατεβάσετε περίπου <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> δεδομένων μέσω δικτύου.\nΘέλετε να συνεχίσετε;"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Λήψη μόνο μέσω Wi-Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Εγκατάσταση"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Εγκατάσταση"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Σφάλμα δικτύου. Ελέγξτε τη σύνδεση και δοκιμάστε ξανά."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Η εγκατάσταση απέτυχε λόγω σφάλματος δικτύου. Ελέγξτε τη σύνδεση και δοκιμάστε ξανά."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Γίνεται εγκατάσταση τερματικού Linux"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Το τερματικό Linux θα ξεκινήσει μετά την ολοκλήρωση"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Η εγκατάσταση απέτυχε λόγω προβλήματος δικτύου"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Η εγκατάσταση απέτυχε. Δοκιμάστε ξανά."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Το τερματικό Linux θα ξεκινήσει μετά την ολοκλήρωση της εγκατάστασης"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Η εγκατάσταση απέτυχε λόγω προβλήματος δικτύου"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Η εγκατάσταση απέτυχε, επειδή το Wi-Fi δεν είναι διαθέσιμο"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Η εγκατάσταση απέτυχε. Δοκιμάστε ξανά"</string>
     <string name="action_settings" msgid="5729342767795123227">"Ρυθμίσεις"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Προετοιμασία τερματικού σε εξέλιξη"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Διακοπή τερματικού σε εξέλιξη"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Το τερματικό παρουσίασε σφάλμα"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Αλλαγή μεγέθους δίσκου"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Αλλαγή μεγέθους/Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Αλλαγή μεγέθους δίσκου"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Αλλαγή μεγέθους κύριου διαμερίσματος"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Το μέγεθος δίσκου έχει οριστεί"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Ανατέθηκαν <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Έως <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Ακύρωση"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Επανεκ. για εφαρμογή"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Προώθηση θύρας"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Διαμόρφωση προώθησης θύρας"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Το τερματικό προσπαθεί να ανοίξει μια νέα θύρα"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Υποβλήθηκε αίτημα για άνοιγμα της θύρας: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Εφαρμογή"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Θα γίνει επανεκκίνηση του τερματικού για αλλαγή μεγέθους δίσκου"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Επιβεβαίωση"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Έλεγχος θυρών"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Να επιτρέπονται/μην επιτρέπονται οι θύρες ακρόασης"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Θύρες ακρόασης"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Αποθηκευμένες επιτρεπόμενες θύρες"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"Διαγραφή θύρας <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Να επιτρέπεται νέα θύρα"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Καταχωρίστε νέο αριθμό θύρας"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Αποθήκευση"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Ακύρωση"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Το τερματικό ζητά να ανοίξει μια νέα θύρα"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Ζητήθηκε θύρα: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Αποδοχή"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Απόρριψη"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Ανάκτηση"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Επιλογές ανάκτησης διαμερισμάτων"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Αλλαγή σε αρχική έκδοση"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Κατάργηση όλων"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Επιλογές ανάκτησης διαμερισμάτων"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Επαναφορά στην αρχική έκδοση"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Κατάργηση όλων των δεδομένων"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Επαναφορά τερματικού"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Τα δεδομένα θα διαγραφούν"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Επιβεβαίωση"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Τα δεδομένα θα καταργηθούν"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Επαναφορά"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Ακύρωση"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Δημιουργία αντιγράφου ασφαλείας δεδομένων στο <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Αποτυχία ανάκτησης λόγω αποτυχίας δημιουργίας αντιγράφου ασφαλείας"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Η ανάκτηση απέτυχε λόγω σφάλματος δημιουργίας αντιγράφου ασφαλείας"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Αποτυχία ανάκτησης"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Δεν είναι δυνατή η κατάργηση του αρχείου αντιγράφου ασφαλείας"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Η κατάργηση των δεδομένων αντιγράφου ασφαλείας απέτυχε"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Κατάργηση δεδομένων αντιγράφου ασφαλείας"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Διαγραφή <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Ανεπανόρθωτο σφάλμα"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Αποτυχία ανάκτησης από σφάλμα.\nΜπορείτε να δοκιμάσετε να επανεκκινήσετε την εφαρμογή ή να δοκιμάσετε μία από τις επιλογές ανάκτησης."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Κατάργηση <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Ανεπανόρθωτο σφάλμα"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Κωδικός σφάλματος: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Ρυθμίσεις"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Το τερματικό εκτελείται"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Κάντε κλικ για άνοιγμα του τερματικού"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Κάντε κλικ για άνοιγμα του τερματικού"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Κλείσιμο"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Το τερματικό κλείνει"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Αναγκαστικό κλείσιμο"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"Το <xliff:g id="ID_1">VirGL</xliff:g> είναι ενεργοποιημένο"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-en-rAU/strings.xml b/android/TerminalApp/res/values-en-rAU/strings.xml
index 90f282e..01df64e 100644
--- a/android/TerminalApp/res/values-en-rAU/strings.xml
+++ b/android/TerminalApp/res/values-en-rAU/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Terminal display"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Empty line"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Double-tap to type input"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Install Linux terminal"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"To launch a Linux terminal, you need to download roughly <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> of data over the network.\nWould you like to proceed?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Download when Wi-Fi is available"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"To launch Linux terminal, you need to download roughly <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> of data over the network.\nWould you like to proceed?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Download using Wi-Fi only"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Install"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installing"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Network error. Check connection and retry."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Failed to install due to a network error. Check your connection and try again."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Installing Linux terminal"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux terminal will be started after finish"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Failed to install due to the network issue"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Failed to install. Try again."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux terminal will start after the installation is finished"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Failed to install due to a network issue"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Failed to install because Wi-Fi is not available"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Failed to install. Please try again"</string>
     <string name="action_settings" msgid="5729342767795123227">"Settings"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Preparing terminal"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Stopping terminal"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminal crashed"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Disk resize"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Resize/Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Disk resize"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Resize the root partition size"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Disk size set"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> assigned"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> max"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Cancel"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Restart to apply"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Port forwarding"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configure port forwarding"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal is trying to open a new port"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port requested to be open: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Apply"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal will be restarted to resize disk"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirm"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Port control"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Allow/deny listening ports"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Listening ports"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Saved allowed ports"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Allow a new port"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Enter a new port number"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Save"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Cancel"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal is requesting to open a new port"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Port requested: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Accept"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Deny"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Recovery"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Partition recovery options"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Change to initial version"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Remove all"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Partition recovery options"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Reset to initial version"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Remove all data"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Reset terminal"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Data will be deleted"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirm"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Data will be removed"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Reset"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Cancel"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Back up data to <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Recovery failed because backup failed"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Failed to recover due to a backup error"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Recovery failed"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Cannot remove backup file"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Failed to remove backup data"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Remove backup data"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Clean up <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Unrecoverable error"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Failed to recover from an error.\nYou can try restarting the app or try one of the recovery options."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Remove <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Unrecoverable error"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Error code: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Settings"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminal is running"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Click to open the terminal"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Click to open terminal"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Close"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminal is closing"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Force close"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> is enabled"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-en-rCA/strings.xml b/android/TerminalApp/res/values-en-rCA/strings.xml
index 49c8af1..c02591c 100644
--- a/android/TerminalApp/res/values-en-rCA/strings.xml
+++ b/android/TerminalApp/res/values-en-rCA/strings.xml
@@ -20,55 +20,70 @@
     <string name="terminal_display" msgid="4810127497644015237">"Terminal display"</string>
     <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
     <string name="empty_line" msgid="5012067143408427178">"Empty line"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Double-tap to type input"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Install Linux terminal"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"To launch Linux terminal, you need to download roughly <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> of data over network.\nWould you proceed?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Download when Wi-Fi is available"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"To launch Linux terminal, you need to download roughly <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> of data over the network.\nWould you like to proceed?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Download using Wi-Fi only"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Install"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installing"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Network error. Check connection and retry."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Failed to install due to a network error. Check your connection and try again."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Installing Linux terminal"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux terminal will be started after finish"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Failed to install due to the network issue"</string>
-    <string name="installer_error_no_wifi" msgid="8631584648989718121">"Failed to install because Wi-Fi isn\'t available"</string>
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Failed to install. Try again."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux terminal will start after the installation is finished"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Failed to install due to a network issue"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Failed to install because Wi-Fi is not available"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Failed to install. Please try again"</string>
     <string name="action_settings" msgid="5729342767795123227">"Settings"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Preparing terminal"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Stopping terminal"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminal crashed"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Disk Resize"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Resize / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Disk resize"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Resize the root partition size"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Disk size set"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> assigned"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> max"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Cancel"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Restart to apply"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Port Forwarding"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configure port forwarding"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal is trying to open a new port"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port requested to be open: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Apply"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal will be restarted to resize disk"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirm"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Port control"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Allow/deny listening ports"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Listening ports"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Saved allowed ports"</string>
+    <string name="settings_port_forwarding_other_enabled_port_add_button" msgid="4402301203801949152">"Add"</string>
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"Delete <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Allow a new port"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Enter a new port number"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Save"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Cancel"</string>
+    <string name="settings_port_forwarding_dialog_error_invalid_input" msgid="7589299096002468249">"Please enter a number"</string>
+    <string name="settings_port_forwarding_dialog_error_invalid_port_range" msgid="6682935312557379651">"Invalid port number"</string>
+    <string name="settings_port_forwarding_dialog_error_existing_port" msgid="768426750758769928">"Port already exists"</string>
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal is requesting to open a new port"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Port requested: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Accept"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Deny"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Recovery"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Partition Recovery options"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Change to Initial version"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Remove all"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Partition recovery options"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Reset to initial version"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Remove all data"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Reset terminal"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Data will be deleted"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirm"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Data will be removed"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Reset"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Cancel"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Back up data to <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Recovery failed because backup failed"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Failed to recover due to a backup error"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Recovery failed"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Cannot remove backup file"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Failed to remove backup data"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Remove backup data"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Clean up <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Unrecoverable Error"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Failed to recover from an error.\nYou can try restart the app, or try one of recovery option."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Remove <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Unrecoverable error"</string>
+    <string name="error_desc" msgid="4588252235686826721">"Failed to recover from an error.\nYou can try restarting terminal or try one of the recovery options.\nIf all attempts fail, wipe all data by turning on/off Linux terminal from developer options."</string>
     <string name="error_code" msgid="3585291676855383649">"Error code: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Settings"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminal is running"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Click to open the terminal"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Click to open terminal"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Close"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminal is closing"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Force close"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> is enabled"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-en-rGB/strings.xml b/android/TerminalApp/res/values-en-rGB/strings.xml
index 90f282e..01df64e 100644
--- a/android/TerminalApp/res/values-en-rGB/strings.xml
+++ b/android/TerminalApp/res/values-en-rGB/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Terminal display"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Empty line"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Double-tap to type input"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Install Linux terminal"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"To launch a Linux terminal, you need to download roughly <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> of data over the network.\nWould you like to proceed?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Download when Wi-Fi is available"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"To launch Linux terminal, you need to download roughly <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> of data over the network.\nWould you like to proceed?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Download using Wi-Fi only"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Install"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installing"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Network error. Check connection and retry."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Failed to install due to a network error. Check your connection and try again."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Installing Linux terminal"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux terminal will be started after finish"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Failed to install due to the network issue"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Failed to install. Try again."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux terminal will start after the installation is finished"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Failed to install due to a network issue"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Failed to install because Wi-Fi is not available"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Failed to install. Please try again"</string>
     <string name="action_settings" msgid="5729342767795123227">"Settings"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Preparing terminal"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Stopping terminal"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminal crashed"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Disk resize"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Resize/Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Disk resize"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Resize the root partition size"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Disk size set"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> assigned"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> max"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Cancel"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Restart to apply"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Port forwarding"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configure port forwarding"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal is trying to open a new port"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port requested to be open: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Apply"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal will be restarted to resize disk"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirm"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Port control"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Allow/deny listening ports"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Listening ports"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Saved allowed ports"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Allow a new port"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Enter a new port number"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Save"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Cancel"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal is requesting to open a new port"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Port requested: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Accept"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Deny"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Recovery"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Partition recovery options"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Change to initial version"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Remove all"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Partition recovery options"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Reset to initial version"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Remove all data"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Reset terminal"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Data will be deleted"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirm"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Data will be removed"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Reset"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Cancel"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Back up data to <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Recovery failed because backup failed"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Failed to recover due to a backup error"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Recovery failed"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Cannot remove backup file"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Failed to remove backup data"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Remove backup data"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Clean up <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Unrecoverable error"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Failed to recover from an error.\nYou can try restarting the app or try one of the recovery options."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Remove <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Unrecoverable error"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Error code: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Settings"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminal is running"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Click to open the terminal"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Click to open terminal"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Close"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminal is closing"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Force close"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> is enabled"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-en-rIN/strings.xml b/android/TerminalApp/res/values-en-rIN/strings.xml
index 90f282e..01df64e 100644
--- a/android/TerminalApp/res/values-en-rIN/strings.xml
+++ b/android/TerminalApp/res/values-en-rIN/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Terminal display"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Empty line"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Double-tap to type input"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Install Linux terminal"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"To launch a Linux terminal, you need to download roughly <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> of data over the network.\nWould you like to proceed?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Download when Wi-Fi is available"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"To launch Linux terminal, you need to download roughly <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> of data over the network.\nWould you like to proceed?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Download using Wi-Fi only"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Install"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installing"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Network error. Check connection and retry."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Failed to install due to a network error. Check your connection and try again."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Installing Linux terminal"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux terminal will be started after finish"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Failed to install due to the network issue"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Failed to install. Try again."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux terminal will start after the installation is finished"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Failed to install due to a network issue"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Failed to install because Wi-Fi is not available"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Failed to install. Please try again"</string>
     <string name="action_settings" msgid="5729342767795123227">"Settings"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Preparing terminal"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Stopping terminal"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminal crashed"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Disk resize"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Resize/Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Disk resize"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Resize the root partition size"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Disk size set"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> assigned"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> max"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Cancel"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Restart to apply"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Port forwarding"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configure port forwarding"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal is trying to open a new port"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port requested to be open: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Apply"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal will be restarted to resize disk"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirm"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Port control"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Allow/deny listening ports"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Listening ports"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Saved allowed ports"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Allow a new port"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Enter a new port number"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Save"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Cancel"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal is requesting to open a new port"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Port requested: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Accept"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Deny"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Recovery"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Partition recovery options"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Change to initial version"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Remove all"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Partition recovery options"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Reset to initial version"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Remove all data"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Reset terminal"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Data will be deleted"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirm"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Data will be removed"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Reset"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Cancel"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Back up data to <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Recovery failed because backup failed"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Failed to recover due to a backup error"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Recovery failed"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Cannot remove backup file"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Failed to remove backup data"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Remove backup data"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Clean up <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Unrecoverable error"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Failed to recover from an error.\nYou can try restarting the app or try one of the recovery options."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Remove <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Unrecoverable error"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Error code: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Settings"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminal is running"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Click to open the terminal"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Click to open terminal"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Close"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminal is closing"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Force close"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> is enabled"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-es-rUS/strings.xml b/android/TerminalApp/res/values-es-rUS/strings.xml
index 1cbed7d..50ad822 100644
--- a/android/TerminalApp/res/values-es-rUS/strings.xml
+++ b/android/TerminalApp/res/values-es-rUS/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Pantalla de la terminal"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Línea vacía"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Presiona dos veces para escribir la entrada"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Instala la terminal de Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Para iniciar la terminal de Linux, debes descargar aproximadamente <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de datos a través de la red.\n¿Quieres continuar?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Descargar cuando haya una red Wi-Fi disponible"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Para iniciar la terminal de Linux, debes descargar aproximadamente <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de datos a través de la red.\n¿Quieres continuar?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Descargar solo con Wi-Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instalar"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Instalando"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Error de red. Comprueba la conexión y vuelve a intentarlo."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"No se pudo instalar debido a un error de red. Verifica la conexión y vuelve a intentarlo."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Instalando la terminal de Linux"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Se iniciará la terminal de Linux después de finalizar"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"No se pudo instalar debido a un problema de red"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"No se pudo instalar. Vuelve a intentarlo."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"La terminal de Linux se iniciará después de que finalice la instalación"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"No se pudo instalar debido a un problema de red"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"La instalación falló porque no hay una conexión Wi-Fi disponible"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"No se pudo instalar; vuelve a intentarlo"</string>
     <string name="action_settings" msgid="5729342767795123227">"Configuración"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Preparando la terminal"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Deteniendo la terminal"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Se produjo un error en la terminal"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Cambiar el tamaño del disco"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Cambiar el tamaño/Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Cambiar el tamaño del disco"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Cambia el tamaño de la partición raíz"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Se estableció el tamaño del disco"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> asignados"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> máx."</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Cancelar"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Reiniciar y aplicar"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Redirección de puertos"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configurar la redirección de puertos"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"La terminal está intentando abrir un puerto nuevo"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Puerto solicitado para abrir: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Aplicar"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Se reiniciará la terminal para cambiar el tamaño del disco"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirmar"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Control del puerto"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Permitir o denegar los puertos de escucha"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Puertos de escucha"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Puertos permitidos guardados"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"Borrar <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Permite un puerto nuevo"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Ingresa un nuevo número de portabilidad"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Guardar"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Cancelar"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"La terminal está solicitando abrir un puerto nuevo"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Puerto solicitado: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Aceptar"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Rechazar"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Recuperación"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opciones de recuperación de particiones"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Cambiar a la versión inicial"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Quitar todos"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opciones de recuperación de particiones"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Restablecer a la versión inicial"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Quitar todos los datos"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Restablecer terminal"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Se borrarán los datos"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirmar"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Se quitarán los datos"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Restablecer"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Cancelar"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Crear una copia de seguridad de los datos en <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Falló la recuperación porque no se pudo crear la copia de seguridad"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"No se pudo recuperar debido a un error de copia de seguridad"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Falló la recuperación"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"No se puede quitar el archivo de copia de seguridad"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"No se pudieron quitar los datos de copia de seguridad"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Quitar datos de copia de seguridad"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Liberar espacio en <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Error irrecuperable"</string>
-    <string name="error_desc" msgid="1939028888570920661">"No se pudo recuperar después del error.\nPuedes reiniciar la app o probar una de las opciones de recuperación."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Quitar <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Error irrecuperable"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Código de error: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Configuración"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Se está ejecutando la terminal"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Haz clic para abrir la terminal"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Haz clic para abrir la terminal"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Cerrar"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Se está cerrando la terminal"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Forzar cierre"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"Se habilitó <xliff:g id="ID_1">VirGL</xliff:g>"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-es/strings.xml b/android/TerminalApp/res/values-es/strings.xml
index a0bc767..3088438 100644
--- a/android/TerminalApp/res/values-es/strings.xml
+++ b/android/TerminalApp/res/values-es/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Pantalla del terminal"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Línea vacía"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Toca dos veces para escribir"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Instala el terminal de Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Para iniciar el terminal de Linux, debes descargar unos <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de datos a través de la red.\n¿Quieres continuar?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Descargar cuando haya una red Wi-Fi disponible"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Para iniciar el terminal de Linux, debes descargar unos <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de datos a través de la red.\n¿Quieres continuar?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Descargar contenido solo con una conexión Wi-Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instalar"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Instalando"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Error de red. Comprueba la conexión y vuelve a intentarlo."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"No se ha podido instalar debido a un error de red. Comprueba tu conexión y vuelve a intentarlo."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Instalando terminal de Linux"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"El terminal de Linux se iniciará cuando finalice"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"No se ha podido instalar debido a un problema de red"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"No se ha podido instalar. Inténtalo de nuevo."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"El terminal de Linux se iniciará cuando finalice la instalación"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"No se ha podido instalar debido a un problema de red"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"No se ha podido instalar porque no hay conexión Wi-Fi"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"No se ha podido instalar. Vuelve a intentarlo."</string>
     <string name="action_settings" msgid="5729342767795123227">"Ajustes"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Preparando terminal"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Deteniendo terminal"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Fallo del terminal"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Cambiar tamaño de disco"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Cambiar tamaño/Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Cambiar tamaño del disco"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Cambia el tamaño de la partición raíz"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Tamaño de disco definido"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> asignados"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> como máximo"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Cancelar"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Reiniciar y aplicar"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Redirección de puertos"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configurar la redirección de puertos"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"El terminal está intentando abrir un nuevo puerto"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Puerto que se solicita que esté abierto: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Aplicar"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"El terminal se reiniciará para cambiar el tamaño del disco"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirmar"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Control de puerto"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Permitir/Denegar puertos de escucha"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Puertos de escucha"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Puertos permitidos guardados"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Permitir un nuevo puerto"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Introduce un nuevo número de puerto"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Guardar"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Cancelar"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"El terminal está solicitando abrir un nuevo puerto"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Puerto solicitado: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Aceptar"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Denegar"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Recuperación"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opciones de recuperación de particiones"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Cambiar a versión inicial"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Quitar todo"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opciones de recuperación de particiones"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Restablecer a la versión inicial"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Elimina todos los datos"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Restablecer terminal"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Los datos se eliminarán"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirmar"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Los datos se eliminarán"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Restablecer"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Cancelar"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Crear copia de seguridad de los datos en <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"No se ha podido recuperar la copia de seguridad"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"No se ha podido recuperar debido a un error de copia de seguridad"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"No se ha podido recuperar"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"No se puede quitar el archivo de copia de seguridad"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"No se han podido eliminar los datos de copia de seguridad"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Eliminar datos de copia de seguridad"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Liberar espacio de <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Error irrecuperable"</string>
-    <string name="error_desc" msgid="1939028888570920661">"No se ha podido recuperar después del error.\nPuedes intentar reiniciar la aplicación o probar una de las opciones de recuperación."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Eliminar <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Error irrecuperable"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Código de error: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Ajustes"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"El terminal se está ejecutando"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Toca para abrir el terminal"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Haz clic para abrir el terminal"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Cerrar"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"El terminal se está cerrando"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Forzar cierre"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> se ha habilitado"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-et/strings.xml b/android/TerminalApp/res/values-et/strings.xml
index 1d25c0a..731f02f 100644
--- a/android/TerminalApp/res/values-et/strings.xml
+++ b/android/TerminalApp/res/values-et/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Terminali ekraan"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Kursor"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Tühi rida"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Tekstisisestuseks topeltpuudutage"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linuxi terminali installimine"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linuxi terminali käivitamiseks tuleb teil võrgu kaudu alla laadida umbes <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> andmeid.\nKas soovite jätkata?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Laadi alla, kui WiFi on saadaval"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linuxi terminali käivitamiseks tuleb teil võrgu kaudu alla laadida umbes <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> andmeid.\nKas soovite jätkata?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Laadi alla ainult WiFi kaudu"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Installi"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installimine"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Võrgu viga. Kontrollige ühendust ja proovige uuesti."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Installimine ebaõnnestus võrguvea tõttu. Kontrollige ühendust ja proovige uuesti."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linuxi terminali installimine"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linuxi terminal käivitatakse pärast lõpetamist"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Installimine ebaõnnestus võrguprobleemi tõttu"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Installimine ebaõnnestus. Proovige uuesti."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linuxi terminal käivitatakse pärast installimise lõpulejõudmist"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Installimine ebaõnnestus võrguprobleemi tõttu"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Installimine ebaõnnestus, kuna WiFi pole saadaval"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Installimine ebaõnnestus. Proovige uuesti"</string>
     <string name="action_settings" msgid="5729342767795123227">"Seaded"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Terminali ettevalmistamine"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Terminali peatamine"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminal jooksis kokku"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Ketta suuruse muutmine"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Suuruse muutmine / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Ketta suuruse muutmine"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Juursektsiooni suuruse muutmine"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Ketta suurus on määratud"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> on määratud"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Max <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Tühista"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Rakendamiseks taaskäivitage"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Pordisiire"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Konfigureerige pordisiire"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal üritab uut porti avada"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port, mille avamist taotleti: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Rakenda"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal taaskäivitatakse ketta suuruse muutmiseks"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Kinnita"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Portide haldamine"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Kuulamisportide lubamine/keelamine"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Kuulamispordid"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Salvestatud lubatud pordid"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"Kustuta <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Luba uus port"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Sisestage uus pordi number"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Salvesta"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Tühista"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal taotleb uue pordi avamist"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Taotletud port: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Nõustu"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Keela"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Taastamine"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Sektsiooni taastevalikud"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Muutke algsele versioonile"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Eemaldage kõik"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Sektsiooni taastevalikud"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Algsele versioonile lähtestamine"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Kõigi andmete eemaldamine"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Terminali lähtestamine"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Andmed kustutatakse"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Kinnita"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Andmed eemaldatakse"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Lähtesta"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Tühista"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Varunda andmed asukohta <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Taastamine ebaõnnestus, kuna varundamine ebaõnnestus"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Taastamine ebaõnnestus varundamisvea tõttu"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Taastamine ebaõnnestus"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Ei saa varundusfaili eemaldada"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Varundatud andmete eemaldamine ebaõnnestus"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Varundusandmete eemaldamine"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Tühjenda <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Taastamatu viga"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Veast taastumine nurjus.\nVõite proovida rakenduse taaskäivitada või proovida üht taastamisvalikutest."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Tee <xliff:g id="PATH">/mnt/backup</xliff:g> eemaldamine"</string>
+    <string name="error_title" msgid="405150657301906598">"Taastamatu viga"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Veakood: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Seaded"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminal töötab"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Klõpsake terminali avamiseks"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Klõpsake terminali avamiseks"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Sule"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminal suletakse"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Rakenda sulgemine"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> on lubatud"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-eu/strings.xml b/android/TerminalApp/res/values-eu/strings.xml
index 2601142..3069154 100644
--- a/android/TerminalApp/res/values-eu/strings.xml
+++ b/android/TerminalApp/res/values-eu/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminala"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Terminalaren pantaila"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Kurtsorea"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Lerro hutsa"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Sakatu birritan testua idazteko"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Instalatu Linux-en terminala"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux-en terminala exekutatzeko, gutxi gorabehera <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> datu deskargatu behar dituzu sarearen bidez.\nAurrera egin nahi duzu?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Deskargatu wifi-sare bat erabilgarri dagoenean"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux-en terminala exekutatzeko, gutxi gorabehera <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> datu deskargatu behar dituzu sarearen bidez.\nAurrera egin nahi duzu?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Deskargatu wifi bidez soilik"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instalatu"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Instalatzen"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Sareko errorea. Egiaztatu konektatuta zaudela eta saiatu berriro."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Ezin izan da instalatu, sareko errore bat dela eta. Egiaztatu konektatuta zaudela eta saiatu berriro."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux-en terminala instalatzen"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Prozesua amaitu ondoren abiaraziko da Linux-en terminala"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Ezin izan da instalatu, sarean arazo bat dagoelako"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Ezin izan da instalatu. Saiatu berriro."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Instalazioa amaitzean abiaraziko da Linux-en terminala"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Ezin izan da instalatu, sarean arazo bat dagoelako"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Ezin izan da instalatu, wifi-sarerik erabilgarri ez dagoelako"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Ezin izan da instalatu. Saiatu berriro"</string>
     <string name="action_settings" msgid="5729342767795123227">"Ezarpenak"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Terminala prestatzen"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Terminala geldiarazten"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminalak huts egin du"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Aldatu diskoaren tamaina"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Aldatu tamaina / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Aldatu diskoaren tamaina"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Aldatu erroko partizioaren tamaina"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Ezarri da diskoaren tamaina"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> esleituta"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Gehienez ere <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Utzi"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Aldaketak aplikatzeko, berrabiarazi"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Ataka-birbideratzU+2060ea"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Konfiguratu ataka-birbideratzea"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminala beste ataka bat irekitzen saiatzen ari da"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Ataka hau irekitzeko eskatu da: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Aplikatu"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Diskoaren tamaina aldatzeko, terminala berrabiaraziko da"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Berretsi"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Ataka kontrolatzeko aukerak"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Onartu/Baztertu ataka aktiboak"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Ataka aktiboak"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Gorde dira onartutako atakak"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Onartu beste ataka bat"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Idatzi beste ataka-zenbaki bat"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Gorde"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Utzi"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminalak beste ataka bat irekitzeko eskatu du"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Ataka hau eskatu da: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Onartu"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Ukatu"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Berreskuratzea"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Partizioa berreskuratzeko aukerak"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Aldatu hasierako bertsiora"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Kendu guztiak"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Partizioa berreskuratzeko aukerak"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Berrezarri hasierako bertsioa"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Kendu datu guztiak"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Berrezarri terminala"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Datuak ezabatu egingo dira"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Berretsi"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Datuak kenduko dira"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Berrezarri"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Utzi"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Egin datuen babeskopiak hemen: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Ezin izan da berreskuratu, babeskopiak huts egin duelako"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Ezin izan da leheneratu, babeskopien errore bat dela eta"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Ezin izan da berreskuratu"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Ezin da kendu babeskopia-fitxategia"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Ezin izan dira kendu babeskopien datuak"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Kendu babeskopien datuak"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Garbitu <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Leheneratu ezin den errorea"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Ezin izan da leheneratu errorea.\nBerrabiarazi aplikazioa edo probatu leheneratzeko aukeretako bat."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Kendu <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Leheneratu ezin den errorea"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Errore-kodea: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Ezarpenak"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminala abian da"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Egin klik terminala irekitzeko"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Egin klik terminala irekitzeko"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Itxi"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminal ixten ari da"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Behartu ixtera"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> gaituta dago"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-fa/strings.xml b/android/TerminalApp/res/values-fa/strings.xml
index ea7b9e1..80c90d1 100644
--- a/android/TerminalApp/res/values-fa/strings.xml
+++ b/android/TerminalApp/res/values-fa/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"پایانه"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"نمایشگر پایانه"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"مکان‌نما"</string>
+    <string name="empty_line" msgid="5012067143408427178">"خط خالی"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"برای تایپ کردن ورودی، دو تک‌ضرب بزنید"</string>
     <string name="installer_title_text" msgid="500663060973466805">"نصب پایانه Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"برای راه‌اندازی پایانه Linux، باید تقریباً <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> داده ازطریق شبکه بارگیری کنید.\nادامه می‌دهید؟"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"هنگام دسترسی به Wi-Fi بارگیری شود"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"برای راه‌اندازی پایانه Linux، باید تقریباً <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> داده ازطریق شبکه بارگیری کنید.\nادامه می‌دهید؟"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"بارگیری فقط با Wi-Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"نصب"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"درحال نصب"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"خطای شبکه. اتصال را بررسی و سپس دوباره امتحان کنید."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"به‌دلیل خطای شبکه نصب نشد. اتصال را بررسی کنید و دوباره امتحان کنید."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"درحال نصب پایانه Linux"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"پایانه Linux بعداز اتمام شروع خواهد شد"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"به‌دلیل خطای شبکه نصب نشد"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"نصب نشد. دوباره امتحان کنید."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"پایانه Linux پس‌از تکمیل نصب، راه‌اندازی خواهد شد"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"به‌دلیل مشکل در شبکه نصب نشد"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"نصب نشد چون Wi-Fi دردسترس نیست"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"نصب نشد. لطفاً دوباره امتحان کنید"</string>
     <string name="action_settings" msgid="5729342767795123227">"تنظیمات"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"درحال آماده‌سازی پایانه"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"پایانه درحال توقف است"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"پایانه ازکار افتاد"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"تغییر اندازه دیسک"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"تغییر اندازه / روت فایل سیستم"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"تغییر اندازه دیسک"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"تغییر اندازه پارتیشن ریشه"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"تنظیم اندازه دیسک"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"‫<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> اختصاص یافته است"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"حداکثر <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"لغو"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"بازراه‌اندازی برای اعمال"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"بازارسال درگاه"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"پیکربندی بازارسال درگاه"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"پایانه می‌خواهد درگاه جدیدی باز کند"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"درگاهی که درخواست شده است باز شود: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"اعمال کردن"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"پایانه برای تغییر اندازه دیسک، بازراه‌اندازی خواهد شد"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"تأیید کردن"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"کنترل درگاه"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"مجاز/ رد کردن درگاه‌های گوش کردن"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"درگاه‌های گوش کردن"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"درگاه‌های مجاز ذخیره شدند"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"حذف کردن <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"مجاز کردن درگاهی جدید"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"شماره درگاه جدیدی را وارد کنید"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"ذخیره"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"لغو"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"پایانه می‌خواهد درگاه جدیدی باز کند"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"درگاه درخواست‌شده: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"پذیرفتن"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"رد کردن"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"بازیابی"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"گزینه‌های بازیابی پارتیشن"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"تغییر به نسخه ابتدایی"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"برداشتن همه"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"گزینه‌های بازیابی پارتیشن"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"بازنشانی به نسخه اولیه"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"حذف همه داده‌ها"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"بازنشانی پایانه"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"داده‌ها حذف خواهد شد"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"تأیید کردن"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"داده‌ها حذف خواهد شد"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"بازنشانی"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"لغو کردن"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"پشتیبان‌گیری از داده‌ها در <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"بازیابی انجام نشد چون فایل پشتیبان مشکل داشت"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"به‌دلیل خطای نسخه پشتیبان بازیابی نشد"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"بازیابی انجام نشد"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"فایل پشتیبان حذف نشد"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"داده‌های نسخه پشتیبان حذف نشد"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"حذف داده‌های پشتیبان"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"پاک‌سازی <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"خطای غیرقابل‌بازیابی"</string>
-    <string name="error_desc" msgid="1939028888570920661">"بازیابی از خطا ممکن نبود.\nمی‌توانید برنامه را بازراه‌اندازی کنید یا یکی از گزینه‌های بازیابی را امتحان کنید."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"حذف <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"خطای غیرقابل‌بازیابی"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"کد خطا: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"تنظیمات"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"پایانه درحال اجرا است"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"برای باز کردن پایانه، کلیک کنید"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"برای باز کردن پایانه، کلیک کنید"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"بستن"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"پایانه درحال بسته شدن است"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"بستن اجباری"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"‫<xliff:g id="ID_1">VirGL</xliff:g> فعال شد"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-fi/strings.xml b/android/TerminalApp/res/values-fi/strings.xml
index 219a3fd..ea4b877 100644
--- a/android/TerminalApp/res/values-fi/strings.xml
+++ b/android/TerminalApp/res/values-fi/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Pääte"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Terminaalinäyttö"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Kohdistin"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Tyhjä rivi"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Kirjoitussyötä kaksoisnapauttamalla"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Asenna Linux-pääte"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux-päätteen käynnistäminen edellyttää, että lataat noin <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> dataa verkon kautta.\nHaluatko jatkaa?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Lataa, kun Wi-Fi on käytettävissä"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux-päätteen käynnistäminen edellyttää, että lataat noin <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> dataa verkon kautta.\nHaluatko jatkaa?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Lataaminen vain Wi-Fi-yhteydellä"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Asenna"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Asennetaan"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Verkkovirhe. Tarkista yhteys ja yritä uudelleen."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Asennus epäonnistui verkkovirheen vuoksi. Tarkista verkkoyhteys ja yritä uudelleen."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux-päätettä asennetaan"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux-pääte käynnistetään, kun se on valmis"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Asennus epäonnistui verkkovirheen vuoksi"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Asennus epäonnistui. Yritä uudelleen."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux-pääte käynnistyy, kun asennus on valmis"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Asennus epäonnistui verkkovirheen vuoksi"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Asennus epäonnistui, koska Wi-Fi ei ole käytettävissä"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Asennus epäonnistui. Yritä uudelleen"</string>
     <string name="action_settings" msgid="5729342767795123227">"Asetukset"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Valmistellaan päätettä"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Pysäytetään terminaalia"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminaali kaatui"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Muuta levyn kokoa"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Muuta kokoa / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Muuta levyn kokoa"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Muuta juuriosiokoon kokoa"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Levyn koko asetettu"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> määritetty"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Enintään <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Peru"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Ota käyttöön uudelleenkäynnistämällä"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Porttiohjaus"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Määritä porttiohjaus"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Pääte yrittää avata uuden portin"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Avattavaksi pyydetty portti: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Käytä"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Levyn kokoa muutetaan uudelleenkäynnistyksen jälkeen"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Vahvista"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Porttien ohjaus"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Salli/kiellä kuunteluportit"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Kuunteluportit"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Tallennetut sallitut portit"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Salli uusi portti"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Lisää uusi porttinumero"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Tallenna"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Peru"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Pääte yrittää avata uuden portin"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Pyydetty portti: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Hyväksy"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Hylkää"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Palautus"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Osion palautusvaihtoehdot"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Vaihda ensimmäiseen versioon"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Poista kaikki"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Osion palautusvaihtoehdot"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Palauta alkuperäinen versio"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Poista kaikki data"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Nollaa terminaali"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Data poistetaan"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Vahvista"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Data poistetaan"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Nollaa"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Peru"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Varmuuskopioi data tänne: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Palautus epäonnistui, koska varmuuskopiointi epäonnistui"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Palautus epäonnistui varmuuskopiointivirheen vuoksi"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Palautus epäonnistui"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Varmuuskopiota ei voi poistaa"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Varmuuskopiodatan poistaminen epäonnistui"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Poista varmuuskopiodata"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Poista <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Peruuttamaton virhe"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Virheen korjaaminen epäonnistui.\nVoit yrittää käynnistää sovelluksen uudelleen tai kokeilla jotakin korjausvaihtoehtoa."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Poista <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Peruuttamaton virhe"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Virhekoodi: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Asetukset"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Pääte on käynnissä"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Avaa pääte klikkaamalla"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Avaa pääte klikkaamalla"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Sulje"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminal sulkeutuu"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Pakota sulkeutumaan"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> on käytössä"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-fr-rCA/strings.xml b/android/TerminalApp/res/values-fr-rCA/strings.xml
index ce5ffae..19ffcc6 100644
--- a/android/TerminalApp/res/values-fr-rCA/strings.xml
+++ b/android/TerminalApp/res/values-fr-rCA/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Écran du terminal"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Curseur"</string>
+    <string name="empty_line" msgid="5012067143408427178">"La ligne est vide"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Toucher deux fois pour saisir une entrée"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Installer le terminal Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Pour lancer un terminal Linux, vous devez télécharger environ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de données sur le réseau.\nSouhaitez-vous continuer?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Télécharger lorsque le Wi-Fi est accessible"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Pour lancer un terminal Linux, vous devez télécharger environ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de données sur le réseau.\nSouhaitez-vous continuer?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Télécharger par Wi-Fi seulement"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Installer"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installation…"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Erreur de réseau. Vérifiez la connexion et réessayez."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Échec de l\'installation en raison d\'une erreur de réseau. Vérifiez votre connexion, puis réessayez."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Installation du terminal Linux en cours…"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Le terminal Linux démarrera une fois l\'installation terminée"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Échec de l\'installation en raison d\'un problème de réseau"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Échec de l\'installation. Réessayez."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Le terminal Linux démarrera une fois l\'installation terminée"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Échec de l\'installation en raison d\'un problème de réseau"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Échec de l\'installation parce que le Wi-Fi n\'est pas disponible"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Échec de l\'installation. Veuillez réessayer"</string>
     <string name="action_settings" msgid="5729342767795123227">"Paramètres"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Préparation du terminal en cours…"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Arrêt du terminal en cours…"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Le terminal a planté"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Redimensionnement du disque"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Redimensionnement/Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Redimensionnement du disque"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Redimensionnez la taille de la partition racine"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Taille du disque définie"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> attribués"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> maximum"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Annuler"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Redémarrer pour appliquer"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Redirection de port"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configurez la redirection de port"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Le terminal tente d\'ouvrir un nouveau port"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port dont l\'ouverture est demandée : <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Appliquer"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Le terminal sera redémarré pour redimensionner le disque"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirmer"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Contrôle du port"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Autoriser/Refuser les ports en mode Réception"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Ports en mode Réception"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Ports autorisés enregistrés"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"Supprimer le port <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Autoriser un nouveau port"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Entrez un nouveau numéro de port"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Enregistrer"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Annuler"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Le terminal demande d\'ouvrir un nouveau port"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Port demandé : <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Accepter"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Refuser"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Récupération"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Options de récupération de partition"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Passer à la version initiale"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Tout retirer"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Options de récupération de partition"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Réinitialiser à la version initiale"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Retirez toutes les données"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Réinitialiser le terminal"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Les données seront supprimées"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirmer"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Les données seront retirées"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Réinitialiser"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Annuler"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Sauvegarder les données sur <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Échec de la récupération en raison de l\'échec de la sauvegarde"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Échec de la récupération en raison d\'une erreur de sauvegarde"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Échec de la récupération"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Impossible de retirer le fichier de sauvegarde"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Échec du retrait des données de sauvegarde"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Retirer les données de sauvegarde"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Nettoyage de <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Erreur irrécupérable"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Échec de la récupération suite à une erreur.\nVous pouvez essayer de redémarrer l\'appli ou essayer l\'une des options de récupération."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Retirez <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Erreur irrécupérable"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Code d\'erreur : <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Paramètres"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Le terminal fonctionne"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Cliquez pour ouvrir le terminal"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Cliquez pour ouvrir le terminal"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Fermer"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Le terminal se fermera"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Forcer la fermeture"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> est activé"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-fr/strings.xml b/android/TerminalApp/res/values-fr/strings.xml
index 412b98a..a258b9b 100644
--- a/android/TerminalApp/res/values-fr/strings.xml
+++ b/android/TerminalApp/res/values-fr/strings.xml
@@ -17,65 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Affichage du terminal"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Curseur"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Ligne vide"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Appuyez deux fois pour saisir une entrée"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Installer le terminal Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Pour lancer le terminal Linux, vous devez télécharger environ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de données via le réseau.\nVoulez-vous continuer ?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Télécharger lorsque le Wi-Fi sera disponible"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Pour lancer le terminal Linux, vous devez télécharger environ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de données via le réseau.\nVoulez-vous continuer ?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Télécharger uniquement via le Wi-Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Installer"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installation…"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Erreur réseau. Vérifiez la connexion et réessayez."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Échec de l\'installation en raison d\'une erreur réseau. Vérifiez la connexion, puis réessayez."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Installation du terminal Linux…"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Le terminal Linux sera lancé une fois l\'opération terminée"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Échec de l\'installation en raison d\'un problème réseau"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Échec de l\'installation. Réessayez."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Le terminal Linux sera lancé une fois l\'installation terminée"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Échec de l\'installation en raison d\'un problème réseau"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Échec de l\'installation, car le Wi-Fi n\'est pas disponible"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Échec de l\'installation. Veuillez réessayer."</string>
     <string name="action_settings" msgid="5729342767795123227">"Paramètres"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Préparation du terminal"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Arrêt du terminal"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Le terminal a planté"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Redimensionnement du disque"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Redimensionner/Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Redimensionnement du disque"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Redimensionner la partition racine"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Taille du disque définie"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> attribués"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> maximum"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Annuler"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Redémarrer pour appliquer"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Transfert de port"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configurer le transfert de port"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Le terminal essaie d\'ouvrir un nouveau port"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Demande d\'ouverture du port suivant : <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Appliquer"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Le terminal sera redémarré pour redimensionner le disque"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirmer"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Contrôle de port"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Autoriser/refuser les ports d\'écoute"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Ports d\'écoute"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Ports autorisés enregistrés"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Autoriser un nouveau port"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Saisissez le numéro du nouveau port"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Enregistrer"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Annuler"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Le terminal demande l\'ouverture d\'un nouveau port"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Port demandé : <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Accepter"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Refuser"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Récupération"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Options de récupération de la partition"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Revenir à la version initiale"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Tout supprimer"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Options de récupération de la partition"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Revenir à la version initiale"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Supprimer toutes les données"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Réinitialiser le terminal"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Les données seront supprimées"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirmer"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Les données seront supprimées"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Réinitialiser"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Annuler"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Sauvegarder les données dans <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Récupération impossible en raison de l\'échec de la sauvegarde"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Échec de la récupération en raison d\'une erreur de sauvegarde"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Échec de la récupération"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Impossible de supprimer le fichier de sauvegarde"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Échec de la suppression des données de sauvegarde"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Supprimer les données de sauvegarde"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Libérer de l\'espace dans <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <!-- no translation found for error_title (7196464038692913778) -->
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Supprimer <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Erreur irrécupérable"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
     <skip />
-    <!-- no translation found for error_desc (1939028888570920661) -->
-    <skip />
-    <!-- no translation found for error_code (3585291676855383649) -->
-    <skip />
+    <string name="error_code" msgid="3585291676855383649">"Code d\'erreur : <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Paramètres"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminal en cours d\'exécution"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Cliquez pour ouvrir le terminal"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Cliquez pour ouvrir le terminal"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Fermer"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminal se ferme"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Forcer la fermeture"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> est activé"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-gl/strings.xml b/android/TerminalApp/res/values-gl/strings.xml
index 61ffa17..dfd6564 100644
--- a/android/TerminalApp/res/values-gl/strings.xml
+++ b/android/TerminalApp/res/values-gl/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Pantalla do terminal"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Liña baleira"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Toca dúas veces para escribir texto"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Instalar o terminal de Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Para iniciar o terminal de Linux, tes que descargar uns <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de datos a través da rede.\nQueres continuar?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Descargar cando haxa wifi dispoñible"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Para iniciar o terminal de Linux, tes que descargar aproximadamente <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de datos a través da rede.\nQueres continuar?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Descargar só por wifi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instalar"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Instalando"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Produciuse un erro da rede. Comproba a conexión e téntao de novo."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Non se puido completar a instalación por un erro da rede. Comproba a túa conexión e téntao de novo."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Instalando terminal de Linux"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"O terminal de Linux iniciarase en canto remate a instalación"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Produciuse un erro durante instalación por un problema coa rede"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Produciuse un erro durante a instalación. Téntao de novo."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"O terminal de Linux iniciarase en canto remate a instalación"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Produciuse un erro durante instalación por un problema coa rede"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Produciuse un erro durante a instalación porque non hai ningunha wifi dispoñible"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Produciuse un erro durante a instalación. Téntao de novo"</string>
     <string name="action_settings" msgid="5729342767795123227">"Configuración"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Preparando terminal"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Parando terminal"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Produciuse un fallo no terminal"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Cambiar tamaño do disco"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Cambia o tamaño/Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Cambiar o tamaño do disco"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Cambia o tamaño da partición raíz"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Definiuse o tamaño do disco"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Tamaño asignado: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> como máximo"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Cancelar"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Reiniciar e aplicar"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Encamiñamento de porto"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configura o encamiñamento de porto"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"O terminal está tentando abrir outro porto"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Porto que se solicitou abrir: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Aplicar"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"O terminal reiniciarase para cambiar o tamaño do disco"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirmar"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Control de portos"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Permitir ou rexeitar portos de escoita"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Portos de escoita"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Gardáronse os portos permitidos"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"Eliminar <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Permitir outro porto"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Mete outro número de porto"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Gardar"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Cancelar"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"O terminal está solicitando que se abra outro porto"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Porto solicitado: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Aceptar"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Denegar"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Recuperación"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opcións de recuperación da partición"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Cambiar á versión inicial"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Quita todo"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opcións de recuperación da partición"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Restablecer a versión inicial"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Elimina todos os datos"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Restablecer o terminal"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Eliminaranse os datos"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirmar"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Quitaranse os datos"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Restablecer"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Cancelar"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Facer unha copia de seguranza dos datos en <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Fallou a recuperación porque se produciu un erro na copia de seguranza"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Non se levou a cabo a recuperación debido a un erro coa copia de seguranza"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Produciuse un erro na recuperación"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Non se puido quitar o ficheiro da copia de seguranza"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Produciuse un erro ao quitar os datos da copia de seguranza"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Quitar datos da copia de seguranza"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Liberar espazo de <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Produciuse un erro que impide a recuperación"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Produciuse un fallo de recuperación despois dun erro.\nPodes probar a reiniciar a aplicación ou usar unha das opcións de recuperación."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Quita <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Produciuse un erro que impide a recuperación"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Código de erro: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Configuración"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"O terminal está en funcionamento"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Fai clic para abrir o terminal"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Fai clic para abrir o terminal"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Pechar"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"A aplicación Terminal estase pechando"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Forzar peche"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"Activouse <xliff:g id="ID_1">VirGL</xliff:g>"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-gu/strings.xml b/android/TerminalApp/res/values-gu/strings.xml
index 0d74ec0..f759538 100644
--- a/android/TerminalApp/res/values-gu/strings.xml
+++ b/android/TerminalApp/res/values-gu/strings.xml
@@ -17,65 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"ટર્મિનલ"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"ટર્મિનલ ડિસ્પ્લે"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"કર્સર"</string>
+    <string name="empty_line" msgid="5012067143408427178">"ખાલી લાઇન"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"ઇનપુટ ટાઇપ કરવા માટે બે વાર ટૅપ કરો"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux ટર્મિનલ ઇન્સ્ટૉલ કરો"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux ટર્મિનલ લૉન્ચ કરવા માટે, તમારે નેટવર્ક પર આશરે <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ડેટા ડાઉનલોડ કરવાની જરૂર છે.\nશું તમારે આગળ વધવું છે?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"જ્યારે વાઇ-ફાઇ ઉપલબ્ધ હોય, ત્યારે ડાઉનલોડ કરો"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux ટર્મિનલ લૉન્ચ કરવા માટે, તમારે નેટવર્ક પર આશરે <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ડેટા ડાઉનલોડ કરવાની જરૂર છે.\nશું તમે આગળ વધવા માગો છો?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"માત્ર વાઇ-ફાઇનો ઉપયોગ કરીને ડાઉનલોડ કરો"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ઇન્સ્ટૉલ કરો"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"ઇન્સ્ટૉલ કરી રહ્યાં છીએ"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"નેટવર્ક ભૂલ. કનેક્શન ચેક કરો અને ફરી પ્રયાસ કરો."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"નેટવર્ક ભૂલને કારણે ઇન્સ્ટૉલ કરવામાં નિષ્ફળ રહ્યાં. તમારું ઇન્ટરનેટ કનેક્શન ચેક કરો અને ફરી પ્રયાસ કરો."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux ટર્મિનલ ઇન્સ્ટૉલ કરી રહ્યાં છીએ"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"પ્રક્રિયા સમાપ્ત થયા પછી Linux ટર્મિનલ શરૂ થશે"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"નેટવર્કની સમસ્યાને કારણે ઇન્સ્ટૉલ કરવામાં નિષ્ફળ રહ્યાં"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"ઇન્સ્ટૉલ કરવામાં નિષ્ફળ રહ્યાં. ફરી પ્રયાસ કરો."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"ઇન્સ્ટૉલેશનની પ્રક્રિયા સમાપ્ત થયા પછી Linux ટર્મિનલ શરૂ થશે"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"નેટવર્ક સંબંધી કોઈ સમસ્યાને કારણે ઇન્સ્ટૉલ કરવામાં નિષ્ફળ રહ્યાં"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"વાઇ-ફાઇ ઉપલબ્ધ ન હોવાથી ઇન્સ્ટૉલ કરવામાં નિષ્ફળ રહ્યાં"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"ઇન્સ્ટૉલ કરવામાં નિષ્ફળ રહ્યાં. કૃપા કરીને ફરી પ્રયાસ કરો"</string>
     <string name="action_settings" msgid="5729342767795123227">"સેટિંગ"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"ટર્મિનલ તૈયાર કરી રહ્યાં છીએ"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"ટર્મિનલ બંધ કરી રહ્યાં છીએ"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"ટર્મિનલ ક્રૅશ થયું"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"ડિસ્કનું કદ બદલવું"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"કદ બદલો / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"ડિસ્કનું કદ બદલવું"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"રૂટ પાર્ટિશનનું કદ બદલો"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"ડિસ્કનું કદ સેટ કર્યું"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> સોંપ્યું છે"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"મહત્તમ <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"રદ કરો"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"લાગુ કરવા ફરી શરૂ કરો"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"પોર્ટ ફૉરવર્ડિંગ"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"પોર્ટ ફૉરવર્ડિંગનું કન્ફિગ્યુરેશન કરો"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"ટર્મિનલ નવું પોર્ટ ખોલવાનો પ્રયાસ કરી રહ્યું છે"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"પોર્ટને ખોલવાની વિનંતી કરવામાં આવી: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"લાગુ કરો"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ડિસ્કનું કદ બદલવા માટે ટર્મિનલને ફરી શરુ કરવામાં આવશે"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"કન્ફર્મ કરો"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"પોર્ટ નિયંત્રણ"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"સાંભળનાર પોર્ટને મંજૂરી આપો/નકારો"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"સાંભળનાર પોર્ટ"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"સાચવેલા મંજૂરીપ્રાપ્ત પોર્ટ"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"નવા પોર્ટને મંજૂરી આપો"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"નવો પોર્ટ નંબર દાખલ કરો"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"સાચવો"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"રદ કરો"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"ટર્મિનલ નવું પોર્ટ ખોલવા માટે વિનંતી કરી રહ્યું છે"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"પોર્ટની વિનંતી કરવામાં આવી: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"સ્વીકારો"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"નકારો"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"રિકવરી"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"પાર્ટિશન રિકવરીના વિકલ્પો"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"બદલીને પ્રારંભિક વર્ઝન કરો"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"તમામ કાઢી નાખો"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"પાર્ટિશન રિકવરીના વિકલ્પો"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"પ્રારંભિક વર્ઝન પર રીસેટ કરો"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"બધો ડેટા કાઢી નાખો"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"ટર્મિનલ રીસેટ કરો"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ડેટા ડિલીટ કરવામાં આવશે"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"કન્ફર્મ કરો"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ડેટા કાઢી નાખવામાં આવશે"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"રીસેટ કરો"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"રદ કરો"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g> પર ડેટાનું બૅકઅપ લો"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"બૅકઅપ નિષ્ફળ જવાને લીધે રિકવરી નિષ્ફળ રહી"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"બૅકઅપમાં ભૂલને કારણે રિકવર કરવામાં નિષ્ફળ રહ્યાં"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"રિકવરી નિષ્ફળ રહી"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"બૅકઅપ ફાઇલ કાઢી શકતા નથી"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"બૅકઅપ ડેટા કાઢી નાખવામાં નિષ્ફળ રહ્યાં"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"બૅકઅપ ડેટા કાઢી નાખો"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"ક્લિન અપ <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <!-- no translation found for error_title (7196464038692913778) -->
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> કાઢી નાખો"</string>
+    <string name="error_title" msgid="405150657301906598">"ભૂલને કારણે રિકવર કરવો અશક્ય"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
     <skip />
-    <!-- no translation found for error_desc (1939028888570920661) -->
-    <skip />
-    <!-- no translation found for error_code (3585291676855383649) -->
-    <skip />
+    <string name="error_code" msgid="3585291676855383649">"ભૂલનો કોડ: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"સેટિંગ"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"ટર્મિનલ ચાલી રહ્યું છે"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"ટર્મિનલ ખોલવા માટે ક્લિક કરો"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"ટર્મિનલ ખોલવા માટે ક્લિક કરો"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"બંધ કરો"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"ટર્મિનલ ઍપ બંધ થઈ રહી છે"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"ફરજિયાત બંધ કરો"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> ચાલુ કરેલું છે"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-hi/strings.xml b/android/TerminalApp/res/values-hi/strings.xml
index 5fcc177..392f739 100644
--- a/android/TerminalApp/res/values-hi/strings.xml
+++ b/android/TerminalApp/res/values-hi/strings.xml
@@ -20,55 +20,75 @@
     <string name="terminal_display" msgid="4810127497644015237">"टर्मिनल डिसप्ले"</string>
     <string name="terminal_input" msgid="4602512831433433551">"कर्सर."</string>
     <string name="empty_line" msgid="5012067143408427178">"खाली लाइन"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"इनपुट टाइप करने के लिए, दो बार टैप करें"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux टर्मिनल ऐप्लिकेशन इंस्टॉल करें"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux टर्मिनल ऐप्लिकेशन को लॉन्च करने के लिए, आपको इंटरनेट से <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> डेटा डाउनलोड करना होगा.\nक्या आपको आगे बढ़ना है?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"वाई-फ़ाई उपलब्ध होने पर डाउनलोड करें"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux टर्मिनल ऐप्लिकेशन को लॉन्च करने के लिए, आपको इंटरनेट का इस्तेमाल करके <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> डेटा डाउनलोड करना होगा.\nक्या आपको आगे बढ़ना है?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"सिर्फ़ वाई-फ़ाई का इस्तेमाल करके डाउनलोड करें"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"इंस्टॉल करें"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"इंस्टॉल हो रहा"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"नेटवर्क की गड़बड़ी हुई. इंटरनेट कनेक्शन की जांच करें और फिर से कोशिश करें."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"नेटवर्क की किसी गड़बड़ी की वजह से, ऐप्लिकेशन को इंस्टॉल नहीं किया जा सका. अपने इंटरनेट कनेक्शन की जांच करें और दोबारा कोशिश करें."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux टर्मिनल ऐप्लिकेशन इंस्टॉल हो रहा है"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"प्रोसेस पूरी होने के बाद, Linux टर्मिनल ऐप्लिकेशन, इस्तेमाल किया जा सकेगा"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"नेटवर्क की समस्या की वजह से, इंस्टॉल नहीं किया जा सका"</string>
-    <string name="installer_error_no_wifi" msgid="8631584648989718121">"वाई-फ़ाई उपलब्ध न होने की वजह से, इंस्टॉल नहीं किया जा सका"</string>
-    <string name="installer_error_unknown" msgid="1991780204241177455">"इंस्टॉल नहीं किया जा सका. फिर से कोशिश करें."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"इंस्टॉल पूरा होने के बाद, Linux टर्मिनल चालू हो जाएगा"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"नेटवर्क की किसी समस्या की वजह से, इंस्टॉल नहीं किया जा सका"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"वाई-फ़ाई उपलब्ध न होने की वजह से, इंस्टॉल नहीं किया जा सका"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"इंस्टॉल नहीं किया जा सका. कृपया फिर से कोशिश करें"</string>
     <string name="action_settings" msgid="5729342767795123227">"सेटिंग"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"टर्मिनल तैयार किया जा रहा है"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"टर्मिनल को रोका जा रहा है"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"टर्मिनल क्रैश हो गया"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"डिस्क का साइज़ बदलें"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"साइज़ बदलें / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"डिस्क का साइज़ बदलें"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"रूट पार्टिशन का साइज़ बदलें"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"डिस्क का साइज़ सेट किया गया"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> असाइन किया गया"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"मैक्सिमम <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"रद्द करें"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"रीस्टार्ट करें"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"पोर्ट फ़ॉरवर्डिंग"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"पोर्ट फ़ॉरवर्डिंग को कॉन्फ़िगर करें"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"टर्मिनल, एक नया पोर्ट खोलने की कोशिश कर रहा है"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"पोर्ट को खोलने का अनुरोध किया गया: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"लागू करें"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"डिस्क का साइज़ बदलने के लिए, टर्मिनल को रीस्टार्ट किया जाएगा"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"पुष्टि करें"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"पोर्ट कंट्रोल"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"लिसनिंग पोर्ट को अनुमति दें या अनुमति न दें"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"लिसनिंग पोर्ट"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"अनुमति पा चुके सभी पोर्ट को सेव किया गया"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"<xliff:g id="PORT_NUMBER">%d</xliff:g> को मिटाएं"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"नए पोर्ट को अनुमति दें"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"नया पोर्ट नंबर डालें"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"सेव करें"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"रद्द करें"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"टर्मिनल, एक नया पोर्ट खोलने का अनुरोध कर रहा है"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"पोर्ट खोलने का अनुरोध किया गया: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"स्वीकार करें"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"अस्वीकार करें"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"इमेज रिकवर करें"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"इमेज के हिस्से को रिकवर करने के विकल्प"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"शुरुआती वर्शन पर स्विच करें"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"सभी हटाएं"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"इमेज के हिस्से को रिकवर करने के विकल्प"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"रीसेट करके शुरुआती वर्शन पर जाएं"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"सारा डेटा हटाएं"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"टर्मिनल रीसेट करें"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"डेटा मिटा दिया जाएगा"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"पुष्टि करें"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"डेटा हटा दिया जाएगा"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"रीसेट करें"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"अभी नहीं"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g> पर डेटा का बैक अप लें"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"बैकअप पूरा न होने की वजह से, रिकवर नहीं किया जा सका"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"बैकअप लेने में हुई गड़बड़ी की वजह से, डेटा वापस नहीं पाया जा सका"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"रिकवर नहीं किया जा सका"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"बैकअप फ़ाइल को हटाया नहीं जा सकता"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"बैकअप डेटा नहीं हटाया जा सका"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"बैकअप डेटा हटाएं"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> का बैकअप डेटा हटाएं"</string>
-    <string name="error_title" msgid="7196464038692913778">"वह गड़बड़ी जिसकी वजह से डेटा वापस नहीं पाया जा सकता"</string>
-    <string name="error_desc" msgid="1939028888570920661">"गड़बड़ी ठीक नहीं की जा सकी.\nऐप्लिकेशन को रीस्टार्ट करने की कोशिश करें या गड़बड़ी ठीक करने का कोई विकल्प आज़माएं."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> को हटाएं"</string>
+    <string name="error_title" msgid="405150657301906598">"ऐसी गड़बड़ी जिसकी वजह से डेटा वापस नहीं पाया जा सकता"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"गड़बड़ी का कोड: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"सेटिंग"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"टर्मिनल चालू है"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"टर्मिनल खोलने के लिए क्लिक करें"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"टर्मिनल खोलने के लिए क्लिक करें"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"बंद करें"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"टर्मिनल ऐप्लिकेशन बंद हो रहा है"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"ज़बरदस्ती बंद करें"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> चालू है"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-hr/strings.xml b/android/TerminalApp/res/values-hr/strings.xml
index 686492c..8dd01db 100644
--- a/android/TerminalApp/res/values-hr/strings.xml
+++ b/android/TerminalApp/res/values-hr/strings.xml
@@ -17,65 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Zaslon terminala"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Pokazivač"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Prazan redak"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Dvaput dodirnite za unos"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Instalirajte Linux terminal"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Da biste pokrenuli Linux terminal, trebate preuzeti otprilike <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> podataka putem mreže.\nŽelite li nastaviti?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Preuzmi kada Wi-Fi bude dostupan"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Da biste pokrenuli Linux terminal, trebate preuzeti oko <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> podataka putem mreže.\nŽelite li nastaviti?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Preuzimanje samo putem Wi-Fi mreže"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instaliraj"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Instaliranje"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Mrežna pogreška. Provjerite vezu i pokušajte ponovo."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Instaliranje nije uspjelo zbog mrežne pogreške. Provjerite vezu i pokušajte ponovo."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Instaliranje Linux terminala"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux terminal pokrenut će se nakon završetka"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Instalacija nije uspjela zbog problema s mrežom"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Instaliranje nije uspjelo. Pokušajte ponovo."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux terminal pokrenut će se nakon završetka instaliranja"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Instaliranje nije uspjelo zbog problema s mrežom"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Instaliranje nije uspjelo jer Wi-Fi nije dostupan"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Instaliranje nije uspjelo. Pokušajte ponovo"</string>
     <string name="action_settings" msgid="5729342767795123227">"Postavke"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Priprema terminala"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Zaustavljanje terminala"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminal se srušio"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Promjena veličine diska"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Promjena veličine/rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Promjena veličine diska"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Promjena veličine korijenske particije"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Veličina diska je postavljena"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Dodijeljeno: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maks. <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Odustani"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Ponovo pokrenite za primjenu"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Prosljeđivanje priključka"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Konfiguriranje prosljeđivanja priključka"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal pokušava otvoriti novi priključak"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Zatraženo je otvaranje priključka: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Primijeni"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal će se ponovo pokrenuti da bi se promijenila veličina diska"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Potvrdi"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Kontrola priključka"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Dopusti/odbij priključke za slušanje"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Priključci za slušanje"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Spremljeni dopušteni priključci"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"Izbriši priključak <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Dopusti novi priključak"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Unesite novi broj priključka"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Spremi"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Odustani"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal zahtijeva da se otvori novi priključak"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Zatraženi priključak: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Prihvati"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Odbij"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Oporavak"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opcije oporavka particije"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Vrati na početnu verziju"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Ukloni sve"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opcije oporavka particije"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Vraćanje na početnu verziju"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Uklanjanje svih podataka"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Poništavanje terminala"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Podaci će se izbrisati"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Potvrdi"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Podaci će se ukloniti"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Poništi"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Odustani"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Sigurnosno kopiranje podataka u <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Oporavak nije uspio jer sigurnosno kopiranje nije uspjelo"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Oporavak nije uspio zbog pogreške sigurnosnog kopiranja"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Oporavak nije uspio"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Datoteka sigurnosne kopije ne može se ukloniti"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Uklanjanje podataka sigurnosne kopije nije uspjelo"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Ukloni podatke sigurnosne kopije"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Izbriši <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <!-- no translation found for error_title (7196464038692913778) -->
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Uklanjanje puta <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Nepopravljiva pogreška"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
     <skip />
-    <!-- no translation found for error_desc (1939028888570920661) -->
-    <skip />
-    <!-- no translation found for error_code (3585291676855383649) -->
-    <skip />
+    <string name="error_code" msgid="3585291676855383649">"Kôd pogreške: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Postavke"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminal je pokrenut"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Kliknite da biste otvorili terminal"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Kliknite da biste otvorili terminal"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Zatvori"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminal se zatvara"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Prisilno zatvori"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"Omogućeno je: <xliff:g id="ID_1">VirGL</xliff:g>"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-hu/strings.xml b/android/TerminalApp/res/values-hu/strings.xml
index 892de69..041d0fe 100644
--- a/android/TerminalApp/res/values-hu/strings.xml
+++ b/android/TerminalApp/res/values-hu/strings.xml
@@ -20,55 +20,76 @@
     <string name="terminal_display" msgid="4810127497644015237">"Terminálkijelző"</string>
     <string name="terminal_input" msgid="4602512831433433551">"Kurzor"</string>
     <string name="empty_line" msgid="5012067143408427178">"Üres sor"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"A bevitel beírásához koppintson duplán"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux-terminál telepítése"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"A Linux-terminál elindításához körülbelül <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> adatmennyiséget kell letöltenie a hálózaton keresztül.\nFolytatja?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Letöltés, ha rendelkezésre áll Wi-Fi-kapcsolat"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"A Linux-terminál elindításához körülbelül <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> adatmennyiséget kell letöltenie a hálózaton keresztül.\nFolytatja?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Letöltés csak Wi-Fi-kapcsolattal"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Telepítés"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Telepítés…"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Hálózati hiba. Ellenőrizze a kapcsolatot, majd próbálja újra."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Hálózati hiba miatt nem sikerült a telepítés. Ellenőrizze a kapcsolatot, majd próbálkozzon újra."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux-terminál telepítése…"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"A Linux-terminál a befejezés után indul el"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Hálózati probléma miatt nem sikerült a telepítés"</string>
-    <string name="installer_error_no_wifi" msgid="8631584648989718121">"Nem sikerült a telepítés, mert nincs Wi-Fi-kapcsolat"</string>
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Nem sikerült a telepítés. Próbálkozzon újra."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"A Linux-terminál a telepítés befejezése után indul el"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Hálózati probléma miatt nem sikerült a telepítés"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Nem sikerült a telepítés, mert nincs Wi-Fi-kapcsolat"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Nem sikerült a telepítés. Próbálkozzon újra."</string>
     <string name="action_settings" msgid="5729342767795123227">"Beállítások"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"A terminál előkészítése…"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"A terminál leállítása…"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"A terminál összeomlott"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Lemez átméretezése"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Átméretezés/Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Lemez átméretezése"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"A gyökérpartíció átméretezése"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Lemezméret beállítva"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> hozzárendelve"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maximum: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Mégse"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Újraindítás az alkalmazáshoz"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Portátirányítás"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Portátirányítás konfigurálása"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"A Terminal új portot próbál megnyitni"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"A megnyitni kívánt port: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Alkalmazás"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"A lemez átméretezése miatt a terminál újraindul"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Megerősítés"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Portvezérlés"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Figyelő portok engedélyezése/letiltása"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Figyelő portok"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Mentett engedélyezett portok"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Új port engedélyezése"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Adja meg az új portszámot"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Mentés"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Mégse"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"A terminál új port megnyitását kéri"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Kért port: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Elfogadás"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Elutasítás"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Helyreállítás"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Partíció-helyreállítási lehetőségek"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Váltás az eredeti verzióra"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Az összes eltávolítása"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Partíció-helyreállítási lehetőségek"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Visszaállítás az eredeti verzióra"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Összes adat eltávolítása"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Terminál visszaállítása"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Az adatok törlődni fognak"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Megerősítés"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Az adatok el lesznek távolítva"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Visszaállítás"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Mégse"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Adatok biztonsági mentése ide: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"A helyreállítás sikertelen volt, mert a biztonsági mentés nem sikerült"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"A helyreállítás a biztonsági mentés hibája miatt sikertelen volt"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Sikertelen helyreállítás"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Nem sikerült eltávolítani a biztonságimentés-fájlt"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"A biztonsági másolat adatainak eltávolítása sikertelen volt"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Biztonsági másolat adatainak eltávolítása"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"A(z) <xliff:g id="PATH">/mnt/backup</xliff:g> útvonalon lévő adatok eltávolítása"</string>
-    <string name="error_title" msgid="7196464038692913778">"Helyrehozhatatlan hiba"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Nem sikerült a hiba utáni helyreállítás.\nPróbálkozhat az alkalmazás újraindításával, vagy kipróbálhatja valamelyik helyreállítási lehetőséget."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> eltávolítása"</string>
+    <string name="error_title" msgid="405150657301906598">"Helyrehozhatatlan hiba"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Hibakód: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Beállítások"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"A terminál fut"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Kattintson a terminál megnyitásához"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Kattintson a terminál megnyitásához"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Bezárás"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"A terminál bezárul"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Bezárás kényszerítése"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"A(z) <xliff:g id="ID_1">VirGL</xliff:g> engedélyezve van"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-hy/strings.xml b/android/TerminalApp/res/values-hy/strings.xml
index 5a2f90d..cf4b897 100644
--- a/android/TerminalApp/res/values-hy/strings.xml
+++ b/android/TerminalApp/res/values-hy/strings.xml
@@ -17,65 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Տերմինալ"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Տերմինալի էկրան"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Նշորդ"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Դատարկ տող"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Կրկնակի հպեք մուտքագրելու համար"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Լինուքս տերմինալի տեղադրում"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Լինուքս տերմինալը գործարկելու համար անհրաժեշտ է ցանցի միջոցով ներբեռնել մոտ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> տվյալ։\nՇարունակե՞լ։"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Ներբեռնել, երբ սարքը միանա Wi-Fi-ին"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Լինուքս տերմինալը գործարկելու համար անհրաժեշտ է ցանցի միջոցով ներբեռնել մոտ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> տվյալ։\nՇարունակե՞լ։"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Ներբեռնել միայն Wi-Fi-ով"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Տեղադրել"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Տեղադրվում է"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Ցանցի սխալ։ Ստուգեք կապը և նորից փորձեք։"</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Տեղադրումը ձախողվեց ցանցի սխալի պատճառով։ Ստուգեք կապը և նորից փորձեք։"</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Լինուքս տերմինալը տեղադրվում է"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Ավարտից հետո Լինուքս տերմինալը կգործարկվի"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Տեղադրումը ձախողվեց ցանցի հետ կապված խնդրի պատճառով"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Չհաջողվեց տեղադրել: Նորից փորձեք։"</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Լինուքս տերմինալը կգործարկվի տեղադրման ավարտից հետո"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Տեղադրումը ձախողվեց ցանցի հետ կապված խնդրի պատճառով"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Չհաջողվեց տեղադրել, քանի որ Wi-Fi ցանցը հասանելի չէ"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Չհաջողվեց տեղադրել: Նորից փորձեք"</string>
     <string name="action_settings" msgid="5729342767795123227">"Կարգավորումներ"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Տերմինալի նախապատրաստում"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Տերմինալը կանգնեցվում է"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Տերմինալը խափանվել է"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Սկավառակի չափափոխում"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Չափափոխում / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Սկավառակի չափի փոխում"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Փոխել արմատային բաժնի չափը"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Սկավառակի չափսը սահմանված է"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Հատկացված է <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Առավելագույնը՝ <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Չեղարկել"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Կիրառելու համար վերագործարկեք"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Միացքի փոխանցում"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Միացքի փոխանցման կազմաձևում"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Տերմինալը փորձում է նոր միացք բացել"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Միացքը, որը պահանջվում է բացել՝ <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Կիրառել"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Տերմինալը կվերագործարկվի սկավառակի չափը փոխելու համար"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Հաստատել"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Միացքների կառավարում"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Թույլատրել/մերժել ունկնդրման միացքները"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Ունկնդրման միացքներ"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Պահված թույլատրված միացքներ"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"Ջնջել <xliff:g id="PORT_NUMBER">%d</xliff:g> համարի միացքը"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Թույլատրել նոր միացք"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Մուտքագրեք նոր միացքի համարը"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Պահել"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Չեղարկել"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Տերմինալը խնդրում է նոր միացք բացել"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Հարցված միացքը՝ <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Ընդունել"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Մերժել"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Վերականգ­նում"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Բաժնի վերականգնման տարբերակներ"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Նախնական տարբերակի վերականգնում"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Հեռացնել բոլորը"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Բաժնի վերականգնման տարբերակներ"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Վերականգնել նախնական տարբերակը"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Հեռացնել բոլոր տվյալները"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Տերմինալի վերակայում"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Տվյալները կջնջվեն"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Հաստատել"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Տվյալները կհեռացվեն"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Վերակայել"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Չեղարկել"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Պահուստավորել տվյալները այստեղ՝ <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Պահուստավորման խափանման պատճառով չհաջողվեց վերականգնել"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Պահուստավորման խնդրի պատճառով չհաջողվեց վերականգնել"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Չհաջողվեց վերականգնել"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Հնարավոր չէ հեռացնել պահուստային կրկնօրինակի ֆայլը"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Չհաջողվեց հեռացնել պահուստավորված տվյալները"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Հեռացնել պահուստավորված տվյալները"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Մաքրել ուղին՝ <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <!-- no translation found for error_title (7196464038692913778) -->
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Հեռացնել <xliff:g id="PATH">/mnt/backup</xliff:g>ը"</string>
+    <string name="error_title" msgid="405150657301906598">"Հնարավոր չէ վերականգնել"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
     <skip />
-    <!-- no translation found for error_desc (1939028888570920661) -->
-    <skip />
-    <!-- no translation found for error_code (3585291676855383649) -->
-    <skip />
+    <string name="error_code" msgid="3585291676855383649">"Սխալի կոդը՝ <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Կարգավորումներ"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Տերմինալն աշխատում է"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Սեղմեք՝ տերմինալը բացելու համար"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Սեղմեք՝ տերմինալը բացելու համար"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Փակել"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Տերմինալը փակվում է"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Ստիպողաբար փակել"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g>-ը միացված է"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-in/strings.xml b/android/TerminalApp/res/values-in/strings.xml
index 068a693..77ec70c 100644
--- a/android/TerminalApp/res/values-in/strings.xml
+++ b/android/TerminalApp/res/values-in/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Tampilan terminal"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Kursor"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Baris kosong"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Ketuk dua kali untuk mengetik input"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Instal terminal Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Untuk meluncurkan terminal Linux, Anda perlu mendownload sekitar <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> data melalui jaringan.\nApakah Anda ingin melanjutkan?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Download saat Wi-Fi tersedia"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Untuk meluncurkan terminal Linux, Anda perlu mendownload sekitar <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> data melalui jaringan.\nApakah Anda ingin melanjutkan?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Hanya download melalui Wi-Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instal"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Menginstal"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Error jaringan. Periksa koneksi dan coba lagi."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Gagal menginstal karena ada error jaringan. Periksa koneksi dan coba lagi."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Menginstal terminal Linux"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Terminal Linux akan dimulai setelah penginstalan selesai"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Gagal menginstal karena ada masalah jaringan"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Gagal menginstal. Coba lagi."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Terminal Linux akan dimulai setelah penginstalan selesai"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Gagal menginstal karena ada masalah jaringan"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Gagal menginstal karena Wi-Fi tidak tersedia"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Gagal menginstal. Coba lagi"</string>
     <string name="action_settings" msgid="5729342767795123227">"Setelan"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Menyiapkan terminal"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Menghentikan terminal"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminal error"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Ubah Ukuran Disk"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Ubah ukuran / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Ubah ukuran disk"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Mengubah ukuran partisi root"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Ukuran disk ditetapkan"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> ditetapkan"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maks <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Batal"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Mulai ulang untuk menerapkan"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Penerusan Port"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Konfigurasi penerusan port"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal mencoba membuka port baru"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port yang diminta untuk dibuka: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Terapkan"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal akan dimulai ulang untuk mengubah ukuran disk"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Konfirmasi"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Kontrol port"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Izinkan/tolak port yang sedang dalam proses"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Port yang sedang dalam proses"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Port yang diizinkan tersimpan"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Izinkan port baru"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Masukkan nomor port baru"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Simpan"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Batal"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal meminta untuk membuka port baru"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Port yang diminta: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Terima"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Tolak"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Pemulihan"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opsi Pemulihan Partisi"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Ubah ke Versi awal"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Hapus semua"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opsi pemulihan partisi"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Reset ke versi awal"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Hapus semua data"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Reset terminal"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Data akan dihapus"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Konfirmasi"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Data akan dihapus"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Reset"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Batal"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Cadangkan data ke <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Pemulihan gagal karena pencadangan gagal"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Gagal memulihkan karena ada error pencadangan"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Pemulihan gagal"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Tidak dapat menghapus file cadangan"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Gagal menghapus data cadangan"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Hapus data cadangan"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Membersihkan <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Error yang Tidak Dapat Dipulihkan"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Gagal memulihkan dari error.\nAnda dapat mencoba memulai ulang aplikasi, atau mencoba salah satu opsi pemulihan."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Hapus <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Error yang tidak dapat dipulihkan"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Kode error: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Setelan"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminal sedang berjalan"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Klik untuk membuka terminal"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Klik untuk membuka terminal"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Tutup"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminal ditutup"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Tutup paksa"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> diaktifkan"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-is/strings.xml b/android/TerminalApp/res/values-is/strings.xml
index e50b1b6..29aa82e 100644
--- a/android/TerminalApp/res/values-is/strings.xml
+++ b/android/TerminalApp/res/values-is/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Útstöð"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Skjár útstöðvar"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Bendill"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Auð lína"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Ýttu tvisvar til að slá inn ílag"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Setja upp Linux-útstöð"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Til að ræsa Linux-útstöð þarftu að sækja um <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> af gögnum yfir netkerfi.\nViltu halda áfram?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Sækja þegar Wi-Fi er tiltækt"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Þú þarft að sækja um <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> af gögnum í gegnum netið til að ræsa Linux-útstöð.\nViltu halda áfram?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Sækja með Wi-Fi eingöngu"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Setja upp"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Setur upp"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Netkerfisvilla. Athugaðu tenginguna og reyndu aftur."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Uppsetning tókst ekki sökum netkerfisvillu. Athugaðu tenginguna og reyndu aftur."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Setur upp Linux-útstöð"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux-útstöð verður ræst þegar því lýkur"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Tókst ekki að setja upp vegna netkerfisvandamáls"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Tókst ekki að setja upp. Reyndu aftur."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux-útstöð ræsist að uppsetningu lokinni"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Uppsetning tókst ekki sökum netkerfisvillu"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Uppsetning tókst ekki vegna þess að Wi-Fi er ekki tiltækt"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Uppsetning tókst ekki. Reyndu aftur"</string>
     <string name="action_settings" msgid="5729342767795123227">"Stillingar"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Undirbýr útstöð"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Stöðvar tengi"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Tengi hrundi"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Breyta stærð disks"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Breyta stærð / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Breyta stærð disks"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Breyta stærð rótardeildar"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Stærð disks stillt"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> úthlutað"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> hámark"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Hætta við"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Endurræsa til að nota"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Framsending gáttar"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Stilla framsendingu gáttar"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Útstöð er að reyna að opna nýtt tengi"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Tengi sem beðið er um að sé opið: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Nota"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Útstöðin verður endurræst til að breyta stærk disks"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Staðfesta"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Gáttarstýring"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Leyfa hlustunargáttir/hafna hlustunargáttum"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Hlustunargáttir"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Vistaðar leyfðar gáttir"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Leyfa nýja gátt"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Slá inn nýtt gáttarnúmer"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Vista"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Hætta við"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Útstöðin bað um að opna nýja gátt"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Beiðni um gátt: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Samþykkja"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Hafna"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Endurheimt"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Endurheimtarkostir deildar"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Breyta í upphaflega útgáfu"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Fjarlægja allt"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Endurheimtarkostir deildar"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Endurstilla í upprunalega útgáfu"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Fjarlægja öll gögn"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Endurstilla útstöð"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Gögnum verður eytt"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Staðfesta"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Gögn verða fjarlægð"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Endurstilla"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Hætta við"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Afrita gögn á <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Endurheimt mistókst vegna þess að öryggisafritun mistókst"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Endurheimt tókst ekki sökum afritunarvillu"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Endurheimt mistókst"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Ekki er hægt að fjarlægja öryggisafrit"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Ekki tókst að fjarlægja afrituð gögn"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Fjarlægja afrituð gögn"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Hreinsa <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Óleiðréttanleg villa"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Ekki tókst að endurheimta eftir villu.\nÞú getur reynt að endurræsa forritið eða prófað einn af endurheimtarkostunum."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Fjarlægja <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Óleiðréttanleg villa"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Villukóði: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Stillingar"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Útstöð er í gangi"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Smelltu til að opna útstöðina"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Smelltu til að opna útstöðina"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Loka"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminal er að loka"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Þvinga fram lokun"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"Kveikt er á <xliff:g id="ID_1">VirGL</xliff:g>"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-it/strings.xml b/android/TerminalApp/res/values-it/strings.xml
index 1f99326..da12f9b 100644
--- a/android/TerminalApp/res/values-it/strings.xml
+++ b/android/TerminalApp/res/values-it/strings.xml
@@ -20,58 +20,75 @@
     <string name="terminal_display" msgid="4810127497644015237">"Display terminale"</string>
     <string name="terminal_input" msgid="4602512831433433551">"Cursore"</string>
     <string name="empty_line" msgid="5012067143408427178">"Riga vuota"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Tocca due volte per digitare l\'input"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Installa terminale Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Per avviare il terminale Linux, devi scaricare circa <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> di dati tramite la rete.\nContinuare?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Scarica quando è disponibile una rete Wi-Fi"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Per avviare il terminale Linux, devi scaricare circa <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> di dati tramite la rete.\nContinuare?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Scarica solo tramite Wi-Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Installa"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installazione"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Errore di rete. Controlla la connessione e riprova."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Impossibile installare a causa di un errore di rete. Controlla la connessione e riprova."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Installazione del terminale Linux in corso…"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Il terminale Linux verrà avviato al termine"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Installazione non riuscita a causa di un problema di rete"</string>
-    <string name="installer_error_no_wifi" msgid="8631584648989718121">"Impossibile installare: Wi-Fi non disponibile"</string>
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Installazione non riuscita. Riprova."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Il terminale Linux verrà avviato al termine dell\'installazione"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Installazione non riuscita a causa di un problema di rete"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Impossibile installare: Wi-Fi non disponibile"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Installazione non riuscita. Riprova"</string>
     <string name="action_settings" msgid="5729342767795123227">"Impostazioni"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Preparazione terminale in corso…"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Arresto del terminale in corso…"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Arresto anomalo del terminale"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Ridimensionamento disco"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Ridimensiona/rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Ridimensionamento disco"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Ridimensiona la partizione root"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Dimensioni disco impostate"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Assegnato: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Massimo: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Annulla"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Riavvia per applic."</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Port forwarding"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configura port forwarding"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Il terminale sta tentando di aprire una nuova porta"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Porta di cui è stata richiesta l\'apertura: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Applica"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Il terminale verrà riavviato per ridimensionare il disco"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Conferma"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Controllo porte"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Consenti/rifiuta porte di ascolto"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Porte di ascolto"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Porte consentite salvate"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"Elimina <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Consenti una nuova porta"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Inserisci un nuovo numero di porta"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Salva"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Annulla"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Il terminale sta chiedendo di aprire una nuova porta"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Porta richiesta: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Accetta"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Rifiuta"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Ripristino"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opzioni ripristino partizione"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Torna alla versione iniziale"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Rimuovi tutto"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opzioni di recupero partizione"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Ripristina la versione iniziale"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Rimuovi tutti i dati"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Reimposta il terminale"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"I dati verranno eliminati"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Conferma"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"I dati verranno rimossi"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Reimposta"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Annulla"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Esegui il backup dei dati su <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Recupero non riuscito a causa di un errore di backup"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Impossibile recuperare a causa di un errore di backup"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Recupero non riuscito"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Impossibile rimuovere il file di backup"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Impossibile rimuovere i dati di backup"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Rimuovi i dati di backup"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Pulisci <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <!-- no translation found for error_title (7196464038692913778) -->
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Rimuovi <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Errore irreversibile"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
     <skip />
-    <!-- no translation found for error_desc (1939028888570920661) -->
-    <skip />
-    <!-- no translation found for error_code (3585291676855383649) -->
-    <skip />
+    <string name="error_code" msgid="3585291676855383649">"Codice di errore: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Impostazioni"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Il terminale è in esecuzione"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Tocca per aprire il terminale"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Fai clic per aprire il terminale"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Chiudi"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Chiusura del terminale in corso…"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Termina"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> è abilitata"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-iw/strings.xml b/android/TerminalApp/res/values-iw/strings.xml
index 5c1037d..07441b9 100644
--- a/android/TerminalApp/res/values-iw/strings.xml
+++ b/android/TerminalApp/res/values-iw/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"טרמינל"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"תצוגת טרמינל"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"סמן"</string>
+    <string name="empty_line" msgid="5012067143408427178">"שורה ריקה"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"כדי להקליד טקסט צריך להקיש הקשה כפולה"</string>
     <string name="installer_title_text" msgid="500663060973466805">"התקנה של טרמינל Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"כדי להפעיל את טרמינל Linux, צריך להוריד נתונים בנפח של בערך <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> דרך הרשת.\nלהמשיך?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"הורדה כשיהיה חיבור ל-Wi-Fi"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"כדי להפעיל את טרמינל Linux, צריך להוריד נתונים בנפח של בערך <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> דרך הרשת.\nלהמשיך?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"הורדה רק באמצעות Wi-Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"התקנה"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"בתהליך התקנה"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"שגיאה בחיבור לרשת. צריך לבדוק את החיבור ולנסות שוב."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"ההתקנה נכשלה בגלל שגיאה בחיבור לרשת. מומלץ לבדוק את החיבור ולנסות שוב."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"מתבצעת התקנה של טרמינל Linux"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"טרמינל Linux יופעל אחרי שההתקנה תסתיים"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"ההתקנה נכשלה בגלל בעיה ברשת"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"ההתקנה נכשלה. אפשר לנסות שוב."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"טרמינל Linux יופעל בסיום ההתקנה"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"ההתקנה נכשלה בגלל בעיה ברשת"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"ההתקנה נכשלה כי אין חיבור ל-Wi-Fi"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"ההתקנה נכשלה. אפשר לנסות שוב."</string>
     <string name="action_settings" msgid="5729342767795123227">"הגדרות"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"הטרמינל בהכנה"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"המערכת עוצרת את הטרמינל"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"הטרמינל קרס"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"שינוי גודל הדיסק"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"שינוי הגודל / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"שינוי גודל הדיסק"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"שינוי גודל של מחיצת השורש"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"גודל הדיסק הוגדר"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"הוקצו <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"מקסימום <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"ביטול"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"צריך להפעיל מחדש כדי להחיל את השינוי"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"העברה ליציאה אחרת"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"הגדרת העברה ליציאה אחרת"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"הטרמינל מנסה לפתוח יציאה חדשה"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"נשלחה בקשה לפתיחת היציאה: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"אישור"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"הטרמינל יופעל מחדש כדי שגודל הדיסק ישתנה"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"אישור"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"בקרת יציאות"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"אישור או דחייה של יציאות להאזנה"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"יציאות להאזנה"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"יציאות מורשות שנשמרו"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"אישור ליציאה חדשה"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"צריך להזין מספר של יציאה חדשה"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"שמירה"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"ביטול"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"הטרמינל מבקש לפתוח יציאה חדשה"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"נשלחה בקשה ליציאה: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"אישור"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"דחייה"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"שחזור"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"אפשרויות שחזור של המחיצה"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"שינוי לגרסה הראשונית"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"הסרת הכול"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"אפשרויות השחזור של המחיצה"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"איפוס לגרסה הראשונית"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"הסרת כל הנתונים"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"אתחול הטרמינל"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"הנתונים יימחקו"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"אישור"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"הנתונים יוסרו"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"איפוס"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"ביטול"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"גיבוי הנתונים בנתיב <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"השחזור נכשל כי הגיבוי נכשל"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"השחזור נכשל בגלל שגיאה בגיבוי"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"השחזור נכשל"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"אי אפשר להסיר את קובץ הגיבוי"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"ההסרה של נתוני הגיבוי נכשלה"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"הסרת נתוני הגיבוי"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"פינוי של <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"שגיאה שבעקבותיה אי אפשר לשחזר"</string>
-    <string name="error_desc" msgid="1939028888570920661">"השחזור נכשל בגלל שגיאה.\nאפשר להפעיל מחדש את האפליקציה או לנסות אחת מאפשרויות השחזור."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"הסרה של <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"שגיאה שבעקבותיה אי אפשר לשחזר"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"קוד שגיאה: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"הגדרות"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"הטרמינל פועל"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"צריך ללחוץ כדי לפתוח את הטרמינל"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"כדי לפתוח את הטרמינל, צריך ללחוץ כאן"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"סגירה"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"הטרמינל בתהליך סגירה"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"אילוץ סגירה"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"‫<xliff:g id="ID_1">VirGL</xliff:g> מופעל"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-ja/strings.xml b/android/TerminalApp/res/values-ja/strings.xml
index e4a9cd7..636a19d 100644
--- a/android/TerminalApp/res/values-ja/strings.xml
+++ b/android/TerminalApp/res/values-ja/strings.xml
@@ -20,55 +20,75 @@
     <string name="terminal_display" msgid="4810127497644015237">"ターミナルの表示"</string>
     <string name="terminal_input" msgid="4602512831433433551">"カーソル"</string>
     <string name="empty_line" msgid="5012067143408427178">"空の行"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"ダブルタップしてタイプ入力します"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux ターミナルをインストールする"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux ターミナルを起動するには、ネットワーク経由で約 <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> のデータのダウンロードが必要です。\n続行しますか?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Wi-Fi 接続時にダウンロード"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux ターミナルを起動するには、ネットワーク経由で約 <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> のデータのダウンロードが必要です。\n続行しますか?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Wi-Fi 使用時にのみダウンロードする"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"インストール"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"インストール中"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"ネットワーク エラーです。接続を確認し、もう一度お試しください。"</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"ネットワーク エラーが発生したため、インストールできませんでした。接続を確認してから、もう一度お試しください。"</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux ターミナルのインストール"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"完了後に Linux ターミナルが起動します"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"ネットワークの問題によりインストールできませんでした"</string>
-    <string name="installer_error_no_wifi" msgid="8631584648989718121">"Wi-Fi が利用できないため、インストールできませんでした"</string>
-    <string name="installer_error_unknown" msgid="1991780204241177455">"インストールできませんでした。もう一度お試しください。"</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"インストールが完了すると Linux ターミナルが起動します"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"ネットワークの問題によりインストールできませんでした"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Wi-Fi が利用できないためインストールできませんでした"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"インストールできませんでした。もう一度お試しください"</string>
     <string name="action_settings" msgid="5729342767795123227">"設定"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"ターミナルを準備しています"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"ターミナルを停止しています"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"ターミナルがクラッシュしました"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"ディスクサイズを変更"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"サイズ変更 / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"ディスクサイズを変更"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"ルート パーティションのサイズを変更"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"ディスクサイズを設定しました"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> 割り当て済み"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"最大 <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"キャンセル"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"再起動して適用"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"ポート転送"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"ポート転送を設定する"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"ターミナルが新しいポートを開こうとしています"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"開くようリクエストされたポート: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"適用"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ディスクのサイズを変更するためにターミナルが再起動します"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"確認"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"ポートの管理"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"リスニング ポートの許可 / 拒否"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"リスニング ポート"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"保存済みの許可ポート"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"<xliff:g id="PORT_NUMBER">%d</xliff:g> を削除"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"新しいポートを許可する"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"新しいポート番号を入力してください"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"保存"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"キャンセル"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"ターミナルが新しいポートを開くリクエストをしました"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"移行リクエスト済み: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"許可する"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"許可しない"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"リカバリ"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"パーティション復元オプション"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"最初のバージョンに変更"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"すべて削除"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"パーティション復元オプション"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"最初のバージョンにリセット"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"データをすべて削除"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"ターミナルのリセット"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"データは削除されます"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"確認"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"データは削除されます"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"リセット"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"キャンセル"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g> にデータをバックアップする"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"バックアップに失敗したため、復元できませんでした"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"バックアップ エラーのため復元できませんでした"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"復元できませんでした"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"バックアップ ファイルを削除できません"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"バックアップ データを削除できませんでした"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"バックアップ データの削除"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> をクリーンアップする"</string>
-    <string name="error_title" msgid="7196464038692913778">"修復不可能なエラー"</string>
-    <string name="error_desc" msgid="1939028888570920661">"エラーを修復できませんでした。\nアプリを再起動するか、いずれかの復元オプションをお試しください。"</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> を削除"</string>
+    <string name="error_title" msgid="405150657301906598">"修復不可能なエラー"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"エラーコード: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"設定"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"ターミナルは実行中です"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"クリックするとターミナルが開きます"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"クリックするとターミナルが開きます"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"閉じる"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"ターミナルを閉じています"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"強制終了"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g>は有効です"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-ka/strings.xml b/android/TerminalApp/res/values-ka/strings.xml
index 44ad145..2573f9d 100644
--- a/android/TerminalApp/res/values-ka/strings.xml
+++ b/android/TerminalApp/res/values-ka/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"ტერმინალი"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"ტერმინალის წარმოჩენა"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"კურსორი"</string>
+    <string name="empty_line" msgid="5012067143408427178">"ცარიელი სტრიქონი"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"ორმაგად შეეხეთ ასაკრეფად"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux ტერმინალის ინსტალაცია"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux ტერმინალის გაშვებისთვის საჭიროა ქსელიდან ჩამოტვირთოთ დაახლოებით <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ზომის მონაცემები.\nგსურთ გაგრძელება?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"ჩამოტვირთვა Wi-Fi კავშირის ხელმისაწვდომობისას"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux ტერმინალის გაშვებისთვის საჭიროა ქსელიდან ჩამოტვირთოთ დაახლოებით <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ზომის მონაცემები.\nგსურთ გაგრძელება?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"ჩამოტვირთვა მხოლოდ Wi-Fi-ს გამოყენებით"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ინსტალაცია"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"ინსტალირდება"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"ქსელის შეცდომა. შეამოწმეთ კავშირი და ცადეთ ხელახლა."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"ქსელის შეცდომის გამო ვერ მოხერხდა ინსტალაცია. შეამოწმეთ კავშირი და ცადეთ ხელახლა."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"მიმდინარეობს Linux ტერმინალის ინსტალაცია"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"დასრულების შემდეგ დაიწყება Linux ტერმინალის ინსტალაცია"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"ქსელის შეცდომის გამო ვერ მოხერხდა ინსტალაცია"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"ვერ მოახერხდა ინსტალაცია. ცადეთ ხელახლა."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"ინსტალაციის დასრულების შემდეგ გაეშვება Linux ტერმინალი"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"ქსელის პრობლემის გამო ვერ მოხერხდა ინსტალაცია"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Wi-Fi მიუწვდომელია, ამიტომ ინსტალაცია ვერ მოხერხდა"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"ვერ მოახერხდა ინსტალაცია. გთხოვთ, ცადოთ ხელახლა"</string>
     <string name="action_settings" msgid="5729342767795123227">"პარამეტრები"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"მიმდინარეობს ტერმინალის მომზადება"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"მიმდინარეობს ტერმინალის შეწყვეტა"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"ტერმინალი გაჭედილია"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"დისკის ზომის შეცვლა"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"ზომის შეცვლა / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"დისკის ზომის შეცვლა"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"ძირეული დანაყოფის ზომის შეცვლა"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"დისკის ზომა დაყენებულია"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> მიმაგრებულია"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"მაქსიმალური ზომა: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"გაუქმება"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"ასამოქმედებლად გადატვირთეთ"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"პორტის გადამისამართება"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"პორტის გადამისამართების კონფიგურაცია"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"ტერმინალი ცდილობს ახალი პორტის გახსნას"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"პორტმა მოითხოვა, რომ იყოს გახსნილი: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"გამოყენება"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"დისკის ზომის შესაცვლელად გადაიტვირთება ტერმინალი"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"დადასტურება"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"პორტის მართვა"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"მოსმენის პორტების დაშვება/აკრძალვა"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"მოსმენის პორტები"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"შენახული დაშვებული პორტები"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"<xliff:g id="PORT_NUMBER">%d</xliff:g>-ის წაშლა"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"ახალი პორტის დაშვება"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"შეიყვანეთ ახალი პორტის ნომერი"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"შენახვა"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"გაუქმება"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"ტერმინალი ითხოვს ახალი პორტის გახსნას"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"მოთხოვნილი პორტი: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"დათანხმება"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"უარყოფა"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"აღდგენა"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"დანაყოფის აღდგენის ვარიანტები"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"საწყის ვერსიაზე შეცვლა"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"ყველას ამოშლა"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"დანაყოფის აღდგენის ვარიანტები"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"საწყის ვერსიაზე გადაყენება"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"ყველა მონაცემის ამოშლა"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"ტერმინალის გადაყენება"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"მონაცემები წაიშლება"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"დადასტურება"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"მონაცემები ამოიშლება"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"გადაყენება"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"გაუქმება"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"მონაცემების სარეზერვო ასლის შექმნა <xliff:g id="PATH">/mnt/backup</xliff:g>-ზე"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"აღდგენა ვერ მოხერხდა, რადგან სარეზერვო კოპირება ვერ განხორციელდა"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"სარეზერვო ასლის შეცდომის გამო აღდგენა ვერ მოხერხდა"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"აღდგენა ვერ მოხერხდა"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"სარეზერვო ასლის ფაილის ამოშლა ვერ ხერხდება"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"სარეზერვო ასლის მონაცემების ამოშლა ვერ მოხერხდა"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"სარეზერვო ასლის მონაცემების ამოშლა"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g>-ის გასუფთავება"</string>
-    <string name="error_title" msgid="7196464038692913778">"გამოუსწორებელი შეცდომა"</string>
-    <string name="error_desc" msgid="1939028888570920661">"შეცდომა ვერ გამოსწორდა.\nშეგიძლიათ აპი გადატვირთოთ ან აღდგენის სხვა ვარიანტი ცადოთ."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g>-ის ამოშლა"</string>
+    <string name="error_title" msgid="405150657301906598">"გამოუსწორებელი შეცდომა"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"შეცდომის კოდი: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"პარამეტრები"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"ტერმინალი გაშვებულია"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"დააწკაპუნეთ ტერმინალის გასახსნელად"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"ტერმინალის გასახსნელად დააწკაპუნეთ"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"დახურვა"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"ტერმინალი იხურება"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"იძულებით დახურვა"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> ჩართულია"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-kk/strings.xml b/android/TerminalApp/res/values-kk/strings.xml
index 2e906c3..c541284 100644
--- a/android/TerminalApp/res/values-kk/strings.xml
+++ b/android/TerminalApp/res/values-kk/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Терминал"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Терминал дисплейі"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Курсор"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Бос жол"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Теру үшін екі рет түртіңіз."</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux терминалын орнату"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux терминалын іске қосу үшін желі арқылы шамамен <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> деректі жүктеп алу қажет.\nЖалғастырасыз ба?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Wi-Fi желісі пайда болғанда жүктеп алу"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux терминалын іске қосу үшін желі арқылы шамамен <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> деректі жүктеп алу қажет.\nЖалғастырғыңыз келе ме?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Тек Wi-Fi арқылы жүктеп алу"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Орнату"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Орнатылып жатыр"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Желі қатесі орын алды. Байланысты тексеріңіз де, қайталап көріңіз."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Желі қатесіне байланысты орнату мүмкін болмады. Байланысты тексеріп, әрекетті қайталап көріңіз."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux терминалы орнатылып жатыр"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux терминалы орнату аяқталғаннан кейін іске қосылады."</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Желі мәселесіне байланысты орнату мүмкін болмады."</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Орнату мүмкін болмады. Қайталап көріңіз."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux терминалы орнату процесі аяқталған соң іске қосылады."</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Желі мәселесіне байланысты орнату мүмкін болмады."</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Орнатылмады, себебі Wi-Fi желісі жоқ."</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Орнату мүмкін болмады. Қайталап көріңіз."</string>
     <string name="action_settings" msgid="5729342767795123227">"Параметрлер"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Терминал дайындалып жатыр."</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Терминал тоқтатылып жатыр."</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Терминал бұзылды."</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Диск көлемін өзгерту"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Көлемін өзгерту / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Диск өлшемін өзгерту"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Root бөлігінің өлшемін өзгерту"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Диск көлемі орнатылды."</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> тағайындалды"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Ең көбі <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Бас тарту"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Қолдану үшін қайта ашу"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Портты бағыттау"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Портты бағыттауды конфигурациялау"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Терминал жаңа порт ашайын деп жатыр"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Портты ашуға сұрау жіберілді: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Қолдану"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Диск өлшемін өзгерту үшін терминал өшіріліп қосылады."</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Растау"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Портты басқару"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Тыңдау порттарына рұқсат беру/тыйым салу"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Тыңдау порттары"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Рұқсат берілген порттар сақталды"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Жаңа портқа рұқсат беру"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Жаңа порт нөмірін енгізіңіз."</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Сақтау"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Бас тарту"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Терминал жаңа порт ашуды сұрайды"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Қажетті порт: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Қабылдау"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Қабылдамау"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Қалпына келтіру"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Бөлікті қалпына келтіру опциялары"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Бастапқы нұсқаға өзгерту"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Барлығын өшіру"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Бөлікті қалпына келтіру опциялары"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Бастапқы нұсқаға қайта орнату"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Барлық деректі жою"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Терминалды бастапқы күйге қайтару"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Деректер жойылады."</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Растау"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Деректер өшіріледі."</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Қайта орнату"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Бас тарту"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Деректердің сақтық көшірмесін <xliff:g id="PATH">/mnt/backup</xliff:g> жолына сақтау"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Қалпына келтірілмеді, себебі сақтық көшірме жасалмады."</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Сақтық көшірме жасау қатесіне байланысты қалпына келтірілмеді."</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Қалпына келтірілмеді."</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Сақтық көшірме файлы өшірілмеді."</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Сақтық көшірмесі жасалған деректер өшірілмеді."</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Сақтық көшірме дерегін өшіру"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> дерегін тазалау"</string>
-    <string name="error_title" msgid="7196464038692913778">"Қалпына келтіруге жол бермейтін қате"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Қатеден кейін қалпына келтіру мүмкін болмады.\nҚолданбаны жауып, қайтадан ашып көріңіз немесе қалпына келтіру опцияларының бірін пайдаланып көріңіз."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> жолын өшіру"</string>
+    <string name="error_title" msgid="405150657301906598">"Қалпына келтіруге жол бермейтін қате"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Қате коды: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Параметрлер"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Терминал іске қосылып тұр"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Терминалды ашу үшін басыңыз."</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Терминалды ашу үшін түртіңіз."</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Жабу"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Терминал жабылып жатыр"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Қолмен жабу"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> қосылды."</string>
 </resources>
diff --git a/android/TerminalApp/res/values-km/strings.xml b/android/TerminalApp/res/values-km/strings.xml
index 2513b4e..b2d06c0 100644
--- a/android/TerminalApp/res/values-km/strings.xml
+++ b/android/TerminalApp/res/values-km/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"ទែមីណាល់"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"ផ្ទាំងអេក្រង់ទែមីណាល់"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"ទស្សន៍ទ្រនិច"</string>
+    <string name="empty_line" msgid="5012067143408427178">"ជួរទទេ"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"ចុចពីរដងដើម្បីវាយបញ្ចូលខ្លឹមសារ"</string>
     <string name="installer_title_text" msgid="500663060973466805">"ដំឡើងទែមីណាល់ Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"ដើម្បីបើកដំណើរការទែមីណាល់ Linux អ្នកត្រូវទាញយកទិន្នន័យប្រហែលជា <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> នៅលើបណ្តាញ។\nតើអ្នកចង់បន្តដែរឬទេ?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"ទាញ​យកនៅពេលមាន Wi-Fi"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"ដើម្បីបើកដំណើរការទែមីណាល់ Linux, អ្នកត្រូវទាញយកទិន្នន័យប្រហែលជា <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> នៅលើបណ្ដាញ។\nតើអ្នកចង់បន្តដែរឬទេ?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"ទាញ​យក​ដោយ​ប្រើ​តែ​ Wi-Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ដំឡើង"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"កំពុងដំឡើង"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"មានបញ្ហាបណ្ដាញ។ ពិនិត្យមើលការតភ្ជាប់ រួចព្យាយាមម្ដងទៀត។"</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"មិនអាច​ដំឡើងបានទេ ដោយសារបញ្ហាបណ្ដាញ។ សូមពិនិត្យមើលការតភ្ជាប់របស់អ្នក រួចព្យាយាមម្ដងទៀត។"</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"កំពុងដំឡើងទែមីណាល់ Linux"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"ទែមីណាល់ Linux នឹងត្រូវបានចាប់ផ្ដើមបន្ទាប់ពីបញ្ចប់"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"មិនអាច​ដំឡើងបានទេ ដោយសារបញ្ហាបណ្ដាញ"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"មិនអាច​ដំឡើងបានទេ។ សូមព្យាយាមម្ដងទៀត។"</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"ទែមីណាល់ Linux នឹងចាប់ផ្ដើមបន្ទាប់ពីការដំឡើងបានចប់"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"មិនអាច​ដំឡើងបានទេ ដោយសារបញ្ហាបណ្ដាញ"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"មិនអាចដំឡើងបានទេ ដោយសារមិនមាន Wi-Fi"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"មិនអាច​ដំឡើងបានទេ។ សូមព្យាយាមម្ដងទៀត"</string>
     <string name="action_settings" msgid="5729342767795123227">"ការកំណត់"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"កំពុងរៀបចំទែមីណាល់"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"កំពុងបញ្ឈប់ទែមីណាល់"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"ទែមីណាល់បានគាំង"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"ប្ដូរ​ទំហំថាស"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"ប្ដូរ​ទំហំ / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"ប្ដូរ​ទំហំថាស"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"ប្ដូរ​ទំហំផ្នែកឫស"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"បានកំណត់ទំហំ​ថាស"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"បានកំណត់ <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"អតិបរមា <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"បោះបង់"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"ចាប់ផ្ដើមឡើងវិញដើម្បីដាក់ប្រើ"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"ការបញ្ជូនច្រកបន្ត"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"កំណត់រចនាសម្ព័ន្ធ​ការបញ្ជូនច្រកបន្ត"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"ទែមីណាល់កំពុងព្យាយាមបើកច្រកថ្មី"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"បានស្នើសុំឱ្យបើកច្រក៖ <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"ដាក់ប្រើ"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ទែមីណាល់នឹងត្រូវបានចាប់ផ្ដើមឡើងវិញ ដើម្បីប្ដូរ​ទំហំថាស"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"បញ្ជាក់"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"ការគ្រប់គ្រងច្រក"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"អនុញ្ញាត/បដិសេធច្រកស្ដាប់"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"ច្រកស្ដាប់"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"បានរក្សាទុកច្រកដែលត្រូវបានអនុញ្ញាត"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"អនុញ្ញាតច្រកថ្មី"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"បញ្ចូលលេខច្រកថ្មី"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"រក្សាទុក"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"បោះបង់"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"ទែមីណាល់កំពុងស្នើសុំបើកច្រកថ្មី"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"បានស្នើសុំច្រក៖ <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"ទទួលយក"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"បដិសេធ"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"ស្ដារ"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"ជម្រើសស្ដារផ្នែក"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"ប្ដូរ​ទៅ​កំណែ​ដំបូង"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"ដកចេញទាំងអស់"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"ជម្រើសស្ដារផ្នែក"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"កំណត់ឡើងវិញទៅកំណែដំបូង"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"ដកទិន្នន័យទាំងអស់ចេញ"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"កំណត់ទែមីណាល់ឡើងវិញ"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ទិន្នន័យនឹងត្រូវបានលុប"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"បញ្ជាក់"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ទិន្នន័យនឹងត្រូវបានដកចេញ"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"កំណត់​ឡើងវិញ"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"បោះបង់"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"បម្រុងទុកទិន្នន័យទៅ <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"ការស្ដារឡើងវិញមិនបានសម្រេច ដោយសារការបម្រុងទុកមិនបានសម្រេច"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"មិនអាចស្ដារឡើងវិញបានទេ ដោយសារបញ្ហាក្នុងការបម្រុងទុក"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"ការស្ដារឡើងវិញមិនបានសម្រេច"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"មិនអាចដកឯកសារបម្រុង​ទុកចេញបានទេ"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"មិនអាចដកទិន្នន័យបម្រុងទុកចេញបានទេ"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"ដកទិន្នន័យបម្រុងទុកចេញ"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"សម្អាត <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"បញ្ហា​ដែលបណ្ដាលឱ្យមិនអាច​ស្ដារបាន"</string>
-    <string name="error_desc" msgid="1939028888570920661">"មិនអាចស្ដារឡើងវិញពីបញ្ហាបានទេ។\nអ្នកអាចសាកល្បងចាប់ផ្ដើមកម្មវិធីឡើងវិញ ឬសាកល្បងប្រើជម្រើសមួយក្នុងចំណោមជម្រើសស្ដារ។"</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"ដក <xliff:g id="PATH">/mnt/backup</xliff:g> ចេញ"</string>
+    <string name="error_title" msgid="405150657301906598">"បញ្ហា​ដែលបណ្ដាលឱ្យមិនអាច​ស្ដារបាន"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"លេខ​កូដ​បញ្ហា៖ <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"ការកំណត់"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"ទែមីណាល់កំពុងដំណើរការ"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"ចុចដើម្បីបើកទែមីណាល់"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"ចុចដើម្បីបើកទែមីណាល់"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"បិទ"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"ទែមីណាល់កំពុងបិទ"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"បង្ខំ​ឱ្យ​បិទ"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> ត្រូវបានបើក"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-kn/strings.xml b/android/TerminalApp/res/values-kn/strings.xml
index 3fc63d2..d7b3d87 100644
--- a/android/TerminalApp/res/values-kn/strings.xml
+++ b/android/TerminalApp/res/values-kn/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"ಟರ್ಮಿನಲ್‌"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"ಟರ್ಮಿನಲ್‌ ಪ್ರದರ್ಶನ"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"ಕರ್ಸರ್‌"</string>
+    <string name="empty_line" msgid="5012067143408427178">"ಖಾಲಿ ಸಾಲು"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"ಇನ್‌ಪುಟ್ ಟೈಪ್ ಮಾಡಲು ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux ಟರ್ಮಿನಲ್ ಅನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux ಟರ್ಮಿನಲ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲು, ನೀವು ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ಸುಮಾರು <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ಡೇಟಾವನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ.\nನೀವು ಮುಂದುವರಿಸಲು ಬಯಸುತ್ತೀರಾ?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"ವೈ-ಫೈ ಲಭ್ಯವಿದ್ದಾಗ ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux ಟರ್ಮಿನಲ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲು, ನೀವು ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ಸುಮಾರು <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ಡೇಟಾವನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ.\nನೀವು ಮುಂದುವರಿಸಲು ಬಯಸುತ್ತೀರಾ?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"ವೈ-ಫೈ ಅನ್ನು ಮಾತ್ರ ಬಳಸಿ ಡೌನ್ ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"ಇನ್‌ಸ್ಟಾಲ್"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"ನೆಟ್‌ವರ್ಕ್ ದೋಷ. ಕನೆಕ್ಷನ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"ನೆಟ್‌ವರ್ಕ್ ದೋಷದಿಂದಾಗಿ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ. ನಿಮ್ಮ ಕನೆಕ್ಷನ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ ಹಾಗೂ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux ಟರ್ಮಿನಲ್ ಅನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲಾಗುತ್ತಿದೆ"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"ಮುಗಿದ ಮೇಲೆ Linux ಟರ್ಮಿನಲ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತದೆ"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"ನೆಟ್‌ವರ್ಕ್ ಸಮಸ್ಯೆಯಿಂದಾಗಿ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ. ಪುನಃ ಪ್ರಯತ್ನಿಸಿ."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"ಇನ್‌ಸ್ಟಾಲೇಶನ್ ಮುಗಿದ ನಂತರ Linux ಟರ್ಮಿನಲ್ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"ನೆಟ್‌ವರ್ಕ್ ಸಮಸ್ಯೆಯಿಂದಾಗಿ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"ವೈ-ಫೈ ಲಭ್ಯವಿಲ್ಲದ ಕಾರಣ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ. ಪುನಃ ಪ್ರಯತ್ನಿಸಿ"</string>
     <string name="action_settings" msgid="5729342767795123227">"ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"ಟರ್ಮಿನಲ್‌ ಅನ್ನು ಸಿದ್ಧಪಡಿಸಲಾಗುತ್ತಿದೆ"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"ಟರ್ಮಿನಲ್ ಅನ್ನು ನಿಲ್ಲಿಸಲಾಗುತ್ತಿದೆ"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"ಟರ್ಮಿನಲ್ ಕ್ರ್ಯಾಶ್ ಆಗಿದೆ"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"ಡಿಸ್ಕ್ ಅನ್ನು ಮರುಗಾತ್ರಗೊಳಿಸಿ"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"ಮರುಗಾತ್ರಗೊಳಿಸಿ / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"ಡಿಸ್ಕ್ ಅನ್ನು ಮರುಗಾತ್ರಗೊಳಿಸಿ"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"ರೂಟ್ ಪಾರ್ಟಿಶನ್ ಗಾತ್ರವನ್ನು ಮರುಗಾತ್ರಗೊಳಿಸಿ"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"ಡಿಸ್ಕ್ ಗಾತ್ರವನ್ನು ಸೆಟ್ ಮಾಡಲಾಗಿದೆ"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> ನಿಯೋಜಿಸಲಾಗಿದೆ"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"ಗರಿಷ್ಠ <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"ರದ್ದುಮಾಡಿ"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"ಅನ್ವಯಿಸಲು ಮರುಪ್ರಾರಂಭಿಸಿ"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"ಪೋರ್ಟ್ ಫಾರ್ವರ್ಡ್ ಮಾಡುವಿಕೆ"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"ಪೋರ್ಟ್ ಫಾರ್ವರ್ಡ್ ಮಾಡುವಿಕೆಯನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"ಟರ್ಮಿನಲ್‌ ಹೊಸ ಪೋರ್ಟ್‌ ಅನ್ನು ತೆರೆಯಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದೆ"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"ಪೋರ್ಟ್‌ ಅನ್ನು ತೆರೆಯಲು ವಿನಂತಿಸಲಾಗಿದೆ: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"ಅನ್ವಯಿಸಿ"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ಡಿಸ್ಕ್ ಅನ್ನು ಮರುಗಾತ್ರಗೊಳಿಸಲು ಟರ್ಮಿನಲ್ ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸಲಾಗುತ್ತದೆ"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"ದೃಢೀಕರಿಸಿ"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"ಪೋರ್ಟ್ ನಿಯಂತ್ರಣ"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"ಆಲಿಸುವ ಪೋರ್ಟ್‌ಗಳನ್ನು ಅನುಮತಿಸಿ/ನಿರಾಕರಿಸಿ"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"ಆಲಿಸುವ ಪೋರ್ಟ್‌ಗಳು"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"ಅನುಮತಿಸಲಾದ ಪೋರ್ಟ್‌ಗಳನ್ನು ಸೇವ್ ಮಾಡಲಾಗಿದೆ"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"<xliff:g id="PORT_NUMBER">%d</xliff:g> ಅನ್ನು ಅಳಿಸಿ"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"ಹೊಸ ಪೋರ್ಟ್ ಅನ್ನು ಅನುಮತಿಸಿ"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"ಹೊಸ ಪೋರ್ಟ್ ಸಂಖ್ಯೆವೊಂದನ್ನು ನಮೂದಿಸಿ"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"ಸೇವ್ ಮಾಡಿ"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"ರದ್ದುಮಾಡಿ"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"ಟರ್ಮಿನಲ್‌ ಹೊಸ ಪೋರ್ಟ್‌ ಅನ್ನು ತೆರೆಯಲು ವಿನಂತಿಸುತ್ತಿದೆ"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"ಪೋರ್ಟ್ ಅನ್ನು ವಿನಂತಿಸಲಾಗಿದೆ: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"ಸಮ್ಮತಿಸಿ"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"ನಿರಾಕರಿಸಿ"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"ರಿಕವರಿ"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"ಪಾರ್ಟಿಶನ್ ರಿಕವರಿ ಆಯ್ಕೆಗಳು"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"ಆರಂಭಿಕ ಆವೃತ್ತಿಗೆ ಬದಲಾಯಿಸಿ"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"ಎಲ್ಲವನ್ನೂ ತೆಗೆದುಹಾಕಿ"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"ಪಾರ್ಟಿಶನ್ ಮರುಪ್ರಾಪ್ತಿ ಆಯ್ಕೆಗಳು"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"ಆರಂಭಿಕ ಆವೃತ್ತಿಗೆ ರೀಸೆಟ್ ಮಾಡಿ"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ತೆಗೆದುಹಾಕಿ"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"ಟರ್ಮಿನಲ್‌ ಅನ್ನು ರೀಸೆಟ್‌ ಮಾಡಿ"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ಡೇಟಾವನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"ದೃಢೀಕರಿಸಿ"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ಡೇಟಾವನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"ರೀಸೆಟ್ ಮಾಡಿ"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"ರದ್ದುಮಾಡಿ"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"ಡೇಟಾವನ್ನು <xliff:g id="PATH">/mnt/backup</xliff:g> ಗೆ ಬ್ಯಾಕಪ್‌ ಮಾಡಿ"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"ಬ್ಯಾಕಪ್‌ ವಿಫಲವಾದ ಕಾರಣ ರಿಕವರಿ ವಿಫಲವಾಗಿದೆ"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"ಬ್ಯಾಕಪ್ ದೋಷದಿಂದಾಗಿ ಚೇತರಿಸಿಕೊಳ್ಳಲು ವಿಫಲವಾಗಿದೆ"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"ರಿಕವರಿ ವಿಫಲವಾಗಿದೆ"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"ಬ್ಯಾಕಪ್‌ ಫೈಲ್‌ ಅನ್ನು ತೆಗೆದುಹಾಕಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"ಬ್ಯಾಕಪ್ ಡೇಟಾವನ್ನು ತೆಗೆದುಹಾಕಲು ವಿಫಲವಾಗಿದೆ"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"ಬ್ಯಾಕಪ್‌ ಡೇಟಾವನ್ನು ತೆಗೆದುಹಾಕಿ"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> ಅನ್ನು ಕ್ಲೀನ್‌ ಅಪ್‌ ಮಾಡಿ"</string>
-    <string name="error_title" msgid="7196464038692913778">"ಮರುಪಡೆಯಲಾಗದ ದೋಷ ಎದುರಾಗಿದೆ"</string>
-    <string name="error_desc" msgid="1939028888570920661">"ದೋಷದಿಂದ ಚೇತರಿಸಿಕೊಳ್ಳಲು ವಿಫಲವಾಗಿದೆ.\nನೀವು ಆ್ಯಪ್‌ ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸಲು ಪ್ರಯತ್ನಿಸಬಹುದು ಅಥವಾ ಮರುಪ್ರಾಪ್ತಿ ಆಯ್ಕೆಗಳಲ್ಲಿ ಒಂದನ್ನು ಪ್ರಯತ್ನಿಸಬಹುದು."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> ತೆಗೆದುಹಾಕಿ"</string>
+    <string name="error_title" msgid="405150657301906598">"ಮರುಪಡೆಯಲಾಗದ ದೋಷ"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"ದೋಷ ಕೋಡ್‌: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"ಟರ್ಮಿನಲ್‌ ರನ್‌ ಆಗುತ್ತಿದೆ"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"ಟರ್ಮಿನಲ್‌ ಅನ್ನು ತೆರೆಯಲು ಕ್ಲಿಕ್‌ ಮಾಡಿ"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"ಟರ್ಮಿನಲ್‌ ಅನ್ನು ತೆರೆಯಲು ಕ್ಲಿಕ್ ಮಾಡಿ"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"ಮುಚ್ಚಿರಿ"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"ಟರ್ಮಿನಲ್ ಮುಚ್ಚಲಾಗುತ್ತಿದೆ"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"ಬಲವಂತವಾಗಿ ಮುಚ್ಚಿ"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-ko/strings.xml b/android/TerminalApp/res/values-ko/strings.xml
index 077fbcd..e904fdd 100644
--- a/android/TerminalApp/res/values-ko/strings.xml
+++ b/android/TerminalApp/res/values-ko/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"터미널"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"터미널 디스플레이"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"커서"</string>
+    <string name="empty_line" msgid="5012067143408427178">"빈 줄"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"두 번 탭하여 입력"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux 터미널 설치"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux 터미널을 실행하려면 네트워크를 통해 약 <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g>의 데이터를 다운로드해야 합니다.\n계속하시겠습니까?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Wi-Fi 연결 시 다운로드"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux 터미널을 실행하려면 네트워크를 통해 약 <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g>의 데이터를 다운로드해야 합니다.\n계속하시겠습니까?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Wi-Fi를 통해서만 다운로드"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"설치"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"설치 중"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"네트워크 오류입니다. 연결을 확인한 후 다시 시도해 주세요."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"네트워크 오류로 인해 설치할 수 없습니다. 연결 상태를 확인한 후 다시 시도하세요."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux 터미널 설치 중"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"완료 후 Linux 터미널이 시작됩니다"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"네트워크 문제로 인해 설치할 수 없습니다"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"설치할 수 없습니다. 다시 시도하세요."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"설치가 완료되면 Linux 터미널이 시작됩니다."</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"네트워크 문제로 인해 설치할 수 없습니다."</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Wi-Fi를 사용할 수 없어 설치하지 못했습니다."</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"설치할 수 없습니다. 다시 시도해 보세요."</string>
     <string name="action_settings" msgid="5729342767795123227">"설정"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"터미널 준비 중"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"터미널 중지 중"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"터미널 다운됨"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"디스크 크기 조정"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"크기 조정/Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"디스크 크기 조절"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"루트 파티션 크기 조절"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"디스크 크기 설정됨"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> 할당됨"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"최대 <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"취소"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"다시 시작하여 적용"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"포트 전달"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"포트 전달 구성"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"터미널에서 새 포트를 열려고 합니다"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"포트 개방 요청: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"적용"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"디스크 크기를 조절하기 위해 터미널이 다시 시작됩니다."</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"확인"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"포트 제어"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"리스닝 포트 허용/거부"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"리스닝 포트"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"저장된 허용 포트"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"새 포트 허용"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"새 포트 번호 입력"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"저장"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"취소"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"터미널에서 새 포트를 열려고 합니다"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"요청된 포트: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"수락"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"거부"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"복구"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"파티션 복구 옵션"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"최초 버전으로 변경"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"전체 삭제"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"파티션 복구 옵션"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"초기 버전으로 재설정"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"데이터 모두 삭제"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"터미널 재설정"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"데이터가 삭제됩니다."</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"확인"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"데이터가 삭제됩니다."</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"재설정"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"취소"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g>에 데이터 백업"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"백업에 실패하여 복구할 수 없음"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"백업 오류로 인해 복구할 수 없습니다."</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"복구 실패"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"백업 파일을 삭제할 수 없음"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"백업 데이터를 삭제할 수 없습니다."</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"백업 데이터 삭제"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> 지우기"</string>
-    <string name="error_title" msgid="7196464038692913778">"복구 불가 오류"</string>
-    <string name="error_desc" msgid="1939028888570920661">"오류에서 복구할 수 없습니다.\n앱을 다시 시작하거나 복구 옵션 중 하나를 사용해 보세요."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> 삭제"</string>
+    <string name="error_title" msgid="405150657301906598">"복구 불가 오류"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"오류 코드: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"설정"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"터미널이 실행 중입니다"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"터미널을 열려면 클릭하세요."</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"터미널을 열려면 클릭하세요."</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"닫기"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"터미널 앱 종료 중"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"강제 종료"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g>이(가) 사용 설정되었습니다."</string>
 </resources>
diff --git a/android/TerminalApp/res/values-ky/strings.xml b/android/TerminalApp/res/values-ky/strings.xml
index 09fc0e1..7c7a9e0 100644
--- a/android/TerminalApp/res/values-ky/strings.xml
+++ b/android/TerminalApp/res/values-ky/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Терминал"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Терминалдын дисплейи"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Курсор"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Бош сап"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Терип киргизүү үчүн эки жолу таптаңыз"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux терминалын орнотуу"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux терминалын иштетүү үчүн болжол менен <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> жүктөп алышыңыз керек.\nУлантасызбы?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Wi-Fi жеткиликтүү болгондо жүктөп алуу"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux терминалын иштетүү үчүн болжол менен <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> маалыматты жүктөп алышыңыз керек.\nУлантасызбы?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Wi-Fi аркылуу гана жүктөп алуу"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Орнотуу"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Орнотулууда"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Тармакта ката кетти. Байланышты текшерип, кайра аракет кылыңыз."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Тармак катасынан улам орнотулбай калды. Туташууңузду текшерип, кайталап көрүңүз."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux терминалы орнотулууда"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Бүткөндөн кийин Linux терминалы иштеп баштайт"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Тармактагы маселеден улам орнотулбай калды"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Орнотулган жок. Кайра аракет кылыңыз."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux терминалы орнотуу процесси аяктагандан кийин иштеп баштайт"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Тармактагы маселеден улам орнотулбай калды"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Wi-Fi жеткиликсиз болгондуктан, орнотулбай калды"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Орнотулган жок. Кайталап көрүңүз"</string>
     <string name="action_settings" msgid="5729342767795123227">"Параметрлер"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Терминал даярдалууда"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Терминал токтотулууда"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Терминал бузулду"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Дисктин өлчөмүн өзгөртүү"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Өлчөмүн өзгөртүү / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Дисктин өлчөмүн өзгөртүү"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Катуу дисктин негизги бөлүгүнүн өлчөмүн өзгөртүү"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Дисктин өлчөмү коюлду"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> дайындалды"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Эң көп <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Жокко чыгаруу"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Колдонуу үчүн өчүрүп күйгүзүү"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Оюкчаны багыттоо"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Оюкчаны багыттоону конфигурациялоо"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Терминал жаңы портту ачканы жатат"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Төмөнкү портту ачуу сурамы жөнөтүлдү: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Колдонуу"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Дисктин өлчөмүн өзгөртүү үчүн терминал өчүрүлүп күйгүзүлөт"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Ырастоо"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Портту көзөмөлдөө"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Угуу портторуна уруксат берүү/тыюу салуу"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Угуу порттору"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Уруксат берилген порттор сакталды"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Жаңы портко уруксат берүү"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Жаңы порттун номерин киргизиңиз"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Сактоо"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Жокко чыгаруу"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Терминал жаңы оюкчаны ачууну суранып жатат"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Оюкча суралды: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Кабыл алуу"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Четке кагуу"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Калыбына келтирүү"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Катуу диск бөлүгүн калыбына келтирүү параметрлери"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Баштапкы версияга өзгөртүү"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Баарын өчүрүү"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Катуу диск бөлүгүн калыбына келтирүү жолдору"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Баштапкы версияга кайтаруу"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Бардык маалыматты өчүрүү"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Терминалды баштапкы абалга келтирүү"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Маалымат өчүрүлөт"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Ырастоо"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Маалымат өчүрүлөт"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Кайра коюу"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Жокко чыгаруу"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Маалыматтын камдык көчүрмөсүн төмөнкүгө сактоо: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Камдык көчүрмө сакталбагандыктан калыбына келтирилген жок"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Камдык көчүрмөнү сактоо катасынан улам калыбына келтирилген жок"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Калыбына келтирилген жок"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Камдык көчүрмө файлы өчпөй жатат"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Маалыматтын камдык көчүрмөсү өчүрүлгөн жок"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Маалыматтын камдык көчүрмөсүн өчүрүү"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Тазалоо: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Оңдолбос ката"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Катадан кийин калыбына келтирилген жок.\nКолдонмону кайрадан ачып же аккаунтту калыбына келтирүү жолдорунун бирин колдонуп көрүңүз."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Өчүрүү: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Оңдолбос ката"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Ката коду: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Параметрлер"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Терминал иштеп жатат"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Терминалды ачуу үчүн чыкылдатыңыз"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Терминалды ачуу үчүн басыңыз"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Жабуу"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Терминал жабылып жатат"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Мажбурлап жабуу"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> иштетилди"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-lo/strings.xml b/android/TerminalApp/res/values-lo/strings.xml
index 0b15498..c5a274a 100644
--- a/android/TerminalApp/res/values-lo/strings.xml
+++ b/android/TerminalApp/res/values-lo/strings.xml
@@ -20,55 +20,75 @@
     <string name="terminal_display" msgid="4810127497644015237">"ຈໍສະແດງຜົນ Terminal"</string>
     <string name="terminal_input" msgid="4602512831433433551">"ເຄີເຊີ"</string>
     <string name="empty_line" msgid="5012067143408427178">"ແຖວຫວ່າງເປົ່າ"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"ແຕະສອງເທື່ອເພື່ອພິມການປ້ອນຂໍ້ມູນ"</string>
     <string name="installer_title_text" msgid="500663060973466805">"ຕິດຕັ້ງເທີມິນອນ Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"ເພື່ອເປີດໃຊ້ເທີມິນອນ Linux, ທ່ານຕ້ອງດາວໂຫຼດຂໍ້ມູນປະມານ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ຜ່ານເຄືອຂ່າຍ.\nທ່ານຕ້ອງການດຳເນີນການຕໍ່ບໍ?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"ດາວໂຫຼດເມື່ອມີການເຊື່ອມຕໍ່ Wi-Fi"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"ເພື່ອເປີດໃຊ້ເທີມິນອນ Linux, ທ່ານຈະຕ້ອງດາວໂຫຼດຂໍ້ມູນປະມານ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ຜ່ານເຄືອຂ່າຍ.\nທ່ານຕ້ອງການດຳເນີນການຕໍ່ບໍ?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"ດາວໂຫຼດໂດຍໃຊ້ Wi-Fi ເທົ່ານັ້ນ"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ຕິດຕັ້ງ"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"ກຳລັງຕິດຕັ້ງ"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"ເຄືອຂ່າຍຜິດພາດ. ກວດສອບການເຊື່ອມຕໍ່ແລ້ວລອງໃໝ່."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"ຕິດຕັ້ງບໍ່ສຳເລັດເນື່ອງຈາກເຄືອຂ່າຍຜິດພາດ. ກະລຸນາກວດເບິ່ງການເຊື່ອມຕໍ່ຂອງທ່ານແລ້ວລອງໃໝ່."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"ກຳລັງຕິດຕັ້ງເທີມິນອນ Linux"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"ເທີມິນອນ Linux ຈະເລີ່ມຕົ້ນຫຼັງຈາກສຳເລັດ"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"ຕິດຕັ້ງບໍ່ສຳເລັດເນື່ອງຈາກບັນຫາເຄືອຂ່າຍ"</string>
-    <string name="installer_error_no_wifi" msgid="8631584648989718121">"ຕິດຕັ້ງບໍ່ສຳເລັດຍ້ອນວ່າ Wi-Fi ບໍ່ມີໃຫ້"</string>
-    <string name="installer_error_unknown" msgid="1991780204241177455">"ຕິດຕັ້ງບໍ່ສໍາເລັດ. ກະລຸນາລອງໃໝ່."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"ເທີມິນອນ Linux ຈະເລີ່ມຕົ້ນຫຼັງຈາກຕິດຕັ້ງສຳເລັດແລ້ວ"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"ຕິດຕັ້ງບໍ່ສຳເລັດເນື່ອງຈາກມີບັນຫາເຄືອຂ່າຍ"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"ຕິດຕັ້ງບໍ່ສຳເລັດເນື່ອງຈາກບໍ່ມີ Wi-Fi"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"ຕິດຕັ້ງບໍ່ສໍາເລັດ. ກະລຸນາລອງໃໝ່"</string>
     <string name="action_settings" msgid="5729342767795123227">"ການຕັ້ງຄ່າ"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"ກຳລັງກະກຽມເທີມິນອນ"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"ກຳລັງຢຸດເທີມິນອນ"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"ເທີມິນອນຫຼົ້ມ"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"ປັບຂະໜາດດິສ"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"ປັບຂະໜາດ / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"ການປັບຂະໜາດດິສກ໌"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"ປັບຂະໜາດ root ພາທິຊັນ"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"ຕັ້ງຂະໜາດດິສ"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"ມອບໝາຍແລ້ວ <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"ສູງສຸດ <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"ຍົກເລີກ"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"ຣີສະຕາດເພື່ອນຳໃຊ້"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"ການ​ສົ່ງ​ຕໍ່​ຜອດ"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"ຕັ້ງຄ່າການ​ສົ່ງ​ຕໍ່​ຜອດ"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"ເທີມິນອນກຳລັງພະຍາຍາມເປີດ​ຜອດໃໝ່"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"ຮ້ອງຂໍໃຫ້ເປີດ​ຜອດ: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"ນຳໃຊ້"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ລະບົບຈະຣີສະຕາດເທີມິນອນເພື່ອປັບຂະໜາດດິສກ໌"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"ຢືນຢັນ"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"ການຄວບຄຸມຜອດ"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"ອະນຸຍາດ/ປະຕິເສດຜອດການຟັງ"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"ຜອດການຟັງ"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"ຜອດທີ່ອະນຸຍາດເຊິ່ງບັນທຶກໄວ້"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"ລຶບ <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"ອະນຸຍາດຜອດໃໝ່"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"ໃສ່ໝາຍເລກຜອດໃໝ່"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"ບັນທຶກ"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"ຍົກເລີກ"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"ເທີມິນອນກຳລັງສົ່ງຄຳຮ້ອງຂໍໃຫ້ເປີດຜອດໃໝ່"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"ຜອດທີ່ຮ້ອງຂໍ: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"ຍອມຮັບ"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"ປະຕິເສດ"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"ການກູ້ຄືນ"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"ຕົວເລືອກການກູ້ຄືນພາທິຊັນ"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"ປ່ຽນເປັນເວີຊັນເລີ່ມຕົ້ນ"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"ລຶບທັງໝົດອອກ"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"ຕົວເລືອກການກູ້ຄືນພາທິຊັນ"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"ຣີເຊັດເປັນເວີຊັນເລີ່ມຕົ້ນ"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"ລຶບຂໍ້ມູນທັງໝົດອອກ"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"ຣີເຊັດເທີມິນອນ"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ຂໍ້ມູນຈະຖືກລຶບ"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"ຢືນຢັນ"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ລະບົບຈະລຶບຂໍ້ມູນອອກ"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"ຣີເຊັດ"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"ຍົກເລີກ"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"ສຳຮອງຂໍ້ມູນໃສ່ <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"ການກູ້ຄືນບໍ່ສຳເລັດຍ້ອນການສຳຮອງຂໍ້ມູນບໍ່ສຳເລັດ"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"ກູ້ຄືນບໍ່ສຳເລັດເນື່ອງຈາກເກີດຂໍ້ຜິດພາດໃນການສຳຮອງຂໍ້ມູນ"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"ການກູ້ຄືນບໍ່ສຳເລັດ"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"ບໍ່ສາມາດລຶບໄຟລ໌ສຳຮອງຂໍ້ມູນອອກໄດ້"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"ລຶບຂໍ້ມູນສຳຮອງອອກບໍ່ສຳເລັດ"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"ລຶບການສຳຮອງຂໍ້ມູນອອກ"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"ອະນາໄມ <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"ຂໍ້ຜິດພາດທີ່ບໍ່ສາມາດກູ້ຄືນມາໄດ້"</string>
-    <string name="error_desc" msgid="1939028888570920661">"ການກູ້ຄືນຈາກຂໍ້ຜິດພາດບໍ່ສໍາເລັດ.\nທ່ານສາມາດລອງຣີສະຕາດແອັບ ຫຼື ລອງໜຶ່ງໃນຕົວເລືອກການກູ້ຄືນໄດ້."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"ລຶບ <xliff:g id="PATH">/mnt/backup</xliff:g> ອອກ"</string>
+    <string name="error_title" msgid="405150657301906598">"ຂໍ້ຜິດພາດທີ່ບໍ່ສາມາດກູ້ຄືນມາໄດ້"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"ລະຫັດຂໍ້ຜິດພາດ: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"ການຕັ້ງຄ່າ"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"ເທີມິນອນກຳລັງເຮັດວຽກຢູ່"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"ຄລິກເພື່ອເປີດເທີມິນອນ"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"ຄລິກເພື່ອເປີດເທີມິນອນ"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"ປິດ"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"ເທີມິນອນກຳລັງຈະປິດ"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"ບັງຄັບປິດ"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"ເປີດການນຳໃຊ້ <xliff:g id="ID_1">VirGL</xliff:g> ແລ້ວ"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-lt/strings.xml b/android/TerminalApp/res/values-lt/strings.xml
index 96c144b..4760ba6 100644
--- a/android/TerminalApp/res/values-lt/strings.xml
+++ b/android/TerminalApp/res/values-lt/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminalas"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Terminalo ekranas"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Žymeklis"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Tuščia eilutė"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Dukart palieskite, kad įvestumėte įvestį"</string>
     <string name="installer_title_text" msgid="500663060973466805">"„Linux“ terminalo diegimas"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Norėdami paleisti „Linux“ terminalą, per tinklą turite atsisiųsti apytiksliai <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> duomenų.\nAr norite tęsti?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Atsisiųsti, kai pasiekiamas „Wi-Fi“"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Norėdami paleisti „Linux“ terminalą, per tinklą turite atsisiųsti apytiksliai <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> duomenų.\nAr norite tęsti?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Atsisiuntimas naudojant tik „Wi-Fi“"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Įdiegti"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Diegiama"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Tinklo klaida. Patikrinkite ryšį ir bandykite dar kartą."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Nepavyko įdiegti dėl tinklo klaidos. Patikrinkite ryšį ir bandykite dar kartą."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Diegiamas „Linux“ terminalas"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"„Linux“ terminalas bus paleistas pabaigus"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Nepavyko įdiegti dėl tinklo problemos"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Nepavyko įdiegti Bandykite dar kartą."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"„Linux“ terminalas bus paleistas, kai diegimas bus baigtas"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Nepavyko įdiegti dėl tinklo problemos"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Nepavyko įdiegti, nes „Wi-Fi“ nepasiekiamas"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Nepavyko įdiegti. Bandykite dar kartą"</string>
     <string name="action_settings" msgid="5729342767795123227">"Nustatymai"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Ruošiamas terminalas"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Terminalas sustabdomas"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminalas užstrigo"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Disko dydžio keitimas"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Dydžio keitimas / „Rootfs“"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Disko dydžio keitimas"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Pakeisti šakninio skaidinio dydį"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Disko dydis nustatytas"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Priskirta <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maks. <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Atšaukti"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"P. iš n., kad prit."</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Prievado numerio persiuntimas"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Prievado numerio persiuntimo konfigūravimas"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminalas bando atidaryti naują prievadą"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Prievadas, dėl kurio atidarymo pateikta užklausa: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Taikyti"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminalas bus paleistas iš naujo, kad būtų galima pakeisti disko dydį"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Patvirtinti"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Prievado valdymas"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Leisti klausymo prievadus / neleisti jų"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Klausymo prievadai"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Išsaugoti leidžiami prievadai"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"Ištrinti <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Leisti naują prievadą"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Įveskite naują prievado numerį"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Išsaugoti"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Atšaukti"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminalas bando atidaryti naują prievadą"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Prievadas, kurio užklausa pateikta: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Sutikti"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Atmesti"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Atkūrimas"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Skaidinio atkūrimo parinktys"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Keitimas į pradinę versiją"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Pašalinti viską"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Skaidinio atkūrimo parinktys"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Iš naujo nustatyti pradinę versiją"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Pašalinti visus duomenis"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Terminalo nustatymas iš naujo"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Duomenys bus ištrinti"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Patvirtinti"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Duomenys bus pašalinti"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Nustatyti iš naujo"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Atšaukti"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Sukurti atsarginę duomenų kopiją čia: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Nepavyko atkurti, nes nepavyko sukurti atsarginės kopijos"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Nepavyko atkurti dėl atsarginės kopijos klaidos"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Nepavyko atkurti"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Nepavyko pašalinti atsarginės kopijos failo"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Nepavyko pašalinti atsarginės kopijos duomenų"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Pašalinti atsarginės kopijos duomenis"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Išvalyti <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Nepataisoma klaida"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Nepavyko atkurti po klaidos.\nGalite bandyti iš naujo paleisti programą arba išbandyti vieną iš atkūrimo parinkčių."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Pašalinti <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Nepataisoma klaida"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Klaidos kodas: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Nustatymai"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminalas veikia"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Spustelėkite, kad atidarytumėte terminalą"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Spustelėkite, kad atidarytumėte terminalą"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Uždaryti"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminalas uždaromas"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Priverstinai uždaryti"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"„<xliff:g id="ID_1">VirGL</xliff:g>“ įgalinta"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-lv/strings.xml b/android/TerminalApp/res/values-lv/strings.xml
index 253da6d..ce67c93 100644
--- a/android/TerminalApp/res/values-lv/strings.xml
+++ b/android/TerminalApp/res/values-lv/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminālis"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Termināļa displejs"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Kursors"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Tukša rinda"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Veiciet dubultskārienu, lai ievadītu tekstu"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux termināļa instalēšana"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Lai palaistu Linux termināli, jums jālejupielādē aptuveni <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> datu, izmantojot tīklu.\nVai vēlaties turpināt?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Lejupielādēt, kad ir pieejams Wi-Fi savienojums"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Lai palaistu Linux termināli, jums jālejupielādē aptuveni <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> datu, izmantojot tīklu.\nVai vēlaties turpināt?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Lejupielāde, izmantojot tikai Wi‑Fi tīklu"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instalēt"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Instalē"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Tīkla kļūda. Pārbaudiet savienojumu un mēģiniet vēlreiz."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Instalēšana neizdevās tīkla kļūdas dēļ. Pārbaudiet savienojumu un mēģiniet vēlreiz."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Notiek Linux termināļa instalēšana…"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux terminālis tiks palaists pēc pabeigšanas"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Tīkla problēmas dēļ neizdevās instalēt"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Neizdevās instalēt. Mēģiniet vēlreiz."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Kad instalēšana būs pabeigta, tiks palaists Linux terminālis"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Instalēšana neizdevās tīkla problēmas dēļ"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Instalēšana neizdevās, jo nav pieejams Wi‑Fi savienojums"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Neizdevās instalēt — mēģiniet vēlreiz"</string>
     <string name="action_settings" msgid="5729342767795123227">"Iestatījumi"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Notiek termināļa sagatavošana."</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Notiek termināļa apturēšana."</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminālis avarēja."</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Diska lieluma mainīšana"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Mainīt lielumu / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Diska lieluma mainīšana"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Saknes nodalījuma lieluma mainīšana"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Diska lielums ir iestatīts."</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Piešķirtais lielums: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maksimālais lielums: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Atcelt"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Restartēt un lietot"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Porta pārsūtīšana"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Konfigurēt porta pārsūtīšanu"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminālis mēģina atvērt jaunu portu"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Ports, kura atvēršana pieprasīta: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Lietot"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Lai mainītu diska lielumu, terminālis tiks restartēts"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Apstiprināt"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Portu kontrole"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Atļaut/aizliegt klausīšanās portus"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Klausīšanās porti"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Saglabātie atļautie porti"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Atļaut jaunu portu"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Ievadiet jaunu porta numuru"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Saglabāt"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Atcelt"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminālis pieprasa jauna porta atvēršanu"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Pieprasītais ports: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Piekrist"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Noraidīt"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Atkopšana"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Nodalījuma atkopšanas opcijas"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Mainīšana uz sākotnējo versiju"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Noņemt visu"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Nodalījuma atkopšanas opcijas"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Atiestatīšana uz sākotnējo versiju"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Visu datu noņemšana"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Termināļa atiestatīšana"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Dati tiks izdzēsti"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Apstiprināt"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Dati tiks noņemti"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Atiestatīt"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Atcelt"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Dublēt datus ceļā <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Atkopšana neizdevās, jo neizdevās dublēšana"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Atkopšana neizdevās, jo radās dublēšanas kļūda"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Atkopšana neizdevās"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Nevar noņemt dublējuma failu"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Neizdevās noņemt dublējuma datus"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Dublējuma datu noņemšana"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Vietas atbrīvošana ceļā <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Neatkopjama kļūda"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Neizdevās veikt atkopšanu pēc kļūdas.\nVarat restartēt lietotni vai izmantot kādu no atkopšanas opcijām."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Datu noņemšana no ceļa <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Neatkopjama kļūda"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Kļūdas kods: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Iestatījumi"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminālis darbojas"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Noklikšķiniet, lai atvērtu termināli"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Lai atvērtu termināli, noklikšķiniet"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Aizvērt"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminālis tiek aizvērts"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Veikt piespiedu aizvēršanu"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> ir iespējots"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-mk/strings.xml b/android/TerminalApp/res/values-mk/strings.xml
index 0fb2296..f79e4fb 100644
--- a/android/TerminalApp/res/values-mk/strings.xml
+++ b/android/TerminalApp/res/values-mk/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Терминал"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Екран на терминал"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Курсор"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Празен ред"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Допрете двапати за да внесете текст"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Инсталирајте го Linux-терминалот"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"За да го стартувате Linux-терминалот, треба да преземете податоци од приближно <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> преку мрежата.\nДали сакате да продолжите?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Преземете кога има Wi-Fi"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"За да го стартувате Linux-терминалот, треба да преземете податоци од приближно <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> преку мрежата.\nДали сакате да продолжите?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Преземете само преку Wi-Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Инсталирај"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Се инсталира"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Грешка на мрежата. Проверете ја врската и обидете се повторно."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Не можеше да се инсталира поради грешка на мрежата. Проверете ја интернет-врската и обидете се повторно."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux-терминалот се инсталира"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux-терминалот ќе се стартува по довршувањето"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Не можеше да се инсталира поради проблем со мрежата"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Не можеше да се инсталира. Обидете се повторно."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux-терминалот ќе се стартува откако ќе заврши инсталирањето"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Не можеше да се инсталира поради проблем со мрежата"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Не можеше да се инсталира бидејќи не е достапна Wi-Fi"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Не можеше да се инсталира. Обидете се повторно"</string>
     <string name="action_settings" msgid="5729342767795123227">"Поставки"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Терминалот се подготвува"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Терминалот се сопира"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Терминалот падна"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Променување на големината на дискот"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Променување големина/Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Променување на големината на дискот"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Променете ја големината на главната партиција"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Големината на дискот е поставена"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Доделено: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Макс.: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Откажи"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Рестарт. за примена"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Проследување порти"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Конфигурирајте го проследувањето порти"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Терминалот се обидува да отвори нова порта"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Порта што е побарано да се отвори: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Примени"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Терминалот ќе се рестартира за да се промени големината на дискот"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Потврди"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Контрола на портите"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Дозволете/одбијте слушање на портите"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Се слушаат порти"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Дозволените порти се зачувани"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Дозволете нова порта"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Внесете нов број на порта"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Зачувај"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Откажи"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Терминалот бара да отвори нова порта"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Побарана е порта: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Прифати"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Одбиј"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Враќање"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Опции за враќање партиции"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Промени на првата верзија"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Отстрани ги сите"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Опции за враќање партиции"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Ресетирајте на почетната верзија"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Отстранете ги сите податоци"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Ресетирајте го терминалот"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Податоците ќе се избришат"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Потврди"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Податоците ќе се отстранат"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Ресетирај"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Откажи"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Направете бекап на податоците на <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Враќањето не успеа поради неуспешен бекап"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Не можеше да се поправи поради грешка при правење бекап"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Враќањето не успеа"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Не може да се отстрани датотеката со бекап"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Не можеше да се отстранат податоците со бекапот"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Отстранете ги податоците од бекапот"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Ослободете простор на <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Непоправлива грешка"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Грешката не можеше да се поправи.\nМоже да се обидете да ја рестартирате апликацијата или да испробате некоја од опциите за враќање."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Отстранете „<xliff:g id="PATH">/mnt/backup</xliff:g>“"</string>
+    <string name="error_title" msgid="405150657301906598">"Непоправлива грешка"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Код за грешка: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Поставки"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Терминалот е активен"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Кликнете за да го отворите терминалот"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Кликнете за да го отворите терминалот"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Затвори"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Терминалот се затвора"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Затвори присилно"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"Овозможено: <xliff:g id="ID_1">VirGL</xliff:g>"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-ml/strings.xml b/android/TerminalApp/res/values-ml/strings.xml
index 0911d01..f308244 100644
--- a/android/TerminalApp/res/values-ml/strings.xml
+++ b/android/TerminalApp/res/values-ml/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"ടെർമിനൽ"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"ടെർമിനൽ ഡിസ്‌പ്ലേ"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"കഴ്‌സർ"</string>
+    <string name="empty_line" msgid="5012067143408427178">"ശൂന്യമായ ലൈൻ"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"ഇൻപുട്ട് ടൈപ്പ് ചെയ്യാൻ ഡബിൾ ടാപ്പ് ചെയ്യുക"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux ടെർമിനൽ ഇൻസ്റ്റാൾ ചെയ്യുക"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux ടെർമിനൽ ലോഞ്ച് ചെയ്യാൻ, നിങ്ങൾക്ക് നെറ്റ്‌വർക്കിലൂടെ ഏകദേശം <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ഡാറ്റ ഡൗൺലോഡ് ചെയ്യേണ്ടതുണ്ട്.\nനിങ്ങൾക്ക് തുടരണോ?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"വൈഫൈ ലഭ്യമാകുമ്പോൾ ഡൗൺലോഡ് ചെയ്യുക"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux ടെർമിനൽ ലോഞ്ച് ചെയ്യാൻ, നിങ്ങൾക്ക് നെറ്റ്‌വർക്കിലൂടെ ഏകദേശം <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ഡാറ്റ ഡൗൺലോഡ് ചെയ്യേണ്ടതുണ്ട്.\nനിങ്ങൾക്ക് തുടരണമെന്നുണ്ടോ?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"വൈഫൈ മാത്രം ഉപയോഗിച്ച് ഡൗൺലോഡ് ചെയ്യുക"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ഇൻസ്റ്റാൾ ചെയ്യൂ"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"ഇൻസ്റ്റാൾ ചെയ്യുന്നു"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"നെറ്റ്‌വർക്ക് പിശക്. കണക്ഷൻ പരിശോധിച്ച് വീണ്ടും ശ്രമിക്കുക."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"നെറ്റ്‌വർക്ക് പിശക് കാരണം ഇൻസ്റ്റാൾ ചെയ്യാനായില്ല. നിങ്ങളുടെ കണക്ഷൻ പരിശോധിച്ച് വീണ്ടും ശ്രമിക്കുക."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux ടെർമിനൽ ഇൻസ്റ്റാൾ ചെയ്യുന്നു"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"പൂർത്തിയായിക്കഴിഞ്ഞാൽ, Linux ടെർമിനൽ ഇൻസ്റ്റാൾ ചെയ്യാൻ ആരംഭിക്കും"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"നെറ്റ്‌വർക്കുമായി ബന്ധപ്പെട്ട് പ്രശ്‌നമുണ്ടായതിനാൽ ഇൻസ്റ്റാൾ ചെയ്യാനായില്ല"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"ഇൻസ്റ്റാൾ ചെയ്യാനായില്ല. വീണ്ടും ശ്രമിക്കുക."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"ഇൻസ്റ്റലേഷൻ പൂർത്തിയായതിന് ശേഷം Linux ടെർമിനൽ ആരംഭിക്കും"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"നെറ്റ്‌വർക്കുമായി ബന്ധപ്പെട്ട് പ്രശ്‌നമുണ്ടായതിനാൽ ഇൻസ്റ്റാൾ ചെയ്യാനായില്ല"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"വൈഫൈ ലഭ്യമല്ലാത്തതിനാൽ ഇൻസ്‌റ്റാൾ ചെയ്യാനായില്ല"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"ഇൻസ്റ്റാൾ ചെയ്യാനായില്ല. വീണ്ടും ശ്രമിക്കുക"</string>
     <string name="action_settings" msgid="5729342767795123227">"ക്രമീകരണം"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"ടെർമിനൽ തയ്യാറാക്കുന്നു"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"ടെർമിനൽ നിർത്തുന്നു"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"ടെർമിനൽ ക്രാഷായി"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"ഡിസ്‌ക് വലുപ്പം മാറ്റുക"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"വലുപ്പം മാറ്റുക / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"ഡിസ്‌ക്കിന്റെ വലുപ്പം മാറ്റുക"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"റൂട്ട് പാർട്ടീഷൻ വലുപ്പം മാറ്റുക"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"ഡിസ്‌ക് വലുപ്പം സജ്ജീകരിച്ചു"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> അസൈൻ ചെയ്‌തു"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"പരമാവധി <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"റദ്ദാക്കുക"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"പ്രയോഗിക്കാൻ റീസ്റ്റാർട്ട് ചെയ്യൂ"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"പോർട്ട് ഫോർവേഡിങ്"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"പോർട്ട് ഫോർവേഡിങ് കോൺഫിഗർ ചെയ്യുക"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"ഒരു പുതിയ പോർട്ട് തുറക്കാൻ ടെർമിനൽ ശ്രമിക്കുന്നു"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"പോർട്ട് തുറക്കാൻ അഭ്യർത്ഥിച്ചു: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"ബാധകമാക്കുക"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ഡിസ്കിന്റെ വലുപ്പം മാറ്റുന്നതിനായി ടെർമിനൽ റീസ്റ്റാർട്ട് ചെയ്യും"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"സ്ഥിരീകരിക്കുക"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"പോർട്ട് നിയന്ത്രണം"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"ശ്രവണ പോർട്ടുകൾ അനുവദിക്കുക/നിരസിക്കുക"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"ശ്രവണ പോർട്ടുകൾ"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"സംരക്ഷിച്ച അനുവദനീയമായ പോർട്ടുകൾ"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"<xliff:g id="PORT_NUMBER">%d</xliff:g> ഇല്ലാതാക്കുക"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"പുതിയ പോർട്ട് അനുവദിക്കുക"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"പുതിയ പോർട്ട് നമ്പർ നൽകുക"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"സംരക്ഷിക്കുക"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"റദ്ദാക്കുക"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"ഒരു പുതിയ പോർട്ട് തുറക്കാൻ ടെർമിനൽ അഭ്യർത്ഥിക്കുന്നു"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"പോർട്ട് അഭ്യർത്ഥിച്ചു: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"അംഗീകരിക്കുക"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"നിരസിക്കുക"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"വീണ്ടെടുക്കുക"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"പാർട്ടീഷൻ വീണ്ടെടുക്കൽ ഓപ്‌ഷനുകൾ"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"പ്രാരംഭ പതിപ്പിലേക്ക് മാറ്റുക"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"എല്ലാം നീക്കം ചെയ്യുക"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"പാർട്ടീഷൻ വീണ്ടെടുക്കൽ ഓപ്‌ഷനുകൾ"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"പ്രാരംഭ പതിപ്പിലേക്ക് റീസെറ്റ് ചെയ്യുക"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"എല്ലാ ഡാറ്റയും നീക്കം ചെയ്യുക"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"ടെർമിനൽ റീസെറ്റ് ചെയ്യുക"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ഡാറ്റ ഇല്ലാതാക്കും"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"സ്ഥിരീകരിക്കുക"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ഡാറ്റ നീക്കം ചെയ്യും"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"റീസെറ്റ് ചെയ്യുക"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"റദ്ദാക്കുക"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g> എന്നതിലേക്ക് ഡാറ്റ ബാക്കപ്പെടുക്കുക"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"ബാക്കപ്പ് ചെയ്യാനാകാത്തതിനാൽ വീണ്ടെടുക്കാനായില്ല"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"ബാക്കപ്പുമായി ബന്ധപ്പെട്ട പിശക് കാരണം വീണ്ടെടുക്കാനായില്ല"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"വീണ്ടെടുക്കാനായില്ല"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"ബാക്കപ്പ് ഫയൽ നീക്കം ചെയ്യാനാകില്ല"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"ബാക്കപ്പ് ഡാറ്റ നീക്കം ചെയ്യാനായില്ല"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"ബാക്കപ്പ് ഡാറ്റ നീക്കം ചെയ്യുക"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> ക്ലീനപ്പ് ചെയ്യുക"</string>
-    <string name="error_title" msgid="7196464038692913778">"വീണ്ടെടുക്കാനാകാത്ത വിധത്തിലാക്കിയ പിശക്"</string>
-    <string name="error_desc" msgid="1939028888570920661">"ഒരു പിശകിൽ നിന്ന് വീണ്ടെടുക്കാനായില്ല.\nനിങ്ങൾക്ക് ആപ്പ് റീസ്‌റ്റാർട്ട് ചെയ്യാൻ ശ്രമിക്കാം അല്ലെങ്കിൽ വീണ്ടെടുക്കൽ ഓപ്‌ഷനുകളിലൊന്ന് ശ്രമിച്ചുനോക്കാം."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> നീക്കം ചെയ്യുക"</string>
+    <string name="error_title" msgid="405150657301906598">"വീണ്ടെടുക്കാനാകാത്ത വിധത്തിലാക്കിയ പിശക്"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"പിശക് കോഡ്: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"ക്രമീകരണം"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"ടെർമിനൽ റൺ ചെയ്യുന്നു"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"ടെർമിനൽ തുറക്കാൻ ക്ലിക്ക് ചെയ്യുക"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"ടെർമിനൽ തുറക്കാൻ ക്ലിക്ക് ചെയ്യുക"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"അടയ്ക്കുക"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"ടെർമിനൽ അടയ്ക്കുകയാണ്"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"നിർബന്ധിതമായി അടയ്ക്കുക"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> പ്രവർത്തനക്ഷമമാക്കി"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-mn/strings.xml b/android/TerminalApp/res/values-mn/strings.xml
index 23cb782..674aa70 100644
--- a/android/TerminalApp/res/values-mn/strings.xml
+++ b/android/TerminalApp/res/values-mn/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Терминал"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Терминалын дэлгэц"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Курсор"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Хоосон мөр"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Оролт бичихийн тулд хоёр товшино уу"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux terminal-г суулгах"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux терминалыг эхлүүлэхийн тулд та сүлжээгээр барагцаагаар <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g>-н өгөгдөл татах шаардлагатай.\nТа үргэлжлүүлэх үү?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Wi-Fi боломжтой үед татах"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux терминалыг эхлүүлэхийн тулд та барагцаагаар <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g>-н өгөгдлийг сүлжээгээр татах шаардлагатай.\nТа үргэлжлүүлэхийг хүсэж байна уу?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Зөвхөн Wi-Fi ашиглан татах"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Суулгах"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Суулгаж байна"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Сүлжээний алдаа гарлаа. Холболтыг шалгаж, дахин оролдоно уу."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Сүлжээний алдааны улмаас суулгаж чадсангүй. Холболтоо шалгаад, дахин оролдоно уу."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux терминалыг суулгаж байна"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Дууссаны дараа Linux терминал эхэлнэ"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Сүлжээний асуудлын улмаас суулгаж чадсангүй"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Суулгаж чадсангүй. Дахин оролдоно уу."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Суулгаж дууссаны дараа Linux терминалыг эхлүүлнэ"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Сүлжээний асуудлын улмаас суулгаж чадсангүй"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Wi-Fi боломжгүй тул суулгаж чадсангүй"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Суулгаж чадсангүй. Дахин оролдоно уу"</string>
     <string name="action_settings" msgid="5729342767795123227">"Тохиргоо"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Терминалыг бэлтгэж байна"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Терминалыг зогсоож байна"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Терминал гэмтсэн"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Дискийн хэмжээг өөрчлөх"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Хэмжээг өөрчлөх / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Дискийн хэмжээг өөрчлөх"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Үндсэн хуваалтын хэмжээг өөрчлөх"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Дискийн хэмжээг тохируулсан"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> оноосон"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Дээд тал нь <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Цуцлах"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Дахин эхлүүлж ашигла"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Порт дамжуулах"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Порт дамжуулахыг тохируулах"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Терминал шинэ порт нээхээр оролдож байна"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Нээхийг хүссэн порт: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Оруулах"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Дискийн хэмжээг өөрчлөхийн тулд терминалыг дахин эхлүүлнэ"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Баталгаажуулах"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Портын тохиргоо"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Сүлжээний хүсэлт хүлээж буй портуудыг зөвшөөрөх/татгалзах"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Сүлжээний хүсэлт хүлээж буй портууд"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Хадгалсан зөвшөөрөгдсөн портууд"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"<xliff:g id="PORT_NUMBER">%d</xliff:g>-г устгах"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Шинэ портыг зөвшөөрөх"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Шинэ портын дугаар оруулах"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Хадгалах"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Цуцлах"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Терминал шинэ порт нээхийг хүсэж байна"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Хүссэн порт: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Зөвшөөрөх"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Татгалзах"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Сэргээх"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Хуваалтыг сэргээх сонголтууд"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Анхны хувилбар луу өөрчлөх"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Бүгдийг хасах"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Хуваалтыг сэргээх сонголтууд"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Анхны хувилбар луу шинэчлэх"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Бүх өгөгдлийг устгах"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Терминалыг шинэчлэх"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Өгөгдлийг устгана"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Баталгаажуулах"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Өгөгдлийг устгана"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Шинэчлэх"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Цуцлах"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Өгөгдлийг <xliff:g id="PATH">/mnt/backup</xliff:g>-д нөөцлөх"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Нөөцлөлт амжилтгүй болсон тул сэргээж чадсангүй"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Нөөцлөлтийн алдааны улмаас сэргээж чадсангүй"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Сэргээж чадсангүй"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Нөөц файлыг хасах боломжгүй"</string>
-    <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Нөөц өгөгдлийг хасах"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g>-г цэвэрлэх"</string>
-    <string name="error_title" msgid="7196464038692913778">"Сэргээх боломжгүй алдаа"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Алдааны улмаас сэргээж чадсангүй.\nТа аппыг дахин эхлүүлэхээр оролдох эсвэл сэргээх сонголтуудын аль нэгийг туршиж үзэх боломжтой."</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Нөөц өгөгдлийг устгаж чадсангүй"</string>
+    <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Нөөц өгөгдлийг устгах"</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g>-г устгах"</string>
+    <string name="error_title" msgid="405150657301906598">"Сэргээх боломжгүй алдаа"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Алдааны код: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Тохиргоо"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Терминал ажиллаж байна"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Терминалыг нээхийн тулд товшино уу"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Терминалыг нээхийн тулд товшино уу"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Хаах"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Терминал хаагдаж байна"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Хүчээр хаах"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> идэвхэжсэн"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-mr/strings.xml b/android/TerminalApp/res/values-mr/strings.xml
index e084c1e..e3f68f5 100644
--- a/android/TerminalApp/res/values-mr/strings.xml
+++ b/android/TerminalApp/res/values-mr/strings.xml
@@ -17,65 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"टर्मिनल"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"टर्मिनल डिस्प्ले"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"कर्सर"</string>
+    <string name="empty_line" msgid="5012067143408427178">"रिकामी ओळ"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"इनपुट टाइप करण्यासाठी दोनदा टॅप करा"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux टर्मिनल इंस्टॉल करा"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux टर्मिनल लाँच करण्यासाठी, तुम्ही नेटवर्कवरून अंदाजे <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> डेटा डाउनलोड करणे आवश्यक आहे.\nतुम्हाला पुढे सुरू ठेवायचे आहे का?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"वाय-फाय उपलब्ध असताना डाउनलोड करा"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux टर्मिनल लाँच करण्यासाठी, तुम्ही नेटवर्कवरून अंदाजे <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> डेटा डाउनलोड करणे आवश्यक आहे.\nतुम्हाला पुढे सुरू ठेवायचे आहे का?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"फक्त वाय-फाय वापरून डाउनलोड करा"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"इंस्टॉल करा"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"इंस्टॉल करत आहे"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"नेटवर्क एरर. कनेक्शन तपासून पुन्हा प्रयत्न करा."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"नेटवर्क एररमुळे इंस्टॉल करता आले नाही. तुमचे कनेक्शन तपासा आणि पुन्हा प्रयत्न करा."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux टर्मिनल इंस्टॉल करत आहे"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"पूर्ण झाल्यानंतर Linux टर्मिनल सुरू होईल"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"नेटवर्कच्या समस्येमुळे इंस्टॉल करता आले नाही"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"इंस्टॉल करता आले नाही. पुन्हा प्रयत्न करा."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"इंस्टॉलेशन पूर्ण झाल्यानंतर Linux टर्मिनल सुरू होईल"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"नेटवर्कच्या समस्येमुळे इंस्टॉल करता आले नाही"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"वाय-फाय उपलब्ध नसल्यामुळे इंस्टॉल करता आले नाही"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"इंस्टॉल करता आले नाही. कृपया पुन्हा प्रयत्न करा"</string>
     <string name="action_settings" msgid="5729342767795123227">"सेटिंग्ज"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"टर्मिनल तयार करत आहे"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"टर्मिनल थांबवत आहे"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"टर्मिनल क्रॅश झाले आहे"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"डिस्कचा आकार बदला"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"आकार बदला / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"डिस्कचा आकार बदला"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"रूट पार्टिशनचा आकार बदला"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"डिस्कचा आकार सेट केला आहे"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> असाइन केले आहे"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"कमाल <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"रद्द करा"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"लागू करण्यासाठी रीस्टार्ट करा"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"पोर्ट फॉरवर्डिंग"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"पोर्ट फॉरवर्डिंग कॉन्फिगर करा"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"टर्मिनल नवीन पोर्ट उघडण्याचा प्रयत्न करत आहे"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"उघडण्याची विनंती केलेला पोर्ट: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"लागू करा"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"डिस्कचा आकार बदलण्यासाठी टर्मिनल पुन्हा सुरू केले जाईल"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"कन्फर्म करा"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"पोर्ट नियंत्रण"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"ऐकण्याच्या पोर्टना अनुमती द्या/नाकारा"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"ऐकण्याचे पोर्ट"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"सेव्ह केलेले व अनुमती असलेले पोर्ट"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"नवीन पोर्टला अनुमती द्या"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"नवीन पोर्ट नंबर एंटर करा"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"सेव्ह करा"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"रद्द करा"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"टर्मिनल नवीन पोर्ट उघडण्याची विनंती करत आहे"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"विनंती केलेला पोर्ट: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"स्वीकारा"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"नकार द्या"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"रिकव्हरी"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"पार्टिशनचे रिकव्हरी पर्याय"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"मूळ आवृत्तीवर बदला"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"सर्व काढून टाका"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"पार्टिशनचे रिकव्हरी पर्याय"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"मूळ आवृत्तीवर रीसेट करा"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"सर्व डेटा काढून टाका"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"टर्मिनल रीसेट करा"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"डेटा हटवला जाईल"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"कन्फर्म करा"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"डेटा काढून टाकला जाईल"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"रीसेट करा"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"रद्द करा"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g> वर डेटाचा बॅकअप घ्या."</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"बॅकअप घेता आला नसल्यामुळे, रिकव्हरी करता आली नाही"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"बॅकअप एररमुळे रिकव्हर करता आले नाही"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"रिकव्हरी करता आली नाही"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"बॅकअप फाइल काढून टाकू शकत नाही"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"बॅकअप डेटा काढून टाकता आला नाही"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"बॅकअप डेटा काढून टाका"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"क्लीन अप करा <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <!-- no translation found for error_title (7196464038692913778) -->
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> काढून टाका"</string>
+    <string name="error_title" msgid="405150657301906598">"रिकव्‍हर न करता येणारी एरर"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
     <skip />
-    <!-- no translation found for error_desc (1939028888570920661) -->
-    <skip />
-    <!-- no translation found for error_code (3585291676855383649) -->
-    <skip />
+    <string name="error_code" msgid="3585291676855383649">"एरर कोड: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"सेटिंग्ज"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"टर्मिनल रन होत आहे"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"टर्मिनल उघडण्यासाठी क्लिक करा"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"टर्मिनल उघडण्यासाठी क्लिक करा"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"बंद करा"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"टर्मिनल बंद होत आहे"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"सक्तीने बंद करा"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> सुरू केले आहे"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-ms/strings.xml b/android/TerminalApp/res/values-ms/strings.xml
index b845724..26d1c28 100644
--- a/android/TerminalApp/res/values-ms/strings.xml
+++ b/android/TerminalApp/res/values-ms/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Paparan terminal"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Kursor"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Baris kosong"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Ketik dua kali untuk menaip input"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Pasang terminal Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Untuk melancarkan terminal Linux, anda perlu memuat turun anggaran <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> data melalui rangkaian.\nAdakah anda mahu meneruskan proses?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Muat turun apabila Wi-Fi tersedia"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Untuk melancarkan terminal Linux, anda perlu memuat turun kira-kira <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> data melalui rangkaian.\nAdakah anda mahu meneruskan proses?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Muat turun menggunakan Wi-Fi sahaja"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Pasang"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Memasang"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Ralat rangkaian. Semak sambungan dan cuba lagi."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Gagal melakukan pemasangan disebabkan oleh ralat rangkaian. Semak sambungan anda, kemudian cuba lagi."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Memasang terminal Linux"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Terminal Linux akan dimulakan selepas selesai"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Gagal melakukan pemasangan disebabkan oleh masalah rangkaian"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Gagal melakukan pemasangan. Cuba lagi."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Terminal Linux akan dimulakan selepas pemasangan selesai"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Gagal melakukan pemasangan disebabkan oleh masalah rangkaian"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Gagal melakukan pemasangan kerana Wi-Fi tidak tersedia"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Gagal melakukan pemasangan. Sila cuba lagi"</string>
     <string name="action_settings" msgid="5729342767795123227">"Tetapan"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Menyediakan terminal"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Menghentikan terminal"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminal ranap"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Ubah Saiz Cakera"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Ubah saiz / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Ubah saiz cakera"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Ubah saiz pemetakan akar"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Set saiz cakera"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> ditetapkan"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maksimum <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Batal"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Mulakan semula untuk gunakan"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Kiriman Semula Port"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Konfigurasikan kiriman semula port"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal sedang cuba membuka port baharu"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port diminta untuk dibuka : <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Guna"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal akan dimulakan semula untuk mengubah saiz cakera"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Sahkan"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Kawalan port"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Benarkan/tolak port mendengar"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Port mendengar"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Port yang dibenarkan disimpan"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"Padamkan <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Benarkan port baharu"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Masukkan nombor port baharu"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Simpan"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Batal"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal membuat permintaan untuk membuka port baharu"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Port diminta: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Terima"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Tolak"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Pemulihan"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Pilihan pemulihan Pemetakan"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Tukar kepada Versi awal"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Alih keluar semua"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Pilihan pemulihan pemetakan"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Tetapkan semula kepada versi awal"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Alih keluar semua data"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Tetapkan semula terminal"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Data akan dipadamkan"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Sahkan"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Data akan dialih keluar"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Tetapkan semula"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Batal"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Sandarkan data kepada <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Pemulihan gagal kerana sandaran telah gagal"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Gagal dipulihkan disebabkan oleh ralat sandaran"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Pemulihan gagal"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Tidak dapat mengalih keluar fail sandaran"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Gagal mengalih keluar data sandaran"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Alih keluar data sandaran"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Bersihkan <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Ralat yang Tidak dapat dipulihkan"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Gagal dipulihkan daripada ralat.\nAnda boleh cuba memulakan semula apl atau cuba salah satu pilihan pemulihan."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Alih keluar <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Ralat yang tidak dapat dipulihkan"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Kod ralat: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Tetapan"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminal sedang dijalankan"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Klik untuk membuka terminal"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Klik untuk membuka terminal"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Tutup"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminal ditutup"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Tutup paksa"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> didayakan"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-my/strings.xml b/android/TerminalApp/res/values-my/strings.xml
index d76b98d..f5d4ded 100644
--- a/android/TerminalApp/res/values-my/strings.xml
+++ b/android/TerminalApp/res/values-my/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"တာမီနယ်"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"တာမီနယ် ပြကွက်"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"ကာဆာ"</string>
+    <string name="empty_line" msgid="5012067143408427178">"လိုင်းကို ရှင်းရန်"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"စာရိုက်ထည့်သွင်းရန် နှစ်ချက်တို့ပါ"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux တာမီနယ် ထည့်သွင်းခြင်း"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux တာမီနယ် စတင်ရန် ကွန်ရက်ပေါ်တွင် ဒေတာ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ခန့်ကို ဒေါင်းလုဒ်လုပ်ရမည်။\nရှေ့ဆက်လိုပါသလား။"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Wi-Fi ရသည့်အခါ ဒေါင်းလုဒ်လုပ်ရန်"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux တာမီနယ် စတင်ရန် ကွန်ရက်ပေါ်တွင် ဒေတာ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ခန့်ကို ဒေါင်းလုဒ်လုပ်ရမည်။\nရှေ့ဆက်လိုပါသလား။"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Wi-Fi ဖြင့်သာ ဒေါင်းလုဒ်လုပ်ရန်"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ထည့်သွင်းရန်"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"ထည့်သွင်းနေသည်"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"ကွန်ရက် အမှားအယွင်း။ ချိတ်ဆက်မှုကို စစ်ဆေးပြီး ထပ်စမ်းကြည့်ပါ။"</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"ကွန်ရက် အမှားအယွင်းကြောင့် ထည့်သွင်း၍ မရလိုက်ပါ။ ချိတ်ဆက်မှုကို စစ်ဆေးပြီး ထပ်စမ်းကြည့်ပါ။"</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux တာမီနယ်ကို ထည့်သွင်းနေသည်"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"ပြီးသွားပါက Linux တာမီနယ်ကို စတင်ပါမည်"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"ကွန်ရက်ပြဿနာကြောင့် ထည့်သွင်း၍ မရလိုက်ပါ"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"ထည့်သွင်း၍ မရလိုက်ပါ။ ထပ်စမ်းကြည့်ပါ။"</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"ထည့်သွင်းမှု ပြီးသည့်အခါ Linux တာမီနယ် စတင်မည်"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"ကွန်ရက်ပြဿနာကြောင့် ထည့်သွင်း၍ မရလိုက်ပါ"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Wi-Fi မရနိုင်သောကြောင့် ထည့်သွင်း၍မရလိုက်ပါ"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"ထည့်သွင်း၍ မရလိုက်ပါ။ ထပ်စမ်းကြည့်ပါ"</string>
     <string name="action_settings" msgid="5729342767795123227">"ဆက်တင်များ"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"တာမီနယ်ကို ပြင်ဆင်နေသည်"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"တာမီနယ်ကို ရပ်နေသည်"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"တာမီနယ် ရပ်တန့်သွားသည်"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"ဒစ်ခ်အရွယ်ပြင်ခြင်း"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"/ Rootfs အရွယ်ပြင်ရန်"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"ဒစ်ခ်အရွယ်ပြင်ခြင်း"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"ရုအကန့်အရွယ် ပြင်ရန်"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"ဒစ်ခ်အရွယ်အစား သတ်မှတ်လိုက်သည်"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> သတ်မှတ်ထားသည်"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"အများဆုံး <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"မလုပ်တော့"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"သုံးရန် ပြန်စပါ"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"ပို့တ်ထပ်ဆင့်ပို့ခြင်း"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"ပို့တ်ထပ်ဆင့်ပို့ခြင်းကို စီစဉ်သတ်မှတ်ပါ"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"တာမီနယ်က ပို့တ်အသစ်ကိုဖွင့်ရန် ကြိုးပမ်းနေသည်"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"ဖွင့်ရန်တောင်းဆိုထားသည့် ပို့တ်- <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"သုံးရန်"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ဒစ်ခ်ကို အရွယ်ပြင်ရန် တာမီနယ်ပြန်စပါမည်"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"အတည်ပြုရန်"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"ပို့တ်ထိန်းချုပ်မှု"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"စောင့်နေသောပို့တ်များကို ခွင့်ပြုရန်/ငြင်းပယ်ရန်"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"စောင့်နေသောပို့တ်များ"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"ခွင့်ပြုထားသောပို့တ်များ သိမ်းပြီးပြီ"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"<xliff:g id="PORT_NUMBER">%d</xliff:g> ကို ဖျက်ရန်"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"ပို့တ်အသစ် ခွင့်ပြုခြင်း"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"ပို့တ်နံပါတ်အသစ် ထည့်ပါ"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"သိမ်းရန်"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"မလုပ်တော့"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"တာမီနယ်က ပို့တ်အသစ်ဖွင့်ရန် တောင်းဆိုနေသည်"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"တောင်းဆိုထားသော ပို့တ်- <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"လက်ခံရန်"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"ငြင်းပယ်ရန်"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"ပြန်လည်ရယူခြင်း"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"အကန့်ပြန်ရယူရေး နည်းလမ်းများ"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"ကနဦးဗားရှင်းသို့ ပြောင်းရန်"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"အားလုံး ဖယ်ရှားရန်"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"အကန့်ပြန်ရယူရေး နည်းလမ်းများ"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"ကနဦးဗားရှင်းသို့ ပြင်ဆင်သတ်မှတ်ရန်"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"ဒေတာအားလုံး ဖယ်ရှားရန်"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"တာမီနယ်ကို ပြင်ဆင်သတ်မှတ်ခြင်း"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ဒေတာကို ဖျက်ပါမည်"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"အတည်ပြုရန်"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ဒေတာကို ဖယ်ရှားပါမည်"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"ပြန်သတ်မှတ်ရန်"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"မလုပ်တော့"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g> တွင် ဒေတာအရန်သိမ်းရန်"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"အရန်သိမ်းခြင်း မအောင်မြင်သဖြင့် ပြန်လည်ရယူ၍ မရလိုက်ပါ"</string>
-    <string name="settings_recovery_error" msgid="2451912941535666379">"ပြန်လည်ရယူ၍ မရလိုက်ပါ"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"မိတ္တူဖိုင်ကို ဖယ်ရှား၍မရပါ"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"အရန်သိမ်းခြင်းအမှားကြောင့် ပြန်လည်ရယူ၍ မရလိုက်ပါ"</string>
+    <string name="settings_recovery_error" msgid="2451912941535666379">"ပြန်လည်ရယူမှု မအောင်မြင်ပါ"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"အရန်ဒေတာကို ဖယ်ရှား၍ မရလိုက်ပါ"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"အရန်ဒေတာ ဖယ်ရှားခြင်း"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> ရှင်းထုတ်ဖယ်ရှားရန်"</string>
-    <string name="error_title" msgid="7196464038692913778">"ပြန်ပြင်၍မရသော အမှား"</string>
-    <string name="error_desc" msgid="1939028888570920661">"အမှားကို ပြန်ပြင်၍မရလိုက်ပါ။\nအက်ပ်ကို ပြန်စနိုင်သည် (သို့) ပြန်ရယူရေး နည်းလမ်းများထဲမှ တစ်ခုကို စမ်းကြည့်နိုင်သည်။"</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> ကို ဖယ်ရှားရန်"</string>
+    <string name="error_title" msgid="405150657301906598">"ပြန်ပြင်၍မရသော အမှား"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"အမှားကုဒ်- <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"ဆက်တင်များ"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"တာမီနယ်ကို ဖွင့်ထားသည်"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"တာမီနယ်ဖွင့်ရန် နှိပ်ပါ"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"တာမီနယ်ဖွင့်ရန် နှိပ်ပါ"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"ပိတ်ရန်"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"တာမီနယ် ပိတ်နေသည်"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"မဖြစ်မနေပိတ်ရန်"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> ဖွင့်ထားသည်"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-nb/strings.xml b/android/TerminalApp/res/values-nb/strings.xml
index d0adf2f..6d6d7ce 100644
--- a/android/TerminalApp/res/values-nb/strings.xml
+++ b/android/TerminalApp/res/values-nb/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Terminalskjerm"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Markør"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Tom linje"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Dobbelttrykk for å skrive inn tekst"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Installer Linux-terminalen"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"For å starte Linux-terminalen må du laste ned omtrent <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> data via nettverket.\nVil du fortsette?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Last ned når wifi er tilgjengelig"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"For å starte Linux-terminalen må du laste ned omtrent <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> data via nettverket.\nVil du fortsette?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Last ned bare via wifi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Installer"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installerer"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Nettverksfeil. Sjekk tilkoblingen og prøv på nytt."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Kunne ikke installere på grunn av en nettverksfeil. Sjekk tilkoblingen, og prøv igjen."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Installerer Linux-terminalen"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux-terminalen startes når prosessen er ferdig"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Kunne ikke installere på grunn av et nettverksproblem"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Installasjonen mislyktes. Prøv på nytt."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux-terminalen startes når installasjonen er ferdig"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Kunne ikke installere på grunn av et nettverksproblem"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Kunne ikke installere fordi wifi ikke er tilgjengelig"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Installasjonen mislyktes. Prøv igjen"</string>
     <string name="action_settings" msgid="5729342767795123227">"Innstillinger"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Forbereder terminalen"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Stopper terminalen"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminalen krasjet"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Endre diskstørrelse"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Endre størrelse / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Endre diskstørrelse"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Endre størrelsen på rotpartisjonen"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Diskstørrelsen er angitt"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> er tildelt"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> maks"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Avbryt"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Omstart for å bruke"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Viderekobling av porter"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Konfigurer viderekobling av porter"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminalen prøver å åpne en ny port"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Porten som er forespurt åpnet: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Bruk"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminalen starter på nytt for å endre størrelsen på disken"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Bekreft"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Portkontroll"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Tillat/avslå lytteporter"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Lytteporter"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Lagrede tillatte porter"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Tillat en ny port"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Skriv inn et nytt portnummer"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Lagre"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Avbryt"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminalen prøver å åpne en ny port"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Forespurt port: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Godta"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Avvis"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Gjenoppretting"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Gjenopprettingsalternativer for partisjoner"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Bytt til første versjon"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Fjern alle"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Gjenopprettingsalternativer for partisjoner"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Tilbakestill til den opprinnelige versjonen"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Fjern alle dataene"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Tilbakestill terminalen"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Dataene slettes"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Bekreft"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Dataene blir fjernet"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Tilbakestill"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Avbryt"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Sikkerhetskopier data til <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Gjenopprettingen mislyktes fordi sikkerhetskopieringen mislyktes"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Kunne ikke gjenopprette på grunn av en sikkerhetskopieringsfeil"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Gjenopprettingen mislyktes"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Kan ikke fjerne sikkerhetskopifilen"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Kunne ikke fjerne sikkerhetskopierte data"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Fjern sikkerhetskopierte data"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Rydd opp <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Ugjenopprettelig feil"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Kunne ikke gjenopprette etter en feil.\nDu kan prøve å starte appen på nytt eller prøve et av gjenopprettingsalternativene."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Fjern <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Ugjenopprettelig feil"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Feilkode: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Innstillinger"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminalen kjører"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Klikk for å åpne terminalen"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Klikk for å åpne terminalen"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Lukk"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminalen lukkes"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Tving avslutning"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> er aktivert"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-ne/strings.xml b/android/TerminalApp/res/values-ne/strings.xml
index a7806a6..425273a 100644
--- a/android/TerminalApp/res/values-ne/strings.xml
+++ b/android/TerminalApp/res/values-ne/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"टर्मिनल"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"टर्मिनल डिस्प्ले"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"कर्सर"</string>
+    <string name="empty_line" msgid="5012067143408427178">"खाली लाइन"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"इनपुट टाइप गर्न डबल ट्याप गर्नुहोस्"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux टर्मिनल इन्स्टल गर्नुहोस्"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux टर्मिनल लन्च गर्नका निम्ति, तपाईंले नेटवर्क प्रयोग गरेर लगभग <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> जति डेटा डाउनलोड गर्नु पर्ने हुन्छ।\nतपाईं अघि बढ्नुहुन्छ?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Wi-Fi उपलब्ध हुँदा डाउनलोड गर्नुहोस्"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux टर्मिनल सुरु गर्न तपाईंले नेटवर्क प्रयोग गरेर लगभग <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> जति डेटा डाउनलोड गर्नु पर्ने हुन्छ।\nतपाईं अघि बढ्नु चाहनुहुन्छ?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Wi-Fi मार्फत मात्र डाउनलोड गर्नुहोस्"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"इन्स्टल गर्नुहोस्"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"इन्स्टल गरिँदै छ"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"नेटवर्कसम्बन्धी त्रुटि। कनेक्सन जाँच गर्नुहोस् र फेरि प्रयास गर्नुहोस्।"</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"नेटवर्कसम्बन्धी त्रुटिका कारण इन्स्टल गर्न सकिएन। इन्टरनेट कनेक्सन जाँच्नुहोस् र फेरि प्रयास गर्नुहोस्।"</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux टर्मिनल इन्स्टल गरिँदै छ"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"पूरा भइसकेपछि Linux टर्मिनल सुरु हुने छ"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"नेटवर्कसम्बन्धी समस्याका कारण इन्स्टल गर्न सकिएन"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"इन्स्टल गर्न सकिएन। फेरि प्रयास गर्नुहोस्।"</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"इन्स्टल गर्ने कार्य पूरा भएपछि Linux टर्मिनल सुरु हुने छ"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"नेटवर्कसम्बन्धी समस्याका कारण इन्स्टल गर्न सकिएन"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Wi-Fi उपलब्ध नभएकाले इन्स्टल गर्न सकिएन"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"इन्स्टल गर्न सकिएन। कृपया फेरि प्रयास गर्नुहोस्"</string>
     <string name="action_settings" msgid="5729342767795123227">"सेटिङ"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"टर्मिनल तयार पारिँदै छ"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"टर्मिनल रोकिँदै छ"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"टर्मिनल क्र्यास भयो"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"डिस्कको आकार बदल्नुहोस्"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"आकार बदल्नुहोस् / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"डिस्कको आकार बदल्नुहोस्"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"मूल पार्टिसनको आकार बदल्नुहोस्"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"डिस्कको आकारको सेट गरियो"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"असाइन गरिएको: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"अधिकतम <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"रद्द गर्नुहोस्"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"परिवर्तन लागू गर्न रिस्टार्ट गर्नुहोस्"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"पोर्ट फर्वार्डिङ"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"पोर्ट फर्वार्डिङ कन्फिगर गर्नुहोस्"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"टर्मिनलले एउटा नयाँ पोर्ट खोल्न खोजिरहेको छ"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"खोल्न अनुरोध गरिएको पोर्ट: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"लागू गर्नुहोस्"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"डिस्कको आकार बदल्न टर्मिनल रिस्टार्ट गरिने छ"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"पुष्टि गर्नुहोस्"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"पोर्टसम्बन्धी कन्ट्रोल"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"लिसनिङ पोर्टहरू हाल्ने अनुमति दिनुहोस्/नदिनुहोस्"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"लिसनिङ पोर्टहरू"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"सेभ गरिएका अनुमति दिइएका पोर्टहरू"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"<xliff:g id="PORT_NUMBER">%d</xliff:g> मेटाउनुहोस्"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"नयाँ पोर्ट नम्बर हाल्ने अनुमति दिनुहोस्"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"नयाँ पोर्ट नम्बर हाल्नुहोस्"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"सेभ गर्नुहोस्"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"रद्द गर्नुहोस्"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"टर्मिनलले एउटा नयाँ पोर्ट खोल्न अनुरोध गरिरहेको छ"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"निम्न पोर्ट खोल्न अनुरोध गरिएको छ: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"स्वीकार गर्नुहोस्"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"अस्वीकार गर्नुहोस्"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"रिकभरी"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"पार्टिसन रिकभरीसम्बन्धी विकल्पहरू"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"यो संस्करण बदलेर सुरुको संस्करण बनाउनुहोस्"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"सबै हटाउनुहोस्"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"पार्टिसन रिकभर गर्ने विकल्पहरू"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"रिसेट गरी सुरुको संस्करण बनाउनुहोस्"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"सबै डेटा हटाउनुहोस्"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"टर्मिनल रिसेट गर्नुहोस्"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"डेटा मेटाइने छ"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"पुष्टि गर्नुहोस्"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"डेटा हटाइने छ"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"रिसेट गर्नुहोस्"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"रद्द गर्नुहोस्"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g> मा डेटा ब्याकअप गर्नुहोस्"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"ब्याकअप गर्न नसकिएकाले रिकभर गर्न सकिएन"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"ब्याकअपसम्बन्धी त्रुटिका कारण रिकभर गर्न सकिएन"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"रिकभर गर्न सकिएन"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"ब्याकअप फाइल हटाउन सकिएन"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"ब्याकअप गरिएको डेटा हटाउन सकिएन"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"ब्याकअप डेटा हटाउनुहोस्"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> हटाउनुहोस्"</string>
-    <string name="error_title" msgid="7196464038692913778">"सच्याउन नमिल्ने त्रुटि"</string>
-    <string name="error_desc" msgid="1939028888570920661">"कुनै त्रुटि सच्याउन सकिएन।\nतपाईं यो एप रिस्टार्ट गरी हेर्न वा त्रुटि सच्याउने यीमध्ये कुनै पनि एउटा तरिका अपनाई हेर्न सक्नुहुन्छ।"</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> हटाउनुहोस्"</string>
+    <string name="error_title" msgid="405150657301906598">"रिकभर गर्न नदिने त्रुटि"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"त्रुटिको कोड: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"सेटिङ"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"टर्मिनल चलिरहेको छ"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"यो टर्मिनल खोल्न क्लिक गर्नुहोस्"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"टर्मिनल खोल्न क्लिक गर्नुहोस्"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"बन्द गर्नुहोस्"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"टर्मिनल एप बन्द हुँदै छ"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"बलपूर्वक बन्द गर्नुहोस्"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> अन गरिएको छ"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-nl/strings.xml b/android/TerminalApp/res/values-nl/strings.xml
index e012578..79c75dc 100644
--- a/android/TerminalApp/res/values-nl/strings.xml
+++ b/android/TerminalApp/res/values-nl/strings.xml
@@ -20,55 +20,75 @@
     <string name="terminal_display" msgid="4810127497644015237">"Terminalweergave"</string>
     <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
     <string name="empty_line" msgid="5012067143408427178">"Lege regel"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Dubbeltik om invoer te typen"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux-terminal installeren"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Als je Linux-terminal wilt starten, moet je ongeveer <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> aan data downloaden via het netwerk.\nWil je doorgaan?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Downloaden als wifi beschikbaar is"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Als je Linux-terminal wilt starten, moet je ongeveer <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> aan data downloaden via het netwerk.\nWil je doorgaan?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Alleen downloaden via wifi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Installeren"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installeren"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Netwerkfout. Check de verbinding en probeer het opnieuw."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Kan niet installeren vanwege een netwerkfout. Check de verbinding en probeer het opnieuw."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux-terminal installeren"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux-terminal wordt gestart na afronding"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Kan niet installeren vanwege het netwerkprobleem"</string>
-    <string name="installer_error_no_wifi" msgid="8631584648989718121">"Kan niet installeren omdat wifi niet beschikbaar is"</string>
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Installatie mislukt. Probeer het opnieuw."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux-terminal wordt gestart nadat de installatie is afgerond"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Kan niet installeren vanwege een netwerkprobleem"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Kan niet installeren omdat wifi niet beschikbaar is"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Installatie mislukt. Probeer het opnieuw."</string>
     <string name="action_settings" msgid="5729342767795123227">"Instellingen"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Terminal voorbereiden"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Terminal stoppen"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminal gecrasht"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Formaat van schijf aanpassen"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Formaat aanpassen/Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Formaat van schijf aanpassen"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"De grootte van de rootpartitie aanpassen"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Schijfgrootte ingesteld"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> toegewezen"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> max."</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Annuleren"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Opnieuw opstarten om toe te passen"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Poort­doorschakeling"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Poortdoorschakeling instellen"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal probeert een nieuwe poort te openen"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Poort die moet worden geopend: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Toepassen"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal wordt opnieuw opgestart om de schijfgrootte aan te passen"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Bevestigen"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Poortcontrole"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Luisterende poorten toestaan/weigeren"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Luisterende poorten"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Toegestane poorten opgeslagen"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"<xliff:g id="PORT_NUMBER">%d</xliff:g> verwijderen"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Een nieuwe poort toestaan"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Voer een nieuw poortnummer in"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Opslaan"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Annuleren"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal verzoekt om een nieuwe poort te openen"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Poort aangevraagd: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Accepteren"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Weigeren"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Herstel"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Herstelopties voor partities"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Wijzigen naar eerste versie"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Alles verwijderen"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Herstelopties voor partities"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Resetten naar eerste versie"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Alle gegevens verwijderen"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Terminal resetten"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Gegevens worden verwijderd"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Bevestigen"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Gegevens worden verwijderd"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Resetten"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Annuleren"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Back-up van gegevens maken in <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Herstel is mislukt omdat de back-up is mislukt"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Herstel is mislukt vanwege een back-upfout"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Herstel is mislukt"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Kan back-upbestand niet verwijderen"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Kan back-upgegevens niet verwijderen"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Back-upgegevens verwijderen"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> opschonen"</string>
-    <string name="error_title" msgid="7196464038692913778">"Onherstelbare fout"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Kan niet herstellen van een fout.\nJe kunt de app opnieuw opstarten of een van de herstelopties proberen."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> verwijderen"</string>
+    <string name="error_title" msgid="405150657301906598">"Onherstelbare fout"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Foutcode: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Instellingen"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminal wordt uitgevoerd"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Klik om de terminal te openen"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Klik om terminal te openen"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Sluiten"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminal wordt gesloten"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Geforceerd sluiten"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> staat aan"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-or/strings.xml b/android/TerminalApp/res/values-or/strings.xml
index 2324313..5b91166 100644
--- a/android/TerminalApp/res/values-or/strings.xml
+++ b/android/TerminalApp/res/values-or/strings.xml
@@ -17,65 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"ଟର୍ମିନାଲ"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"ଟର୍ମିନାଲ ଡିସପ୍ଲେ"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"କର୍ସର"</string>
+    <string name="empty_line" msgid="5012067143408427178">"ଖାଲି ଲାଇନ"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"ଇନପୁଟ ଟାଇପ କରିବାକୁ ଦୁଇଥର-ଟାପ କରନ୍ତୁ"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux ଟର୍ମିନାଲକୁ ଇନଷ୍ଟଲ କରନ୍ତୁ"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux ଟର୍ମିନାଲ ଲଞ୍ଚ କରିବାକୁ ଆପଣଙ୍କୁ ନେଟୱାର୍କ ମାଧ୍ୟମରେ ପ୍ରାୟ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g>ର ଡାଟା ଡାଉନଲୋଡ କରିବାକୁ ହେବ।\nଆପଣ ଆଗକୁ ବଢ଼ିବେ?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"ୱାଇ-ଫାଇ ଉପଲବ୍ଧ ହେଲେ ଡାଉନଲୋଡ କରନ୍ତୁ"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux ଟର୍ମିନାଲ ଲଞ୍ଚ କରିବାକୁ ଆପଣଙ୍କୁ ନେଟୱାର୍କ ମାଧ୍ୟମରେ ପ୍ରାୟ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g>ର ଡାଟା ଡାଉନଲୋଡ କରିବାକୁ ହେବ।\nଆପଣ ଆଗକୁ ବଢ଼ିବା ପାଇଁ ଚାହିଁବେ?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"କେବଳ ୱାଇ-ଫାଇ ବ୍ୟବହାର କରି ଡାଉନଲୋଡ କରନ୍ତୁ"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ଇନଷ୍ଟଲ କରନ୍ତୁ"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"ଇନଷ୍ଟଲ କରାଯାଉଛି"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"ନେଟୱାର୍କ ତ୍ରୁଟି। କନେକ୍ସନ ଯାଞ୍ଚ କରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"ଏକ ନେଟୱାର୍କ ତ୍ରୁଟି ଯୋଗୁଁ ଇନଷ୍ଟଲ କରିବାରେ ବିଫଳ ହୋଇଛି। ଆପଣଙ୍କ କନେକ୍ସନ ଯାଞ୍ଚ କରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux ଟର୍ମିନାଲକୁ ଇନଷ୍ଟଲ କରାଯାଉଛି"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"ପ୍ରକ୍ରିୟା ସମ୍ପୂର୍ଣ୍ଣ ହେବା ପରେ Linux ଟର୍ମିନାଲ ଆରମ୍ଭ ହେବ"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"ନେଟୱାର୍କ ସମସ୍ୟା ଯୋଗୁଁ ଇନଷ୍ଟଲ କରିବାରେ ବିଫଳ ହୋଇଛି"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"ଇନଷ୍ଟଲ କରିବାରେ ବିଫଳ ହୋଇଛି। ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"ଇନଷ୍ଟଲେସନ ସମ୍ପୂର୍ଣ୍ଣ ହେବା ପରେ Linux ଟର୍ମିନାଲ ଷ୍ଟାର୍ଟ ହେବ"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"ଏକ ନେଟୱାର୍କ ସମସ୍ୟା ଯୋଗୁଁ ଇନଷ୍ଟଲ କରିବାରେ ବିଫଳ ହୋଇଛି"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"ୱାଇ-ଫାଇ ଉପଲବ୍ଧ ନଥିବା ଯୋଗୁଁ ଇନଷ୍ଟଲ କରିବାରେ ବିଫଳ ହୋଇଛି"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"ଇନଷ୍ଟଲ କରିବାରେ ବିଫଳ ହୋଇଛି। ଦୟାକରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ"</string>
     <string name="action_settings" msgid="5729342767795123227">"ସେଟିଂସ"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"ଟର୍ମିନାଲକୁ ପ୍ରସ୍ତୁତ କରାଯାଉଛି"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Terminalକୁ ବନ୍ଦ କରାଯାଉଛି"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"ଟର୍ମିନାଲ କ୍ରାସ ହୋଇଛି"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"ଡିସ୍କ ରିସାଇଜ କରନ୍ତୁ"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"ରିସାଇଜ କରନ୍ତୁ / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"ଡିସ୍କକୁ ରିସାଇଜ କରନ୍ତୁ"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"ରୁଟ ପାର୍ଟିସନ ସାଇଜକୁ ରିସାଇଜ କରନ୍ତୁ"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"ଡିସ୍କ ସାଇଜ ସେଟ ହୋଇଛି"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> ଆସାଇନ କରାଯାଇଛି"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"ସର୍ବାଧିକ <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"ବାତିଲ କରନ୍ତୁ"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"ଲାଗୁ ପାଇଁ ରିଷ୍ଟାର୍ଟ"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"ପୋର୍ଟ ଫରୱାର୍ଡିଂ"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"ପୋର୍ଟ ଫରୱାର୍ଡିଂକୁ କନଫିଗର କରନ୍ତୁ"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"ଏକ ନୂଆ ପୋର୍ଟ ଖୋଲିବାକୁ ଟର୍ମିନାଲ ଅନୁରୋଧ କରୁଛି"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"ଏହି ପୋର୍ଟକୁ ଖୋଲା ରଖିବା ପାଇଁ ଅନୁରୋଧ କରାଯାଇଛି: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"ଲାଗୁ କରନ୍ତୁ"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ଡିସ୍କକୁ ରିସାଇଜ କରିବାକୁ ଟର୍ମିନାଲ ରିଷ୍ଟାର୍ଟ ହେବ"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"ସୁନିଶ୍ଚିତ କରନ୍ତୁ"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"ପୋର୍ଟ ନିୟନ୍ତ୍ରଣ"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"ଶୁଣିବା ପୋର୍ଟଗୁଡ଼ିକୁ ଅନୁମତି ଦିଅନ୍ତୁ/ଅଗ୍ରାହ୍ୟ କରନ୍ତୁ"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"ଶୁଣିବା ପୋର୍ଟ"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"ଅନୁମତି ଦିଆଯାଇଥିବା ପୋର୍ଟଗୁଡ଼ିକୁ ସେଭ କରାଯାଇଛି"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"<xliff:g id="PORT_NUMBER">%d</xliff:g>କୁ ଡିଲିଟ କରନ୍ତୁ"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"ଏକ ନୂଆ ପୋର୍ଟକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"ଏକ ନୂଆ ପୋର୍ଟ ନମ୍ବର ଲେଖନ୍ତୁ"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"ସେଭ କରନ୍ତୁ"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"ବାତିଲ କରନ୍ତୁ"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"ଏକ ନୂଆ ପୋର୍ଟ ଖୋଲିବାକୁ ଟର୍ମିନାଲ ଅନୁରୋଧ କରୁଛି"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"ପୋର୍ଟ ପାଇଁ ଅନୁରୋଧ କରାଯାଇଛି: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"ଗ୍ରହଣ କରନ୍ତୁ"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"ଅଗ୍ରାହ୍ୟ କରନ୍ତୁ"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"ରିକଭରି"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"ପାର୍ଟିସନ ରିକଭରି ବିକଳ୍ପ"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"ପ୍ରାରମ୍ଭିକ ଭର୍ସନକୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"ସବୁ କାଢ଼ି ଦିଅନ୍ତୁ"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"ପାର୍ଟିସନ ରିକଭରି ବିକଳ୍ପ"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"ପ୍ରାରମ୍ଭିକ ଭର୍ସନରେ ରିସେଟ କରନ୍ତୁ"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"ସମସ୍ତ ଡାଟାକୁ କାଢ଼ି ଦିଅନ୍ତୁ"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"ଟର୍ମିନାଲ ରିସେଟ କରନ୍ତୁ"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ଡାଟାକୁ ଡିଲିଟ କରାଯିବ"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"ସୁନିଶ୍ଚିତ କରନ୍ତୁ"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ଡାଟାକୁ କାଢ଼ି ଦିଆଯିବ"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"ରିସେଟ କରନ୍ତୁ"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"ବାତିଲ କରନ୍ତୁ"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g>ରେ ଡାଟାର ବେକଅପ ନିଅନ୍ତୁ"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"ବେକଅପ ବିଫଳ ହୋଇଥିବା ଯୋଗୁଁ ରିକଭରି ବିଫଳ ହୋଇଛି"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"ଏକ ବେକଅପ ତ୍ରୁଟି ଯୋଗୁଁ ରିକଭର କରିବାରେ ବିଫଳ ହୋଇଛି"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"ରିକଭରି ବିଫଳ ହୋଇଛି"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"ବେକଅପ ଫାଇଲକୁ କାଢ଼ି ଦିଆଯାଇପାରିବ ନାହିଁ"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"ବେକଅପ ଡାଟାକୁ କାଢ଼ି ଦେବାରେ ବିଫଳ ହୋଇଛି"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"ବେକଅପ ଡାଟାକୁ କାଢ଼ି ଦିଅନ୍ତୁ"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> ଖାଲି କରନ୍ତୁ"</string>
-    <!-- no translation found for error_title (7196464038692913778) -->
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g>କୁ କାଢ଼ି ଦିଅନ୍ତୁ"</string>
+    <string name="error_title" msgid="405150657301906598">"ରିକଭର କରିହେଉନଥିବା ତ୍ରୁଟି"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
     <skip />
-    <!-- no translation found for error_desc (1939028888570920661) -->
-    <skip />
-    <!-- no translation found for error_code (3585291676855383649) -->
-    <skip />
+    <string name="error_code" msgid="3585291676855383649">"ତ୍ରୁଟି କୋଡ: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"ସେଟିଂସ"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"ଟର୍ମିନାଲ ଚାଲୁ ଅଛି"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"ଟର୍ମିନାଲ ଖୋଲିବାକୁ କ୍ଲିକ କରନ୍ତୁ"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"ଟର୍ମିନାଲ ଖୋଲିବାକୁ କ୍ଲିକ କରନ୍ତୁ"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"ବନ୍ଦ କରନ୍ତୁ"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"ଟର୍ମିନାଲ ବନ୍ଦ ହେବାକୁ ଯାଉଛି"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"ବଳପୂର୍ବକ ବନ୍ଦ କରନ୍ତୁ"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g>କୁ ସକ୍ଷମ କରାଯାଇଛି"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-pa/strings.xml b/android/TerminalApp/res/values-pa/strings.xml
index 9d895cc..de313f5 100644
--- a/android/TerminalApp/res/values-pa/strings.xml
+++ b/android/TerminalApp/res/values-pa/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"ਟਰਮੀਨਲ"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"ਟਰਮੀਨਲ ਡਿਸਪਲੇ"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"ਕਰਸਰ"</string>
+    <string name="empty_line" msgid="5012067143408427178">"ਖਾਲੀ ਲਾਈਨ"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"ਇਨਪੁੱਟ ਟਾਈਪ ਕਰਨ ਲਈ ਡਬਲ ਟੈਪ ਕਰੋ"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux ਟਰਮੀਨਲ ਐਪ ਸਥਾਪਤ ਕਰੋ"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux ਟਰਮੀਨਲ ਐਪ ਨੂੰ ਲਾਂਚ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਨੈੱਟਵਰਕ \'ਤੇ ਲਗਭਗ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ਡਾਟਾ ਡਾਊਨਲੋਡ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।\nਕੀ ਅੱਗੇ ਵਧਣਾ ਹੈ?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"ਵਾਈ-ਫਾਈ ਦੇ ਉਪਲਬਧ ਹੋਣ \'ਤੇ ਡਾਊਨਲੋਡ ਕਰੋ"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux ਟਰਮੀਨਲ ਐਪ ਨੂੰ ਲਾਂਚ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਨੈੱਟਵਰਕ \'ਤੇ ਲਗਭਗ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ਡਾਟਾ ਡਾਊਨਲੋਡ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।\nਕੀ ਤੁਸੀਂ ਅੱਗੇ ਵਧਣਾ ਚਾਹੋਗੇ?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"ਸਿਰਫ਼ ਵਾਈ-ਫਾਈ ਦੀ ਵਰਤੋਂ ਨਾਲ ਡਾਊਨਲੋਡ ਕਰੋ"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ਸਥਾਪਤ ਕਰੋ"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"ਸਥਾਪਤ ਹੋ ਰਹੀ ਹੈ"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"ਨੈੱਟਵਰਕ ਗੜਬੜ। ਕਨੈਕਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰ ਕੇ ਮੁੜ-ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"ਨੈੱਟਵਰਕ ਗੜਬੜ ਕਰਕੇ ਸਥਾਪਤ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ। ਆਪਣੇ ਕਨੈਕਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰੋ ਅਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux ਟਰਮੀਨਲ ਐਪ ਸਥਾਪਤ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"ਪ੍ਰਕਿਰਿਆ ਪੂਰੀ ਹੋਣ ਤੋਂ ਬਾਅਦ, Linux ਟਰਮੀਨਲ ਐਪ ਸ਼ੁਰੂ ਹੋ ਜਾਵੇਗੀ"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"ਨੈੱਟਵਰਕ ਸੰਬੰਧੀ ਸਮੱਸਿਆ ਕਾਰਨ ਸਥਾਪਤ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"ਸਥਾਪਤ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"ਸਥਾਪਤ ਕਰਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਸਮਾਪਤ ਹੋਣ ਤੋਂ ਬਾਅਦ, Linux ਟਰਮੀਨਲ ਸ਼ੁਰੂ ਹੋ ਜਾਵੇਗਾ"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"ਨੈੱਟਵਰਕ ਸੰਬੰਧੀ ਸਮੱਸਿਆ ਕਰਕੇ ਸਥਾਪਤ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"ਵਾਈ-ਫਾਈ ਉਪਲਬਧ ਨਾ ਹੋਣ ਕਰਕੇ ਸਥਾਪਤ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"ਸਥਾਪਤ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ"</string>
     <string name="action_settings" msgid="5729342767795123227">"ਸੈਟਿੰਗਾਂ"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"ਟਰਮੀਨਲ ਨੂੰ ਤਿਆਰ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"ਟਰਮੀਨਲ ਨੂੰ ਬੰਦ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"ਟਰਮੀਨਲ ਕ੍ਰੈਸ਼ ਹੋ ਗਿਆ"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"ਡਿਸਕ ਦਾ ਆਕਾਰ ਬਦਲੋ"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"ਆਕਾਰ ਬਦਲੋ / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"ਡਿਸਕ ਦਾ ਆਕਾਰ ਬਦਲੋ"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"ਰੂਟ ਪਾਰਟੀਸ਼ਨ ਦਾ ਆਕਾਰ ਬਦਲੋ"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"ਡਿਸਕ ਸਾਈਜ਼ ਸੈੱਟ ਕੀਤਾ ਗਿਆ"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> ਜ਼ਿੰਮੇ ਲਗਾਇਆ ਗਿਆ"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"ਵੱਧੋ-ਵੱਧ <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"ਰੱਦ ਕਰੋ"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"ਲਾਗੂ ਕਰਨ ਲਈ ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"ਪੋਰਟ ਫਾਰਵਰਡਿੰਗ"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"ਪੋਰਟ ਫਾਰਵਰਡਿੰਗ ਦਾ ਸੰਰੂਪਣ ਕਰੋ"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"ਟਰਮੀਨਲ ਇੱਕ ਨਵੇਂ ਪੋਰਟ ਨੂੰ ਖੋਲ੍ਹਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਿਹਾ ਹੈ"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"ਪੋਰਟ ਨੂੰ ਖੋਲ੍ਹਣ ਦੀ ਬੇਨਤੀ ਕੀਤੀ ਗਈ: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"ਲਾਗੂ ਕਰੋ"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ਡਿਸਕ ਦਾ ਆਕਾਰ ਬਦਲਣ ਲਈ ਟਰਮੀਨਲ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕੀਤਾ ਜਾਵੇਗਾ"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"ਤਸਦੀਕ ਕਰੋ"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"ਪੋਰਟ ਕੰਟਰੋਲ"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"ਲਿਸਨਿੰਗ ਪੋਰਟਾਂ ਨੂੰ ਆਗਿਆ ਦਿਓ/ਅਸਵੀਕਾਰ ਕਰੋ"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"ਲਿਸਨਿੰਗ ਪੋਰਟ"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"ਮਨਜ਼ੂਰਸ਼ੁਦਾ ਪੋਰਟ ਰੱਖਿਅਤ ਕੀਤੇ ਗਏ"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"ਨਵੇਂ ਪੋਰਟ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"ਇੱਕ ਨਵਾਂ ਪੋਰਟ ਨੰਬਰ ਦਾਖਲ ਕਰੋ"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"ਰੱਖਿਅਤ ਕਰੋ"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"ਰੱਦ ਕਰੋ"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"ਟਰਮੀਨਲ ਇੱਕ ਨਵੇਂ ਪੋਰਟ ਨੂੰ ਖੋਲ੍ਹਣ ਦੀ ਬੇਨਤੀ ਕਰ ਰਿਹਾ ਹੈ"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"ਪੋਰਟ ਸੰਬੰਧੀ ਬੇਨਤੀ ਕੀਤੀ ਗਈ: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"ਸਵੀਕਾਰ ਕਰੋ"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"ਅਸਵੀਕਾਰ ਕਰੋ"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"ਰਿਕਵਰੀ"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"ਪਾਰਟੀਸ਼ਨ ਰਿਕਵਰੀ ਦੇ ਵਿਕਲਪ"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"ਸ਼ੁਰੂਆਤੀ ਵਰਜਨ \'ਤੇ ਬਦਲੋ"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"ਸਭ ਹਟਾਓ"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"ਪਾਰਟੀਸ਼ਨ ਰਿਕਵਰੀ ਦੇ ਵਿਕਲਪ"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"ਸ਼ੁਰੂਆਤੀ ਵਰਜਨ \'ਤੇ ਰੀਸੈੱਟ ਕਰੋ"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"ਸਾਰਾ ਡਾਟਾ ਹਟਾਓ"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"ਟਰਮੀਨਲ ਨੂੰ ਰੀਸੈੱਟ ਕਰੋ"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ਡਾਟਾ ਮਿਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"ਤਸਦੀਕ ਕਰੋ"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ਡਾਟਾ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"ਰੀਸੈੱਟ ਕਰੋ"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"ਰੱਦ ਕਰੋ"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g> \'ਤੇ ਡਾਟੇ ਦਾ ਬੈਕਅੱਪ ਲਓ"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"ਮੁੜ-ਹਾਸਲ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ, ਕਿਉਂਕਿ ਬੈਕਅੱਪ ਅਸਫਲ ਰਿਹਾ"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"ਬੈਕਅੱਪ ਸੰਬੰਧੀ ਗੜਬੜ ਕਰਕੇ ਮੁੜ-ਹਾਸਲ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"ਮੁੜ-ਹਾਸਲ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"ਬੈਕਅੱਪ ਫ਼ਾਈਲ ਹਟਾਈ ਨਹੀਂ ਜਾ ਸਕਦੀ"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"ਬੈਕਅੱਪ ਡਾਟਾ ਹਟਾਉਣਾ ਅਸਫਲ ਰਿਹਾ"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"ਬੈਕਅੱਪ ਡਾਟਾ ਹਟਾਓ"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> ਨੂੰ ਕਲੀਨ ਅੱਪ ਕਰੋ"</string>
-    <string name="error_title" msgid="7196464038692913778">"ਮੁੜ-ਹਾਸਲ ਨਾ ਹੋਣਯੋਗ ਡਾਟੇ ਸੰਬੰਧੀ ਗੜਬੜ"</string>
-    <string name="error_desc" msgid="1939028888570920661">"ਗੜਬੜ ਨੂੰ ਠੀਕ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।\nਤੁਸੀਂ ਐਪ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਸਕਦੇ ਹੋ ਜਾਂ ਰਿਕਵਰੀ ਦੇ ਵਿਕਲਪ ਵਿੱਚੋਂ ਕਿਸੇ ਇੱਕ ਨੂੰ ਅਜ਼ਮਾ ਕੇ ਦੇਖ ਸਕਦੇ ਹੋ।"</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> ਨੂੰ ਹਟਾਓ"</string>
+    <string name="error_title" msgid="405150657301906598">"ਮੁੜ-ਹਾਸਲ ਨਾ ਹੋਣਯੋਗ ਡਾਟੇ ਸੰਬੰਧੀ ਗੜਬੜ"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"ਗੜਬੜ ਕੋਡ: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"ਸੈਟਿੰਗਾਂ"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"ਟਰਮੀਨਲ ਚਾਲੂ ਹੈ"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"ਟਰਮੀਨਲ ਨੂੰ ਖੋਲ੍ਹਣ ਲਈ ਕਲਿੱਕ ਕਰੋ"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"ਟਰਮੀਨਲ ਖੋਲ੍ਹਣ ਲਈ ਕਲਿੱਕ ਕਰੋ"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"ਬੰਦ ਕਰੋ"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"ਟਰਮੀਨਲ ਬੰਦ ਹੋ ਰਿਹਾ ਹੈ"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"ਜ਼ਬਰਦਸਤੀ ਬੰਦ ਕਰੋ"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> ਚਾਲੂ ਹੈ"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-pl/strings.xml b/android/TerminalApp/res/values-pl/strings.xml
index 2124dac..6c48b2f 100644
--- a/android/TerminalApp/res/values-pl/strings.xml
+++ b/android/TerminalApp/res/values-pl/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Ekran terminala"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Kursor"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Pusty wiersz"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Kliknij dwukrotnie, aby wpisać"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Zainstaluj terminal Linuxa"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Aby uruchomić terminal Linuxa, musisz pobrać przez sieć około <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> danych.\nChcesz kontynuować?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Pobierz, gdy będzie dostępna sieć Wi-Fi"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Aby uruchomić terminal Linuxa, musisz pobrać przez sieć około <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> danych.\nChcesz kontynuować?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Pobieraj tylko przez Wi-Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Zainstaluj"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Instaluję"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Błąd sieci. Sprawdź połączenie i spróbuj ponownie."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Nie udało się zainstalować z powodu błędu sieci. Sprawdź połączenie i spróbuj jeszcze raz."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Instaluję terminal Linuxa"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Po zakończeniu zostanie uruchomiony terminal Linuxa"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Nie udało się zainstalować z powodu problemu z siecią"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Nie udało się zainstalować. Spróbuj ponownie."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Po zakończeniu instalacji uruchomi się terminal Linuxa"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Nie udało się zainstalować z powodu problemu z siecią"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Nie udało się zainstalować, ponieważ Wi-Fi jest niedostępne"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Nie udało się zainstalować. Spróbuj jeszcze raz"</string>
     <string name="action_settings" msgid="5729342767795123227">"Ustawienia"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Przygotowuję terminal"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Zatrzymuję terminal"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminal uległ awarii"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Zmień rozmiar dysku"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Zmień rozmiar / rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Zmiana rozmiaru dysku"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Zmień rozmiar partycji poziomu głównego"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Rozmiar dysku został ustawiony"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Przypisano <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maksymalny rozmiar <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Anuluj"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Uruchom ponownie"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Przekierowanie portów"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Skonfiguruj przekierowanie portów"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal próbuje otworzyć nowy port"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port, który ma być otwarty: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Zastosuj"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Aby zmienić rozmiar dysku, terminal zostanie uruchomiony ponownie"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Potwierdź"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Kontrola portów"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Zezwalaj/odrzucaj porty nasłuchujące"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Porty nasłuchujące"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Zapisane dozwolone porty"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"Usuń port <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Zezwól na nowy port"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Wpisz nowy numer portu"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Zapisz"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Anuluj"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal wysłał żądanie otwarcia nowego portu"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Żądany port: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Zaakceptuj"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Odrzuć"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Odzyskiwanie"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opcje odzyskiwania partycji"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Zmień na wersję początkową"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Usuń wszystko"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opcje odzyskiwania partycji"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Przywróć wersję początkową"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Usuń wszystkie dane"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Zresetuj terminal"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Dane zostaną usunięte"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Potwierdź"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Dane zostaną usunięte"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Resetuj"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Anuluj"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Utwórz kopię zapasową w lokalizacji <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Nie udało się przywrócić danych z powodu błędu kopii zapasowej"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Nie udało się przywrócić z powodu błędu kopii zapasowej"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Nie udało się przywrócić"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Nie udało się usunąć pliku kopii zapasowej"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Nie udało się usunąć danych kopii zapasowej"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Usuń dane kopii zapasowej"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Zwolnij miejsce w lokalizacji <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Nieodwracalny błąd"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Nie udało się przywrócić aplikacji po błędzie.\nMożesz spróbować ponownie ją uruchomić lub skorzystać z jednej z opcji odzyskiwania."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Usuń: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Nieodwracalny błąd"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Kod błędu: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Ustawienia"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminal jest uruchomiony"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Kliknij, aby otworzyć terminal"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Kliknij, aby otworzyć terminal"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Zamknij"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminal się zamyka"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Wymuś zamknięcie"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"Układ <xliff:g id="ID_1">VirGL</xliff:g> jest włączony"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-pt-rPT/strings.xml b/android/TerminalApp/res/values-pt-rPT/strings.xml
index a221586..909f846 100644
--- a/android/TerminalApp/res/values-pt-rPT/strings.xml
+++ b/android/TerminalApp/res/values-pt-rPT/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Ecrã do terminal"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Linha vazia"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Toque duas vezes para introduzir o texto"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Instale o terminal do Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Para iniciar o terminal do Linux, tem de transferir cerca de <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de dados através da rede.\nQuer continuar?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Transferir quando estiver disponível uma rede Wi-Fi"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Para iniciar o terminal do Linux, tem de transferir cerca de <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de dados através da rede.\nQuer continuar?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Transferir apenas através de Wi-Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instalar"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"A instalar…"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Erro de rede. Verifique a ligação e tente novamente."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Falha ao instalar devido a um erro de rede. Verifique a ligação e tente novamente."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"A instalar o terminal do Linux"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"O terminal do Linux vai ser iniciado após a conclusão"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Falha ao instalar devido a um problema de rede"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Falha ao instalar. Tente novamente."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"O terminal do Linux vai ser iniciado após a conclusão da instalação"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Falha ao instalar devido a um problema de rede"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Falha ao instalar porque o Wi-Fi não está disponível"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Falha ao instalar. Tente novamente"</string>
     <string name="action_settings" msgid="5729342767795123227">"Definições"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"A preparar o terminal"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"A parar o terminal"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"O terminal falhou"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Redimensionamento do disco"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Redimensionamento/Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Redimensionamento do disco"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Redimensione o tamanho da partição de raiz"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Tamanho do disco definido"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Tamanho atribuído: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Tamanho máx.: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Cancelar"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Reiniciar p/ aplicar"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Encaminhamento de portas"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configure o encaminhamento de portas"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"O terminal está a tentar abrir uma nova porta"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Porta com pedido de abertura: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Aplicar"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"O terminal vai ser reiniciado para redimensionar o disco"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirmar"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Controlo de portas"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Permitir/negar portas de audição"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Portas de audição"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Portas permitidas guardadas"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"Eliminar <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Permitir uma nova porta"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Introduza um novo número de porta"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Guardar"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Cancelar"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"O terminal está a pedir para abrir uma nova porta"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Porta pedida: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Aceitar"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Recusar"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Recuperação"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opções de recuperação de partições"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Altere para a versão inicial"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Remova tudo"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opções de recuperação de partições"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Reponha para a versão inicial"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Remova todos os dados"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Reponha o terminal"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Os dados vão ser eliminados"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirmar"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Os dados vão ser removidos"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Repor"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Cancelar"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Fazer uma cópia de segurança dos dados para <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"A recuperação falhou porque ocorreu uma falha na cópia de segurança"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Falha ao recuperar devido a um erro de cópia de segurança"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Falha na recuperação"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Não é possível remover o ficheiro da cópia de segurança"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Falha ao remover os dados da cópia de segurança"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Remova os dados da cópia de segurança"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Limpe <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Erro irrecuperável"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Falha ao recuperar de um erro.\nPode tentar reiniciar a app ou experimentar uma das opções de recuperação."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Remova <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Erro irrecuperável"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Código de erro: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Definições"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"O terminal está em execução"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Clique para abrir o terminal"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Clique para abrir o terminal"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Fechar"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"A app Terminal está a ser fechada"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Forçar fecho"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"A <xliff:g id="ID_1">VirGL</xliff:g> está ativada"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-pt/strings.xml b/android/TerminalApp/res/values-pt/strings.xml
index 52523a7..0ac359c 100644
--- a/android/TerminalApp/res/values-pt/strings.xml
+++ b/android/TerminalApp/res/values-pt/strings.xml
@@ -17,65 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Tela do terminal"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Linha vazia"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Toque duas vezes para digitar"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Instalar terminal Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Para iniciar o terminal Linux, é necessário baixar cerca de <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de dados pela rede.\nVocê quer continuar?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Baixar quando o Wi-Fi estiver disponível"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Para iniciar o terminal Linux, é necessário baixar cerca de <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de dados pela rede.\nQuer continuar?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Baixar somente com Wi-Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instalar"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Instalando"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Erro de rede. Verifique a conexão e tente de novo."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Falha ao instalar devido a um erro de rede. Verifique sua conexão e tente de novo."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Instalando terminal Linux"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"O terminal Linux será iniciado após a instalação"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Falha ao instalar devido a um problema de rede"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Falha ao instalar. Tente de novo."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"O terminal Linux será iniciado após a instalação"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Falha ao instalar devido a um problema de rede"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Falha ao instalar porque o Wi-Fi não está disponível"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Falha ao instalar. Tente de novo"</string>
     <string name="action_settings" msgid="5729342767795123227">"Configurações"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Preparando o terminal"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Interrompendo o terminal"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"O terminal falhou"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Redimensionamento de disco"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Redimensionar / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Redimensionamento de disco"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Redimensionar o tamanho da partição raiz"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Tamanho do disco definido"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Atribuído: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Máximo: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Cancelar"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Reiniciar para aplicar"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Encaminhamento de portas"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configurar o encaminhamento de portas"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"O terminal está tentando abrir uma nova porta"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Porta a ser aberta: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Aplicar"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"O terminal será reiniciado para redimensionar o disco"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirmar"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Controle de portas"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Permitir/negar portas de detecção"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Portas de detecção"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"As portas permitidas foram salvas"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"Excluir <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Permitir uma nova porta"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Digite o número de uma nova porta"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Salvar"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Cancelar"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"O terminal está pedindo para abrir uma nova porta"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Porta solicitada: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Aceitar"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Negar"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Recuperação"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opções de recuperação da partição"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Mudar para a versão inicial"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Remover tudo"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opções de recuperação da partição"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Redefinir para a versão inicial"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Remover todos os dados"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Redefinir terminal"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Os dados serão excluídos"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirmar"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Os dados serão removidos"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Redefinir"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Cancelar"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Fazer backup dos dados em <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"A recuperação falhou porque o backup falhou"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Falha ao recuperar devido a um erro de backup"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Falha na recuperação"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Não é possível remover o arquivo de backup"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Falha ao remover os dados de backup"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Remover dados de backup"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Limpar <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <!-- no translation found for error_title (7196464038692913778) -->
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Remover <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Erro irrecuperável"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
     <skip />
-    <!-- no translation found for error_desc (1939028888570920661) -->
-    <skip />
-    <!-- no translation found for error_code (3585291676855383649) -->
-    <skip />
+    <string name="error_code" msgid="3585291676855383649">"Código do erro: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Configurações"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"O terminal está em execução"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Clique para abrir o terminal"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Clique para abrir o terminal"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Fechar"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"O terminal está fechando"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Forçar fechamento"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"O <xliff:g id="ID_1">VirGL</xliff:g> está ativado"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-ro/strings.xml b/android/TerminalApp/res/values-ro/strings.xml
index 1d015a8..876467c 100644
--- a/android/TerminalApp/res/values-ro/strings.xml
+++ b/android/TerminalApp/res/values-ro/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Afișaj terminal"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Linie goală"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Atinge de două ori pentru a introduce text"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Instalează terminalul Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Pentru a lansa terminalul Linux, trebuie să descarci aproximativ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de date prin rețea.\nVrei să continui?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Descarcă atunci când este disponibilă o conexiune Wi-Fi"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Pentru a lansa terminalul Linux, trebuie să descarci aproximativ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de date prin rețea.\nVrei să continui?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Descarcă numai prin Wi-Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instalează"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Se instalează"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Eroare de rețea. Verifică-ți conexiunea și încearcă din nou."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Nu s-a putut instala din cauza unei erori de rețea. Verifică-ți conexiunea și încearcă din nou."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Se instalează terminalul Linux"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Terminalul Linux va porni după încheiere"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Nu s-a putut instala din cauza unei probleme de rețea"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Nu s-a instalat. Încearcă din nou."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Terminalul Linux va porni după finalizarea instalării"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Nu s-a putut instala din cauza unei probleme legate de rețea"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Nu s-a putut instala deoarece nu este disponibilă o conexiune Wi-Fi"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Nu s-a instalat. Încearcă din nou."</string>
     <string name="action_settings" msgid="5729342767795123227">"Setări"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Se pregătește terminalul"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Se oprește terminalul"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminalul s-a blocat"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Redimensionarea discului"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Redimensionează / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Redimensionarea discului"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Redimensionează mărimea partiției root"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Dimensiunea discului este setată"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"S-au alocat <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> max."</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Anulează"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Repornește să aplici"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Redirecționare de port"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configurează redirecționarea de port"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminalul încearcă să deschidă un nou port"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Portul solicitat să fie deschis: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Aplică"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminalul va fi repornit pentru a redimensiona discul"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirmă"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Controlul porturilor"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Permite / refuză porturile active"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Porturi active"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Porturi permise salvate"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Acceptă un port nou"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Introdu un număr de port nou"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Salvează"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Anulează"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminalul solicită să deschidă un nou port"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Portul solicitat: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Acceptă"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Refuză"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Recuperare"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opțiuni de recuperare a partițiilor"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Schimbă la versiunea inițială"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Elimină-le pe toate"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opțiuni de recuperare a partiției"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Resetează la versiunea inițială"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Elimină toate datele"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Resetează terminalul"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Datele se vor șterge"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirmă"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Datele vor fi eliminate"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Resetează"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Anulează"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Fă backup datelor în <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Nu s-a putut recupera deoarece backupul nu a reușit"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Nu s-a putut recupera din cauza unei erori de backup"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Nu s-a putut recupera"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Nu se poate elimina fișierul de backup"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Nu s-au putut elimina datele din backup"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Elimină datele din backup"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Curăță <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Eroare ireversibilă"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Nu s-a putut recupera în urma unei erori.\nRepornește aplicația sau încearcă una dintre opțiunile de recuperare."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Elimină <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Eroare ireversibilă"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Cod de eroare: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Setări"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminalul rulează"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Dă clic pentru a deschide terminalul"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Dă clic pentru a deschide terminalul"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Închide"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminalul se închide"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Forțează închiderea"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> este activat"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-ru/strings.xml b/android/TerminalApp/res/values-ru/strings.xml
index f14c59d..5087256 100644
--- a/android/TerminalApp/res/values-ru/strings.xml
+++ b/android/TerminalApp/res/values-ru/strings.xml
@@ -17,65 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Терминал"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Экран терминала"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Курсор"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Пустая строка"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Нажмите дважды, чтобы начать вводить текст"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Установка терминала Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Для запуска терминала Linux нужно скачать примерно <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> данных по сети.\nПродолжить?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Скачать только через Wi-Fi"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Для запуска терминала Linux нужно скачать примерно <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> данных по сети.\nПродолжить?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Скачивать только по Wi-Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Установить"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Установка"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Ошибка сети. Проверьте подключение и повторите попытку."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Не удалось выполнить установку из-за ошибки сети. Проверьте подключение и повторите попытку."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Установка терминала Linux"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"После окончания будет запущен терминал Linux."</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Не удалось выполнить установку из-за ошибки сети."</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Сбой установки. Повторите попытку."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Терминал Linux запустится после завершения установки."</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Не удалось выполнить установку из-за проблемы с сетью."</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Не удалось выполнить установку, так как сеть Wi-Fi недоступна."</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Сбой установки. Повторите попытку."</string>
     <string name="action_settings" msgid="5729342767795123227">"Настройки"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Терминал подготавливается."</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Работа терминала останавливается."</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Произошел сбой терминала."</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Изменение размера диска"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Rootfs и изменение размера"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Изменить размер диска"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Изменить размер корневого раздела"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Размер диска задан."</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Выделено <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Максимум <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Отмена"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Перезапуск и примен."</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Переадресация портов"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Настроить переадресацию портов"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Терминал пытается открыть новый порт"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Запрашивается разрешение открыть порт <xliff:g id="PORT_NUMBER">%d</xliff:g>."</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Применить"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Для изменения размера диска терминал будет перезапущен."</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Подтвердить"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Управление портами"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Открыть/закрыть доступ к портам прослушивания"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Порты прослушивания"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Сохраненные порты с открытым доступом"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"Удалить <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Открыть доступ к новому порту"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Введите номер нового порта"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Сохранить"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Отмена"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Терминал просит открыть новый порт"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Запрашиваемый порт: <xliff:g id="PORT_NUMBER">%d</xliff:g>."</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Разрешить"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Не разрешать"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Восста­но­вле­ние"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Варианты восстановления разделов"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Перейти к исходной версии"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Удалить все"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Варианты восстановления разделов"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Восстановить исходную версию"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Удалить все данные"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Сброс настроек терминала"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Данные будут удалены."</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Подтвердить"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Данные будут удалены."</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Сбросить"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Отмена"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Сохранить резервную копию в <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Не удается восстановить данные из-за ошибки резервного копирования."</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Не удалось выполнить восстановление из-за ошибки резервного копирования."</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Ошибка восстановления."</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Не получается удалить файл резервной копии."</string>
-    <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Удалить резервную копию"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Удалить из <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <!-- no translation found for error_title (7196464038692913778) -->
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Не получилось удалить резервную копию данных."</string>
+    <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Удалить данные резервного копирования"</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Удалить <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Неустранимая ошибка"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
     <skip />
-    <!-- no translation found for error_desc (1939028888570920661) -->
-    <skip />
-    <!-- no translation found for error_code (3585291676855383649) -->
-    <skip />
+    <string name="error_code" msgid="3585291676855383649">"Код ошибки: <xliff:g id="ERROR_CODE">%s</xliff:g>."</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Настройки"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Терминал запущен"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Нажмите, чтобы открыть его."</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Нажмите, чтобы открыть терминал."</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Закрыть"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Терминал закрывается"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Закрыть принудительно"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g>: включено."</string>
 </resources>
diff --git a/android/TerminalApp/res/values-si/strings.xml b/android/TerminalApp/res/values-si/strings.xml
index e864cd2..ec10cff 100644
--- a/android/TerminalApp/res/values-si/strings.xml
+++ b/android/TerminalApp/res/values-si/strings.xml
@@ -17,65 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"ටර්මිනලය"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"ටර්මිනල සංදර්ශකය"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"කර්සරය"</string>
+    <string name="empty_line" msgid="5012067143408427178">"හිස් රේඛාව"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"ආදානය ටයිප් කිරීමට දෙවරක් තට්ටු කරන්න"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux ටර්මිනලය ස්ථාපනය කරන්න"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux ටර්මිනලය දියත් කිරීමට, ඔබට ජාලය හරහා දත්ත <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> පමණ බාගත කිරීමට අවශ්‍ය වේ.\nඔබ ඉදිරියට යනවා ද?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Wi-Fi ලබා ගත හැකි විට බාගන්න"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux ටර්මිනලය දියත් කිරීමට, ඔබට ජාලය හරහා දත්ත <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> පමණ බාගැනීමට අවශ්‍ය වේ.\nඔබ ඉදිරියට යාමට කැමති ද?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Wi-Fi පමණක් භාවිතා කරමින් බාගන්න"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ස්ථාපනය කරන්න"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"ස්ථාපනය කරමින්"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"ජාල දෝෂයකි. සම්බන්ධතාවය පරීක්ෂා කර යළි උත්සාහ කරන්න."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"ජාල දෝෂයක් හේතුවෙන් ස්ථාපනය කිරීමට අසමත් විය. ඔබේ සබැඳුම පරීක්ෂා කර නැවත උත්සාහ කරන්න."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux ටර්මිනලය ස්ථාපනය කරමින්"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux ටර්මිනලය අවසන් වූ පසු ආරම්භ වනු ඇත"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"ජාල ගැටලුවක් හේතුවෙන් ස්ථාපනය කිරීමට අසමත් විය"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"ස්ථාපනය කිරීමට අසමත් විය. නැවත උත්සාහ කරන්න."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"ස්ථාපනය අවසන් වූ පසු Linux ටර්මිනලය ආරම්භ වනු ඇත"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"ජාල ගැටලුවක් හේතුවෙන් ස්ථාපනය කිරීමට අසමත් විය"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Wi-Fi නොමැති නිසා ස්ථාපනය කිරීමට අසමත් විය"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"ස්ථාපනය කිරීමට අසමත් විය. නැවත උත්සාහ කරන්න"</string>
     <string name="action_settings" msgid="5729342767795123227">"සැකසීම්"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"ටර්මිනලය සූදානම් කිරීම"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"ටර්මිනලය නතර කිරීම"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"ටර්මිනලය බිඳ වැටුණි"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"තැටි ප්‍රමාණය වෙනස් කිරීම"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"ප්‍රතිප්‍රමාණ කරන්න / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"තැටි ප්‍රමාණය වෙනස් කිරීම"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"මූල කොටස් ප්‍රමාණය ප්‍රතිප්‍රමාණ කරන්න"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"තැටි ප්‍රමාණය සැකසිණි"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> පවරන ලදි"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> උපරිමය"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"අවලංගු කරන්න"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"යෙදීමට යළි අරඹන්න"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"පෝටය යොමු කිරීම"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"පෝටය යොමු කිරීම වින්‍යාස කරන්න"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"ටර්මිනලය නව පෝටයක් විවෘත කිරීමට උත්සාහ කරයි"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"පෝටය විවෘත කිරීමට ඉල්ලා ඇත: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"යොදන්න"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"තැටියේ ප්‍රමාණය වෙනස් කිරීමට ටර්මිනලය යළි ඇරඹෙනු ඇත"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"තහවුරු කරන්න"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"පෝටය පාලනය"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"සවන්දීමේ පෝටයන්ට ඉඩ දෙන්න/ප්‍රතික්ෂේප කරන්න"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"සවන්දීමේ පෝටයන්"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"සුරකින ලද ඉඩ දුන් පෝටයන්"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"නව පෝටයකට ඉඩ දෙන්න"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"නව පෝට අංකයක් ඇතුළු කරන්න"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"සුරකින්න"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"අවලංගු කරන්න"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"ටර්මිනලය නව පෝටයක් විවෘත කිරීමට ඉල්ලීම් කරයි"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"පෝටය ඉල්ලා ඇත: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"පිළිගන්න"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"ප්‍රතික්ෂේප කරන්න"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"ප්‍රතිසාධනය"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"කොටස් ප්‍රතිසාන විකල්ප"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"ආරම්භක අනුවාදයට වෙනස් කරන්න"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"සියල්ල ඉවත් කරන්න"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"කොටස් ප්‍රතිසාන විකල්ප"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"ආරම්භක අනුවාදයට යළි සකසන්න"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"සියලු දත්ත ඉවත් කරන්න"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"ටර්මිනලය යළි සකසන්න"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"දත්ත මකනු ඇත"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"තහවුරු කරන්න"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"දත්ත ඉවත් කරනු ලැබේ"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"යළි සකසන්න"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"අවලංගු කරන්න"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g> වෙත දත්ත උපස්ථ කරන්න"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"උපස්ථය අසමත් වූ නිසා ප්‍රතිසාධනය අසමත් විය"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"උපස්ථ දෝෂයක් හේතුවෙන් ප්‍රතිසාධනය කිරීමට අසමත් විය"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"ප්‍රතිසාධනය අසමත් විය"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"උපස්ථ ගොනුව ඉවත් කළ නොහැක"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"උපස්ථ දත්ත ඉවත් කිරීමට අසමත් විය"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"උපස්ථ දත්ත ඉවත් කරන්න"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> පිරිසිදු කරන්න"</string>
-    <!-- no translation found for error_title (7196464038692913778) -->
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> ඉවත් කරන්න"</string>
+    <string name="error_title" msgid="405150657301906598">"ප්‍රතිසාධනය කළ නොහැකි දෝෂය"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
     <skip />
-    <!-- no translation found for error_desc (1939028888570920661) -->
-    <skip />
-    <!-- no translation found for error_code (3585291676855383649) -->
-    <skip />
+    <string name="error_code" msgid="3585291676855383649">"දෝෂ කේතය: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"සැකසීම්"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"පර්යන්තය ධාවනය වේ"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"ටර්මිනලය විවෘත කිරීමට ක්ලික් කරන්න"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"ටර්මිනලය විවෘත කිරීමට ක්ලික් කරන්න"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"වසන්න"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"ටර්මිනලය වැසෙමින් පවතී"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"බලෙන් වසන්න"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> සබලයි"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-sk/strings.xml b/android/TerminalApp/res/values-sk/strings.xml
index ad48c26..55bc781 100644
--- a/android/TerminalApp/res/values-sk/strings.xml
+++ b/android/TerminalApp/res/values-sk/strings.xml
@@ -17,65 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminál"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Zobrazenie terminálu"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Kurzor"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Prázdny riadok"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Dvakrát klepnite a zadajte vstup"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Inštalácia terminálu systému Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Ak chcete spustiť terminál systému Linux, musíte cez sieť stiahnuť približne <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> dát.\nChcete pokračovať?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Stiahnuť, keď bude k dispozícii Wi‑Fi"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Ak chcete spustiť terminál Linux, musíte cez sieť stiahnuť približne <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> dát.\nChcete pokračovať?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Sťahovať iba cez Wi‑Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Inštalovať"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Inštaluje sa"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Chyba siete. Skontrolujte pripojenie a skúste to znova."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Nepodarilo sa nainštalovať pre chybu siete. Skontrolujte pripojenie a skúste to znova."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Inštaluje sa terminál systému Linux"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Terminál systému Linux sa spustí po dokončení"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Nepodarilo sa nainštalovať pre problém so sieťou"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Nepodarilo sa nainštalovať. Skúste to znova."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Terminál Linux sa spustí po dokončení inštalácie"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Nepodarilo sa nainštalovať pre problém so sieťou"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Inštalácia sa nepodarila, pretože nie je k dispozícii Wi‑Fi"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Nepodarilo sa nainštalovať. Skúste to znova."</string>
     <string name="action_settings" msgid="5729342767795123227">"Nastavenia"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Terminál sa pripravuje"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Terminál sa zastavuje"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminál spadol"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Zmena veľkosti disku"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Zmeniť veľkosť / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Zmena veľkosti disku"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Zmena veľkosti koreňového oddielu"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Veľkosť disku je nastavená"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Pridelené <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Max. <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Zrušiť"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Vyžaduje sa reštart"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Presmerovanie portov"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Nakonfigurovať presmerovanie portov"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminál sa pokúša otvoriť nový port"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Vyžaduje sa otvorenie portu: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Použiť"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminál sa reštartuje, aby sa zmenila veľkosť disku"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Potvrdiť"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Ovládanie portov"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Povoliť alebo zakázať porty počúvania"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Porty počúvania"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Uložené povolené porty"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Povoľte nový port"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Zadajte nové číslo portu"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Uložiť"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Zrušiť"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminál požaduje otvoriť nový port"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Požadovaný port: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Prijať"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Zamietnuť"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Obnovenie"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Možnosti obnovenia oddielu"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Zmena na pôvodnú verziu"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Odstrániť všetko"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Možnosti obnovenia oddielu"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Reset na pôvodnú verziu"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Odstránenie všetkých údajov"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Resetovanie terminálu"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Údaje budú odstránené"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Potvrdiť"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Údaje budú odstránené"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Resetovať"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Zrušiť"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Zálohovať údaje do <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Obnovenie sa nepodarilo, pretože sa nepodarilo zálohovať"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Nepodarilo sa obnoviť pre chybu zálohy"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Obnovenie sa nepodarilo"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Súbor zálohy sa nepodarilo odstrániť"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Údaje zálohy sa nepodarilo odstrániť"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Odstrániť údaje zálohy"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Vyčistiť <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <!-- no translation found for error_title (7196464038692913778) -->
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Odstránenie cesty <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Neopraviteľná chyba"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
     <skip />
-    <!-- no translation found for error_desc (1939028888570920661) -->
-    <skip />
-    <!-- no translation found for error_code (3585291676855383649) -->
-    <skip />
+    <string name="error_code" msgid="3585291676855383649">"Kód chyby: <xliff:g id="ERROR_CODE">%s</xliff:g>."</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Nastavenia"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminál je spustený"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Kliknutím otvorte terminál"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Kliknutím otvorte terminál"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Zavrieť"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminál sa zatvára"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Vynútiť zavretie"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"Procesor <xliff:g id="ID_1">VirGL</xliff:g> je aktivovaný"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-sl/strings.xml b/android/TerminalApp/res/values-sl/strings.xml
index 74b3f6d..c144391 100644
--- a/android/TerminalApp/res/values-sl/strings.xml
+++ b/android/TerminalApp/res/values-sl/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Prikaz terminala"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Kazalec"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Prazna vrstica"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Dvakrat se dotaknite za tipkanje vnosa"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Namestitev terminala Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Če želite zagnati terminal Linux, morate prek omrežja prenesti približno <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> podatkov.\nAli želite nadaljevati?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Prenesi, ko bo na voljo Wi-Fi"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Če želite zagnati terminal Linux, morate prek omrežja prenesti približno <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> podatkov.\nAli želite nadaljevati?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Prenos samo z uporabo povezave Wi-Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Namesti"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Nameščanje"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Omrežna napaka. Preverite povezavo in poskusite znova."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Namestitev ni uspela zaradi omrežne napake. Preverite povezavo in poskusite znova."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Nameščanje terminala Linux"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Terminal Linux se bo zagnal po končani namestitvi"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Namestitev ni uspela zaradi težave z omrežjem"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Namestitev ni uspela. Poskusite znova."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Terminal Linux se bo zagnal po končani namestitvi"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Namestitev ni uspela zaradi težave z omrežjem"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Namestitev ni uspela, ker Wi-Fi ni na voljo"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Namestitev ni uspela. Poskusite znova."</string>
     <string name="action_settings" msgid="5729342767795123227">"Nastavitve"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Pripravljanje terminala"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Ustavljanje terminala"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminal se je zrušil"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Spreminjanje velikosti diska"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Spreminjanje velikosti/korenski datotečni sistem"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Spreminjanje velikosti diska"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Spreminjanje velikosti korenske particije"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Velikost diska je nastavljena"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Dodeljeno: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Največja velikost: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Prekliči"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Znova zaženi za uporabo"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Posredovanje vrat"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Konfiguriranje posredovanja vrat"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal poskuša odpreti nova vrata"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Zahtevano je odprtje teh vrat: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Uporabi"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal se bo znova zagnal, da se bo izvedla sprememba velikosti diska"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Potrdi"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Nadzor vrat"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Dovoli/zavrni vrata za poslušanje"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Vrata za poslušanje"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Shranjena dovoljena vrata"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"Izbriši <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Dovoli nova vrata"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Vnesite številko novih vrat"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Shrani"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Prekliči"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal zahteva odpiranje novih vrat"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Zahtevana vrata: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Sprejmi"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Zavrni"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Obnovitev"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Možnosti obnovitve particije"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Spremeni v začetno različico"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Odstrani vse"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Možnosti obnovitve particije"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Ponastavitev na začetno različico"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Odstranitev vseh podatkov"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Ponastavitev terminala"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Podatki bodo izbrisani"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Potrdi"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Podatki bodo odstranjeni"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Ponastavi"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Prekliči"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Varnostno kopiranje podatkov v <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Obnovitev ni uspela zaradi neuspešnega varnostnega kopiranja"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Obnovitev ni uspela zaradi napake varnostne kopije"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Obnovitev ni uspela"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Datoteke z varnostno kopijo ni mogoče odstraniti"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Varnostno kopiranih podatkov ni bilo mogoče odstraniti"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Odstranitev varnostno kopiranih podatkov"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Počiščenje poti <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Nepopravljiva napaka"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Obnovitev po napaki ni uspela.\nPoskusite znova zagnati aplikacijo ali uporabiti eno od možnosti obnovitve."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Odstrani <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Nepopravljiva napaka"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Koda napake: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Nastavitve"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminal se izvaja"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Kliknite, če želite odpreti terminal"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Kliknite, če želite odpreti terminal"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Zapri"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminal se zapira"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Vsili zapiranje"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> je omogočen"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-sq/strings.xml b/android/TerminalApp/res/values-sq/strings.xml
index ee42f8a..456c20f 100644
--- a/android/TerminalApp/res/values-sq/strings.xml
+++ b/android/TerminalApp/res/values-sq/strings.xml
@@ -17,65 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminali"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Ekrani i terminalit"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Kursori"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Rresht bosh"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Trokit dy herë për të shkruar të dhëna"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Instalo terminalin e Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Për të hapur terminalin e Linux, duhet të shkarkosh afërsisht <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> të dhëna nëpërmjet rrjetit.\nDëshiron të vazhdosh?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Shkarko kur të ofrohet Wi-Fi"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Për të hapur terminalin e Linux, duhet të shkarkosh afërsisht <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> të dhëna nëpërmjet rrjetit.\nDëshiron të vazhdosh?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Shkarko duke përdorur vetëm Wi-Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instalo"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Po instalohet"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Gabim në rrjet. Kontrollo lidhjen dhe provo përsëri."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Instalimi dështoi për shkak të një problemi të rrjetit. Kontrollo lidhjen tënde dhe provo përsëri."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Terminali i Linux po instalohet"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Terminali i Linux do të niset pas përfundimit"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Instalimi dështoi për shkak të një problemi të rrjetit"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Instalimi dështoi. Provo përsëri."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Terminali i Linux do të niset pas përfundimit të instalimit"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Instalimi dështoi për shkak të një problemi të rrjetit"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Instalimi dështoi për shkak se Wi-Fi nuk ofrohet"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Instalimi dështoi. Provo përsëri"</string>
     <string name="action_settings" msgid="5729342767795123227">"Cilësimet"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Terminali po përgatitet"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Terminali po ndalohet"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminali u ndërpre aksidentalisht"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Ndryshimi i përmasave të diskut"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Ndrysho përmasat / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Ndryshimi i përmasave të diskut"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Ndrysho madhësinë e ndarjes rrënjë"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Madhësia e diskut u caktua"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Caktuar: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maksimumi: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Anulo"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Rinis për të zbatuar"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Transferimi i portës"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Konfiguro transferimin e portës"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminali po përpiqet të hapë një portë të re"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Porta që kërkohet të hapet: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Zbato"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminali do të riniset për të ndryshuar përmasat e diskut"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Konfirmo"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Kontrolli i portës"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Lejo/refuzo portat e dëgjimit"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Portat e dëgjimit"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Portat e lejuara të ruajtura"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Lejo një portë të re"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Fut një numër të një porte të re"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Ruaj"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Anulo"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminali po përpiqet të hapë një portë të re"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Porta e kërkuar: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Prano"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Refuzo"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Rikuperimi"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opsionet e rikuperimit të ndarjes"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Ndrysho në versionin fillestar"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Hiqi të gjitha"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opsionet e rikuperimit të ndarjes"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Rivendos në versionin fillestar"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Hiq të gjitha të dhënat"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Rivendos terminalin"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Të dhënat do të fshihen"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Konfirmo"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Të dhënat do të hiqen"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Rivendos"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Anulo"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Rezervo të dhënat te <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Rikuperimi dështoi për shkak se rezervimi dështoi"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Rikuperimi dështoi për shkak të një gabimi të rezervimit"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Rikuperimi dështoi"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Skedari i rezervimit nuk mund të hiqet"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Heqja e të dhënave të rezervimit dështoi"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Hiq të dhënat e rezervimit"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Pastro <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <!-- no translation found for error_title (7196464038692913778) -->
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Hiq <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Gabim i parikuperueshëm"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
     <skip />
-    <!-- no translation found for error_desc (1939028888570920661) -->
-    <skip />
-    <!-- no translation found for error_code (3585291676855383649) -->
-    <skip />
+    <string name="error_code" msgid="3585291676855383649">"Kodi i gabimit: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Cilësimet"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminali po ekzekutohet"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Kliko për të hapur terminalin"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Kliko për të hapur terminalin"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Mbyll"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"\"Terminali\" po mbyllet"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Ndalo me forcë"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> është aktivizuar"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-sr/strings.xml b/android/TerminalApp/res/values-sr/strings.xml
index a1d4005..a2d9d51 100644
--- a/android/TerminalApp/res/values-sr/strings.xml
+++ b/android/TerminalApp/res/values-sr/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Терминал"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Приказ терминала"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Курсор"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Празан ред"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Двапут додирните да бисте унели текст"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Инсталирајте Linux терминал"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Да бисте покренули Linux терминал, треба да преузмете око <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> података преко мреже.\nЖелите да наставите?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Преузми када WiFi буде доступан"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Да бисте покренули Linux терминал, треба да преузмете око <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> података преко мреже.\nЖелите ли да наставите?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Преузимај само преко WiFi мреже"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Инсталирај"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Инсталира се"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Грешка на мрежи. Проверите везу и пробајте поново."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Инсталирање није успело због грешке на мрежи. Проверите везу и пробајте поново."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Инсталира се Linux терминал"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux терминал ће се покренути после завршетка"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Инсталирање није успело због проблема са мрежом"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Инсталирање није успело. Пробајте поново."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux терминал ће се покренути када се инсталација заврши"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Инсталирање није успело због проблема са мрежом"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Инсталирање није успело јер WiFi није доступан"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Инсталирање није успело. Пробајте поново"</string>
     <string name="action_settings" msgid="5729342767795123227">"Подешавања"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Терминал се припрема"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Терминал се зауставља"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Терминал је отказао"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Промена величине диска"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Промените величину / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Промена величине диска"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Промените величину основне партиције"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Величина диска је подешена"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Додељено <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Макс. <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Откажи"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Рестартуј и примени"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Прослеђивање порта"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Конфигуришите прослеђивање порта"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Терминал покушава да отвори нови порт"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Порт чије је отварање тражено: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Примени"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Терминал ће се рестартовати да би се променила величина диска"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Потврди"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Контрола порта"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Дозволите или забраните портове за слушање"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Портови за слушање"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Сачувани дозвољени портови"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"Избриши <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Дозволите нови порт"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Унесите нови број порта"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Сачувај"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Откажи"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Терминал тражи да отвори нови порт"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Обавезан порт: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Прихвати"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Одбиј"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Опоравак"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Опције опоравка партиција"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Промени на почетну верзију"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Уклоните све"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Опције опоравка партиција"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Вратите на почетну верзију"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Уклоните све податке"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Ресетујте терминал"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Подаци ће бити избрисани"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Потврди"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Подаци ће бити уклоњени"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Ресетуј"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Откажи"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Направи резервну копију података на <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Опоравак није успео јер прављење резервне копије није успело"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Опоравак није успео због грешке при прављењу резервне копије"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Опоравак није успео"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Уклањање фајла резервне копије није успело"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Уклањање резервне копије података није успело"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Уклоните резервну копију"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Обришите <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Непоправљива грешка"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Опоравак од грешке није успео.\nПробајте да рестартујете апликацију или пробајте једну од опција за враћање."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Уклоните <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Непоправљива грешка"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Кôд грешке: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Подешавања"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Терминал је активан"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Кликните да бисте отворили терминал"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Кликните да бисте отворили терминал"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Затвори"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Терминал се затвара"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Принудно затвори"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> је омогућен"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-sv/strings.xml b/android/TerminalApp/res/values-sv/strings.xml
index 692f89c..ce63c99 100644
--- a/android/TerminalApp/res/values-sv/strings.xml
+++ b/android/TerminalApp/res/values-sv/strings.xml
@@ -17,65 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Terminalskärm"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Markör"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Tom rad"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Tryck snabbt två gånger för att skriva in data"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Installera Linux-terminalen"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Om du vill starta Linux-terminalen måste du ladda ned ungefär <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> data via nätverket.\nVill du fortsätta?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Ladda ned när wifi är tillgängligt"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Om du vill starta Linux-terminalen måste du ladda ned ungefär <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> data via nätverket.\nVill du fortsätta?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Ladda endast ned via wifi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Installera"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installerar"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Nätverksfel. Kontrollera anslutningen och försök igen."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Det gick inte att installera på grund av ett nätverksfel. Kontrollera anslutningen och försök igen."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Installerar Linux-terminalen"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux-terminalen startas när processen är klar"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Det gick inte att installera på grund av nätverksproblemet"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Installationen misslyckades. Försök igen."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux-terminalen startas när installationen har slutförts"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Det gick inte att installera på grund av ett nätverksproblem"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Det gick inte att installera eftersom att wifi inte är tillgängligt"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Installationen misslyckades. Försök igen"</string>
     <string name="action_settings" msgid="5729342767795123227">"Inställningar"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Terminalen förbereds"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Stoppar terminalen"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminalen kraschade"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Ändra diskstorlek"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Ändra storlek/Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Ändra diskstorlek"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Ändra storlek på rotpartitionen"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Diskstorlek har angetts"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> har tilldelats"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Max <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Avbryt"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Starta om för att tillämpa"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Port­vidare­befordran"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Konfigurera portvidarebefordran"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminalen försöker öppna en ny port"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port som begärs att öppnas: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Tillämpa"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminalen startas om för att ändra storlek på disken"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Bekräfta"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Portkontroll"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Tillåt/neka lyssningsportar"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Lyssningsportar"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Sparade tillåtna portar"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"Radera <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Tillåt en ny port"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Ange ett nytt portnummer"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Spara"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Avbryt"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminalen begär att öppna en ny port"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Port som begärs: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Godkänn"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Neka"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Återställning"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Återställningsalternativ för partition"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Ändra till ursprunglig version"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Ta bort alla"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Återställningsalternativ för partition"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Återställ till ursprunglig version"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Ta bort all data"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Återställ terminalen"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Data raderas"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Bekräfta"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Data kommer att tas bort"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Återställ"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Avbryt"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Säkerhetskopiera data till <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Återställningen misslyckades eftersom säkerhetskopieringen misslyckades"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Det gick inte att återställa på grund av ett säkerhetskopieringsfel"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Återställningen misslyckades"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Det går inte att ta bort säkerhetskopian"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Det gick inte att ta bort säkerhetskopierad data"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Ta bort säkerhetskopierad data"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Rensa <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <!-- no translation found for error_title (7196464038692913778) -->
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Ta bort <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Allvarligt fel"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
     <skip />
-    <!-- no translation found for error_desc (1939028888570920661) -->
-    <skip />
-    <!-- no translation found for error_code (3585291676855383649) -->
-    <skip />
+    <string name="error_code" msgid="3585291676855383649">"Felkod: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Inställningar"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminalen körs"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Klicka för att öppna terminalen"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Klicka för att öppna terminalen"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Stäng"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminalen stängs av"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Tvinga avstängning"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> har aktiverats"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-sw/strings.xml b/android/TerminalApp/res/values-sw/strings.xml
index ca79457..1505659 100644
--- a/android/TerminalApp/res/values-sw/strings.xml
+++ b/android/TerminalApp/res/values-sw/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Temino"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Skrini ya kituo"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Kiteuzi"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Mstari usio na chochote"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Gusa mara mbili ili uandike data"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Weka temino ya Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Unahitaji kupakua takribani <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ya data kwenye mtandao ili uwashe temino ya Linux.\nUngependa kuendelea?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Pakua wakati Wi-Fi inapatikana"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Unahitaji kupakua takribani <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ya data kupitia mtandao ili uwashe temino ya Linux.\nUngependa kuendelea?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Pakua ukitumia Wi-Fi pekee"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Weka"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Inaweka"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Hitilafu ya mtandao. Angalia muunganisho kisha ujaribu tena."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Imeshindwa kuweka kwenye kifaa kutokana na hitilafu ya mtandao. Kagua muunganisho wako kisha ujaribu tena."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Inaweka temino ya Linux"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Temino ya Linux itawashwa baada ya kumaliza"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Imeshindwa kuweka kwenye kifaa kwa sababu ya tatizo la mtandao"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Imeshindwa kuweka kwenye kifaa. Jaribu tena."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Temino ya Linux itafunguka baada ya kumaliza kuweka kwenye kifaa"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Imeshindwa kuweka kwenye kifaa kutokana na tatizo la mtandao"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Imeshindwa kuweka kwenye kifaa kwa sababu Wi-Fi haipatikani"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Imeshindwa kuweka kwenye kifaa. Tafadhali jaribu tena"</string>
     <string name="action_settings" msgid="5729342767795123227">"Mipangilio"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Inaandaa temino"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Inafunga temino"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Temino imeacha kufanya kazi"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Kubadilisha Ukubwa wa Diski"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Badilisha ukubwa / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Kubadilisha ukubwa wa diski"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Kubadilisha ukubwa wa sehemu yenye idhini maalum ya kudhibiti"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Ukubwa wa diski umewekwa"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> zimekabidhiwa"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Kikomo cha <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Acha"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Zima na uwashe utumie"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Kusambaza Mlango Kwingine"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Weka mipangilio ya kusambaza mlango kwingine"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Kituo kinajaribu kufungua mlango mpya"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Umeomba mlango ufunguliwe: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Tekeleza"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Temino itafungwa kisha ifunguliwe ili kubadilisha ukubwa wa diski"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Thibitisha"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Udhibiti wa mlango"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Ruhusu au kataa milango ya usikilizaji"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Milango ya usikilizaji"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Umehifadhi milango inayoruhusiwa"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"Futa <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Ruhusu mlango mpya"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Weka namba ya mlango mpya"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Hifadhi"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Acha"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Temino inatuma ombi la kufungua mlango mpya"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Ombi la mlango: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Kubali"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Kataa"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Kurejesha"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Chaguo za kurejesha data ya sehemu"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Rudi kwenye Toleo la awali"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Ondoa yote"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Chaguo za kurejesha data ya sehemu"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Kurejesha mipangilio ya toleo la awali"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Ondoa data yako yote"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Badilisha temino"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Data itafutwa"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Thibitisha"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Data itaondolewa"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Weka upya"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Acha"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Hifadhi nakala ya data kwenye <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Haikurejesha kwa sababu imeshindwa kuhifadhi nakala"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Imeshindwa kurejesha kutokana na hitilafu ya kuhifadhi nakala"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Haikurejesha"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Imeshindwa kuondoa faili yenye hifadhi nakala"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Imeshindwa kuondoa data ya kuhifadhi nakala"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Ondoa data ya nakala"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Safisha <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Hitilafu Inayozuia Kurejesha"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Imeshindwa kurejea kutoka hali ya hitilafu.\nUnaweza kujaribu kufungua programu upya au ujaribu mojawapo ya chaguo za urejeshaji."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Ondoa <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Hitilafu inayozuia kurejesha"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Msimbo wa hitilafu: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Mipangilio"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Temino inatumika"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Bofya ili ufungue temino"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Bofya ili ufungue temino"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Funga"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Kituo kinafungwa"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Lazimisha kufunga"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> imewashwa"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-ta/strings.xml b/android/TerminalApp/res/values-ta/strings.xml
index e99b837..fbd4c97 100644
--- a/android/TerminalApp/res/values-ta/strings.xml
+++ b/android/TerminalApp/res/values-ta/strings.xml
@@ -20,55 +20,75 @@
     <string name="terminal_display" msgid="4810127497644015237">"டெர்மினல் டிஸ்ப்ளே"</string>
     <string name="terminal_input" msgid="4602512831433433551">"கர்சர்"</string>
     <string name="empty_line" msgid="5012067143408427178">"வெற்று வரி"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"உள்ளீட்டை டைப் செய்ய இருமுறை தட்டுங்கள்"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux டெர்மினலை நிறுவுதல்"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux டெர்மினலைத் தொடங்க, நெட்வொர்க் மூலம் நீங்கள் சுமார் <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> தரவைப் பதிவிறக்க வேண்டும்.\nதொடர விரும்புகிறீர்களா?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"வைஃபை கிடைக்கும்போது பதிவிறக்கு"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux டெர்மினலைத் தொடங்க, நெட்வொர்க் மூலம் நீங்கள் சுமார் <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> தரவைப் பதிவிறக்க வேண்டும்.\nதொடர விரும்புகிறீர்களா?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"வைஃபையைப் பயன்படுத்தி மட்டும் பதிவிறக்கு"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"நிறுவு"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"நிறுவுகிறது"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"நெட்வொர்க் பிழை. இணைப்பைச் சரிபார்த்து மீண்டும் முயலவும்."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"நெட்வொர்க்கில் பிழை காரணமாக நிறுவ முடியவில்லை. இணைய இணைப்பைச் சரிபார்த்துவிட்டு மீண்டும் முயலவும்."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux டெர்மினலை நிறுவுகிறது"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"நிறைவடைந்ததும் Linux டெர்மினல் தொடங்கப்படும்"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"நெட்வொர்க் சிக்கல் இருப்பதால் நிறுவ முடியவில்லை"</string>
-    <string name="installer_error_no_wifi" msgid="8631584648989718121">"வைஃபை கிடைக்காததால் நிறுவ முடியவில்லை"</string>
-    <string name="installer_error_unknown" msgid="1991780204241177455">"நிறுவ முடியவில்லை. மீண்டும் முயலவும்."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"நிறுவப்பட்டதும் Linux டெர்மினல் தொடங்கும்"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"நெட்வொர்க் சிக்கல் காரணமாக நிறுவ முடியவில்லை"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"வைஃபை கிடைக்காததால் நிறுவ முடியவில்லை"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"நிறுவ முடியவில்லை. மீண்டும் முயலவும்."</string>
     <string name="action_settings" msgid="5729342767795123227">"அமைப்புகள்"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"டெர்மினலைத் தயார்செய்கிறது"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"டெர்மினல் நிறுத்தப்படுகிறது"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"டெர்மினல் சிதைவடைந்தது"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"டிஸ்க் அளவை மாற்றுதல்"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"அளவை மாற்று / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"டிஸ்க் அளவை மாற்றுதல்"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"ரூட் பார்டிஷன் அளவை மாற்றுதல்"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"டிஸ்க் அளவு அமைக்கப்பட்டது"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> ஒதுக்கப்பட்டது"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"அதிகபட்சம் <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"ரத்துசெய்"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"பயன்படுத்த தொடங்குக"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"போர்ட் அனுப்புதல்"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"போர்ட் அனுப்புதலை உள்ளமைத்தல்"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"டெர்மினல் புதிய போர்ட்டைத் திறக்க முயல்கிறது"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"திறக்கும்படி கேட்கப்பட்டுள்ள போர்ட்: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"பயன்படுத்து"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"டிஸ்க் அளவை மாற்ற டெர்மினல் மீண்டும் தொடங்கப்படும்"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"உறுதிசெய்"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"போர்ட் கட்டுப்பாடு"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"லிஸனிங் போர்ட்டுகளை அனுமதித்தல்/நிராகரித்தல்"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"லிஸனிங் போர்ட்டுகள்"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"சேமித்த அனுமதிக்கப்பட்ட போர்ட்டுகள்"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"<xliff:g id="PORT_NUMBER">%d</xliff:g> ஐ நீக்கும்"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"புதிய போர்ட்டை அனுமதித்தல்"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"புதிய போர்ட் எண்ணை டைப் செய்யுங்கள்"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"சேமி"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"ரத்துசெய்"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"டெர்மினல் புதிய போர்ட்டைத் திறக்குமாறு கேட்கிறது"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"போர்ட் கேட்கப்பட்டுள்ளது: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"ஏற்கிறேன்"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"நிராகரி"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"மீட்டெடுத்தல்"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"பார்டிஷன் மீட்டெடுப்பு விருப்பங்கள்"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"முதல் பதிப்பிற்கு மாற்று"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"அனைத்தையும் அகற்றும்"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"பார்டிஷன் மீட்டெடுப்பு விருப்பங்கள்"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"தொடக்கப் பதிப்பிற்கு மீட்டமைத்தல்"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"அனைத்துத் தரவையும் அகற்றுதல்"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"டெர்மினலை மீட்டமைத்தல்"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"தரவு நீக்கப்படும்"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"உறுதிசெய்"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"தரவு அகற்றப்படும்"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"மீட்டமை"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"ரத்துசெய்"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g> இல் உள்ள தரவைக் காப்புப் பிரதி எடுத்தல்"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"காப்புப் பிரதி எடுத்தல் தோல்வியடைந்ததால் மீட்டெடுக்க முடியவில்லை"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"காப்புப் பிரதி எடுப்பதில் பிழை ஏற்பட்டதால் மீட்டெடுக்க முடியவில்லை"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"மீட்டெடுக்க முடியவில்லை"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"காப்புப் பிரதி ஃபைலை அகற்ற முடியவில்லை"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"காப்புப் பிரதி எடுக்கப்பட்ட தரவை அகற்ற முடியவில்லை"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"காப்புப் பிரதித் தரவை அகற்றுதல்"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> ஐக் காலியாக்குதல்"</string>
-    <string name="error_title" msgid="7196464038692913778">"சரிசெய்ய முடியாத பிழை"</string>
-    <string name="error_desc" msgid="1939028888570920661">"பிழையைச் சரிசெய்ய முடியவில்லை.\nநீங்கள் ஆப்ஸை மீண்டும் தொடங்க முயலலாம் அல்லது மீட்டெடுப்பு விருப்பங்களில் ஒன்றைப் பயன்படுத்திப் பார்க்கலாம்."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> ஐ அகற்றுதல்"</string>
+    <string name="error_title" msgid="405150657301906598">"சரிசெய்ய முடியாத பிழை"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"பிழைக் குறியீடு: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"அமைப்புகள்"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"டெர்மினல் இயக்கத்தில் உள்ளது"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"டெர்மினலைத் திறக்க கிளிக் செய்யுங்கள்"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"டெர்மினலைத் திறக்க கிளிக் செய்யுங்கள்"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"மூடு"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"டெர்மினல் மூடப்படுகிறது"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"உடனே மூடு"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> இயக்கப்பட்டது"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-te/strings.xml b/android/TerminalApp/res/values-te/strings.xml
index e13f2dc..b6d71df 100644
--- a/android/TerminalApp/res/values-te/strings.xml
+++ b/android/TerminalApp/res/values-te/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"టెర్మినల్"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Terminal డిస్‌ప్లే"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"కర్సర్"</string>
+    <string name="empty_line" msgid="5012067143408427178">"ఖాళీ లైన్"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"డబుల్-ట్యాప్ చేసి ఇన్‌పుట్‌ను టైప్ చేయండి"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux టెర్మినల్‌ను ఇన్‌స్టాల్ చేయండి"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux టెర్మినల్‌ను ప్రారంభించడానికి, మీరు నెట్‌వర్క్ ద్వారా దాదాపు <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> డేటాను డౌన్‌లోడ్ చేసుకోవాలి.\nమీరు కొనసాగిస్తారా?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Wi-Fi అందుబాటులో ఉన్నప్పుడు డౌన్‌లోడ్ చేయండి"</string>
-    <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ఇన్‌స్టాల్ చేయి"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux టెర్మినల్‌ను ప్రారంభించడానికి, మీరు నెట్‌వర్క్ ద్వారా దాదాపు <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> డేటాను డౌన్‌లోడ్ చేసుకోవాలి.\nమీరు కొనసాగించాలనుకుంటున్నారా?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Wi-Fiని ఉపయోగించి మాత్రమే డౌన్‌లోడ్ చేయండి"</string>
+    <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ఇన్‌స్టాల్"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"ఇన్‌స్టాల్ చేస్తోంది"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"నెట్‌వర్క్ ఎర్రర్. కనెక్షన్‌ను చెక్ చేసి, మళ్లీ ట్రై చేయండి."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"నెట్‌వర్క్ ఎర్రర్ కారణంగా ఇన్‌స్టాల్ చేయడం విఫలమైంది. మీ కనెక్షన్‌ను చెక్ చేసి మళ్లీ ట్రై చేయండి."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux టెర్మినల్‌ను ఇన్‌స్టాల్ చేస్తోంది"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"పూర్తయిన తర్వాత Linux టెర్మినల్ ప్రారంభమవుతుంది"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"నెట్‌వర్క్ సమస్య కారణంగా ఇన్‌స్టాల్ చేయడం విఫలమైంది"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"ఇన్‌స్టాల్ చేయడం విఫలమైంది. మళ్లీ ట్రై చేయండి."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"ఇన్‌స్టాలేషన్ పూర్తయిన తర్వాత Linux టెర్మినల్ ప్రారంభమవుతుంది"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"నెట్‌వర్క్ సమస్య కారణంగా ఇన్‌స్టాల్ చేయడం విఫలమైంది"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Wi-Fi అందుబాటులో లేని కారణంగా ఇన్‌స్టాల్ చేయడం విఫలమైంది"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"ఇన్‌స్టాల్ చేయడం విఫలమైంది. దయచేసి మళ్లీ ట్రై చేయండి"</string>
     <string name="action_settings" msgid="5729342767795123227">"సెట్టింగ్‌లు"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"టెర్మినల్‌ను సిద్ధం చేస్తోంది"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"టెర్మినల్‌ను ఆపివేస్తోంది"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"టెర్మినల్ క్రాష్ అయింది"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"డిస్క్ సైజ్ మార్చడం"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"సైజ్ మార్చండి / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"డిస్క్ సైజ్ మార్చడం"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"రూట్ పార్టిషన్ సైజ్‌ను మార్చండి"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"డిస్క్ సైజ్ సెట్ చేయబడింది"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> కేటాయించబడింది"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"గరిష్ఠంగా <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"రద్దు చేయండి"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"వర్తించేందుకు రీస్టార్ట్ చేయండి"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"పోర్ట్ ఫార్వర్డింగ్"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"పోర్ట్ ఫార్వర్డింగ్‌ను కాన్ఫిగర్ చేయండి"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"టెర్మినల్ ఒక కొత్త పోర్ట్‌ను తెరవడానికి ట్రై చేస్తోంది"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"పోర్ట్ తెరవాలని రిక్వెస్ట్ చేశారు: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"వర్తింపజేయండి"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"డిస్క్ సైజ్‌ను మార్చడానికి టెర్మినల్ రీస్టార్ట్ అవుతుంది"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"నిర్ధారించండి"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"పోర్ట్ కంట్రోల్"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"వినే పోర్ట్‌లకు అనుమతినివ్వండి/తిరస్కరించండి"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"వినే పోర్ట్‌లు"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"సేవ్ చేసిన, అనుమతి ఉన్న పోర్ట్‌లు"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"<xliff:g id="PORT_NUMBER">%d</xliff:g>‌ను తొలగించండి"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"కొత్త పోర్ట్‌కు అనుమతినివ్వండి"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"కొత్త పోర్ట్ నంబర్‌ను ఎంటర్ చేయండి"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"సేవ్ చేయండి"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"రద్దు చేయండి"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"టెర్మినల్ ఒక కొత్త పోర్ట్‌ను తెరవడానికి రిక్వెస్ట్ చేస్తోంది"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"పోర్ట్ రిక్వెస్ట్ చేయబడింది: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"ఆమోదించండి"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"తిరస్కరించండి"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"రికవరీ"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"పార్టిషన్ రికవరీ ఆప్షన్‌లు"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"మొదటి వెర్షన్‌కు మార్చండి"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"అన్నీ తీసివేయండి"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"పార్టిషన్ రికవరీ ఆప్షన్‌లు"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"మొదటి వెర్షన్‌కు రీసెట్ చేయండి"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"మొత్తం డేటాను తీసివేయండి"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"టెర్మినల్‌ను రీసెట్ చేయండి"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"డేటా తొలగించబడుతుంది"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"నిర్ధారించండి"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"డేటా తీసివేయబడుతుంది"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"రీసెట్ చేయండి"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"రద్దు చేయండి"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g>‌లో డేటాను బ్యాకప్ చేయండి"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"బ్యాకప్ విఫలమైనందున రికవరీ విఫలమైంది"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"బ్యాకప్ ఎర్రర్ కారణంగా రికవర్ చేయడం విఫలమైంది"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"రికవరీ విఫలమైంది"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"బ్యాకప్ ఫైల్‌ను తీసివేయడం సాధ్యపడదు"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"బ్యాకప్ డేటాను తీసివేయడం విఫలమైంది"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"బ్యాకప్ డేటాను తీసివేయండి"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"క్లీనప్ <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"రికవరీని అసాధ్యం చేసే ఎర్రర్"</string>
-    <string name="error_desc" msgid="1939028888570920661">"ఎర్రర్‌ను రికవర్ చేయడంలో విఫలమైంది.\nమీరు యాప్‌ను రీస్టార్ట్ చేసి ట్రై చేయవచ్చు లేదా రికవరీ ఆప్షన్‌లలో ఒకదాన్ని ట్రై చేయవచ్చు."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g>‌ను తీసివేయండి"</string>
+    <string name="error_title" msgid="405150657301906598">"రికవరీని అసాధ్యం చేసే ఎర్రర్"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"ఎర్రర్ కోడ్: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"సెట్టింగ్‌లు"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"టెర్మినల్ రన్ అవుతోంది"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"టెర్మినల్‌ను తెరవడానికి క్లిక్ చేయండి"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"టెర్మినల్‌ను తెరవడానికి క్లిక్ చేయండి"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"మూసివేయండి"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminal మూసివేయబడుతోంది"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"బలవంతంగా మూసివేయండి"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> ప్రారంభించబడింది"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-th/strings.xml b/android/TerminalApp/res/values-th/strings.xml
index 0a96ca3..58f638d 100644
--- a/android/TerminalApp/res/values-th/strings.xml
+++ b/android/TerminalApp/res/values-th/strings.xml
@@ -20,55 +20,75 @@
     <string name="terminal_display" msgid="4810127497644015237">"จอแสดงผลของเทอร์มินัล"</string>
     <string name="terminal_input" msgid="4602512831433433551">"เคอร์เซอร์"</string>
     <string name="empty_line" msgid="5012067143408427178">"บรรทัดว่างเปล่า"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"แตะสองครั้งเพื่อพิมพ์ข้อความ"</string>
     <string name="installer_title_text" msgid="500663060973466805">"ติดตั้งเทอร์มินัล Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"หากต้องการเปิดเทอร์มินัล Linux คุณจะต้องดาวน์โหลดข้อมูลประมาณ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ผ่านเครือข่าย\nคุณต้องการดำเนินการต่อไหม"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"ดาวน์โหลดเมื่อมีการเชื่อมต่อ Wi-Fi"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"หากต้องการเปิดเทอร์มินัล Linux คุณจะต้องดาวน์โหลดข้อมูลประมาณ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ผ่านเครือข่าย\nคุณต้องการดำเนินการต่อไหม"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"ดาวน์โหลดโดยใช้ Wi-Fi เท่านั้น"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ติดตั้ง"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"กำลังติดตั้ง"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"ข้อผิดพลาดเกี่ยวกับเครือข่าย ตรวจสอบการเชื่อมต่อแล้วลองอีกครั้ง"</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"ติดตั้งไม่สำเร็จเนื่องจากมีข้อผิดพลาดเกี่ยวกับเครือข่าย โปรดตรวจสอบการเชื่อมต่อแล้วลองอีกครั้ง"</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"กำลังติดตั้งเทอร์มินัล Linux"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"เทอร์มินัล Linux จะเริ่มต้นหลังจากติดตั้งเสร็จ"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"ติดตั้งไม่สำเร็จเนื่องจากมีปัญหาเครือข่าย"</string>
-    <string name="installer_error_no_wifi" msgid="8631584648989718121">"ติดตั้งไม่สำเร็จเนื่องจากไม่มี Wi-Fi"</string>
-    <string name="installer_error_unknown" msgid="1991780204241177455">"ติดตั้งไม่สำเร็จ โปรดลองอีกครั้ง"</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"เทอร์มินัล Linux จะเริ่มต้นหลังจากติดตั้งเสร็จแล้ว"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"ติดตั้งไม่สำเร็จเนื่องจากมีปัญหาเครือข่าย"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"ติดตั้งไม่สำเร็จเนื่องจากไม่มี Wi-Fi"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"ติดตั้งไม่สำเร็จ โปรดลองอีกครั้ง"</string>
     <string name="action_settings" msgid="5729342767795123227">"การตั้งค่า"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"กำลังเตรียมเทอร์มินัล"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"กำลังหยุดเทอร์มินัล"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"เทอร์มินัลขัดข้อง"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"การปรับขนาดดิสก์"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"ปรับขนาด/Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"การปรับขนาดดิสก์"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"ปรับขนาดรูทพาร์ติชัน"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"ตั้งค่าขนาดดิสก์แล้ว"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"กำหนดขนาด <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> แล้ว"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"สูงสุด <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"ยกเลิก"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"รีสตาร์ทเพื่อใช้"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"การส่งต่อพอร์ต"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"กำหนดค่าการส่งต่อพอร์ต"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"เทอร์มินัลกำลังพยายามเปิดพอร์ตใหม่"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"พอร์ตที่ขอให้เปิด: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"ใช้"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ระบบจะรีสตาร์ทเทอร์มินัลเพื่อปรับขนาดดิสก์"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"ยืนยัน"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"การควบคุมพอร์ต"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"อนุญาต/ปฏิเสธพอร์ตที่กำลังรอการเชื่อมต่อ"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"พอร์ตที่กำลังรอการเชื่อมต่อ"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"บันทึกพอร์ตที่อนุญาตแล้ว"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"ลบ <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"อนุญาตพอร์ตใหม่"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"ป้อนหมายเลขพอร์ตใหม่"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"บันทึก"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"ยกเลิก"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"เทอร์มินัลกำลังส่งคำขอเปิดพอร์ตใหม่"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"พอร์ตที่ขอ: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"ยอมรับ"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"ปฏิเสธ"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"การกู้คืน"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"ตัวเลือกการกู้คืนพาร์ติชัน"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"เปลี่ยนเป็นเวอร์ชันเริ่มต้น"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"นำออกทั้งหมด"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"ตัวเลือกการกู้คืนพาร์ติชัน"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"รีเซ็ตเป็นเวอร์ชันเริ่มต้น"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"นำข้อมูลทั้งหมดออก"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"รีเซ็ตเทอร์มินัล"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ระบบจะลบข้อมูล"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"ยืนยัน"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ระบบจะนําข้อมูลออก"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"รีเซ็ต"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"ยกเลิก"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"สำรองข้อมูลไปยัง <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"กู้คืนไม่สำเร็จเนื่องจากสำรองข้อมูลไม่สำเร็จ"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"กู้คืนไม่สำเร็จเนื่องจากเกิดข้อผิดพลาดในการสำรองข้อมูล"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"การกู้คืนไม่สำเร็จ"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"นำไฟล์ข้อมูลสำรองออกไม่ได้"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"นําข้อมูลสํารองออกไม่สําเร็จ"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"นําข้อมูลสํารองออก"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"ล้าง <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"ข้อผิดพลาดที่กู้คืนไม่ได้"</string>
-    <string name="error_desc" msgid="1939028888570920661">"กู้คืนจากข้อผิดพลาดไม่สำเร็จ\nคุณสามารถลองรีสตาร์ทแอปหรือลองใช้ตัวเลือกการกู้คืนได้"</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"นำ <xliff:g id="PATH">/mnt/backup</xliff:g> ออก"</string>
+    <string name="error_title" msgid="405150657301906598">"ข้อผิดพลาดที่กู้คืนไม่ได้"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"รหัสข้อผิดพลาด: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"การตั้งค่า"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"เทอร์มินัลกำลังทำงาน"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"คลิกเพื่อเปิดเทอร์มินัล"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"คลิกเพื่อเปิดเทอร์มินัล"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"ปิด"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"เทอร์มินัลกำลังจะปิด"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"บังคับปิด"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"เปิดใช้งาน <xliff:g id="ID_1">VirGL</xliff:g> แล้ว"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-tl/strings.xml b/android/TerminalApp/res/values-tl/strings.xml
index 29f316e..5e4a345 100644
--- a/android/TerminalApp/res/values-tl/strings.xml
+++ b/android/TerminalApp/res/values-tl/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Display ng terminal"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Walang lamang linya"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Mag-double tap para mag-type ng input"</string>
     <string name="installer_title_text" msgid="500663060973466805">"I-install ang terminal ng Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Para ilunsad ang terminal ng Linux, kailangan mong mag-download ng humigit-kumulang <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> na data sa network.\nGusto mo bang magpatuloy?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"I-download kapag available ang Wi-Fi"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Para ilunsad ang terminal ng Linux, kailangan mong mag-download ng humigit-kumulang <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> na data sa network.\nGusto mo bang magpatuloy?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Mag-download sa pamamagitan lang ng Wi-Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"I-install"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Ini-install"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Error sa network. Tingnan ang koneksyon at subukan ulit."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Hindi na-install dahil sa error sa network. Suriin ang iyong koneksyon at subukan ulit."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Ini-install ang terminal ng Linux"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Magsisimula ang terminal ng Linux pagkatapos mag-install"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Hindi na-install dahil sa isyu sa network"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Hindi na-install. Subukan ulit."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Magsisimula ang terminal ng Linux pagkatapos ng pag-install"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Hindi na-install dahil sa isyu sa network"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Hindi na-install dahil walang Wi-Fi"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Hindi na-install. Pakisubukan ulit"</string>
     <string name="action_settings" msgid="5729342767795123227">"Mga Setting"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Inihahanda ang terminal"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Hinihinto ang terminal"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Nag-crash ang terminal"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"I-resize ang Disk"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"I-resize / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Pag-resize ng disk"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"I-resize ang laki ng root partition"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Nakatakda na ang laki ng disk"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> ang nakatalaga"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> ang max"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Kanselahin"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"I-restart para gawin"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Pag-forward ng Port"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"I-configure ang pag-forward ng port"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Sinusubukan ng terminal na magbukas ng bagong port"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port na na-request na maging bukas: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Ilapat"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Ire-restart ang terminal para i-resize ang disk"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Kumpirmahin"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Kontrol ng port"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Payagan/tanggihan ang mga port ng pakikinig"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Mga port sa pakikinig"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"I-save ang mga pinayagang port"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"I-delete ang <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Payagan ang bagong port"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Maglagay ng bagong port number"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"I-save"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Kanselahin"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Nag-request ang terminal na magbukas ng bagong port"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Ni-request na port: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Tanggapin"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Tanggihan"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Pag-recover"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Mga opsyon sa Pag-recover ng Partition"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Baguhin sa inisyal na bersyon"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Alisin lahat"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Mga opsyon sa pag-recover ng partition"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"I-reset sa inisyal na bersyon"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Alisin ang lahat ng data"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"I-reset ang terminal"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Made-delete ang data"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Kumpirmahin"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Aalisin ang data"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"I-reset"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Kanselahin"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Mag-back up ng data sa <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Hindi na-recover dahil hindi gumana ang backup"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Hindi na-recover dahil sa error sa backup"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Hindi na-recover"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Hindi maalis ang backup file"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Hindi naalis ang backup na data"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Alisin ang backup data"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"I-clean up ang <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Hindi nare-recover na error"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Hindi naka-recover mula sa isang error.\nPuwede mong subukang i-restart ang app, o subukan ang isa sa mga opsyon sa pag-recover."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Alisin ang <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Hindi nare-recover na error"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Code ng error: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Mga Setting"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Gumagana ang terminal"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"I-click para buksan ang terminal"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"I-click para buksan ang terminal"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Isara"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Nagsasara ang terminal"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Sapilitang isara"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"Na-enable ang <xliff:g id="ID_1">VirGL</xliff:g>"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-tr/strings.xml b/android/TerminalApp/res/values-tr/strings.xml
index 5ad93ae..c00846d 100644
--- a/android/TerminalApp/res/values-tr/strings.xml
+++ b/android/TerminalApp/res/values-tr/strings.xml
@@ -17,65 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Terminal ekranı"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"İmleç"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Boş satır"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Yazarak giriş yapmak için iki kez dokunun"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux terminalini yükleyin"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux terminalini başlatmak için ağ üzerinden yaklaşık <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> veri indirmeniz gerekir.\nDevam etmek istiyor musunuz?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Kablosuz bağlantı olduğunda indir"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux terminalini başlatmak için ağ üzerinden yaklaşık <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> veri indirmeniz gerekir.\nDevam etmek istiyor musunuz?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Yalnızca kablosuz bağlantıyla indir"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Yükle"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Yükleniyor"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Ağ hatası. Bağlantıyı kontrol edip tekrar deneyin."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Bir ağ hatası nedeniyle yüklenemedi. Bağlantınızı kontrol edip tekrar deneyin."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux terminali yükleniyor"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux terminali, işlem tamamlandıktan sonra başlatılacak"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Ağ sorunu nedeniyle yüklenemedi."</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Yüklenemedi. Tekrar deneyin."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux terminali, yükleme işlemi tamamlandıktan sonra başlatılacak"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Ağ sorunu nedeniyle yüklenemedi"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Kablosuz bağlantı olmadığından yükleme işlemi başarısız oldu"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Yüklenemedi. Lütfen tekrar deneyin"</string>
     <string name="action_settings" msgid="5729342767795123227">"Ayarlar"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Terminal hazırlanıyor"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Terminal durduruluyor"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminal kilitlendi"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Diski yeniden boyutlandır"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Yeniden boyutlandır/Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Diski yeniden boyutlandır"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Kök bölüm boyutunu yeniden ayarlayın"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Disk boyutu ayarlandı"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> atandı"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> maks."</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"İptal"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Uygulamak için yeniden başlatın"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Bağlantı noktası yönlendirme"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Bağlantı noktası yönlendirmeyi yapılandır"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal yeni bir bağlantı noktası açmaya çalışıyor"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Açılması istenen bağlantı noktası: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Uygula"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal, diski yeniden boyutlandırmak için yeniden başlatılacak"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Onayla"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Bağlantı noktası kontrolü"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Dinelenen bağlantı noktalarına izin ver/izin verme"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Dinlenen bağlantı noktaları"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"İzin verilen kayıtlı bağlantı noktaları"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Yeni bir bağlantı noktasına izin verme"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Yeni bir bağlantı noktası numarası girin"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Kaydet"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"İptal"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal yeni bir bağlantı noktası açmak istiyor"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"İstenilen bağlantı noktası: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Kabul et"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Reddet"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Kurtarma"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Bölüm kurtarma seçenekleri"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"İlk sürüme geç"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Tümünü kaldır"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Bölüm kurtarma seçenekleri"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"İlk sürüme sıfırla"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Verilerin tümünü kaldır"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Terminali sıfırla"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Veriler silinecek"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Onayla"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Veriler kaldırılacak"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Sıfırla"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"İptal"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Verileri <xliff:g id="PATH">/mnt/backup</xliff:g> konumuna yedekle"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Yedekleme işlemi başarısız olduğu için kurtarma işlemi tamamlanamadı"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Yedekleme hatası nedeniyle kurtarılamadı"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Kurtarma işlemi başarısız oldu"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Yedek dosyası kaldırılamıyor"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Yedek veriler kaldırılamadı"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Yedek verileri kaldır"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> konumundaki verileri temizle"</string>
-    <!-- no translation found for error_title (7196464038692913778) -->
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> etiketini kaldır"</string>
+    <string name="error_title" msgid="405150657301906598">"Düzeltilemeyen hata"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
     <skip />
-    <!-- no translation found for error_desc (1939028888570920661) -->
-    <skip />
-    <!-- no translation found for error_code (3585291676855383649) -->
-    <skip />
+    <string name="error_code" msgid="3585291676855383649">"Hata kodu: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Ayarlar"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminal çalışıyor"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Terminali açmak için tıklayın"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Terminali açmak için tıklayın"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Kapat"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminal kapanıyor"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Uygulamayı kapat"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> etkinleştirildi"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-uk/strings.xml b/android/TerminalApp/res/values-uk/strings.xml
index c883d3a..3a22312 100644
--- a/android/TerminalApp/res/values-uk/strings.xml
+++ b/android/TerminalApp/res/values-uk/strings.xml
@@ -17,65 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Термінал"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Дисплей термінала"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Курсор"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Пустий рядок"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Двічі торкніться, щоб ввести текст"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Установити термінал Linux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Щоб запустити термінал Linux, потрібно завантажити приблизно <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> даних через мережу.\nПродовжити?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Завантажити через Wi-Fi, коли буде доступно"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Щоб запустити термінал Linux, потрібно завантажити приблизно <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> даних через мережу.\nПродовжити?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Завантажувати лише через Wi-Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Установити"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Встановлення"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Помилка мережі. Перевірте з’єднання й повторіть спробу."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Не вдалося встановити через помилку мережі. Перевірте з’єднання й повторіть спробу."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Встановлення термінала Linux"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Після завершення буде запущено термінал Linux"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Не вдалося встановити через проблему з мережею"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Не вдалося встановити. Повторіть спробу."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Термінал Linux запуститься після встановлення"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Не вдалося встановити через проблему з мережею"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Не вдалося встановити, оскільки немає Wi-Fi-з’єднання"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Не вдалося встановити. Повторіть спробу."</string>
     <string name="action_settings" msgid="5729342767795123227">"Налаштування"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Підготовка термінала"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Зупинка термінала"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Збій термінала"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Зміна розміру диска"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Змінити розмір/Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Зміна розміру диска"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Змінити розмір кореневого розділу"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Розмір диска вказано"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Виділено <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Максимальний розмір: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Скасувати"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Перезапустити, щоб застосувати"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Переадресація порту"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Налаштувати переадресацію порту"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Термінал намагається відкрити новий порт"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Порт, який потрібно відкрити: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Застосувати"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Термінал буде перезапущено, щоб змінити розмір диска"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Підтвердити"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Керування портами"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Дозволити/заборонити порти прослуховування"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Порти прослуховування"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Збережені дозволені порти"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Дозволити новий порт"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Введіть новий номер порту"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Зберегти"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Скасувати"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Термінал просить відкрити новий порт"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Порт, указаний у запиті: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Прийняти"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Відхилити"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Відновлення"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Способи відновлення розділів"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Змінити на початкову версію"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Видалити все"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Способи відновлення розділів"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Відновити початкову версію"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Видалити всі дані"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Скинути налаштування термінала"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Дані буде видалено"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Підтвердити"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Дані буде видалено"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Скинути"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Скасувати"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Створити резервну копію даних у <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Не вдалося відновити, оскільки резервну копію не створено"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Не вдалося відновити через помилку резервного копіювання"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Не вдалося відновити"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Не вдалося вилучити файл резервної копії"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Не вдалося видалити резервну копію даних"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Видалити резервну копію даних"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Очистити <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <!-- no translation found for error_title (7196464038692913778) -->
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Видалити <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Помилка з неможливістю відновлення"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
     <skip />
-    <!-- no translation found for error_desc (1939028888570920661) -->
-    <skip />
-    <!-- no translation found for error_code (3585291676855383649) -->
-    <skip />
+    <string name="error_code" msgid="3585291676855383649">"Код помилки: <xliff:g id="ERROR_CODE">%s</xliff:g>."</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Налаштування"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Термінал запущено"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Натисніть, щоб відкрити термінал"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Натисніть, щоб відкрити термінал"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Закрити"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Термінал закривається"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Примусово закрити"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> увімкнено"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-ur/strings.xml b/android/TerminalApp/res/values-ur/strings.xml
index 81c051f..ccb751c 100644
--- a/android/TerminalApp/res/values-ur/strings.xml
+++ b/android/TerminalApp/res/values-ur/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"ٹرمینل"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"ٹرمینل ڈسپلے"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"کرسر"</string>
+    <string name="empty_line" msgid="5012067143408427178">"خالی لائن"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"ان پٹ ٹائپ کرنے کے لیے دو بار تھپتھپائیں"</string>
     <string name="installer_title_text" msgid="500663060973466805">"‫Linux ٹرمینل انسٹال کریں"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"‫Linux ٹرمینل کو شروع کرنے کے لیے، آپ کو نیٹ ورک پر تقریباً <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ڈیٹا ڈاؤن لوڈ کرنا ہوگا۔\nکیا آپ آگے بڑھیں گے؟"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"‫Wi-Fi دستیاب ہونے پر ڈاؤن لوڈ کریں"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"‫Linux ٹرمینل شروع کرنے کے لیے، آپ کو نیٹ ورک پر تقریباً <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ڈیٹا ڈاؤن لوڈ کرنا ہوگا۔\nکیا آپ آگے بڑھنا چاہیں گے؟"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"صرف Wi-Fi کا استعمال کر کے ڈاؤن لوڈ کریں"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"انسٹال کریں"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"انسٹال کیا جا رہا ہے"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"نیٹ ورک کی خرابی۔ کنکشن چیک کریں اور دوبارہ کوشش کریں۔"</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"نیٹ ورک کی خرابی کی وجہ سے انسٹال نہیں کیا جا سکا۔ اپنا کنکشن چیک کریں اور دوبارہ کوشش کریں۔"</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"‫Linux ٹرمینل انسٹال ہو رہا ہے"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"مکمل ہونے کے بعد Linux ٹرمینل شروع کیا جا سکے گا"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"نیٹ ورک میں خرابی کی وجہ سے انسٹال نہیں کیا جا سکا"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"انسٹال نہیں کیا جا سکا۔ دوبارہ کوشش کریں۔"</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"انسٹالیشن مکمل ہونے کے بعد Linux ٹرمینل شروع ہو جائے گا"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"نیٹ ورک کے مسئلے کی وجہ سے انسٹال نہیں کیا جا سکا"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"‫Wi-Fi دستیاب نہ ہونے کی وجہ سے انسٹال نہیں کیا جا سکا"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"انسٹال نہیں کیا جا سکا۔ براہ کرم دوبارہ کوشش کریں"</string>
     <string name="action_settings" msgid="5729342767795123227">"ترتیبات"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"ٹرمینل تیار ہو رہا ہے"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"ٹرمینل کو روکا جا رہا ہے"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"ٹرمینل کریش ہو گیا"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"ڈسک کا سائز تبدیل کریں"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"سائز تبدیل کریں / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"ڈسک کا سائز تبدیل کریں"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"روٹ پارٹیشن کا سائز تبدیل کریں"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"ڈسک کے سائز کا سیٹ"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> تفویض کردہ"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"زیادہ سے زیادہ <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"منسوخ کریں"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"لاگو کرنے کے لیے ری سٹارٹ کریں"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"پورٹ فارورڈنگ"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"پورٹ فارورڈنگ کو کنفیگر کریں"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"ٹرمینل ایک نیا پورٹ کھولنے کی کوشش کر رہا ہے"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"پورٹ کو کھولنے کی درخواست کی گئی ہے: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"لاگو کریں"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ڈسک کا سائز تبدیل کرنے کے لیے ٹرمینل کو ری سٹارٹ کیا جائے گا"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"تصدیق کریں"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"پورٹ کنٹرول"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"لسننگ پورٹس کو اجازت دیں/مسترد کریں"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"لسننگ پورٹس"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"اجازت یافتہ پورٹس کو محفوظ کیا گیا"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"<xliff:g id="PORT_NUMBER">%d</xliff:g> حذف کریں"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"نئے پورٹ کی اجازت دی"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"نیا پورٹ نمبر درج کریں"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"محفوظ کریں"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"منسوخ کریں"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"ٹرمینل ایک نیا پورٹ کھولنے کی درخواست کر رہا ہے"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"پورٹ کی درخواست کی گئی: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"قبول کریں"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"مسترد کریں"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"بازیابی"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"پارٹیشن کی بازیابی کے اختیارات"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"ابتدائی ورژن میں تبدیلی"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"سبھی ہٹائیں"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"پارٹیشن کی بازیابی کے اختیارات"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"ابتدائی ورژن پر ری سیٹ کریں"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"سبھی ڈیٹا ہٹائیں"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"ٹرمینل ری سیٹ کریں"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ڈیٹا حذف کر دیا جائے گا"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"تصدیق کریں"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ڈیٹا ہٹا دیا جائے گا"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"ری سیٹ کریں"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"منسوخ کریں"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"‫<xliff:g id="PATH">/mnt/backup</xliff:g> پر ڈیٹا کا بیک اپ لیں"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"بیک اپ ناکام ہونے کی وجہ سے بازیابی ناکام ہو گئی"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"بیک اپ کی خرابی کی وجہ سے بازیاب نہیں کیا جا سکا"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"بازیابی ناکام ہو گئی"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"بیک اپ فائل کو ہٹایا نہیں جا سکتا"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"بیک اپ ڈیٹا نہیں ہٹایا جا سکا"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"بیک اپ ڈیٹا ہٹائیں"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"‫<xliff:g id="PATH">/mnt/backup</xliff:g> کو ہٹائیں"</string>
-    <string name="error_title" msgid="7196464038692913778">"نا قابل بازیابی کی خرابی"</string>
-    <string name="error_desc" msgid="1939028888570920661">"ایک خرابی سے بازیافت کرنے میں ناکام۔\nآپ ایپ کو ری اسٹارٹ کرنے کی کوشش کر سکتے ہیں یا بازیابی کے اختیارات میں سے ایک کو آزما سکتے ہیں۔"</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> ہٹائیں"</string>
+    <string name="error_title" msgid="405150657301906598">"نا قابل بازیابی کی خرابی"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"خرابی کا کوڈ: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"ترتیبات"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"ٹرمینل چل رہا ہے"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"ٹرمینل کھولنے کے لیے کلک کریں"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"ٹرمینل کھولنے کے لیے کلک کریں"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"بند کریں"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"ٹرمینل بند ہو رہا ہے"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"زبردستی بند کریں"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"‫<xliff:g id="ID_1">VirGL</xliff:g> فعال ہے"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-uz/strings.xml b/android/TerminalApp/res/values-uz/strings.xml
index 8093ef1..99b8546 100644
--- a/android/TerminalApp/res/values-uz/strings.xml
+++ b/android/TerminalApp/res/values-uz/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Terminal displeyi"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Kursor"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Boʻsh qator"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Matn kiritish uchun ikki marta bosing"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Linux terminalini oʻrnatish"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux terminalini ishga tushirish uchun tarmoq orqali taxminan <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> axborot yuklab olish kerak.\nDavom etilsinmi?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Wi-Fi tarmoqqa ulanganda yuklab olish"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux terminalini ishga tushirish uchun tarmoq orqali taxminan <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> axborot yuklab olish kerak.\nDavom etilsinmi?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Faqat Wi-Fi orqali yuklab olish"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Oʻrnatish"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Oʻrnatilmoqda"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Tarmoq xatosi. Aloqani tekshirib, qayta urining."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Tarmoq xatosi tufayli oʻrnatilmadi. Ulanishni tekshirib, qaytadan urining."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Linux terminali oʻrnatilmoqda"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux terminali oʻrnatilganidan keyin ishga tushadi"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Tarmoq xatosi sababli oʻrnatilmadi"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Oʻrnatilmadi. Qayta urining."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Oʻrnatish yakunlangach, Linux terminali ishga tushadi"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Tarmoq xatosi sababli oʻrnatilmadi"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Wi-Fi mavjud emasligi sababli oʻrnatilmadi"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Oʻrnatilmadi. Qayta urining"</string>
     <string name="action_settings" msgid="5729342767795123227">"Sozlamalar"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Terminal tayyorlanmoqda"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Terminal toʻxtatilmoqda"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminal ishdan chiqdi"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Disk hajmini oʻzgartirish"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Hajmini oʻzgartirish / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Disk hajmini oʻzgartirish"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Root boʻlimi hajmini oʻzgartirish"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Disk hajmi belgilandi"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> ajratilgan"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maks <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Bekor qilish"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Qoʻllash uchun qayta yoqing"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Portni uzatish"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Portni uzatish sozlamalari"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal yangi port ochishga urinmoqda"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port ochishga ruxsat soʻraldi: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Tatbiq etish"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Disk hajmini oʻzgartirish uchun terminal qayta ishga tushiriladi"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Tasdiqlash"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Portlar boshqaruvi"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Uzatish portlariga ruxsat berish/ularni taqiqlash"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Uzatish postlari"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Ruxsat etilgan portlar saqlandi"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"<xliff:g id="PORT_NUMBER">%d</xliff:g> hisobini oʻchirish"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Yangi portga ruxsat bering"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Yangi port raqamini kiriting"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Saqlash"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Bekor qilish"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal yangi port ochishni talab qilmoqda"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Talab qilingan port: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Qabul qilish"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Rad etish"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Tiklash"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Disk boʻlimini tiklash opsiyalari"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Dastlabki versiyaga oʻzgartirish"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Hammasini tozalash"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Disk boʻlimini tiklash usullari"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Dastlabki versiyaga qaytarish"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Barcha maʼlumotlarni tozalash"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Terminalni asliga qaytarish"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Maʼlumotlar oʻchib ketadi"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Tasdiqlash"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Maʼlumotlar olib tashlanadi"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Tiklash"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Bekor qilish"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Maʼlumotlarni bu yerga zaxiralash: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Zaxiralash amalga oshmagani uchun tiklanmadi"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Zaxiralash xatosi tufayli tiklanmadi"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Tiklanmadi"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Zaxira fayli olib tashlanmadi"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Zaxira maʼlumotlari olib tashlanmadi"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Zaxira maʼlumotlarini olib tashlash"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Tozalash: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Qayta tiklanmaydigan xato"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Xatolikdan tiklanmadi.\nIlovani qayta ishga tushirishingiz yoki tiklash usullaridan birini sinashingiz mumkin."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Olib tashlash: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Qayta tiklanmaydigan xato"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Xatolik kodi: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Sozlamalar"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminal ishga tushgan"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Terminalni ochish uchun bosing"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Terminalni ochish uchun bosing"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Yopish"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminal yopilmoqda"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Majburiy yopish"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> yoniq"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-vi/strings.xml b/android/TerminalApp/res/values-vi/strings.xml
index dd6c5f5..948a2be 100644
--- a/android/TerminalApp/res/values-vi/strings.xml
+++ b/android/TerminalApp/res/values-vi/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Terminal"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Màn hình cửa sổ dòng lệnh"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Con trỏ"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Dòng trống"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Nhấn đúp để nhập nội dung"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Cài đặt Linux terminal"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Để chạy Linux terminal, bạn cần tải khoảng <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> dữ liệu xuống qua mạng.\nBạn có muốn tiếp tục không?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Tải xuống khi có Wi-Fi"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Để chạy ứng dụng Terminal trên Linux, bạn cần tải khoảng <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> dữ liệu xuống qua mạng.\nBạn có muốn tiếp tục không?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Chỉ tải xuống qua Wi-Fi"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Cài đặt"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Đang cài đặt"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Lỗi mạng. Hãy kiểm tra trạng thái kết nối rồi thử lại."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Không cài đặt được do lỗi mạng. Hãy kiểm tra kết nối của bạn rồi thử lại."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Đang cài đặt Linux terminal"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux terminal sẽ khởi động sau khi cài đặt xong"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Không cài đặt được do sự cố mạng"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Không cài đặt được. Hãy thử lại."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Ứng dụng Terminal trên Linux sẽ khởi động sau khi quá trình cài đặt hoàn tất"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Không cài đặt được do sự cố mạng"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Không cài đặt được do không có Wi-Fi"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Không cài đặt được. Vui lòng thử lại"</string>
     <string name="action_settings" msgid="5729342767795123227">"Cài đặt"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Đang chuẩn bị Terminal"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Đang dừng Terminal"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Terminal gặp sự cố"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Đổi kích thước ổ đĩa"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Đổi kích thước/Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Đổi kích thước ổ đĩa"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Đổi kích thước phân vùng gốc"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Đã đặt dung lượng ổ đĩa"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Ðã phân bổ <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Tối đa <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Huỷ"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Chạy lại để áp dụng"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Chuyển tiếp cổng"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Định cấu hình tính năng chuyển tiếp cổng"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal đang cố mở một cổng mới"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Cổng được yêu cầu mở: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Áp dụng"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Ứng dụng Terminal sẽ khởi động lại để đổi kích thước ổ đĩa"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Xác nhận"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Kiểm soát cổng"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Cho phép/từ chối cổng nghe"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Cổng nghe"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Đã lưu các cổng được cho phép"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Cho phép một cổng mới"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Nhập số cổng mới"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Lưu"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Huỷ"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Ứng dụng Terminal đang yêu cầu mở một cổng mới"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Cổng được yêu cầu: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Chấp nhận"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Từ chối"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Khôi phục"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Tuỳ chọn khôi phục phân vùng"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Chuyển về phiên bản ban đầu"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Xoá tất cả"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Tuỳ chọn khôi phục phân vùng"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Đặt lại về phiên bản ban đầu"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Xoá mọi dữ liệu"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Đặt lại cửa sổ dòng lệnh"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Dữ liệu sẽ bị xoá"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Xác nhận"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Dữ liệu sẽ bị xoá"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Đặt lại"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Huỷ"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Sao lưu dữ liệu vào <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Không khôi phục được vì không sao lưu được"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Không khôi phục được do lỗi sao lưu"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Không khôi phục được"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Không xoá được tệp sao lưu"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Không xoá được dữ liệu sao lưu"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Xoá dữ liệu sao lưu"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Dọn dẹp <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Lỗi không thể khôi phục"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Không khôi phục được dữ liệu sau khi xảy ra lỗi.\nBạn có thể thử khởi động lại ứng dụng hoặc thử một trong các tuỳ chọn khôi phục."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Xoá <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Lỗi không thể khôi phục"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Mã lỗi: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Cài đặt"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Terminal đang chạy"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Nhấp để mở cửa sổ dòng lệnh"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Nhấp để mở ứng dụng Terminal"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Đóng"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Terminal đang đóng"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Buộc đóng"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> đã được bật"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-zh-rCN/strings.xml b/android/TerminalApp/res/values-zh-rCN/strings.xml
index 266e4b5..3881e8e 100644
--- a/android/TerminalApp/res/values-zh-rCN/strings.xml
+++ b/android/TerminalApp/res/values-zh-rCN/strings.xml
@@ -17,62 +17,78 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"终端"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"终端显示内容"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"光标"</string>
+    <string name="empty_line" msgid="5012067143408427178">"空行"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"点按两次即可输入"</string>
     <string name="installer_title_text" msgid="500663060973466805">"安装 Linux 终端"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"如需启动 Linux 终端,您需要联网下载大约 <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> 的数据。\n要继续吗?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"连接到 WLAN 时下载"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"如需启动 Linux 终端,您需要联网下载大约 <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> 的数据。\n要继续吗?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"仅通过 WLAN 下载"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"安装"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"正在安装"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"网络错误。请检查网络连接,然后重试。"</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"由于网络连接错误,安装失败。请检查网络连接状态,然后重试。"</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"正在安装 Linux 终端"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"完成后将启动 Linux 终端"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"由于网络问题,安装失败"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"安装失败。请重试。"</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"安装完成后将启动 Linux 终端"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"由于网络问题,安装失败"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"由于 WLAN 不可用,安装失败"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"安装失败,请重试"</string>
     <string name="action_settings" msgid="5729342767795123227">"设置"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"正在准备终端"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"正在停止终端"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"终端已崩溃"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"调整磁盘大小"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"调整大小/Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"调整磁盘大小"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"调整根分区的大小"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"已设置磁盘大小"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"已分配 <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"最大为 <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"取消"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"重启以应用"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"端口转发"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"配置端口转发"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"终端正在尝试打开新端口"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"请求打开的端口:<xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"应用"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"终端将重启以调整磁盘大小"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"确认"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"端口控制"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"允许/拒绝使用监听端口"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"监听端口"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"已保存的获准端口"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <string name="settings_port_forwarding_other_enabled_port_close_button" msgid="8475029060852721339">"删除“<xliff:g id="PORT_NUMBER">%d</xliff:g>”"</string>
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"允许使用新端口"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"输入新端口号"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"保存"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"取消"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"终端正在请求打开新端口"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"请求的端口:<xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"接受"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"拒绝"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"恢复"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"分区恢复选项"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"更改为初始版本"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"全部移除"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"分区恢复选项"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"重置为初始版本"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"移除所有数据"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"重置终端"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"数据将被删除"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"确认"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"数据将被移除"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"重置"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"取消"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"将数据备份到 <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"备份失败,因此无法恢复"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"由于备份错误,无法恢复"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"恢复失败"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"无法移除备份文件"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"未能移除备份数据"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"移除备份数据"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"清理 <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"不可恢复的错误"</string>
-    <string name="error_desc" msgid="1939028888570920661">"未能从错误中恢复。\n您可以尝试重新启动该应用,或尝试某一恢复选项。"</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"移除 <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"不可恢复的错误"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"错误代码:<xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"设置"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"终端正在运行"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"点按即可打开终端"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"点击即可打开终端"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"关闭"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"终端即将关闭"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"强行关闭"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> 已启用"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-zh-rHK/strings.xml b/android/TerminalApp/res/values-zh-rHK/strings.xml
index 463b221..a64269b 100644
--- a/android/TerminalApp/res/values-zh-rHK/strings.xml
+++ b/android/TerminalApp/res/values-zh-rHK/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"終端機"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"終端機顯示畫面"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"游標"</string>
+    <string name="empty_line" msgid="5012067143408427178">"空白行"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"㩒兩下就可以將文字轉語音"</string>
     <string name="installer_title_text" msgid="500663060973466805">"安裝 Linux 終端機"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"如要啟動 Linux 終端機,你需要透過網絡下載約 <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> 資料。\n要繼續嗎?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"連接 Wi-Fi 時下載"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"如要啟動 Linux 終端機,你需要透過網絡下載約 <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> 資料。\n要繼續嗎?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"只透過 Wi-Fi 下載"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"安裝"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"正在安裝"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"網絡錯誤。請檢查網絡連線,然後重試。"</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"發生網絡錯誤,因此無法安裝。請檢查連線,然後再試一次。"</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"正在安裝 Linux 終端機"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux 將於安裝完成後開啟"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"由於網絡發生問題,因此無法安裝"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"無法安裝,請再試一次。"</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"安裝完成後,Linux 終端機將會啟動"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"由於網絡發生問題,因此無法安裝"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"由於沒有可用的 Wi-Fi,因此無法安裝"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"無法安裝,請再試一次"</string>
     <string name="action_settings" msgid="5729342767795123227">"設定"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"正在準備終端機"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"正在停止終端機"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"終端機當機"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"調整磁碟大小"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"調整大小 / Rootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"調整磁碟大小"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"調整 root 分區大小"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"已設定磁碟大小"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"已指派 <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"最多 <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"取消"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"重新啟動即可套用"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"連接埠轉送"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"設定連接埠轉送"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"終端機正在嘗試開啟新的連接埠"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"要求開啟的連接埠:<xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"套用"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"終端機將會重新開機以調整磁碟大小"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"確認"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"連接埠控制項"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"允許/拒絕聆聽連接埠"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"聆聽連接埠"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"已儲存許可的連接埠"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"允許存取新的連接埠"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"輸入新的連接埠號碼"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"儲存"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"取消"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"終端機正在要求開啟新的連接埠"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"已要求連接埠:<xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"接受"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"拒絕"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"復原"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"分區復原選項"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"變更至初始版本"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"全部移除"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"分區復原選項"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"重設至初始版本"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"移除所有資料"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"重設終端機"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"資料將被刪除"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"確認"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"系統將會移除資料"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"重設"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"取消"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"將資料備份至 <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"由於備份失敗,因此無法復原"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"由於出現備份錯誤,因此無法復原"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"無法復原"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"無法移除備份檔案"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"無法移除備份資料"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"移除備份資料"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"清理 <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"無法復原的錯誤"</string>
-    <string name="error_desc" msgid="1939028888570920661">"無法從錯誤中復原。\n你可嘗試重新啟動應用程式,或使用其中一個復原選項。"</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"移除 <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"無法復原的錯誤"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"錯誤代碼:<xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"設定"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"終端機執行中"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"按一下即可開啟終端機"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"按一下以開啟終端機"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"關閉"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"終端機正在關閉"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"強制關閉"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"已啟用 <xliff:g id="ID_1">VirGL</xliff:g>"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-zh-rTW/strings.xml b/android/TerminalApp/res/values-zh-rTW/strings.xml
index 83a667b..a1d2fbc 100644
--- a/android/TerminalApp/res/values-zh-rTW/strings.xml
+++ b/android/TerminalApp/res/values-zh-rTW/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"終端機"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"終端機顯示畫面"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"游標"</string>
+    <string name="empty_line" msgid="5012067143408427178">"空白行"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"輕觸兩下即可輸入"</string>
     <string name="installer_title_text" msgid="500663060973466805">"安裝 Linux 終端機"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"如要啟動 Linux 終端機,必須透過網路下載大約 <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> 的資料。\n要繼續嗎?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"連上 Wi-Fi 網路時下載"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"如要啟動 Linux 終端機,必須透過網路下載大約 <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> 的資料。\n要繼續嗎?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"僅透過 Wi-Fi 下載"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"安裝"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"安裝中"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"網路發生錯誤。請檢查連線狀況,然後再試一次。"</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"網路發生錯誤,因此無法安裝。請檢查連線狀態,然後再試一次。"</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"正在安裝 Linux 終端機"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"完成後將啟動 Linux 終端機"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"網路發生問題,因此無法安裝"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"無法安裝,請再試一次。"</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"安裝完成後將啟動 Linux 終端機"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"網路發生問題,因此無法安裝"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"無法連上 Wi-Fi,因此無法安裝"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"無法安裝,請再試一次"</string>
     <string name="action_settings" msgid="5729342767795123227">"設定"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"正在準備終端機"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"正在停止終端機"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"終端機當機"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"調整磁碟大小"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"調整 Rootfs 大小"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"調整磁碟大小"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"調整根分區大小"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"已設定磁碟大小"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"已指派 <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"最多 <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"取消"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"重新啟動即可套用"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"通訊埠轉送"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"設定通訊埠轉送"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"終端機正在嘗試開啟新的通訊埠"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"要求開啟的通訊埠:<xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"套用"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"終端機將重新啟動,以調整磁碟大小"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"確認"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"通訊埠控制"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"允許/拒絕監聽通訊埠"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"監聽通訊埠"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"已儲存允許的通訊埠"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"允許的新通訊埠"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"輸入新的通訊埠號碼"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"儲存"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"取消"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"終端機正在要求開啟新的通訊埠"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"要求的通訊埠:<xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"接受"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"拒絕"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"復原"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"分區復原選項"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"變更為初始版本"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"全部移除"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"分區復原選項"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"重設為初始版本"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"移除所有資料"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"重設終端機"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"資料將刪除"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"確認"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"資料將移除"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"重設"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"取消"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"將資料備份至 <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"備份失敗,因此無法復原"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"備份發生錯誤,因此無法復原"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"無法復原"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"無法移除備份檔案"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"無法移除備份資料"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"移除備份資料"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"清除 <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"無法復原的錯誤"</string>
-    <string name="error_desc" msgid="1939028888570920661">"無法從錯誤中復原。\n你可以嘗試重新啟動應用程式,或使用其中一個復原選項。"</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"移除 <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"無法復原的錯誤"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"錯誤代碼:<xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"設定"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"終端機運作中"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"點選即可開啟終端機"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"點選即可開啟終端機"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"關閉"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"終端機正在關閉"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"強制關閉"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> 已啟用"</string>
 </resources>
diff --git a/android/TerminalApp/res/values-zu/strings.xml b/android/TerminalApp/res/values-zu/strings.xml
index a15dcda..1a86444 100644
--- a/android/TerminalApp/res/values-zu/strings.xml
+++ b/android/TerminalApp/res/values-zu/strings.xml
@@ -17,62 +17,79 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="5597111707986572208">"Itheminali"</string>
-    <!-- no translation found for terminal_display (4810127497644015237) -->
-    <skip />
-    <!-- no translation found for terminal_input (4602512831433433551) -->
-    <skip />
-    <!-- no translation found for empty_line (5012067143408427178) -->
-    <skip />
+    <string name="terminal_display" msgid="4810127497644015237">"Isibonisi setheminali"</string>
+    <string name="terminal_input" msgid="4602512831433433551">"Icursor"</string>
+    <string name="empty_line" msgid="5012067143408427178">"Umugqa ongenalutho"</string>
+    <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Thepha kabili ukuze uthayiphe okokufaka"</string>
     <string name="installer_title_text" msgid="500663060973466805">"Faka itheminali yeLinux"</string>
-    <string name="installer_desc_text_format" msgid="2734224805682171826">"Ukuze uqalise itheminali yeLinux, udinga ukudawuniloda cishe idatha u-<xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> kunethiwekhi.\nUngathanda ukuqhubeka?"</string>
-    <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Dawuniloda lapho i-Wi-Fi itholakala"</string>
+    <string name="installer_desc_text_format" msgid="5935117404303982823">"Ukuze uqalise itheminali yeLinux, udinga ukudawuniloda cishe idatha engaba ngu-<xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> kunethiwekhi.\nUngathanda yini ukuqhubeka?"</string>
+    <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Dawuniloda usebenzisa i-Wi-Fi kuphela"</string>
     <string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Faka"</string>
     <string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Iyafaka"</string>
-    <string name="installer_install_network_error_message" msgid="2450409107529774410">"Iphutha lenethiwekhi. Hlola uxhumo bese uyazama futhi."</string>
+    <string name="installer_install_network_error_message" msgid="6483202005746623398">"Yehlulekile ukufaka ngenxa yephutha lenethiwekhi. Hlola uxhumo lwakho uphinde uzame futhi."</string>
     <string name="installer_notif_title_text" msgid="471160690081159042">"Ifaka itheminali yeLinux"</string>
-    <string name="installer_notif_desc_text" msgid="6746098106305899060">"Itheminali yeLinux izoqalwa ngemva kokuqeda"</string>
-    <string name="installer_error_network" msgid="3265100678310833813">"Yehlulekile ukufaka ngenxa yenkinga yenethiwekhi"</string>
-    <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
-    <skip />
-    <string name="installer_error_unknown" msgid="1991780204241177455">"Yehlulekile ukufaka. Zama futhi."</string>
+    <string name="installer_notif_desc_text" msgid="2353770076549425837">"Itheminali yeLinux izoqala ngemva kokuqedwa kokufakwa"</string>
+    <string name="installer_error_network" msgid="5627330072955876676">"Yehlulekile ukufaka ngenxa yenkinga yenethiwekhi"</string>
+    <string name="installer_error_no_wifi" msgid="1180164894845030969">"Yehlulekile ukufaka ngoba i-Wi-Fi ayitholakali"</string>
+    <string name="installer_error_unknown" msgid="5657920711470180224">"Yehlulekile ukufaka. Sicela uzame futhi"</string>
     <string name="action_settings" msgid="5729342767795123227">"Amasethingi"</string>
     <string name="vm_creation_message" msgid="6594953532721367502">"Ilungiselela itheminali"</string>
     <string name="vm_stop_message" msgid="3978349856095529255">"Itheminali yokumisa"</string>
     <string name="vm_error_message" msgid="5231867246177661525">"Itheminali iphahlazekile"</string>
-    <string name="settings_disk_resize_title" msgid="1545791169419914600">"Shintsha Usayizi Wediski"</string>
-    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Shintsha usayizi / IRootfs"</string>
+    <string name="settings_disk_resize_title" msgid="8648082439414122069">"Shintsha usayizi wediski"</string>
+    <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Shintsha usayizi kasayizi wokuhlukanisa umsuka"</string>
     <string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Usayizi wediski usethiwe"</string>
     <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"U-<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> wabiwe"</string>
     <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Umkhawulo ka-<xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
     <string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Khansela"</string>
-    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Qala kabusha ukusebenzisa"</string>
-    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Ukudlulisela Ngembobo"</string>
-    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Lungiselela ukudlulisela ngembobo"</string>
-    <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Itheminali izama ukuvula imbobo entsha"</string>
-    <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Imbobo icelwe ukuba ivulwe: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Faka"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Itheminali izoqalwa kabusha ukuze ishintshe usayizi wediski"</string>
+    <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Qinisekisa"</string>
+    <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Ulawulo lwembobo"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Vumela/nqabela izimbobo zokulalela"</string>
+    <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Izimbobo zokulalela"</string>
+    <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Izimbobo ezivunyelwe ezilondoloziwe"</string>
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_add_button (4402301203801949152) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_other_enabled_port_close_button (8475029060852721339) -->
+    <skip />
+    <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Vumela imbobo entsha"</string>
+    <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Faka inombolo yembobo entsha"</string>
+    <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Londoloza"</string>
+    <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Khansela"</string>
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_input (7589299096002468249) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_invalid_port_range (6682935312557379651) -->
+    <skip />
+    <!-- no translation found for settings_port_forwarding_dialog_error_existing_port (768426750758769928) -->
+    <skip />
+    <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Itheminali icela ukuvula imbobo entsha"</string>
+    <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Imbobo iceliwe: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
     <string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Yamukela"</string>
     <string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Yenqaba"</string>
     <string name="settings_recovery_title" msgid="6586840079226383285">"Ukuthola"</string>
-    <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Okukhethwa kukho kokubuyisela ukwahlukanisa"</string>
-    <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Shintshela Ohlotsheni lokuqala"</string>
-    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Susa konke"</string>
+    <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Okungakhethwa kukho kokutakula ukwahlukanisa"</string>
+    <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Setha kabusha ohlotsheni lokuqala"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Susa yonke idatha"</string>
     <string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Setha kabusha itheminali"</string>
-    <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Idatha izosulwa"</string>
-    <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Qinisekisa"</string>
+    <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Idatha izosuswa"</string>
+    <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Setha kabusha"</string>
     <string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Khansela"</string>
     <string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Yenza ikhophi yedatha ku-<xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Ukuthola kuhlulekile ngoba ukwenza isipele kuhlulekile"</string>
+    <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Yehlulekile ukuphinda ithole ngenxa yephutha lesipele"</string>
     <string name="settings_recovery_error" msgid="2451912941535666379">"Ukuthola kwehlulekile"</string>
-    <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Ayikwazi ukususa ifayela eliyisipele"</string>
+    <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Yehlulekile ukususa isipele"</string>
     <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Susa idatha eyisipele"</string>
-    <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Hlanza i-<xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
-    <string name="error_title" msgid="7196464038692913778">"Iphutha Elingabuyiseki"</string>
-    <string name="error_desc" msgid="1939028888570920661">"Yehlulekile ukutakula ephutheni.\nUngazama ukuqala kabusha i-app, noma uzame okungakhethwa kukho kokukodwa kokutakula."</string>
+    <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Susa i-<xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+    <string name="error_title" msgid="405150657301906598">"Iphutha elingabuyiseki"</string>
+    <!-- no translation found for error_desc (4588252235686826721) -->
+    <skip />
     <string name="error_code" msgid="3585291676855383649">"Ikhodi yephutha: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
     <string name="service_notification_settings" msgid="1437365721184401135">"Amasethingi"</string>
     <string name="service_notification_title" msgid="2918088850910713393">"Itheminali iyasebenza"</string>
-    <string name="service_notification_content" msgid="3579923802797824545">"Chofoza ukuze uvule itheminali"</string>
+    <string name="service_notification_content" msgid="5772901142342308273">"Chofoza ukuze uvule itheminali"</string>
     <string name="service_notification_quit_action" msgid="4888327875869277455">"Vala"</string>
-    <!-- no translation found for virgl_enabled (5466273280705345122) -->
-    <skip />
+    <string name="service_notification_close_title" msgid="1442526433361428844">"Itheminali iyavalwa"</string>
+    <string name="service_notification_force_quit_action" msgid="3462226330416157775">"Phoqelela ukuvala"</string>
+    <string name="virgl_enabled" msgid="5242525588039698086">"I-<xliff:g id="ID_1">VirGL</xliff:g> inikwe amandla."</string>
 </resources>
diff --git a/android/VmAttestationDemoApp/src/main.rs b/android/VmAttestationDemoApp/src/main.rs
index 26df52c..bcc056d 100644
--- a/android/VmAttestationDemoApp/src/main.rs
+++ b/android/VmAttestationDemoApp/src/main.rs
@@ -16,7 +16,6 @@
 
 use anyhow::{ensure, Context, Result};
 use log::{error, info};
-use std::panic;
 use vm_payload::AttestationError;
 
 vm_payload::main!(main);
@@ -28,10 +27,6 @@
             .with_tag("service_vm_client")
             .with_max_level(log::LevelFilter::Debug),
     );
-    // Redirect panic messages to logcat.
-    panic::set_hook(Box::new(|panic_info| {
-        error!("{}", panic_info);
-    }));
     if let Err(e) = try_main() {
         error!("failed with {:?}", e);
         std::process::exit(1);
diff --git a/android/compos_verify/verify.rs b/android/compos_verify/verify.rs
index b94ebbc..a88d00c 100644
--- a/android/compos_verify/verify.rs
+++ b/android/compos_verify/verify.rs
@@ -34,7 +34,6 @@
 use std::fs;
 use std::fs::File;
 use std::io::Read;
-use std::panic;
 use std::path::Path;
 
 const MAX_FILE_SIZE_BYTES: u64 = 100 * 1024;
@@ -65,11 +64,6 @@
             .with_log_buffer(LogId::System), // Needed to log successfully early in boot
     );
 
-    // Redirect panic messages to logcat.
-    panic::set_hook(Box::new(|panic_info| {
-        error!("{}", panic_info);
-    }));
-
     if let Err(e) = try_main() {
         error!("{:?}", e);
         std::process::exit(1)
diff --git a/android/composd/src/composd_main.rs b/android/composd/src/composd_main.rs
index e5d6c75..0b142f2 100644
--- a/android/composd/src/composd_main.rs
+++ b/android/composd/src/composd_main.rs
@@ -28,7 +28,6 @@
 use anyhow::{Context, Result};
 use binder::{register_lazy_service, ProcessState};
 use log::{error, info};
-use std::panic;
 use std::sync::Arc;
 
 #[allow(clippy::eq_op)]
@@ -39,11 +38,6 @@
         android_logger::Config::default().with_tag("composd").with_max_level(log_level),
     );
 
-    // Redirect panic messages to logcat.
-    panic::set_hook(Box::new(|panic_info| {
-        log::error!("{}", panic_info);
-    }));
-
     ProcessState::start_thread_pool();
 
     let virtmgr =
diff --git a/android/virtmgr/src/aidl.rs b/android/virtmgr/src/aidl.rs
index 6a268f9..0cde751 100644
--- a/android/virtmgr/src/aidl.rs
+++ b/android/virtmgr/src/aidl.rs
@@ -20,7 +20,7 @@
 use crate::crosvm::{AudioConfig, CrosvmConfig, DiskFile, SharedPathConfig, DisplayConfig, GpuConfig, InputDeviceOption, PayloadState, UsbConfig, VmContext, VmInstance, VmState};
 use crate::debug_config::{DebugConfig, DebugPolicy};
 use crate::dt_overlay::{create_device_tree_overlay, VM_DT_OVERLAY_MAX_SIZE, VM_DT_OVERLAY_PATH};
-use crate::payload::{add_microdroid_payload_images, add_microdroid_system_images, add_microdroid_vendor_image};
+use crate::payload::{ApexInfoList, add_microdroid_payload_images, add_microdroid_system_images, add_microdroid_vendor_image};
 use crate::selinux::{check_tee_service_permission, getfilecon, getprevcon, SeContext};
 use android_os_permissions_aidl::aidl::android::os::IPermissionController;
 use android_system_virtualizationcommon::aidl::android::system::virtualizationcommon::{
@@ -29,6 +29,7 @@
     ErrorCode::ErrorCode,
 };
 use android_system_virtualizationservice::aidl::android::system::virtualizationservice::{
+    AssignedDevices::AssignedDevices,
     AssignableDevice::AssignableDevice,
     CpuTopology::CpuTopology,
     DiskImage::DiskImage,
@@ -137,6 +138,21 @@
 static SUPPORTED_OS_NAMES: LazyLock<HashSet<String>> =
     LazyLock::new(|| get_supported_os_names().expect("Failed to get list of supported os names"));
 
+static CALLING_EXE_PATH: LazyLock<Option<PathBuf>> = LazyLock::new(|| {
+    let calling_exe_link = format!("/proc/{}/exe", get_calling_pid());
+    match fs::read_link(&calling_exe_link) {
+        Ok(calling_exe_path) => Some(calling_exe_path),
+        Err(e) => {
+            // virtmgr forked from apps fails to read /proc probably due to hidepid=2. As we
+            // discourage vendor apps, regarding such cases as system is safer.
+            // TODO(b/383969737): determine if this is okay. Or find a way how to track origins of
+            // apps.
+            warn!("can't read_link '{calling_exe_link}': {e:?}; regarding as system");
+            None
+        }
+    }
+});
+
 fn create_or_update_idsig_file(
     input_fd: &ParcelFileDescriptor,
     idsig_fd: &ParcelFileDescriptor,
@@ -406,10 +422,38 @@
     }
 }
 
-fn find_partition(path: &Path) -> binder::Result<String> {
-    match path.components().nth(1) {
+fn find_partition(path: Option<&Path>) -> binder::Result<String> {
+    let path = match path {
+        Some(path) => path,
+        None => return Ok("system".to_owned()),
+    };
+    let mut components = path.components();
+    match components.nth(1) {
         Some(std::path::Component::Normal(partition)) => {
-            Ok(partition.to_string_lossy().into_owned())
+            if partition != "apex" {
+                return Ok(partition.to_string_lossy().into_owned());
+            }
+
+            // If path is under /apex, find a partition of the preinstalled .apex path
+            let apex_name = match components.next() {
+                Some(std::path::Component::Normal(name)) => name.to_string_lossy(),
+                _ => {
+                    return Err(anyhow!("Can't find apex name for '{}'", path.display()))
+                        .or_service_specific_exception(-1)
+                }
+            };
+
+            let apex_info_list = ApexInfoList::load()
+                .context("Failed to get apex info list")
+                .or_service_specific_exception(-1)?;
+
+            for apex_info in apex_info_list.list.iter() {
+                if apex_info.name == apex_name {
+                    return Ok(apex_info.partition.to_lowercase());
+                }
+            }
+
+            Err(anyhow!("Can't find apex info for '{apex_name}'")).or_service_specific_exception(-1)
         }
         _ => Err(anyhow!("Can't find partition in '{}'", path.display()))
             .or_service_specific_exception(-1),
@@ -424,24 +468,27 @@
     fn create_early_vm_context(
         &self,
         config: &VirtualMachineConfig,
+        calling_exe_path: Option<&Path>,
     ) -> binder::Result<(VmContext, Cid, PathBuf)> {
-        let calling_exe_path = format!("/proc/{}/exe", get_calling_pid());
-        let link = fs::read_link(&calling_exe_path)
-            .context(format!("can't read_link '{calling_exe_path}'"))
-            .or_service_specific_exception(-1)?;
-        let partition = find_partition(&link)?;
-
         let name = match config {
             VirtualMachineConfig::RawConfig(config) => &config.name,
             VirtualMachineConfig::AppConfig(config) => &config.name,
         };
-        let early_vm =
-            find_early_vm_for_partition(&partition, name).or_service_specific_exception(-1)?;
-        if Path::new(&early_vm.path) != link {
+        let calling_partition = find_partition(calling_exe_path)?;
+        let early_vm = find_early_vm_for_partition(&calling_partition, name)
+            .or_service_specific_exception(-1)?;
+        let calling_exe_path = match calling_exe_path {
+            Some(path) => path,
+            None => {
+                return Err(anyhow!("Can't verify the path of PID {}", get_calling_pid()))
+                    .or_service_specific_exception(-1)
+            }
+        };
+        if Path::new(&early_vm.path) != calling_exe_path {
             return Err(anyhow!(
-                "VM '{name}' in partition '{partition}' must be created with '{}', not '{}'",
+                "VM '{name}' in partition '{calling_partition}' must be created with '{}', not '{}'",
                 &early_vm.path,
-                link.display()
+                calling_exe_path.display()
             ))
             .or_service_specific_exception(-1);
         }
@@ -525,7 +572,7 @@
 
         // Allocating VM context checks the MANAGE_VIRTUAL_MACHINE permission.
         let (vm_context, cid, temporary_directory) = if cfg!(early) {
-            self.create_early_vm_context(config)?
+            self.create_early_vm_context(config, CALLING_EXE_PATH.as_deref())?
         } else {
             self.create_vm_context(requester_debug_pid, config)?
         };
@@ -541,7 +588,19 @@
             check_gdb_allowed(config)?;
         }
 
-        let device_tree_overlay = maybe_create_device_tree_overlay(config, &temporary_directory)?;
+        let mut device_tree_overlays = vec![];
+        if let Some(dt_overlay) = maybe_create_reference_dt_overlay(config, &temporary_directory)? {
+            device_tree_overlays.push(dt_overlay);
+        }
+        if let Some(dtbo) = get_dtbo(config) {
+            let dtbo = File::from(
+                dtbo.as_ref()
+                    .try_clone()
+                    .context("Failed to create VM DTBO from ParcelFileDescriptor")
+                    .or_binder_exception(ExceptionCode::BAD_PARCELABLE)?,
+            );
+            device_tree_overlays.push(dtbo);
+        }
 
         let debug_config = DebugConfig::new(config);
         let ramdump = if !uses_gki_kernel(config) && debug_config.is_ramdump_needed() {
@@ -625,7 +684,8 @@
         // Check if files for payloads and bases are NOT coming from /vendor and /odm, as they may
         // have unstable interfaces.
         // TODO(b/316431494): remove once Treble interfaces are stabilized.
-        check_partitions_for_files(config).or_service_specific_exception(-1)?;
+        check_partitions_for_files(config, &find_partition(CALLING_EXE_PATH.as_deref())?)
+            .or_service_specific_exception(-1)?;
 
         let zero_filler_path = temporary_directory.join("zero.img");
         write_zero_filler(&zero_filler_path)
@@ -668,29 +728,30 @@
             }
         };
 
-        let (vfio_devices, dtbo) = if !config.devices.is_empty() {
-            let mut set = HashSet::new();
-            for device in config.devices.iter() {
-                let path = canonicalize(device)
-                    .with_context(|| format!("can't canonicalize {device}"))
-                    .or_service_specific_exception(-1)?;
-                if !set.insert(path) {
-                    return Err(anyhow!("duplicated device {device}"))
-                        .or_binder_exception(ExceptionCode::ILLEGAL_ARGUMENT);
+        let (vfio_devices, dtbo) = match &config.devices {
+            AssignedDevices::Devices(devices) if !devices.is_empty() => {
+                let mut set = HashSet::new();
+                for device in devices.iter() {
+                    let path = canonicalize(device)
+                        .with_context(|| format!("can't canonicalize {device}"))
+                        .or_service_specific_exception(-1)?;
+                    if !set.insert(path) {
+                        return Err(anyhow!("duplicated device {device}"))
+                            .or_binder_exception(ExceptionCode::ILLEGAL_ARGUMENT);
+                    }
                 }
+                let devices = GLOBAL_SERVICE.bindDevicesToVfioDriver(devices)?;
+                let dtbo_file = File::from(
+                    GLOBAL_SERVICE
+                        .getDtboFile()?
+                        .as_ref()
+                        .try_clone()
+                        .context("Failed to create VM DTBO from ParcelFileDescriptor")
+                        .or_binder_exception(ExceptionCode::BAD_PARCELABLE)?,
+                );
+                (devices, Some(dtbo_file))
             }
-            let devices = GLOBAL_SERVICE.bindDevicesToVfioDriver(&config.devices)?;
-            let dtbo_file = File::from(
-                GLOBAL_SERVICE
-                    .getDtboFile()?
-                    .as_ref()
-                    .try_clone()
-                    .context("Failed to create VM DTBO from ParcelFileDescriptor")
-                    .or_binder_exception(ExceptionCode::BAD_PARCELABLE)?,
-            );
-            (devices, Some(dtbo_file))
-        } else {
-            (vec![], None)
+            _ => (vec![], None),
         };
         let display_config = if cfg!(paravirtualized_devices) {
             config
@@ -787,7 +848,7 @@
             gdb_port,
             vfio_devices,
             dtbo,
-            device_tree_overlay,
+            device_tree_overlays,
             display_config,
             input_device_options,
             hugepages: config.hugePages,
@@ -884,7 +945,7 @@
     Err(anyhow!("No hashtree digest is extracted from microdroid vendor image"))
 }
 
-fn maybe_create_device_tree_overlay(
+fn maybe_create_reference_dt_overlay(
     config: &VirtualMachineConfig,
     temporary_directory: &Path,
 ) -> binder::Result<Option<File>> {
@@ -953,6 +1014,16 @@
     Ok(device_tree_overlay)
 }
 
+fn get_dtbo(config: &VirtualMachineConfig) -> Option<&ParcelFileDescriptor> {
+    let VirtualMachineConfig::RawConfig(config) = config else {
+        return None;
+    };
+    match &config.devices {
+        AssignedDevices::Dtbo(dtbo) => dtbo.as_ref(),
+        _ => None,
+    }
+}
+
 fn write_zero_filler(zero_filler_path: &Path) -> Result<()> {
     let file = OpenOptions::new()
         .create_new(true)
@@ -1213,7 +1284,7 @@
             append_kernel_param("androidboot.microdroid.mount_vendor=1", &mut vm_config)
         }
 
-        vm_config.devices.clone_from(&custom_config.devices);
+        vm_config.devices = AssignedDevices::Devices(custom_config.devices.clone());
         vm_config.networkSupported = custom_config.networkSupported;
 
         for param in custom_config.extraKernelCmdlineParams.iter() {
@@ -1261,7 +1332,7 @@
     Ok(vm_config)
 }
 
-fn check_partition_for_file(fd: &ParcelFileDescriptor) -> Result<()> {
+fn check_partition_for_file(fd: &ParcelFileDescriptor, calling_partition: &str) -> Result<()> {
     let path = format!("/proc/self/fd/{}", fd.as_raw_fd());
     let link = fs::read_link(&path).context(format!("can't read_link {path}"))?;
 
@@ -1271,24 +1342,39 @@
         return Ok(());
     }
 
-    if link.starts_with("/vendor") || link.starts_with("/odm") {
-        bail!("vendor or odm file {} can't be used for VM", link.display());
+    let is_fd_vendor = link.starts_with("/vendor") || link.starts_with("/odm");
+    let is_caller_vendor = calling_partition == "vendor" || calling_partition == "odm";
+
+    if is_fd_vendor != is_caller_vendor {
+        bail!("{} can't be used for VM client in {calling_partition}", link.display());
     }
 
     Ok(())
 }
 
-fn check_partitions_for_files(config: &VirtualMachineRawConfig) -> Result<()> {
+fn check_partitions_for_files(
+    config: &VirtualMachineRawConfig,
+    calling_partition: &str,
+) -> Result<()> {
     config
         .disks
         .iter()
         .flat_map(|disk| disk.partitions.iter())
         .filter_map(|partition| partition.image.as_ref())
-        .try_for_each(check_partition_for_file)?;
+        .try_for_each(|fd| check_partition_for_file(fd, calling_partition))?;
 
-    config.kernel.as_ref().map_or(Ok(()), check_partition_for_file)?;
-    config.initrd.as_ref().map_or(Ok(()), check_partition_for_file)?;
-    config.bootloader.as_ref().map_or(Ok(()), check_partition_for_file)?;
+    config
+        .disks
+        .iter()
+        .filter_map(|disk| disk.image.as_ref())
+        .try_for_each(|fd| check_partition_for_file(fd, calling_partition))?;
+
+    config.kernel.as_ref().map_or(Ok(()), |fd| check_partition_for_file(fd, calling_partition))?;
+    config.initrd.as_ref().map_or(Ok(()), |fd| check_partition_for_file(fd, calling_partition))?;
+    config
+        .bootloader
+        .as_ref()
+        .map_or(Ok(()), |fd| check_partition_for_file(fd, calling_partition))?;
 
     Ok(())
 }
@@ -2139,6 +2225,7 @@
     match partition {
         "system" => Ok(100..200),
         "system_ext" | "product" => Ok(200..300),
+        "vendor" | "odm" => Ok(300..400),
         _ => Err(anyhow!("Early VMs are not supported for {partition}")),
     }
 }
diff --git a/android/virtmgr/src/crosvm.rs b/android/virtmgr/src/crosvm.rs
index affd430..f3b669f 100644
--- a/android/virtmgr/src/crosvm.rs
+++ b/android/virtmgr/src/crosvm.rs
@@ -125,7 +125,7 @@
     pub gdb_port: Option<NonZeroU16>,
     pub vfio_devices: Vec<VfioDevice>,
     pub dtbo: Option<File>,
-    pub device_tree_overlay: Option<File>,
+    pub device_tree_overlays: Vec<File>,
     pub display_config: Option<DisplayConfig>,
     pub input_device_options: Vec<InputDeviceOption>,
     pub hugepages: bool,
@@ -1157,9 +1157,10 @@
         .context("failed to create control listener")?;
     command.arg("--socket").arg(add_preserved_fd(&mut preserved_fds, control_sock));
 
-    if let Some(dt_overlay) = config.device_tree_overlay {
-        command.arg("--device-tree-overlay").arg(add_preserved_fd(&mut preserved_fds, dt_overlay));
-    }
+    config.device_tree_overlays.into_iter().for_each(|dt_overlay| {
+        let arg = add_preserved_fd(&mut preserved_fds, dt_overlay);
+        command.arg("--device-tree-overlay").arg(arg);
+    });
 
     if cfg!(paravirtualized_devices) {
         if let Some(gpu_config) = &config.gpu_config {
diff --git a/android/virtmgr/src/payload.rs b/android/virtmgr/src/payload.rs
index 5811314..bd6bf10 100644
--- a/android/virtmgr/src/payload.rs
+++ b/android/virtmgr/src/payload.rs
@@ -48,15 +48,19 @@
 
 /// Represents the list of APEXes
 #[derive(Clone, Debug, Deserialize, Eq, PartialEq)]
-struct ApexInfoList {
+pub(crate) struct ApexInfoList {
+    /// The list of APEXes
     #[serde(rename = "apex-info")]
-    list: Vec<ApexInfo>,
+    pub(crate) list: Vec<ApexInfo>,
 }
 
+/// Represents info of an APEX
 #[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq)]
-struct ApexInfo {
+pub(crate) struct ApexInfo {
+    /// Name of APEX
     #[serde(rename = "moduleName")]
-    name: String,
+    pub(crate) name: String,
+
     #[serde(rename = "versionCode")]
     version: u64,
     #[serde(rename = "modulePath")]
@@ -80,11 +84,15 @@
 
     #[serde(rename = "preinstalledModulePath")]
     preinstalled_path: PathBuf,
+
+    /// Partition of APEX
+    #[serde(default)]
+    pub(crate) partition: String,
 }
 
 impl ApexInfoList {
     /// Loads ApexInfoList
-    fn load() -> Result<&'static ApexInfoList> {
+    pub(crate) fn load() -> Result<&'static ApexInfoList> {
         static INSTANCE: OnceCell<ApexInfoList> = OnceCell::new();
         INSTANCE.get_or_try_init(|| {
             let apex_info_list = File::open(APEX_INFO_LIST_PATH)
diff --git a/android/virtualizationservice/aidl/android/system/virtualizationservice/AssignedDevices.aidl b/android/virtualizationservice/aidl/android/system/virtualizationservice/AssignedDevices.aidl
new file mode 100644
index 0000000..984f596
--- /dev/null
+++ b/android/virtualizationservice/aidl/android/system/virtualizationservice/AssignedDevices.aidl
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package android.system.virtualizationservice;
+
+/** Assigned devices */
+union AssignedDevices {
+    /** List of SysFS nodes of devices to be assigned for VFIO */
+    String[] devices = {};
+
+    /** Device tree overlay for non-VFIO case */
+    ParcelFileDescriptor dtbo;
+}
diff --git a/android/virtualizationservice/aidl/android/system/virtualizationservice/VirtualMachineRawConfig.aidl b/android/virtualizationservice/aidl/android/system/virtualizationservice/VirtualMachineRawConfig.aidl
index 9ebb7fe..62a6d57 100644
--- a/android/virtualizationservice/aidl/android/system/virtualizationservice/VirtualMachineRawConfig.aidl
+++ b/android/virtualizationservice/aidl/android/system/virtualizationservice/VirtualMachineRawConfig.aidl
@@ -15,6 +15,7 @@
  */
 package android.system.virtualizationservice;
 
+import android.system.virtualizationservice.AssignedDevices;
 import android.system.virtualizationservice.AudioConfig;
 import android.system.virtualizationservice.CpuTopology;
 import android.system.virtualizationservice.DiskImage;
@@ -91,8 +92,8 @@
      */
     boolean hugePages;
 
-    /** List of SysFS nodes of devices to be assigned */
-    String[] devices;
+    /** Assigned devices */
+    AssignedDevices devices;
 
     @nullable DisplayConfig displayConfig;
 
diff --git a/guest/compsvc/src/compsvc_main.rs b/guest/compsvc/src/compsvc_main.rs
index 9bc522c..a8202e1 100644
--- a/guest/compsvc/src/compsvc_main.rs
+++ b/guest/compsvc/src/compsvc_main.rs
@@ -25,7 +25,6 @@
 use anyhow::Result;
 use compos_common::COMPOS_VSOCK_PORT;
 use log::{debug, error};
-use std::panic;
 
 fn main() {
     if let Err(e) = try_main() {
@@ -40,10 +39,6 @@
             .with_tag("compsvc")
             .with_max_level(log::LevelFilter::Debug),
     );
-    // Redirect panic messages to logcat.
-    panic::set_hook(Box::new(|panic_info| {
-        error!("{}", panic_info);
-    }));
 
     debug!("compsvc is starting as a rpc service.");
     vm_payload::run_single_vsock_service(compsvc::new_binder()?, COMPOS_VSOCK_PORT)
diff --git a/guest/microdroid_manager/microdroid_manager.rc b/guest/microdroid_manager/microdroid_manager.rc
index da38564..9fa8a9d 100644
--- a/guest/microdroid_manager/microdroid_manager.rc
+++ b/guest/microdroid_manager/microdroid_manager.rc
@@ -2,8 +2,6 @@
     disabled
     # print android log to kmsg
     file /dev/kmsg w
-    # redirect stdout/stderr to kmsg_debug
-    stdio_to_kmsg
     setenv RUST_LOG info
     # TODO(jooyung) remove this when microdroid_manager becomes a daemon
     oneshot
diff --git a/guest/microdroid_manager/src/main.rs b/guest/microdroid_manager/src/main.rs
index 4b261c4..451c3c8 100644
--- a/guest/microdroid_manager/src/main.rs
+++ b/guest/microdroid_manager/src/main.rs
@@ -670,9 +670,20 @@
         });
     }
 
-    if !is_debuggable()? {
-        command.stdin(Stdio::null()).stdout(Stdio::null()).stderr(Stdio::null());
-    }
+    // Never accept input from outside
+    command.stdin(Stdio::null());
+
+    // If the VM is debuggable, let stdout/stderr go outside via /dev/kmsg to ease the debugging
+    let (stdout, stderr) = if is_debuggable()? {
+        use std::os::fd::FromRawFd;
+        let kmsg_fd = env::var("ANDROID_FILE__dev_kmsg").unwrap().parse::<i32>().unwrap();
+        // SAFETY: no one closes kmsg_fd
+        unsafe { (Stdio::from_raw_fd(kmsg_fd), Stdio::from_raw_fd(kmsg_fd)) }
+    } else {
+        (Stdio::null(), Stdio::null())
+    };
+    command.stdout(stdout);
+    command.stderr(stderr);
 
     info!("notifying payload started");
     service.notifyPayloadStarted()?;
diff --git a/guest/pvmfw/avb/tests/api_test.rs b/guest/pvmfw/avb/tests/api_test.rs
index 0ed0279..23e05d4 100644
--- a/guest/pvmfw/avb/tests/api_test.rs
+++ b/guest/pvmfw/avb/tests/api_test.rs
@@ -190,7 +190,7 @@
         &load_latest_signed_kernel()?,
         &load_latest_initrd_normal()?,
         /* trusted_public_key= */ &[0u8; 0],
-        SlotVerifyError::PublicKeyRejected.into(),
+        SlotVerifyError::PublicKeyRejected(None).into(),
     )
 }
 
@@ -200,7 +200,7 @@
         &load_latest_signed_kernel()?,
         &load_latest_initrd_normal()?,
         /* trusted_public_key= */ &[0u8; 512],
-        SlotVerifyError::PublicKeyRejected.into(),
+        SlotVerifyError::PublicKeyRejected(None).into(),
     )
 }
 
@@ -210,7 +210,7 @@
         &load_latest_signed_kernel()?,
         &load_latest_initrd_normal()?,
         &fs::read(PUBLIC_KEY_RSA2048_PATH)?,
-        SlotVerifyError::PublicKeyRejected.into(),
+        SlotVerifyError::PublicKeyRejected(None).into(),
     )
 }
 
diff --git a/guest/rialto/tests/test.rs b/guest/rialto/tests/test.rs
index 09f9cc3..c94a0e3 100644
--- a/guest/rialto/tests/test.rs
+++ b/guest/rialto/tests/test.rs
@@ -40,7 +40,6 @@
 use service_vm_manager::{ServiceVm, VM_MEMORY_MB};
 use std::fs;
 use std::fs::File;
-use std::panic;
 use std::path::PathBuf;
 use std::str::FromStr;
 use vmclient::VmInstance;
@@ -300,10 +299,6 @@
             .with_tag("rialto")
             .with_max_level(log::LevelFilter::Debug),
     );
-    // Redirect panic messages to logcat.
-    panic::set_hook(Box::new(|panic_info| {
-        log::error!("{}", panic_info);
-    }));
     // We need to start the thread pool for Binder to work properly, especially link_to_death.
     ProcessState::start_thread_pool();
     ServiceVm::start_vm(vm_instance(vm_type, vm_memory_mb)?, vm_type)
diff --git a/guest/trusty/security_vm/launcher/src/main.rs b/guest/trusty/security_vm/launcher/src/main.rs
index 62febf4..8dd7c43 100644
--- a/guest/trusty/security_vm/launcher/src/main.rs
+++ b/guest/trusty/security_vm/launcher/src/main.rs
@@ -88,7 +88,6 @@
         memoryMib: args.memory_size_mib,
         cpuTopology: args.cpu_topology,
         platformVersion: "~1.0".to_owned(),
-        balloon: true, // TODO: probably don't want ballooning.
         // TODO: add instanceId
         ..Default::default()
     });
diff --git a/libs/framework-virtualization/src/android/system/virtualmachine/VirtualMachineConfig.java b/libs/framework-virtualization/src/android/system/virtualmachine/VirtualMachineConfig.java
index d6b38ea..6311168 100644
--- a/libs/framework-virtualization/src/android/system/virtualmachine/VirtualMachineConfig.java
+++ b/libs/framework-virtualization/src/android/system/virtualmachine/VirtualMachineConfig.java
@@ -40,6 +40,7 @@
 import android.os.ParcelFileDescriptor;
 import android.os.PersistableBundle;
 import android.sysprop.HypervisorProperties;
+import android.system.virtualizationservice.AssignedDevices;
 import android.system.virtualizationservice.DiskImage;
 import android.system.virtualizationservice.Partition;
 import android.system.virtualizationservice.SharedPath;
@@ -807,7 +808,7 @@
         config.memoryMib = bytesToMebiBytes(mMemoryBytes);
         config.cpuTopology = (byte) this.mCpuTopology;
         config.consoleInputDevice = mConsoleInputDevice;
-        config.devices = EMPTY_STRING_ARRAY;
+        config.devices = AssignedDevices.devices(EMPTY_STRING_ARRAY);
         config.platformVersion = "~1.0";
         config.audioConfig =
                 Optional.ofNullable(customImageConfig.getAudioConfig())
diff --git a/libs/libavf/Android.bp b/libs/libavf/Android.bp
index e143709..079f4ae 100644
--- a/libs/libavf/Android.bp
+++ b/libs/libavf/Android.bp
@@ -34,7 +34,6 @@
 rust_ffi_static {
     name: "libavf_impl",
     defaults: ["libavf.default"],
-    export_include_dirs: ["include"],
 }
 
 cc_library {
@@ -49,7 +48,7 @@
         "libbinder_rpc_unstable",
         "liblog",
     ],
-    export_static_lib_headers: ["libavf_impl"],
+    export_include_dirs: ["include"],
     apex_available: ["com.android.virt"],
     version_script: "libavf.map.txt",
     stubs: {
diff --git a/libs/libavf/include/android/virtualization.h b/libs/libavf/include/android/virtualization.h
index 3a710f3..6b54bf7 100644
--- a/libs/libavf/include/android/virtualization.h
+++ b/libs/libavf/include/android/virtualization.h
@@ -44,7 +44,7 @@
  *
  * \return A new virtual machine raw config object. On failure (such as out of memory), it aborts.
  */
-AVirtualMachineRawConfig* _Nonnull AVirtualMachineRawConfig_create() __INTRODUCED_IN(36);
+AVirtualMachineRawConfig* _Nonnull AVirtualMachineRawConfig_create(void) __INTRODUCED_IN(36);
 
 /**
  * Destroy a virtual machine config object.
@@ -79,8 +79,8 @@
  * \return If successful, it returns 0. If `instanceIdSize` is incorrect, it returns -EINVAL.
  */
 int AVirtualMachineRawConfig_setInstanceId(AVirtualMachineRawConfig* _Nonnull config,
-                                           const int8_t* _Nonnull instanceId, size_t instanceIdSize)
-        __INTRODUCED_IN(36);
+                                           const uint8_t* _Nonnull instanceId,
+                                           size_t instanceIdSize) __INTRODUCED_IN(36);
 
 /**
  * Set a kernel image of a virtual machine.
@@ -147,6 +147,15 @@
                                             int32_t swiotlbMiB) __INTRODUCED_IN(36);
 
 /**
+ * Set vCPU count. The default is 1.
+ *
+ * \param config a virtual machine config object.
+ * \param n number of vCPUs. Must be positive.
+ */
+void AVirtualMachineRawConfig_setVCpuCount(AVirtualMachineRawConfig* _Nonnull config, int32_t n)
+        __INTRODUCED_IN(36);
+
+/**
  * Set whether the virtual machine's memory will be protected from the host, so the host can't
  * access its memory.
  *
@@ -184,6 +193,19 @@
 int AVirtualMachineRawConfig_addCustomMemoryBackingFile(AVirtualMachineRawConfig* _Nonnull config,
                                                         int fd, uint64_t rangeStart,
                                                         uint64_t rangeEnd) __INTRODUCED_IN(36);
+/**
+ * Use the specified fd as the device tree overlay blob for booting VM.
+ *
+ * Here's the format of the device tree overlay blob.
+ * link: https://source.android.com/docs/core/architecture/dto
+ *
+ * \param config a virtual machine config object.
+ * \param fd a readable, seekable, and sized (i.e. report a valid size using fstat()) file
+ *   descriptor containing device tree overlay, or -1 to unset.
+ *   `AVirtualMachineRawConfig_setDeviceTreeOverlay` takes ownership of `fd`.
+ */
+void AVirtualMachineRawConfig_setDeviceTreeOverlay(AVirtualMachineRawConfig* _Nonnull config,
+                                                   int fd) __INTRODUCED_IN(36);
 
 /**
  * Represents a handle on a virtualization service, responsible for managing virtual machines.
diff --git a/libs/libavf/libavf.map.txt b/libs/libavf/libavf.map.txt
index 1590753..589c5d3 100644
--- a/libs/libavf/libavf.map.txt
+++ b/libs/libavf/libavf.map.txt
@@ -9,9 +9,11 @@
     AVirtualMachineRawConfig_addDisk; # apex llndk
     AVirtualMachineRawConfig_setMemoryMiB; # apex llndk
     AVirtualMachineRawConfig_setSwiotlbMiB; # apex llndk
+    AVirtualMachineRawConfig_setVCpuCount; # apex llndk
     AVirtualMachineRawConfig_setProtectedVm; # apex llndk
     AVirtualMachineRawConfig_setHypervisorSpecificAuthMethod; # apex llndk
     AVirtualMachineRawConfig_addCustomMemoryBackingFile; # apex llndk
+    AVirtualMachineRawConfig_setDeviceTreeOverlay; # apex llndk
     AVirtualizationService_create; # apex llndk
     AVirtualizationService_destroy; # apex llndk
     AVirtualMachine_createRaw; # apex llndk
diff --git a/libs/libavf/src/lib.rs b/libs/libavf/src/lib.rs
index 98db246..4f23da4 100644
--- a/libs/libavf/src/lib.rs
+++ b/libs/libavf/src/lib.rs
@@ -23,14 +23,15 @@
 
 use android_system_virtualizationservice::{
     aidl::android::system::virtualizationservice::{
-        DiskImage::DiskImage, IVirtualizationService::IVirtualizationService,
-        VirtualMachineConfig::VirtualMachineConfig,
+        AssignedDevices::AssignedDevices, CpuTopology::CpuTopology, DiskImage::DiskImage,
+        IVirtualizationService::IVirtualizationService, VirtualMachineConfig::VirtualMachineConfig,
         VirtualMachineRawConfig::VirtualMachineRawConfig,
     },
     binder::{ParcelFileDescriptor, Strong},
 };
 use avf_bindgen::AVirtualMachineStopReason;
 use libc::timespec;
+use log::error;
 use vmclient::{DeathReason, VirtualizationService, VmInstance};
 
 /// Create a new virtual machine config object with no properties.
@@ -205,6 +206,22 @@
     config.swiotlbMib = swiotlb_mib;
 }
 
+/// Set vCPU count.
+///
+/// # Safety
+/// `config` must be a pointer returned by `AVirtualMachineRawConfig_create`.
+#[no_mangle]
+pub unsafe extern "C" fn AVirtualMachineRawConfig_setVCpuCount(
+    config: *mut VirtualMachineRawConfig,
+    n: i32,
+) {
+    // SAFETY: `config` is assumed to be a valid, non-null pointer returned by
+    // AVirtualMachineRawConfig_create. It's the only reference to the object.
+    let config = unsafe { &mut *config };
+    config.cpuTopology = CpuTopology::CUSTOM;
+    config.customVcpuCount = n;
+}
+
 /// Set whether a virtual machine is protected or not.
 ///
 /// # Safety
@@ -246,6 +263,32 @@
     -libc::ENOTSUP
 }
 
+/// Add device tree overlay blob
+///
+/// # Safety
+/// `config` must be a pointer returned by `AVirtualMachineRawConfig_create`. `fd` must be a valid
+/// file descriptor or -1. `AVirtualMachineRawConfig_setDeviceTreeOverlay` takes ownership of `fd`
+/// and `fd` will be closed upon `AVirtualMachineRawConfig_delete`.
+#[no_mangle]
+pub unsafe extern "C" fn AVirtualMachineRawConfig_setDeviceTreeOverlay(
+    config: *mut VirtualMachineRawConfig,
+    fd: c_int,
+) {
+    // SAFETY: `config` is assumed to be a valid, non-null pointer returned by
+    // AVirtualMachineRawConfig_create. It's the only reference to the object.
+    let config = unsafe { &mut *config };
+
+    match get_file_from_fd(fd) {
+        Some(file) => {
+            let fd = ParcelFileDescriptor::new(file);
+            config.devices = AssignedDevices::Dtbo(Some(fd));
+        }
+        _ => {
+            config.devices = Default::default();
+        }
+    };
+}
+
 /// Spawn a new instance of `virtmgr`, a child process that will host the `VirtualizationService`
 /// AIDL service, and connect to the child process.
 ///
@@ -334,7 +377,10 @@
             }
             0
         }
-        Err(_) => -libc::EIO,
+        Err(e) => {
+            error!("AVirtualMachine_createRaw failed: {e:?}");
+            -libc::EIO
+        }
     }
 }
 
@@ -349,7 +395,10 @@
     let vm = unsafe { &*vm };
     match vm.start() {
         Ok(_) => 0,
-        Err(_) => -libc::EIO,
+        Err(e) => {
+            error!("AVirtualMachine_start failed: {e:?}");
+            -libc::EIO
+        }
     }
 }
 
@@ -364,7 +413,10 @@
     let vm = unsafe { &*vm };
     match vm.stop() {
         Ok(_) => 0,
-        Err(_) => -libc::EIO,
+        Err(e) => {
+            error!("AVirtualMachine_stop failed: {e:?}");
+            -libc::EIO
+        }
     }
 }
 
@@ -379,7 +431,10 @@
     let vm = unsafe { &*vm };
     match vm.connect_vsock(port) {
         Ok(pfd) => pfd.into_raw_fd(),
-        Err(_) => -libc::EIO,
+        Err(e) => {
+            error!("AVirtualMachine_connectVsock failed: {e:?}");
+            -libc::EIO
+        }
     }
 }
 
diff --git a/libs/libfdt/src/result.rs b/libs/libfdt/src/result.rs
index 52291ca..d671647 100644
--- a/libs/libfdt/src/result.rs
+++ b/libs/libfdt/src/result.rs
@@ -14,6 +14,7 @@
 
 //! Rust types related to the libfdt C integer results.
 
+use core::error;
 use core::ffi::{c_int, c_uint};
 use core::fmt;
 use core::result;
@@ -91,6 +92,8 @@
     }
 }
 
+impl error::Error for FdtError {}
+
 /// Result type with FdtError enum.
 pub type Result<T> = result::Result<T, FdtError>;
 
diff --git a/libs/libservice_vm_manager/src/lib.rs b/libs/libservice_vm_manager/src/lib.rs
index 5bb97d7..0f322bb 100644
--- a/libs/libservice_vm_manager/src/lib.rs
+++ b/libs/libservice_vm_manager/src/lib.rs
@@ -238,8 +238,7 @@
         memoryMib: VM_MEMORY_MB,
         cpuTopology: CpuTopology::ONE_CPU,
         platformVersion: "~1.0".to_string(),
-        gdbPort: 0,    // No gdb
-        balloon: true, // TODO: probably don't want ballooning.
+        gdbPort: 0, // No gdb
         ..Default::default()
     });
     let console_out = Some(android_log_fd()?);
diff --git a/libs/vmconfig/src/lib.rs b/libs/vmconfig/src/lib.rs
index e520f0e..8357f99 100644
--- a/libs/vmconfig/src/lib.rs
+++ b/libs/vmconfig/src/lib.rs
@@ -15,6 +15,7 @@
 //! Struct for VM configuration with JSON (de)serialization and AIDL parcelables
 
 use android_system_virtualizationservice::{
+    aidl::android::system::virtualizationservice::AssignedDevices::AssignedDevices,
     aidl::android::system::virtualizationservice::CpuTopology::CpuTopology,
     aidl::android::system::virtualizationservice::DiskImage::DiskImage as AidlDiskImage,
     aidl::android::system::virtualizationservice::Partition::Partition as AidlPartition,
@@ -124,13 +125,16 @@
             memoryMib: memory_mib,
             cpuTopology: cpu_topology,
             platformVersion: self.platform_version.to_string(),
-            devices: self
-                .devices
-                .iter()
-                .map(|x| {
-                    x.to_str().map(String::from).ok_or(anyhow!("Failed to convert {x:?} to String"))
-                })
-                .collect::<Result<_>>()?,
+            devices: AssignedDevices::Devices(
+                self.devices
+                    .iter()
+                    .map(|x| {
+                        x.to_str()
+                            .map(String::from)
+                            .ok_or(anyhow!("Failed to convert {x:?} to String"))
+                    })
+                    .collect::<Result<_>>()?,
+            ),
             consoleInputDevice: self.console_input_device.clone(),
             usbConfig: usb_config,
             balloon: true,
diff --git a/tests/Terminal/src/com/android/virtualization/terminal/TerminalAppTest.java b/tests/Terminal/src/com/android/virtualization/terminal/TerminalAppTest.java
index 4a18ee8..b0afb54 100644
--- a/tests/Terminal/src/com/android/virtualization/terminal/TerminalAppTest.java
+++ b/tests/Terminal/src/com/android/virtualization/terminal/TerminalAppTest.java
@@ -22,10 +22,12 @@
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
+import android.os.SystemProperties;
 
 import androidx.test.InstrumentationRegistry;
 import androidx.test.runner.AndroidJUnit4;
 
+import com.android.microdroid.test.common.DeviceProperties;
 import com.android.microdroid.test.common.MetricsProcessor;
 
 import org.junit.After;
@@ -42,12 +44,14 @@
 public class TerminalAppTest {
     private Instrumentation mInstr;
     private Context mTargetContext;
+    private DeviceProperties mProperties;
     private final MetricsProcessor mMetricsProc = new MetricsProcessor("avf_perf/terminal/");
 
     @Before
     public void setup() {
         mInstr = InstrumentationRegistry.getInstrumentation();
         mTargetContext = mInstr.getTargetContext();
+        mProperties = DeviceProperties.create(SystemProperties::get);
         installVmImage();
     }
 
@@ -66,7 +70,8 @@
 
     @Test
     public void boot() throws Exception {
-        final long BOOT_TIMEOUT_MILLIS = 30_000; // 30 sec
+        final boolean isNestedVirt = mProperties.isCuttlefish() || mProperties.isGoldfish();
+        final long BOOT_TIMEOUT_MILLIS = isNestedVirt ? 180_000 : 30_000; // 30 sec (or 3 min)
 
         Intent intent = new Intent(mTargetContext, MainActivity.class);
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
diff --git a/tests/backcompat_test/Android.bp b/tests/backcompat_test/Android.bp
new file mode 100644
index 0000000..aa1e089
--- /dev/null
+++ b/tests/backcompat_test/Android.bp
@@ -0,0 +1,36 @@
+package {
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+rust_test {
+    name: "avf_backcompat_tests",
+    crate_name: "backcompat_test",
+    srcs: ["src/main.rs"],
+    prefer_rlib: true,
+    edition: "2021",
+    rustlibs: [
+        "android.system.virtualizationservice-rust",
+        "libandroid_logger",
+        "libanyhow",
+        "liblibc",
+        "libnix",
+        "libvmclient",
+        "liblog_rust",
+    ],
+    test_config: "AndroidTest.xml",
+    data: [
+        "goldens/dt_dump_*",
+        ":vmbase_example_kernel_bin",
+    ],
+    data_bins: [
+        "dtc_static",
+        "dtcompare",
+    ],
+    test_suites: ["general-tests"],
+    enabled: false,
+    target: {
+        android_arm64: {
+            enabled: true,
+        },
+    },
+}
diff --git a/tests/backcompat_test/AndroidTest.xml b/tests/backcompat_test/AndroidTest.xml
new file mode 100644
index 0000000..dd8b43d
--- /dev/null
+++ b/tests/backcompat_test/AndroidTest.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2024 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<configuration description="Config to run backcompat_tests.">
+  <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer"/>
+    <target_preparer class="com.android.tradefed.targetprep.PushFilePreparer">
+        <option name="cleanup" value="true" />
+        <option name="push-file" key="avf_backcompat_tests" value="/data/local/tmp/avf_backcompat_tests" />
+    </target_preparer>
+    <test class="com.android.tradefed.testtype.rust.RustBinaryTest" >
+        <option name="module-name" value="avf_backcompat_tests" />
+        <!-- Run tests serially because the VMs may overwrite the generated Device Tree. -->
+        <option name="native-test-flag" value="--test-threads=1" />
+    </test>
+</configuration>
diff --git a/tests/backcompat_test/goldens/dt_dump_golden.dts b/tests/backcompat_test/goldens/dt_dump_golden.dts
new file mode 100644
index 0000000..a583514
--- /dev/null
+++ b/tests/backcompat_test/goldens/dt_dump_golden.dts
@@ -0,0 +1,143 @@
+/dts-v1/;
+
+/ {
+	#address-cells = <0x02>;
+	#size-cells = <0x02>;
+	compatible = "linux,dummy-virt";
+	interrupt-parent = <0x01>;
+	name = "reference";
+
+	U6_16550A@2e8 {
+		clock-frequency = <0x1c2000>;
+		compatible = "ns16550a";
+		interrupts = <0x00 0x02 0x01>;
+		reg = <0x00 0x2e8 0x00 0x08>;
+	};
+
+	U6_16550A@2f8 {
+		clock-frequency = <0x1c2000>;
+		compatible = "ns16550a";
+		interrupts = <0x00 0x02 0x01>;
+		reg = <0x00 0x2f8 0x00 0x08>;
+	};
+
+	U6_16550A@3e8 {
+		clock-frequency = <0x1c2000>;
+		compatible = "ns16550a";
+		interrupts = <0x00 0x00 0x01>;
+		reg = <0x00 0x3e8 0x00 0x08>;
+	};
+
+	U6_16550A@3f8 {
+		clock-frequency = <0x1c2000>;
+		compatible = "ns16550a";
+		interrupts = <0x00 0x00 0x01>;
+		reg = <0x00 0x3f8 0x00 0x08>;
+	};
+
+	__symbols__ {
+		intc = "/intc";
+	};
+
+	avf {
+		secretkeeper_public_key = [a4 01 01 03 27 20 06 21 58 20 de c2 79 41 b5 2a d8 1e eb dd 8a c5 a0 2f e4 56 12 42 5e b5 a4 c6 6a 8c 32 81 65 75 1c 6e b2 87];
+
+		untrusted {
+			defer-rollback-protection;
+			instance-id = <0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00>;
+		};
+	};
+
+	chosen {
+		bootargs = "panic=-1";
+		kaslr-seed = <0xab3b03c7 0xbb04cfd9>;
+		linux,pci-probe-only = <0x01>;
+		rng-seed = <0xa738baa8 0xf125e39b 0x5016f377 0xe2439805 0x94624c7e 0xac404bf6 0x68ece261 0xd45cca77 0x72328c0d 0xfdb9674f 0x74c1eb50 0x5665af83 0x1e8ccb52 0x120ed001 0xdc057599 0xbb3d33ea 0x6f9eb8e7 0x44f0517e 0x65d1cd16 0xeb4506a7 0x63fe5a00 0x8e330a52 0x2ab37c64 0x9aec3871 0x80f24353 0xfcdea704 0xd0e4fa1b 0x86412d49 0xed12a31d 0x1fbe26f3 0x97e442c5 0x25b31828 0xbe8626eb 0xea8098b8 0x6bf93ad9 0x3676d94a 0xcdbf695a 0x8b68008c 0xf598963b 0x483d0817 0xcea64b84 0xbbe0d7af 0xb09d31d7 0xfa461596 0xc47f9be8 0xd992c480 0x98372ef6 0xe1e70464 0xdc2752e4 0xe40a042c 0x5bb3a936 0x8af0aaff 0xd52f6723 0x8ac81a1b 0x15ed83d 0xee00b9eb 0x107f8ce 0xda99d512 0xed26543c 0x959f76f 0x1b85d5dc 0xa0b36c99 0xcdc8351 0xa4196327>;
+		stdout-path = "/U6_16550A@3f8";
+	};
+
+	config {
+		kernel-address = <0x80000000>;
+		kernel-size = <0x2c880>;
+	};
+
+	cpufreq {
+		compatible = "virtual,kvm-cpufreq";
+	};
+
+	cpus {
+		#address-cells = <0x01>;
+		#size-cells = <0x00>;
+
+		cpu@0 {
+			compatible = "arm,armv8";
+			device_type = "cpu";
+			phandle = <0x100>;
+			reg = <0x00>;
+		};
+	};
+
+	intc {
+		#address-cells = <0x02>;
+		#interrupt-cells = <0x03>;
+		#size-cells = <0x02>;
+		compatible = "arm,gic-v3";
+		interrupt-controller;
+		phandle = <0x01>;
+		reg = <0x00 0x3fff0000 0x00 0x10000 0x00 0x3ffd0000 0x00 0x20000>;
+	};
+
+	memory {
+		device_type = "memory";
+		reg = <0x00 0x80000000 0x00 0x12c00000>;
+	};
+
+	pci {
+		#address-cells = <0x03>;
+		#interrupt-cells = <0x01>;
+		#size-cells = <0x02>;
+		bus-range = <0x00 0x00>;
+		compatible = "pci-host-cam-generic";
+		device_type = "pci";
+		dma-coherent;
+		interrupt-map = <0x800 0x00 0x00 0x01 0x01 0x00 0x00 0x00 0x04 0x04 0x1000 0x00 0x00 0x01 0x01 0x00 0x00 0x00 0x05 0x04 0x1800 0x00 0x00 0x01 0x01 0x00 0x00 0x00 0x06 0x04 0x2000 0x00 0x00 0x01 0x01 0x00 0x00 0x00 0x07 0x04 0x2800 0x00 0x00 0x01 0x01 0x00 0x00 0x00 0x08 0x04 0x3000 0x00 0x00 0x01 0x01 0x00 0x00 0x00 0x09 0x04 0x3800 0x00 0x00 0x01 0x01 0x00 0x00 0x00 0x0a 0x04 0x4000 0x00 0x00 0x01 0x01 0x00 0x00 0x00 0x0b 0x04>;
+		interrupt-map-mask = <0xf800 0x00 0x00 0x07 0xf800 0x00 0x00 0x07 0xf800 0x00 0x00 0x07 0xf800 0x00 0x00 0x07 0xf800 0x00 0x00 0x07 0xf800 0x00 0x00 0x07 0xf800 0x00 0x00 0x07 0xf800 0x00 0x00 0x07>;
+		ranges = <0x3000000 0x00 0x70000000 0x00 0x70000000 0x00 0x2000000 0x43000000 0x00 0x93400000 0x00 0x93400000 0xff 0x6cc00000>;
+		reg = <0x00 0x72000000 0x00 0x1000000>;
+	};
+
+	pclk@3M {
+		#clock-cells = <0x00>;
+		clock-frequency = <0x2fefd8>;
+		compatible = "fixed-clock";
+		phandle = <0x18>;
+	};
+
+	psci {
+		compatible = "arm,psci-1.0\0arm,psci-0.2";
+		method = "hvc";
+	};
+
+	rtc@2000 {
+		arm,primecell-periphid = <0x41030>;
+		clock-names = "apb_pclk";
+		clocks = <0x18>;
+		compatible = "arm,primecell";
+		interrupts = <0x00 0x01 0x04>;
+		reg = <0x00 0x2000 0x00 0x1000>;
+	};
+
+	timer {
+		always-on;
+		compatible = "arm,armv8-timer";
+		interrupts = <0x01 0x0d 0x108 0x01 0x0e 0x108 0x01 0x0b 0x108 0x01 0x0a 0x108>;
+	};
+
+	vmwdt@3000 {
+		clock-frequency = <0x02>;
+		compatible = "qemu,vcpu-stall-detector";
+		interrupts = <0x01 0x0f 0x101>;
+		reg = <0x00 0x3000 0x00 0x1000>;
+		timeout-sec = <0x0a>;
+	};
+};
diff --git a/tests/backcompat_test/goldens/dt_dump_protected_golden.dts b/tests/backcompat_test/goldens/dt_dump_protected_golden.dts
new file mode 100644
index 0000000..656958d
--- /dev/null
+++ b/tests/backcompat_test/goldens/dt_dump_protected_golden.dts
@@ -0,0 +1,157 @@
+/dts-v1/;
+
+/ {
+	#address-cells = <0x02>;
+	#size-cells = <0x02>;
+	compatible = "linux,dummy-virt";
+	interrupt-parent = <0x01>;
+	name = "reference";
+
+	U6_16550A@2e8 {
+		clock-frequency = <0x1c2000>;
+		compatible = "ns16550a";
+		interrupts = <0x00 0x02 0x01>;
+		reg = <0x00 0x2e8 0x00 0x08>;
+	};
+
+	U6_16550A@2f8 {
+		clock-frequency = <0x1c2000>;
+		compatible = "ns16550a";
+		interrupts = <0x00 0x02 0x01>;
+		reg = <0x00 0x2f8 0x00 0x08>;
+	};
+
+	U6_16550A@3e8 {
+		clock-frequency = <0x1c2000>;
+		compatible = "ns16550a";
+		interrupts = <0x00 0x00 0x01>;
+		reg = <0x00 0x3e8 0x00 0x08>;
+	};
+
+	U6_16550A@3f8 {
+		clock-frequency = <0x1c2000>;
+		compatible = "ns16550a";
+		interrupts = <0x00 0x00 0x01>;
+		reg = <0x00 0x3f8 0x00 0x08>;
+	};
+
+	__symbols__ {
+		intc = "/intc";
+	};
+
+	avf {
+		secretkeeper_public_key = [a4 01 01 03 27 20 06 21 58 20 de c2 79 41 b5 2a d8 1e eb dd 8a c5 a0 2f e4 56 12 42 5e b5 a4 c6 6a 8c 32 81 65 75 1c 6e b2 87];
+
+		untrusted {
+			defer-rollback-protection;
+			instance-id = <0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00>;
+		};
+	};
+
+	chosen {
+		bootargs = "panic=-1";
+		kaslr-seed = <0xbbf0472d 0xbef495c>;
+		linux,pci-probe-only = <0x01>;
+		rng-seed = <0xb6e3fa0c 0xa0546147 0xeca61840 0x4f07da9d 0xacb41a21 0x8aa7ff1f 0xd32dd43 0x93fb4ad3 0xab5f9bf1 0x66d5913d 0x2b389a9f 0xc2c268d2 0xfd1d9a22 0xa8dba850 0xd443014d 0x10b3dfcb 0x77597882 0x66008b71 0x3d29575c 0xd917ee2f 0xb6e98504 0x6a5c9fde 0xa02daf16 0x3a60b1d5 0xa4416447 0x9e8a996d 0x3b4bf5e9 0xdf7639cb 0x4b608f7e 0x3434d9b4 0xb84cd15 0x86d724ae 0x404a1353 0x8afc6a43 0x916c4b8d 0xebe878c0 0xd67a99a4 0x94fb22ca 0xef53a3bf 0xaf5fc4b 0xd6d405d8 0xb6ed6cb5 0xc4d13a21 0x6aff3f79 0x93b56581 0x622e8da3 0x59047c4b 0x9a7562ee 0x93762d9a 0xeab995f7 0x33e1cdea 0x5d071401 0x2d57f0d1 0x73367772 0x532a74b6 0x3fb875fe 0x7340d4dd 0x492fa79f 0x7749f27 0xe8eefd10 0xeb00c401 0xd51bd6b3 0x904b5ac8 0x4316f75b>;
+		stdout-path = "/U6_16550A@3f8";
+	};
+
+	config {
+		kernel-address = <0x80000000>;
+		kernel-size = <0x2c880>;
+	};
+
+	cpufreq {
+		compatible = "virtual,kvm-cpufreq";
+	};
+
+	cpus {
+		#address-cells = <0x01>;
+		#size-cells = <0x00>;
+
+		cpu@0 {
+			compatible = "arm,armv8";
+			device_type = "cpu";
+			phandle = <0x100>;
+			reg = <0x00>;
+		};
+	};
+
+	intc {
+		#address-cells = <0x02>;
+		#interrupt-cells = <0x03>;
+		#size-cells = <0x02>;
+		compatible = "arm,gic-v3";
+		interrupt-controller;
+		phandle = <0x01>;
+		reg = <0x00 0x3fff0000 0x00 0x10000 0x00 0x3ffd0000 0x00 0x20000>;
+	};
+
+	memory {
+		device_type = "memory";
+		reg = <0x00 0x80000000 0x00 0x13800000>;
+	};
+
+	pci {
+		#address-cells = <0x03>;
+		#interrupt-cells = <0x01>;
+		#size-cells = <0x02>;
+		bus-range = <0x00 0x00>;
+		compatible = "pci-host-cam-generic";
+		device_type = "pci";
+		dma-coherent;
+		interrupt-map = <0x800 0x00 0x00 0x01 0x01 0x00 0x00 0x00 0x04 0x04 0x1000 0x00 0x00 0x01 0x01 0x00 0x00 0x00 0x05 0x04 0x1800 0x00 0x00 0x01 0x01 0x00 0x00 0x00 0x06 0x04 0x2000 0x00 0x00 0x01 0x01 0x00 0x00 0x00 0x07 0x04 0x2800 0x00 0x00 0x01 0x01 0x00 0x00 0x00 0x08 0x04 0x3000 0x00 0x00 0x01 0x01 0x00 0x00 0x00 0x09 0x04 0x3800 0x00 0x00 0x01 0x01 0x00 0x00 0x00 0x0a 0x04>;
+		interrupt-map-mask = <0xf800 0x00 0x00 0x07 0xf800 0x00 0x00 0x07 0xf800 0x00 0x00 0x07 0xf800 0x00 0x00 0x07 0xf800 0x00 0x00 0x07 0xf800 0x00 0x00 0x07 0xf800 0x00 0x00 0x07>;
+		memory-region = <0x02>;
+		ranges = <0x3000000 0x00 0x70000000 0x00 0x70000000 0x00 0x2000000 0x43000000 0x00 0x94000000 0x00 0x94000000 0xff 0x6c000000>;
+		reg = <0x00 0x72000000 0x00 0x1000000>;
+	};
+
+	pclk@3M {
+		#clock-cells = <0x00>;
+		clock-frequency = <0x2fefd8>;
+		compatible = "fixed-clock";
+		phandle = <0x18>;
+	};
+
+	psci {
+		compatible = "arm,psci-1.0\0arm,psci-0.2";
+		method = "hvc";
+	};
+
+	reserved-memory {
+		#address-cells = <0x02>;
+		#size-cells = <0x02>;
+		ranges;
+
+		restricted_dma_reserved {
+			alignment = <0x00 0x1000>;
+			compatible = "restricted-dma-pool";
+			phandle = <0x02>;
+			size = <0x00 0xc00000>;
+		};
+	};
+
+	rtc@2000 {
+		arm,primecell-periphid = <0x41030>;
+		clock-names = "apb_pclk";
+		clocks = <0x18>;
+		compatible = "arm,primecell";
+		interrupts = <0x00 0x01 0x04>;
+		reg = <0x00 0x2000 0x00 0x1000>;
+	};
+
+	timer {
+		always-on;
+		compatible = "arm,armv8-timer";
+		interrupts = <0x01 0x0d 0x108 0x01 0x0e 0x108 0x01 0x0b 0x108 0x01 0x0a 0x108>;
+	};
+
+	vmwdt@3000 {
+		clock-frequency = <0x02>;
+		compatible = "qemu,vcpu-stall-detector";
+		interrupts = <0x01 0x0f 0x101>;
+		reg = <0x00 0x3000 0x00 0x1000>;
+		timeout-sec = <0x0a>;
+	};
+};
diff --git a/tests/backcompat_test/src/main.rs b/tests/backcompat_test/src/main.rs
new file mode 100644
index 0000000..4113881
--- /dev/null
+++ b/tests/backcompat_test/src/main.rs
@@ -0,0 +1,204 @@
+// Copyright 2024, The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//! Integration test for VMs on device.
+
+use android_system_virtualizationservice::{
+    aidl::android::system::virtualizationservice::{
+        CpuTopology::CpuTopology, DiskImage::DiskImage, VirtualMachineConfig::VirtualMachineConfig,
+        VirtualMachineRawConfig::VirtualMachineRawConfig,
+    },
+    binder::{ParcelFileDescriptor, ProcessState},
+};
+use anyhow::anyhow;
+use anyhow::Context;
+use anyhow::Error;
+use log::error;
+use log::info;
+use std::fs::read_to_string;
+use std::fs::File;
+use std::io::Write;
+use std::process::Command;
+use vmclient::VmInstance;
+
+const VMBASE_EXAMPLE_KERNEL_PATH: &str = "vmbase_example_kernel.bin";
+const TEST_DISK_IMAGE_PATH: &str = "test_disk.img";
+const EMPTY_DISK_IMAGE_PATH: &str = "empty_disk.img";
+const GOLDEN_DEVICE_TREE: &str = "./goldens/dt_dump_golden.dts";
+const GOLDEN_DEVICE_TREE_PROTECTED: &str = "./goldens/dt_dump_protected_golden.dts";
+
+/// Runs an unprotected VM and validates it against a golden device tree.
+#[test]
+fn test_device_tree_compat() -> Result<(), Error> {
+    run_test(false, GOLDEN_DEVICE_TREE)
+}
+
+/// Runs a protected VM and validates it against a golden device tree.
+#[test]
+fn test_device_tree_protected_compat() -> Result<(), Error> {
+    run_test(true, GOLDEN_DEVICE_TREE_PROTECTED)
+}
+
+fn run_test(protected: bool, golden_dt: &str) -> Result<(), Error> {
+    let kernel = Some(open_payload(VMBASE_EXAMPLE_KERNEL_PATH)?);
+    android_logger::init_once(
+        android_logger::Config::default()
+            .with_tag("backcompat")
+            .with_max_level(log::LevelFilter::Debug),
+    );
+
+    // We need to start the thread pool for Binder to work properly, especially link_to_death.
+    ProcessState::start_thread_pool();
+
+    let virtmgr =
+        vmclient::VirtualizationService::new().context("Failed to spawn VirtualizationService")?;
+    let service = virtmgr.connect().context("Failed to connect to VirtualizationService")?;
+
+    // Make file for test disk image.
+    let mut test_image = File::options()
+        .create(true)
+        .read(true)
+        .write(true)
+        .truncate(true)
+        .open(TEST_DISK_IMAGE_PATH)
+        .with_context(|| format!("Failed to open test disk image {}", TEST_DISK_IMAGE_PATH))?;
+    // Write 4 sectors worth of 4-byte numbers counting up.
+    for i in 0u32..512 {
+        test_image.write_all(&i.to_le_bytes())?;
+    }
+    let test_image = ParcelFileDescriptor::new(test_image);
+    let disk_image = DiskImage { image: Some(test_image), writable: false, partitions: vec![] };
+
+    // Make file for empty test disk image.
+    let empty_image = File::options()
+        .create(true)
+        .read(true)
+        .write(true)
+        .truncate(true)
+        .open(EMPTY_DISK_IMAGE_PATH)
+        .with_context(|| format!("Failed to open empty disk image {}", EMPTY_DISK_IMAGE_PATH))?;
+    let empty_image = ParcelFileDescriptor::new(empty_image);
+    let empty_disk_image =
+        DiskImage { image: Some(empty_image), writable: false, partitions: vec![] };
+
+    let config = VirtualMachineConfig::RawConfig(VirtualMachineRawConfig {
+        name: String::from("VmBaseTest"),
+        kernel,
+        disks: vec![disk_image, empty_disk_image],
+        protectedVm: protected,
+        memoryMib: 300,
+        cpuTopology: CpuTopology::ONE_CPU,
+        platformVersion: "~1.0".to_string(),
+        ..Default::default()
+    });
+
+    let dump_dt = File::options()
+        .create(true)
+        .read(true)
+        .write(true)
+        .truncate(true)
+        .open("dump_dt.dtb")
+        .with_context(|| "Failed to open device tree dump file dump_dt.dtb")?;
+    let vm = VmInstance::create(
+        service.as_ref(),
+        &config,
+        None,
+        /* consoleIn */ None,
+        None,
+        Some(dump_dt),
+        None,
+    )
+    .context("Failed to create VM")?;
+    vm.start().context("Failed to start VM")?;
+    info!("Started example VM.");
+
+    // Wait for VM to finish
+    let _ = vm.wait_for_death();
+
+    if !Command::new("./dtc_static")
+        .arg("-I")
+        .arg("dts")
+        .arg("-O")
+        .arg("dtb")
+        .arg("-qqq")
+        .arg("-f")
+        .arg("-s")
+        .arg("-o")
+        .arg("dump_dt_golden.dtb")
+        .arg(golden_dt)
+        .output()?
+        .status
+        .success()
+    {
+        return Err(anyhow!("failed to execute dtc"));
+    }
+    let dtcompare_res = Command::new("./dtcompare")
+        .arg("--dt1")
+        .arg("dump_dt_golden.dtb")
+        .arg("--dt2")
+        .arg("dump_dt.dtb")
+        .arg("--ignore-path-value")
+        .arg("/chosen/kaslr-seed")
+        .arg("--ignore-path-value")
+        .arg("/chosen/rng-seed")
+        .arg("--ignore-path-value")
+        .arg("/avf/untrusted/instance-id")
+        .arg("--ignore-path-value")
+        .arg("/chosen/linuxinitrd-start")
+        .arg("--ignore-path-value")
+        .arg("/chosen/linuxinitrd-end")
+        .arg("--ignore-path-value")
+        .arg("/avf/secretkeeper_public_key")
+        .arg("--ignore-path")
+        .arg("/avf/name")
+        .output()
+        .context("failed to execute dtcompare")?;
+    if !dtcompare_res.status.success() {
+        if !Command::new("./dtc_static")
+            .arg("-I")
+            .arg("dtb")
+            .arg("-O")
+            .arg("dts")
+            .arg("-qqq")
+            .arg("-f")
+            .arg("-s")
+            .arg("-o")
+            .arg("dump_dt_failed.dts")
+            .arg("dump_dt.dtb")
+            .output()?
+            .status
+            .success()
+        {
+            return Err(anyhow!("failed to execute dtc"));
+        }
+        let dt2 = read_to_string("dump_dt_failed.dts")?;
+        error!(
+            "Device tree 2 does not match golden DT.\n
+               Device Tree 2: {}",
+            dt2
+        );
+        return Err(anyhow!(
+            "stdout: {:?}\n stderr: {:?}",
+            dtcompare_res.stdout,
+            dtcompare_res.stderr
+        ));
+    }
+
+    Ok(())
+}
+
+fn open_payload(path: &str) -> Result<ParcelFileDescriptor, Error> {
+    let file = File::open(path).with_context(|| format!("Failed to open VM image {path}"))?;
+    Ok(ParcelFileDescriptor::new(file))
+}
diff --git a/tests/dtcompare/Android.bp b/tests/dtcompare/Android.bp
new file mode 100644
index 0000000..988f420
--- /dev/null
+++ b/tests/dtcompare/Android.bp
@@ -0,0 +1,18 @@
+package {
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+rust_binary {
+    name: "dtcompare",
+    crate_root: "src/main.rs",
+    srcs: ["src/main.rs"],
+    edition: "2021",
+    rustlibs: [
+        "libanyhow",
+        "libclap",
+        "libhex_nostd",
+        "liblibfdt_nostd",
+        "liblog_rust",
+    ],
+    visibility: ["//packages/modules/Virtualization:__subpackages__"],
+}
diff --git a/tests/dtcompare/src/main.rs b/tests/dtcompare/src/main.rs
new file mode 100644
index 0000000..db3aac2
--- /dev/null
+++ b/tests/dtcompare/src/main.rs
@@ -0,0 +1,192 @@
+// Copyright 2024 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//! Compare device tree contents.
+//! Allows skipping over fields provided.
+
+use anyhow::anyhow;
+use anyhow::Context;
+use anyhow::Result;
+use clap::Parser;
+use hex::encode;
+use libfdt::Fdt;
+use libfdt::FdtNode;
+
+use std::collections::BTreeMap;
+use std::collections::BTreeSet;
+use std::fs::read;
+use std::path::PathBuf;
+
+#[derive(Debug, Parser)]
+/// Device Tree Compare arguments.
+struct DtCompareArgs {
+    /// first device tree
+    #[arg(long)]
+    dt1: PathBuf,
+    /// second device tree
+    #[arg(long)]
+    dt2: PathBuf,
+    /// list of properties that should exist but are expected to hold different values in the
+    /// trees.
+    #[arg(short = 'I', long)]
+    ignore_path_value: Vec<String>,
+    /// list of paths that will be ignored, whether added, removed, or changed.
+    /// Paths can be nodes, subnodes, or even properties:
+    /// Ex: /avf/unstrusted // this is a path to a subnode. All properties and subnodes underneath
+    ///                     // it will also be ignored.
+    ///     /avf/name       // This is a path for a property. Only this property will be ignored.
+    #[arg(short = 'S', long)]
+    ignore_path: Vec<String>,
+}
+
+fn main() -> Result<()> {
+    let args = DtCompareArgs::parse();
+    let dt1: Vec<u8> = read(args.dt1)?;
+    let dt2: Vec<u8> = read(args.dt2)?;
+    let ignore_value_set = BTreeSet::from_iter(args.ignore_path_value);
+    let ignore_set = BTreeSet::from_iter(args.ignore_path);
+    compare_device_trees(dt1.as_slice(), dt2.as_slice(), ignore_value_set, ignore_set)
+}
+
+// Compare device trees by doing a pre-order traversal of the trees.
+fn compare_device_trees(
+    dt1: &[u8],
+    dt2: &[u8],
+    ignore_value_set: BTreeSet<String>,
+    ignore_set: BTreeSet<String>,
+) -> Result<()> {
+    let fdt1 = Fdt::from_slice(dt1).context("invalid device tree: Dt1")?;
+    let fdt2 = Fdt::from_slice(dt2).context("invalid device tree: Dt2")?;
+    let mut errors = Vec::new();
+    compare_subnodes(
+        &fdt1.root(),
+        &fdt2.root(),
+        &ignore_value_set,
+        &ignore_set,
+        /* path */ &mut ["".to_string()],
+        &mut errors,
+    )?;
+    if !errors.is_empty() {
+        return Err(anyhow!(
+            "Following properties had different values: [\n{}\n]\ndetected {} diffs",
+            errors.join("\n"),
+            errors.len()
+        ));
+    }
+    Ok(())
+}
+
+fn compare_props(
+    root1: &FdtNode,
+    root2: &FdtNode,
+    ignore_value_set: &BTreeSet<String>,
+    ignore_set: &BTreeSet<String>,
+    path: &mut [String],
+    errors: &mut Vec<String>,
+) -> Result<()> {
+    let mut prop_map: BTreeMap<String, &[u8]> = BTreeMap::new();
+    for prop in root1.properties().context("Error getting properties")? {
+        let prop_path =
+            path.join("/") + "/" + prop.name().context("Error getting property name")?.to_str()?;
+        // Do not add to prop map if skipping
+        if ignore_set.contains(&prop_path) {
+            continue;
+        }
+        let value = prop.value().context("Error getting value")?;
+        if prop_map.insert(prop_path.clone(), value).is_some() {
+            return Err(anyhow!("Duplicate property detected in subnode: {}", prop_path));
+        }
+    }
+    for prop in root2.properties().context("Error getting properties")? {
+        let prop_path =
+            path.join("/") + "/" + prop.name().context("Error getting property name")?.to_str()?;
+        if ignore_set.contains(&prop_path) {
+            continue;
+        }
+        let Some(prop1_value) = prop_map.remove(&prop_path) else {
+            errors.push(format!("added prop_path: {}", prop_path));
+            continue;
+        };
+        let prop_compare = prop1_value == prop.value().context("Error getting value")?;
+        // Check if value should be ignored. If yes, skip field.
+        if ignore_value_set.contains(&prop_path) {
+            continue;
+        }
+        if !prop_compare {
+            errors.push(format!(
+                "prop {} value mismatch: old: {} -> new: {}",
+                prop_path,
+                encode(prop1_value),
+                encode(prop.value().context("Error getting value")?)
+            ));
+        }
+    }
+    if !prop_map.is_empty() {
+        errors.push(format!("missing properties: {:?}", prop_map));
+    }
+    Ok(())
+}
+
+fn compare_subnodes(
+    node1: &FdtNode,
+    node2: &FdtNode,
+    ignore_value_set: &BTreeSet<String>,
+    ignore_set: &BTreeSet<String>,
+    path: &mut [String],
+    errors: &mut Vec<String>,
+) -> Result<()> {
+    let mut subnodes_map: BTreeMap<String, FdtNode> = BTreeMap::new();
+    for subnode in node1.subnodes().context("Error getting subnodes of first FDT")? {
+        let sn_path = path.join("/")
+            + "/"
+            + subnode.name().context("Error getting property name")?.to_str()?;
+        // Do not add to subnode map if skipping
+        if ignore_set.contains(&sn_path) {
+            continue;
+        }
+        if subnodes_map.insert(sn_path.clone(), subnode).is_some() {
+            return Err(anyhow!("Duplicate subnodes detected: {}", sn_path));
+        }
+    }
+    for sn2 in node2.subnodes().context("Error getting subnodes of second FDT")? {
+        let sn_path =
+            path.join("/") + "/" + sn2.name().context("Error getting subnode name")?.to_str()?;
+        let sn1 = subnodes_map.remove(&sn_path);
+        match sn1 {
+            Some(sn) => {
+                compare_props(
+                    &sn,
+                    &sn2,
+                    ignore_value_set,
+                    ignore_set,
+                    &mut [sn_path.clone()],
+                    errors,
+                )?;
+                compare_subnodes(
+                    &sn,
+                    &sn2,
+                    ignore_value_set,
+                    ignore_set,
+                    &mut [sn_path.clone()],
+                    errors,
+                )?;
+            }
+            None => errors.push(format!("added node: {}", sn_path)),
+        }
+    }
+    if !subnodes_map.is_empty() {
+        errors.push(format!("missing nodes: {:?}", subnodes_map));
+    }
+    Ok(())
+}
diff --git a/tests/helper/Android.bp b/tests/helper/Android.bp
index 1c38d12..2402721 100644
--- a/tests/helper/Android.bp
+++ b/tests/helper/Android.bp
@@ -7,6 +7,7 @@
     srcs: ["src/java/com/android/microdroid/test/common/*.java"],
     host_supported: true,
     sdk_version: "system_current",
+    apex_available: ["com.android.virt"],
 }
 
 java_library_static {
diff --git a/tests/helper/src/java/com/android/microdroid/test/device/MicrodroidDeviceTestBase.java b/tests/helper/src/java/com/android/microdroid/test/device/MicrodroidDeviceTestBase.java
index e6f15ff..a932d32 100644
--- a/tests/helper/src/java/com/android/microdroid/test/device/MicrodroidDeviceTestBase.java
+++ b/tests/helper/src/java/com/android/microdroid/test/device/MicrodroidDeviceTestBase.java
@@ -207,9 +207,6 @@
             assume().withMessage("Skip where protected VMs aren't supported")
                     .that(capabilities & VirtualMachineManager.CAPABILITY_PROTECTED_VM)
                     .isNotEqualTo(0);
-            assume().withMessage("Testing protected VMs on GSI isn't supported. b/272443823")
-                    .that(isGsi())
-                    .isFalse();
             // TODO(b/376870129): remove this
             assume().withMessage("pVMs with 16k kernel are not supported yet :(")
                     .that(mOs)
@@ -259,11 +256,11 @@
     }
 
     /**
-     * @return The first vendor API level when the vendor images for an SoC that is qualified for
-     *     vendor freeze are first released with this property, or 0 if the property is not set.
+     * @return The vendor API level that the device as a whole must conform to, this value should be
+     *     available on both GRF and non-GRF devices.
      */
     protected static int getFirstVendorApiLevel() {
-        return SystemProperties.getInt("ro.board.first_api_level", 0);
+        return SystemProperties.getInt("ro.vendor.api_level", -1);
     }
 
     protected void assumeSupportedDevice() {
diff --git a/tests/testapk/src/native/testbinary.rs b/tests/testapk/src/native/testbinary.rs
index e479342..2502113 100644
--- a/tests/testapk/src/native/testbinary.rs
+++ b/tests/testapk/src/native/testbinary.rs
@@ -26,7 +26,6 @@
 };
 use cstr::cstr;
 use log::{error, info};
-use std::panic;
 use std::process::exit;
 use std::string::String;
 use std::vec::Vec;
@@ -40,10 +39,6 @@
             .with_tag("microdroid_testlib_rust")
             .with_max_level(log::LevelFilter::Debug),
     );
-    // Redirect panic messages to logcat.
-    panic::set_hook(Box::new(|panic_info| {
-        error!("{panic_info}");
-    }));
     if let Err(e) = try_main() {
         error!("failed with {:?}", e);
         exit(1);
diff --git a/tests/vm_attestation/src/native/main.rs b/tests/vm_attestation/src/native/main.rs
index 52635ad..e8038b5 100644
--- a/tests/vm_attestation/src/native/main.rs
+++ b/tests/vm_attestation/src/native/main.rs
@@ -24,10 +24,7 @@
     binder::{self, BinderFeatures, Interface, IntoBinderResult, Strong},
 };
 use log::{error, info};
-use std::{
-    panic,
-    sync::{Arc, Mutex},
-};
+use std::sync::{Arc, Mutex};
 use vm_payload::{AttestationError, AttestationResult};
 
 vm_payload::main!(main);
@@ -39,10 +36,6 @@
             .with_tag("service_vm_client")
             .with_max_level(log::LevelFilter::Debug),
     );
-    // Redirect panic messages to logcat.
-    panic::set_hook(Box::new(|panic_info| {
-        error!("{}", panic_info);
-    }));
     if let Err(e) = try_main() {
         error!("failed with {:?}", e);
         std::process::exit(1);
diff --git a/tests/vmbase_example/src/main.rs b/tests/vmbase_example/src/main.rs
index 34a2b0b..cbe90d8 100644
--- a/tests/vmbase_example/src/main.rs
+++ b/tests/vmbase_example/src/main.rs
@@ -27,7 +27,7 @@
     collections::{HashSet, VecDeque},
     fs::File,
     io::{self, BufRead, BufReader, Read, Write},
-    panic, thread,
+    thread,
 };
 use vmclient::{DeathReason, VmInstance};
 
@@ -58,11 +58,6 @@
             .with_max_level(log::LevelFilter::Debug),
     );
 
-    // Redirect panic messages to logcat.
-    panic::set_hook(Box::new(|panic_info| {
-        log::error!("{}", panic_info);
-    }));
-
     // We need to start the thread pool for Binder to work properly, especially link_to_death.
     ProcessState::start_thread_pool();