diff --git a/android/TerminalApp/Android.bp b/android/TerminalApp/Android.bp
index 5e45c02..84ba041 100644
--- a/android/TerminalApp/Android.bp
+++ b/android/TerminalApp/Android.bp
@@ -20,6 +20,7 @@
     platform_apis: true,
     privileged: true,
     optimize: {
+        optimize: true,
         proguard_flags_files: ["proguard.flags"],
         shrink_resources: true,
     },
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/InstallerService.java b/android/TerminalApp/java/com/android/virtualization/terminal/InstallerService.java
index 6737d49..5967b6f 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/InstallerService.java
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/InstallerService.java
@@ -44,6 +44,7 @@
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.StandardCopyOption;
+import java.util.Arrays;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
@@ -55,7 +56,9 @@
 
     // TODO(b/369740847): Replace this URL with dl.google.com
     private static final String IMAGE_URL =
-            "https://github.com/ikicha/debian_ci/releases/download/first/images.tar.gz";
+            Arrays.asList(Build.SUPPORTED_ABIS).contains("x86_64")
+                    ? "https://github.com/ikicha/debian_ci/releases/download/release_x86_64/images.tar.gz"
+                    : "https://github.com/ikicha/debian_ci/releases/download/release_aarch64/images.tar.gz";
 
     private final Object mLock = new Object();
 
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java b/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java
index 1212525..af41c85 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java
@@ -21,6 +21,7 @@
 import android.app.PendingIntent;
 import android.content.Context;
 import android.content.Intent;
+import android.content.SharedPreferences;
 import android.content.res.Configuration;
 import android.graphics.Bitmap;
 import android.graphics.drawable.Icon;
@@ -44,6 +45,7 @@
 import android.widget.Toast;
 
 import com.android.virtualization.vmlauncher.InstallUtils;
+import com.android.virtualization.vmlauncher.VmLauncherService;
 import com.android.virtualization.vmlauncher.VmLauncherServices;
 
 import com.google.android.material.appbar.MaterialToolbar;
@@ -85,15 +87,6 @@
         super.onCreate(savedInstanceState);
 
         boolean launchInstaller = installIfNecessary();
-        try {
-            // No resize for now.
-            long newSizeInBytes = 0;
-            diskResize(this, newSizeInBytes);
-        } catch (IOException e) {
-            Log.e(TAG, "Failed to resize disk", e);
-            Toast.makeText(this, "Error resizing disk: " + e.getMessage(), Toast.LENGTH_LONG)
-                    .show();
-        }
 
         NotificationManager notificationManager = getSystemService(NotificationManager.class);
         if (notificationManager.getNotificationChannel(TAG) == null) {
@@ -135,7 +128,9 @@
                         + "&fontWeightBold="
                         + (FontStyle.FONT_WEIGHT_BOLD + config.fontWeightAdjustment)
                         + "&screenReaderMode="
-                        + mAccessibilityManager.isTouchExplorationEnabled();
+                        + mAccessibilityManager.isTouchExplorationEnabled()
+                        + "&titleFixed="
+                        + getString(R.string.app_name);
 
         try {
             return new URL("https", VM_ADDR, TTYD_PORT, "/" + query);
@@ -215,6 +210,8 @@
                                     public void onComplete(long requestId) {
                                         if (requestId == mRequestId) {
                                             android.os.Trace.endAsyncSection("executeTerminal", 0);
+                                            findViewById(R.id.boot_progress)
+                                                    .setVisibility(View.GONE);
                                             view.setVisibility(View.VISIBLE);
                                         }
                                     }
@@ -247,12 +244,11 @@
                 .start();
     }
 
-    private void diskResize(Context context, long sizeInBytes) throws IOException {
+    private void diskResize(File file, long sizeInBytes) throws IOException {
         try {
             if (sizeInBytes == 0) {
                 return;
             }
-            File file = getPartitionFile(context, "root_part");
             String filePath = file.getAbsolutePath();
             Log.d(TAG, "Disk-resize in progress for partition: " + filePath);
 
@@ -276,7 +272,7 @@
             throws FileNotFoundException {
         File file = new File(context.getFilesDir(), fileName);
         if (!file.exists()) {
-            Log.d(TAG, fileName + " - file not found");
+            Log.d(TAG, file.getAbsolutePath() + " - file not found");
             throw new FileNotFoundException("File not found: " + fileName);
         }
         return file;
@@ -321,10 +317,11 @@
         }
     }
 
-    private static void runCommand(String... command) throws IOException {
+    private static String runCommand(String... command) throws IOException {
         try {
             Process process = new ProcessBuilder(command).redirectErrorStream(true).start();
             process.waitFor();
+            return new String(process.getInputStream().readAllBytes());
         } catch (InterruptedException e) {
             Thread.currentThread().interrupt();
             throw new IOException("Command interrupted", e);
@@ -428,29 +425,109 @@
         if (!InstallUtils.isImageInstalled(this)) {
             return;
         }
+
+        resizeDiskIfNecessary();
+
         // TODO: implement intent for setting, close and tap to the notification
         // Currently mock a PendingIntent for notification.
         Intent intent = new Intent();
         PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent,
                 PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
-
+        Intent stopIntent = new Intent();
+        stopIntent.setClass(this, VmLauncherService.class);
+        stopIntent.setAction(VmLauncherServices.ACTION_STOP_VM_LAUNCHER_SERVICE);
+        PendingIntent stopPendingIntent =
+                PendingIntent.getService(
+                        this,
+                        0,
+                        stopIntent,
+                        PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
         Icon icon = Icon.createWithResource(getResources(), R.drawable.ic_launcher_foreground);
-        Notification notification = new Notification.Builder(this, TAG)
-                .setChannelId(TAG)
-                .setSmallIcon(R.drawable.ic_launcher_foreground)
-                .setContentTitle(getResources().getString(R.string.service_notification_title))
-                .setContentText(getResources().getString(R.string.service_notification_content))
-                .setContentIntent(pendingIntent)
-                .setOngoing(true)
-                .addAction(new Notification.Action.Builder(icon,
-                        getResources().getString(R.string.service_notification_settings),
-                        pendingIntent).build())
-                .addAction(new Notification.Action.Builder(icon,
-                        getResources().getString(R.string.service_notification_quit_action),
-                        pendingIntent).build())
-                .build();
+        Notification notification =
+                new Notification.Builder(this, TAG)
+                        .setChannelId(TAG)
+                        .setSmallIcon(R.drawable.ic_launcher_foreground)
+                        .setContentTitle(
+                                getResources().getString(R.string.service_notification_title))
+                        .setContentText(
+                                getResources().getString(R.string.service_notification_content))
+                        .setContentIntent(pendingIntent)
+                        .setOngoing(true)
+                        .addAction(
+                                new Notification.Action.Builder(
+                                                icon,
+                                                getResources()
+                                                        .getString(
+                                                                R.string
+                                                                        .service_notification_settings),
+                                                pendingIntent)
+                                        .build())
+                        .addAction(
+                                new Notification.Action.Builder(
+                                                icon,
+                                                getResources()
+                                                        .getString(
+                                                                R.string
+                                                                        .service_notification_quit_action),
+                                                stopPendingIntent)
+                                        .build())
+                        .setDeleteIntent(stopPendingIntent)
+                        .build();
 
         android.os.Trace.beginAsyncSection("executeTerminal", 0);
         VmLauncherServices.startVmLauncherService(this, this, notification);
     }
+
+    private long roundUpDiskSize(long diskSize) {
+        // Round up every disk_size_round_up_step_size_in_mb MB
+        int disk_size_step = getResources().getInteger(
+                R.integer.disk_size_round_up_step_size_in_mb) * 1024 * 1024;
+        return (long) Math.ceil(((double) diskSize) / disk_size_step) * disk_size_step;
+    }
+
+    private long getMinFilesystemSize(File file) throws IOException, NumberFormatException {
+        try {
+            String result = runCommand("/system/bin/resize2fs", "-P", file.getAbsolutePath());
+            // The return value is the number of 4k block
+            long minSize = Long.parseLong(
+                    result.lines().toArray(String[]::new)[1].substring(42)) * 4 * 1024;
+            return roundUpDiskSize(minSize);
+        } catch (IOException | NumberFormatException e) {
+            Log.e(TAG, "Failed to get filesystem size", e);
+            throw e;
+        }
+    }
+
+    private static long getFilesystemSize(File file) throws ErrnoException {
+        return Os.stat(file.getAbsolutePath()).st_size;
+    }
+
+    private void resizeDiskIfNecessary() {
+        try {
+            File file = getPartitionFile(this, "root_part");
+            SharedPreferences sharedPref = this.getSharedPreferences(
+                    getString(R.string.preference_file_key), Context.MODE_PRIVATE);
+            SharedPreferences.Editor editor = sharedPref.edit();
+
+            long minDiskSize = getMinFilesystemSize(file);
+            editor.putLong(getString(R.string.preference_min_disk_size_key), minDiskSize);
+
+            long currentDiskSize = getFilesystemSize(file);
+            long newSizeInBytes = sharedPref.getLong(getString(R.string.preference_disk_size_key),
+                    roundUpDiskSize(currentDiskSize));
+            editor.putLong(getString(R.string.preference_disk_size_key), newSizeInBytes);
+            editor.apply();
+
+            Log.d(TAG, "Current disk size: " + currentDiskSize);
+            Log.d(TAG, "Targeting disk size: " + newSizeInBytes);
+
+            if (newSizeInBytes != currentDiskSize) {
+                diskResize(file, newSizeInBytes);
+            }
+        } catch (FileNotFoundException e) {
+            Log.d(TAG, "No partition file");
+        } catch (IOException | ErrnoException | NumberFormatException e) {
+            Log.e(TAG, "Failed to resize disk", e);
+        }
+    }
 }
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/SettingsDiskResizeActivity.kt b/android/TerminalApp/java/com/android/virtualization/terminal/SettingsDiskResizeActivity.kt
index 1b14ef2..54e8ab2 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/SettingsDiskResizeActivity.kt
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/SettingsDiskResizeActivity.kt
@@ -15,45 +15,77 @@
  */
 package com.android.virtualization.terminal
 
+import android.content.Context
+import android.content.Intent
 import android.os.Bundle
 import android.os.FileUtils
-import android.widget.TextView
-import android.widget.Toast
-import android.text.style.RelativeSizeSpan
-import android.text.Spannable
 import android.text.SpannableString
 import android.text.Spanned
-import android.text.format.Formatter
 import android.text.TextUtils
+import android.text.format.Formatter
+import android.text.style.RelativeSizeSpan
+import android.widget.TextView
 import androidx.appcompat.app.AppCompatActivity
 import androidx.core.view.isVisible
 import com.google.android.material.button.MaterialButton
 import com.google.android.material.slider.Slider
-
-import java.util.regex.Matcher
 import java.util.regex.Pattern
 
 class SettingsDiskResizeActivity : AppCompatActivity() {
-    private val maxDiskSize: Float = 256F
+    private val maxDiskSizeMb: Float = (16 shl 10).toFloat()
     private val numberPattern: Pattern = Pattern.compile("[\\d]*[\\٫.,]?[\\d]+");
-    private var diskSize: Float = 104F
+
+    private fun bytesToMb(bytes: Long): Long {
+        return bytes shr 20;
+    }
+
+    private fun mbToBytes(bytes: Long): Long {
+        return bytes shl 20;
+    }
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         setContentView(R.layout.settings_disk_resize)
+        val sharedPref =
+            this.getSharedPreferences(getString(R.string.preference_file_key), Context.MODE_PRIVATE)
+        var diskSizeMb =
+            bytesToMb(
+                sharedPref.getLong(
+                    getString(R.string.preference_disk_size_key),
+                    0
+                )
+            ).toFloat();
+        val minDiskSizeMb =
+            bytesToMb(
+                    sharedPref.getLong(
+                    getString(R.string.preference_min_disk_size_key),
+                    0
+                )
+            ).toFloat();
+
         val diskSizeText = findViewById<TextView>(R.id.settings_disk_resize_resize_gb_assigned)
         val diskMaxSizeText = findViewById<TextView>(R.id.settings_disk_resize_resize_gb_max)
         diskMaxSizeText.text = getString(R.string.settings_disk_resize_resize_gb_max_format,
-            localizedFileSize(maxDiskSize));
+            localizedFileSize(maxDiskSizeMb)
+        );
 
         val diskSizeSlider = findViewById<Slider>(R.id.settings_disk_resize_disk_size_slider)
-        diskSizeSlider.setValueTo(maxDiskSize)
+        diskSizeSlider.setValueTo(maxDiskSizeMb)
         val cancelButton = findViewById<MaterialButton>(R.id.settings_disk_resize_cancel_button)
         val resizeButton = findViewById<MaterialButton>(R.id.settings_disk_resize_resize_button)
-        diskSizeSlider.value = diskSize
+        diskSizeSlider.valueFrom = minDiskSizeMb
+        diskSizeSlider.valueTo = maxDiskSizeMb
+        diskSizeSlider.value = diskSizeMb
+        diskSizeSlider.stepSize =
+            resources.getInteger(R.integer.disk_size_round_up_step_size_in_mb).toFloat()
+        diskSizeSlider.setLabelFormatter { value: Float ->
+            localizedFileSize(value)
+        }
         diskSizeText.text = enlargeFontOfNumber(
             getString(R.string.settings_disk_resize_resize_gb_assigned_format,
-            localizedFileSize(diskSize)))
+                localizedFileSize(diskSizeMb)
+            )
+        )
 
         diskSizeSlider.addOnChangeListener { _, value, _ ->
             diskSizeText.text = enlargeFontOfNumber(
@@ -63,24 +95,35 @@
             resizeButton.isVisible = true
         }
         cancelButton.setOnClickListener {
-            diskSizeSlider.value = diskSize
+            diskSizeSlider.value = diskSizeMb
             cancelButton.isVisible = false
             resizeButton.isVisible = false
         }
 
         resizeButton.setOnClickListener {
-            diskSize = diskSizeSlider.value
+            diskSizeMb = diskSizeSlider.value
             cancelButton.isVisible = false
             resizeButton.isVisible = false
-            Toast.makeText(this@SettingsDiskResizeActivity, R.string.settings_disk_resize_resize_message, Toast.LENGTH_SHORT)
-                .show()
+            val editor = sharedPref.edit()
+            editor.putLong(
+                getString(R.string.preference_disk_size_key),
+                mbToBytes(diskSizeMb.toLong())
+            )
+            editor.apply()
+
+            // Restart terminal
+            val intent =
+                baseContext.packageManager.getLaunchIntentForPackage(baseContext.packageName)
+            intent?.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)
+            finish()
+            startActivity(intent)
         }
     }
 
-    fun localizedFileSize(sizeGb: Float): String {
+    fun localizedFileSize(sizeMb: Float): String {
         // formatShortFileSize() uses SI unit (i.e. kB = 1000 bytes),
-        // so covert sizeGb with "GB" instead of "GIB".
-        val bytes = FileUtils.parseSize(sizeGb.toLong().toString() + "GB")
+        // so covert sizeMb with "MB" instead of "MIB".
+        val bytes = FileUtils.parseSize(sizeMb.toLong().toString() + "MB")
         return Formatter.formatShortFileSize(this, bytes)
     }
 
diff --git a/android/TerminalApp/proguard.flags b/android/TerminalApp/proguard.flags
index 13ec24e..b93240c 100644
--- a/android/TerminalApp/proguard.flags
+++ b/android/TerminalApp/proguard.flags
@@ -1,7 +1,33 @@
-# Keep the no-args constructor of the deserialized class
--keepclassmembers class com.android.virtualization.vmlauncher.ConfigJson {
-  <init>();
+##---------------Begin: proguard configuration for Gson  ----------
+# Gson uses generic type information stored in a class file when working with fields. Proguard
+# removes such information by default, so configure it to keep all of it.
+-keepattributes Signature
+
+# For using GSON @Expose annotation
+-keepattributes *Annotation*
+
+# Gson specific classes
+-dontwarn sun.misc.**
+#-keep class com.google.gson.stream.** { *; }
+
+# Application classes that will be serialized/deserialized over Gson
+-keep class com.android.virtualization.vmlauncher.ConfigJson { <fields>; }
+-keep class com.android.virtualization.vmlauncher.ConfigJson$* { <fields>; }
+
+# Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory,
+# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
+-keep class * extends com.google.gson.TypeAdapter
+-keep class * implements com.google.gson.TypeAdapterFactory
+-keep class * implements com.google.gson.JsonSerializer
+-keep class * implements com.google.gson.JsonDeserializer
+
+# Prevent R8 from leaving Data object members always null
+-keepclassmembers,allowobfuscation class * {
+  @com.google.gson.annotations.SerializedName <fields>;
 }
--keepclassmembers class com.android.virtualization.vmlauncher.ConfigJson$* {
-  <init>();
-}
+
+# Retain generic signatures of TypeToken and its subclasses with R8 version 3.0 and higher.
+-keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken
+-keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken
+
+##---------------End: proguard configuration for Gson  ----------
\ No newline at end of file
diff --git a/android/TerminalApp/res/drawable/baseline_call_missed_outgoing_24.xml b/android/TerminalApp/res/drawable/baseline_call_missed_outgoing_24.xml
index 597c317..ec1f990 100644
--- a/android/TerminalApp/res/drawable/baseline_call_missed_outgoing_24.xml
+++ b/android/TerminalApp/res/drawable/baseline_call_missed_outgoing_24.xml
@@ -1,4 +1,4 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" android:height="24dp" android:tint="?attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
 
     <path android:fillColor="@android:color/white" android:pathData="M3,8.41l9,9l7,-7V15h2V7h-8v2h4.59L12,14.59L4.41,7L3,8.41z"/>
 
diff --git a/android/TerminalApp/res/drawable/baseline_settings_backup_restore_24.xml b/android/TerminalApp/res/drawable/baseline_settings_backup_restore_24.xml
index 22b23ba..513c42b 100644
--- a/android/TerminalApp/res/drawable/baseline_settings_backup_restore_24.xml
+++ b/android/TerminalApp/res/drawable/baseline_settings_backup_restore_24.xml
@@ -1,4 +1,4 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="?attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
 
     <path android:fillColor="@android:color/white" android:pathData="M14,12c0,-1.1 -0.9,-2 -2,-2s-2,0.9 -2,2 0.9,2 2,2 2,-0.9 2,-2zM12,3c-4.97,0 -9,4.03 -9,9L0,12l4,4 4,-4L5,12c0,-3.87 3.13,-7 7,-7s7,3.13 7,7 -3.13,7 -7,7c-1.51,0 -2.91,-0.49 -4.06,-1.3l-1.42,1.44C8.04,20.3 9.94,21 12,21c4.97,0 9,-4.03 9,-9s-4.03,-9 -9,-9z"/>
 
diff --git a/android/TerminalApp/res/drawable/baseline_storage_24.xml b/android/TerminalApp/res/drawable/baseline_storage_24.xml
index 6e52e3f..503d1bc 100644
--- a/android/TerminalApp/res/drawable/baseline_storage_24.xml
+++ b/android/TerminalApp/res/drawable/baseline_storage_24.xml
@@ -1,4 +1,4 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="?attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
 
     <path android:fillColor="@android:color/white" android:pathData="M2,20h20v-4L2,16v4zM4,17h2v2L4,19v-2zM2,4v4h20L22,4L2,4zM6,7L4,7L4,5h2v2zM2,14h20v-4L2,10v4zM4,11h2v2L4,13v-2z"/>
 
diff --git a/android/TerminalApp/res/layout/activity_headless.xml b/android/TerminalApp/res/layout/activity_headless.xml
index 7baaf5c..7da87af 100644
--- a/android/TerminalApp/res/layout/activity_headless.xml
+++ b/android/TerminalApp/res/layout/activity_headless.xml
@@ -16,6 +16,7 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent">
         <LinearLayout
+            android:id="@+id/boot_progress"
             android:orientation="vertical"
             android:gravity="center"
             android:layout_gravity="center"
diff --git a/android/TerminalApp/res/layout/settings_disk_resize.xml b/android/TerminalApp/res/layout/settings_disk_resize.xml
index f868b28..a41b580 100644
--- a/android/TerminalApp/res/layout/settings_disk_resize.xml
+++ b/android/TerminalApp/res/layout/settings_disk_resize.xml
@@ -42,8 +42,6 @@
             android:layout_width="match_parent"
             android:layout_marginBottom="36dp"
             app:tickVisible="false"
-            android:valueFrom="0"
-            android:stepSize="4"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent" />
 
@@ -53,6 +51,7 @@
             android:layout_height="wrap_content"
             android:text="@string/settings_disk_resize_resize_cancel"
             android:visibility="invisible"
+            android:layout_marginVertical="48dp"
             android:layout_marginHorizontal="8dp"
             app:layout_constraintTop_toTopOf="@+id/settings_disk_resize_disk_size_slider"
             app:layout_constraintBottom_toBottomOf="parent"
@@ -64,7 +63,6 @@
             android:layout_height="wrap_content"
             android:text="@string/settings_disk_resize_resize_restart_vm_to_apply"
             android:visibility="invisible"
-            android:layout_marginHorizontal="8dp"
             app:layout_constraintTop_toTopOf="@+id/settings_disk_resize_disk_size_slider"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent" />
diff --git a/android/TerminalApp/res/values-af/strings.xml b/android/TerminalApp/res/values-af/strings.xml
new file mode 100644
index 0000000..6859e9d
--- /dev/null
+++ b/android/TerminalApp/res/values-af/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Herbegin VM om toe te pas"</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_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_reset_message" msgid="3450358289168768830">"Terugstelling van VM"</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="8652887364784704911">"Klik om die terminaal oop te maak."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Maak toe"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-am/strings.xml b/android/TerminalApp/res/values-am/strings.xml
new file mode 100644
index 0000000..83813b9
--- /dev/null
+++ b/android/TerminalApp/res/values-am/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"ለመተግበር VMን እንደገና ያስጀምሩ"</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_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_reset_message" msgid="3450358289168768830">"VM ዳግም ማስጀመር"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"ቅንብሮች"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"ተርሚናል በመሄድ ላይ ነው"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"ተርሚናሉን ለመክፈት ጠቅ ያድርጉ።"</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"ዝጋ"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-ar/strings.xml b/android/TerminalApp/res/values-ar/strings.xml
new file mode 100644
index 0000000..3edfaf5
--- /dev/null
+++ b/android/TerminalApp/res/values-ar/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"إعادة تشغيل الجهاز الافتراضي لتطبيق التغييرات"</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_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_reset_message" msgid="3450358289168768830">"إعادة ضبط الجهاز الافتراضي"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"الإعدادات"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"الوحدة الطرفية قيد التشغيل"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"انقر لفتح الوحدة الطرفية."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"إغلاق"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-as/strings.xml b/android/TerminalApp/res/values-as/strings.xml
new file mode 100644
index 0000000..10a7a7c
--- /dev/null
+++ b/android/TerminalApp/res/values-as/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"প্ৰয়োগ কৰিবলৈ VM ৰিষ্টাৰ্ট কৰক"</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_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_reset_message" msgid="3450358289168768830">"VM ৰিছেট কৰা হৈছে"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"ছেটিং"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"টাৰ্মিনেলটো চলি আছে"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"টাৰ্মিনেলটো খুলিবলৈ ক্লিক কৰক।"</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"বন্ধ কৰক"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-az/strings.xml b/android/TerminalApp/res/values-az/strings.xml
new file mode 100644
index 0000000..a856ca2
--- /dev/null
+++ b/android/TerminalApp/res/values-az/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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">"Diski yenidən ölçüləndirin"</string>
+    <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Yenidən ölçüləndirin / Rootfs"</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="8122668558537714453">"Tətbiq etmək üçün VM-i 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_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_reset_message" msgid="3450358289168768830">"VM-i sıfırlayın"</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="8652887364784704911">"Terminalı açmaq üçün klikləyin."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Bağlayın"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-b+sr+Latn/strings.xml b/android/TerminalApp/res/values-b+sr+Latn/strings.xml
new file mode 100644
index 0000000..f05ec7b
--- /dev/null
+++ b/android/TerminalApp/res/values-b+sr+Latn/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Restartuj virtuelnu mašinu radi primene"</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_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">"Promenite na početnu verziju"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Uklonite sve"</string>
+    <string name="settings_recovery_reset_message" msgid="3450358289168768830">"Virtuelna mašina je resetovana"</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="8652887364784704911">"Kliknite da biste otvorili terminal."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Zatvori"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-be/strings.xml b/android/TerminalApp/res/values-be/strings.xml
new file mode 100644
index 0000000..95e64b1
--- /dev/null
+++ b/android/TerminalApp/res/values-be/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Перазапусціць віртуальную машыну, каб прымяніць"</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_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_reset_message" msgid="3450358289168768830">"Віртуальная машына скінута"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"Налады"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"Тэрмінал запушчаны"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"Націсніце, каб адкрыць тэрмінал."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Закрыць"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-bg/strings.xml b/android/TerminalApp/res/values-bg/strings.xml
new file mode 100644
index 0000000..049bb92
--- /dev/null
+++ b/android/TerminalApp/res/values-bg/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Рестартирайте виртуалната машина, за да се приложи"</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_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_reset_message" msgid="3450358289168768830">"Нулиране на виртуалната машина"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"Настройки"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"Терминалът работи"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"Кликнете, за да отворите терминала."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Затваряне"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-bn/strings.xml b/android/TerminalApp/res/values-bn/strings.xml
new file mode 100644
index 0000000..7a6856f
--- /dev/null
+++ b/android/TerminalApp/res/values-bn/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"প্রয়োগ করার জন্য VM (ভার্চুয়াল মেশিন) রিস্টার্ট করুন"</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_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_reset_message" msgid="3450358289168768830">"VM (ভার্চুয়াল মেশিন) রিসেট"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"সেটিংস"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"টার্মিনাল চলছে"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"টার্মিনাল খুলতে ক্লিক করুন।"</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"বন্ধ করুন"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-bs/strings.xml b/android/TerminalApp/res/values-bs/strings.xml
new file mode 100644
index 0000000..4a83406
--- /dev/null
+++ b/android/TerminalApp/res/values-bs/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Ponovo pokrenite virtuelnu mašinu 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_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">"Uklonite sve"</string>
+    <string name="settings_recovery_reset_message" msgid="3450358289168768830">"Virtuelna mašina je poništena"</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="8652887364784704911">"Kliknite da otvorite terminal."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Zatvori"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-ca/strings.xml b/android/TerminalApp/res/values-ca/strings.xml
new file mode 100644
index 0000000..c77d680
--- /dev/null
+++ b/android/TerminalApp/res/values-ca/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Reinicia la màquina virtual 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_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_reset_message" msgid="3450358289168768830">"S\'ha restablert la màquina virtual"</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="8652887364784704911">"Fes clic per obrir el terminal."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Tanca"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-cs/strings.xml b/android/TerminalApp/res/values-cs/strings.xml
new file mode 100644
index 0000000..6ddae85
--- /dev/null
+++ b/android/TerminalApp/res/values-cs/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <string name="action_settings" msgid="5729342767795123227">"Nastavení"</string>
+    <string name="vm_creation_message" msgid="6594953532721367502">"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_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="8122668558537714453">"Projeví se po restartu virtuálního počítače"</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_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_reset_message" msgid="3450358289168768830">"Virtuální počítač resetován"</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="8652887364784704911">"Kliknutím otevřete terminál."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Zavřít"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-da/strings.xml b/android/TerminalApp/res/values-da/strings.xml
new file mode 100644
index 0000000..9f37f3b
--- /dev/null
+++ b/android/TerminalApp/res/values-da/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Genstart VM for at anvende"</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_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_reset_message" msgid="3450358289168768830">"Nulstilling af VM"</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="8652887364784704911">"Klik for at åbne terminalen."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Luk"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-de/strings.xml b/android/TerminalApp/res/values-de/strings.xml
new file mode 100644
index 0000000..b912eb7
--- /dev/null
+++ b/android/TerminalApp/res/values-de/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"VM neu starten, um die Änderung zu übernehmen"</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_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">"Wiederherstellung"</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_reset_message" msgid="3450358289168768830">"VM wurde zurückgesetzt"</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="8652887364784704911">"Klicke hier, um das Terminal zu öffnen."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Schließen"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-el/strings.xml b/android/TerminalApp/res/values-el/strings.xml
new file mode 100644
index 0000000..56a4d44
--- /dev/null
+++ b/android/TerminalApp/res/values-el/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Επανεκκίνηση του VM για εφαρμογή"</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_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_reset_message" msgid="3450358289168768830">"Επαναφορά VM"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"Ρυθμίσεις"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"Το τερματικό εκτελείται"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"Κάντε κλικ για να ανοίξετε το τερματικό."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Κλείσιμο"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-en-rAU/strings.xml b/android/TerminalApp/res/values-en-rAU/strings.xml
new file mode 100644
index 0000000..78ac537
--- /dev/null
+++ b/android/TerminalApp/res/values-en-rAU/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Restart VM 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_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_reset_message" msgid="3450358289168768830">"VM reset"</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="8652887364784704911">"Click to open the terminal."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Close"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-en-rCA/strings.xml b/android/TerminalApp/res/values-en-rCA/strings.xml
new file mode 100644
index 0000000..dcc8347
--- /dev/null
+++ b/android/TerminalApp/res/values-en-rCA/strings.xml
@@ -0,0 +1,62 @@
+<?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.
+  -->
+
+<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>
+    <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="6254965309085392106">"Wait for Wi-Fi on metered network"</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_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_unknown" msgid="1991780204241177455">"Failed to install. 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_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="8122668558537714453">"Restart VM 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_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_reset_message" msgid="3450358289168768830">"VM reset"</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="8652887364784704911">"Click to open the terminal."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Close"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-en-rGB/strings.xml b/android/TerminalApp/res/values-en-rGB/strings.xml
new file mode 100644
index 0000000..78ac537
--- /dev/null
+++ b/android/TerminalApp/res/values-en-rGB/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Restart VM 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_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_reset_message" msgid="3450358289168768830">"VM reset"</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="8652887364784704911">"Click to open the terminal."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Close"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-en-rIN/strings.xml b/android/TerminalApp/res/values-en-rIN/strings.xml
new file mode 100644
index 0000000..78ac537
--- /dev/null
+++ b/android/TerminalApp/res/values-en-rIN/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Restart VM 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_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_reset_message" msgid="3450358289168768830">"VM reset"</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="8652887364784704911">"Click to open the terminal."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Close"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-es-rUS/strings.xml b/android/TerminalApp/res/values-es-rUS/strings.xml
new file mode 100644
index 0000000..24e8640
--- /dev/null
+++ b/android/TerminalApp/res/values-es-rUS/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Reiniciar la VM para aplicar el cambio"</string>
+    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Redirección de puertos"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configura 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_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_reset_message" msgid="3450358289168768830">"Restablecimiento de la VM"</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="8652887364784704911">"Haz clic para abrir la terminal."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Cerrar"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-es/strings.xml b/android/TerminalApp/res/values-es/strings.xml
new file mode 100644
index 0000000..742f0bd
--- /dev/null
+++ b/android/TerminalApp/res/values-es/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Reinicia la VM para aplicar los cambios"</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_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_reset_message" msgid="3450358289168768830">"VM restablecida"</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="8652887364784704911">"Haz clic para abrir el terminal."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Cerrar"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-et/strings.xml b/android/TerminalApp/res/values-et/strings.xml
new file mode 100644
index 0000000..36cf924
--- /dev/null
+++ b/android/TerminalApp/res/values-et/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Rakendamiseks taaskäivitage VM"</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_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_reset_message" msgid="3450358289168768830">"VM lähtestatud"</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="8652887364784704911">"Klõpsake terminali avamiseks."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Sule"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-eu/strings.xml b/android/TerminalApp/res/values-eu/strings.xml
new file mode 100644
index 0000000..12c6386
--- /dev/null
+++ b/android/TerminalApp/res/values-eu/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Aldaketak aplikatzeko, berrabiarazi makina birtuala"</string>
+    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Ataka-birbideratzea"</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_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_reset_message" msgid="3450358289168768830">"Berrabiarazi da makina birtuala"</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="8652887364784704911">"Egin klik terminala irekitzeko."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Itxi"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-fa/strings.xml b/android/TerminalApp/res/values-fa/strings.xml
new file mode 100644
index 0000000..5af0a05
--- /dev/null
+++ b/android/TerminalApp/res/values-fa/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"برای اعمال شدن، ماشین مجازی را بازراه‌اندازی کنید"</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_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_reset_message" msgid="3450358289168768830">"بازنشانی ماشین مجازی"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"تنظیمات"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"پایانه درحال اجرا است"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"برای باز کردن پایانه کلیک کنید."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"بستن"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-fi/strings.xml b/android/TerminalApp/res/values-fi/strings.xml
new file mode 100644
index 0000000..a48db3b
--- /dev/null
+++ b/android/TerminalApp/res/values-fi/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <string name="action_settings" msgid="5729342767795123227">"Asetukset"</string>
+    <string name="vm_creation_message" msgid="6594953532721367502">"Valmistellaan terminaalia"</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_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="8122668558537714453">"Käynnistä VM uudelleen, jotta muutokset tulevat voimaan"</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_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_reset_message" msgid="3450358289168768830">"VM nollattu"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"Asetukset"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"Terminaali on käynnissä"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"Avaa pääte klikkaamalla."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Sulje"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-fr-rCA/strings.xml b/android/TerminalApp/res/values-fr-rCA/strings.xml
new file mode 100644
index 0000000..cc3702f
--- /dev/null
+++ b/android/TerminalApp/res/values-fr-rCA/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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">"Redimensionner/Rootfs"</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="8122668558537714453">"Redémarrer la MV pour appliquer la modification"</string>
+    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Redirection de port"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configurer 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_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_reset_message" msgid="3450358289168768830">"Réinitialisation de la MV"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"Paramètres"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"Le terminal est en cours d\'exécution…"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"Cliquez pour ouvrir le terminal."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Fermer"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-fr/strings.xml b/android/TerminalApp/res/values-fr/strings.xml
new file mode 100644
index 0000000..3f8448e
--- /dev/null
+++ b/android/TerminalApp/res/values-fr/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Redémarrer la VM pour appliquer la modification"</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_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_reset_message" msgid="3450358289168768830">"VM réinitialisée"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"Paramètres"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"Le terminal est en cours d\'exécution"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"Cliquez pour ouvrir le terminal."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Fermer"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-gl/strings.xml b/android/TerminalApp/res/values-gl/strings.xml
new file mode 100644
index 0000000..e176b64
--- /dev/null
+++ b/android/TerminalApp/res/values-gl/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Reiniciar máquina virtual para aplicar o cambio"</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_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_reset_message" msgid="3450358289168768830">"Restableceuse a máquina virtual"</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="8652887364784704911">"Fai clic para abrir o terminal."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Pechar"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-gu/strings.xml b/android/TerminalApp/res/values-gu/strings.xml
new file mode 100644
index 0000000..22e58e2
--- /dev/null
+++ b/android/TerminalApp/res/values-gu/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"લાગુ કરવા માટે VM ફરી શરૂ કરો"</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_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_reset_message" msgid="3450358289168768830">"VM રીસેટ"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"સેટિંગ"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"ટર્મિનલ ચાલી રહ્યું છે"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"ટર્મિનલ ખોલવા માટે ક્લિક કરો."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"બંધ કરો"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-hi/strings.xml b/android/TerminalApp/res/values-hi/strings.xml
new file mode 100644
index 0000000..f126a2a
--- /dev/null
+++ b/android/TerminalApp/res/values-hi/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"बदलाव लागू करने के लिए वीएम को रीस्टार्ट करें"</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_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_reset_message" msgid="3450358289168768830">"वीएम को रीसेट किया गया"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"सेटिंग"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"टर्मिनल चालू है"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"टर्मिनल खोलने के लिए क्लिक करें."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"बंद करें"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-hr/strings.xml b/android/TerminalApp/res/values-hr/strings.xml
new file mode 100644
index 0000000..a1c394d
--- /dev/null
+++ b/android/TerminalApp/res/values-hr/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Ponovo pokrenite VM da bi se izmjena primijenila"</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_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">"Promijeni na početnu verziju"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Ukloni sve"</string>
+    <string name="settings_recovery_reset_message" msgid="3450358289168768830">"VM je vraćen na zadano"</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="8652887364784704911">"Kliknite da biste otvorili terminal."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Zatvori"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-hu/strings.xml b/android/TerminalApp/res/values-hu/strings.xml
new file mode 100644
index 0000000..5d02bc9
--- /dev/null
+++ b/android/TerminalApp/res/values-hu/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"A VM újraindítása 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_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_reset_message" msgid="3450358289168768830">"VM visszaállítása"</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="8652887364784704911">"Kattintson a terminál megnyitásához."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Bezárás"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-hy/strings.xml b/android/TerminalApp/res/values-hy/strings.xml
new file mode 100644
index 0000000..0d1863f
--- /dev/null
+++ b/android/TerminalApp/res/values-hy/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Փոփոխությունը կիրառելու համար վերագործարկեք վիրտուալ մեքենան"</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_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_reset_message" msgid="3450358289168768830">"Վիրտուալ մեքենան վերակայվեց"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"Կարգավորումներ"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"Տերմինալն աշխատում է"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"Սեղմեք՝ տերմինալը բացելու համար։"</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Փակել"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-in/strings.xml b/android/TerminalApp/res/values-in/strings.xml
new file mode 100644
index 0000000..42e4aa8
--- /dev/null
+++ b/android/TerminalApp/res/values-in/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Mulai ulang VM 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_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_reset_message" msgid="3450358289168768830">"Reset VM"</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="8652887364784704911">"Klik untuk membuka terminal."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Tutup"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-is/strings.xml b/android/TerminalApp/res/values-is/strings.xml
new file mode 100644
index 0000000..a66d09f
--- /dev/null
+++ b/android/TerminalApp/res/values-is/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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">"Tengi"</string>
+    <!-- no translation found for installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <string name="action_settings" msgid="5729342767795123227">"Stillingar"</string>
+    <string name="vm_creation_message" msgid="6594953532721367502">"Undirbýr tengi"</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_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="8122668558537714453">"Endurræstu VM 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">"Stöð 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_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_reset_message" msgid="3450358289168768830">"VM endurstillt"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"Stillingar"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"Stöð er í gangi"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"Smelltu til að opna stöðina."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Loka"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-it/strings.xml b/android/TerminalApp/res/values-it/strings.xml
new file mode 100644
index 0000000..12716d7
--- /dev/null
+++ b/android/TerminalApp/res/values-it/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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">"Terminale"</string>
+    <!-- no translation found for installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_resize_message" msgid="5990475712303845087">"Dimensioni disco impostate"</string>
+    <string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Dimensioni assegnate: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
+    <string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Dimensioni massime: <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="8122668558537714453">"Riavvia la VM per applicare la modifica"</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_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">"Cambia in versione iniziale"</string>
+    <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Rimuovi tutto"</string>
+    <string name="settings_recovery_reset_message" msgid="3450358289168768830">"VM reimpostata"</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="8652887364784704911">"Fai clic per aprire il terminale."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Chiudi"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-iw/strings.xml b/android/TerminalApp/res/values-iw/strings.xml
new file mode 100644
index 0000000..b2fd67b
--- /dev/null
+++ b/android/TerminalApp/res/values-iw/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"צריך להפעיל מחדש את ה-VM כדי להחיל את השינויים"</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_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_reset_message" msgid="3450358289168768830">"איפוס VM"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"הגדרות"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"הטרמינל פועל"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"צריך ללחוץ כדי לפתוח את הטרמינל."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"סגירה"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-ja/strings.xml b/android/TerminalApp/res/values-ja/strings.xml
new file mode 100644
index 0000000..03c7b9d
--- /dev/null
+++ b/android/TerminalApp/res/values-ja/strings.xml
@@ -0,0 +1,62 @@
+<?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.
+  -->
+
+<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>
+    <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="6254965309085392106">"従量制ネットワークの 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_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_unknown" msgid="1991780204241177455">"インストールできませんでした。もう一度お試しください。"</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_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="8122668558537714453">"適用するには VM を再起動してください"</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_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_reset_message" msgid="3450358289168768830">"VM をリセットしました"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"設定"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"ターミナルは実行中です"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"クリックするとターミナルが開きます。"</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"閉じる"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-ka/strings.xml b/android/TerminalApp/res/values-ka/strings.xml
new file mode 100644
index 0000000..9d06686
--- /dev/null
+++ b/android/TerminalApp/res/values-ka/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"გამოსაყენებლად საჭიროა ვირტუალური მანქანის გადატვირთვა"</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_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_reset_message" msgid="3450358289168768830">"ვირტუალური მანქანის გადაყენება"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"პარამეტრები"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"ტერმინალი გაშვებულია"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"დააწკაპუნეთ ტერმინალის გასახსნელად."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"დახურვა"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-kk/strings.xml b/android/TerminalApp/res/values-kk/strings.xml
new file mode 100644
index 0000000..8f0ffd7
--- /dev/null
+++ b/android/TerminalApp/res/values-kk/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Өзгерісті енгізу үшін виртуалдық машинаны қайтадан іске қосу"</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_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_reset_message" msgid="3450358289168768830">"Виртуалдық машина қайта орнатылды."</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"Параметрлер"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"Терминал іске қосылып тұр"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"Терминалды ашу үшін басыңыз."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Жабу"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-km/strings.xml b/android/TerminalApp/res/values-km/strings.xml
new file mode 100644
index 0000000..1478cd7
--- /dev/null
+++ b/android/TerminalApp/res/values-km/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"ចាប់ផ្ដើម​ VM ឡើងវិញ ដើម្បីអនុវត្ត"</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_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_reset_message" msgid="3450358289168768830">"បានកំណត់ VM ឡើងវិញ"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"ការកំណត់"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"ទែមីណាល់កំពុងដំណើរការ"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"ចុចដើម្បីបើកទែមីណាល់។"</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"បិទ"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-kn/strings.xml b/android/TerminalApp/res/values-kn/strings.xml
new file mode 100644
index 0000000..9228720
--- /dev/null
+++ b/android/TerminalApp/res/values-kn/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"ಅನ್ವಯಿಸಲು VM ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ"</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_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_reset_message" msgid="3450358289168768830">"VM ರೀಸೆಟ್"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"ಟರ್ಮಿನಲ್‌ ರನ್‌ ಆಗುತ್ತಿದೆ"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"ಟರ್ಮಿನಲ್‌ ಅನ್ನು ತೆರೆಯಲು ಕ್ಲಿಕ್‌ ಮಾಡಿ."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"ಮುಚ್ಚಿರಿ"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-ko/strings.xml b/android/TerminalApp/res/values-ko/strings.xml
new file mode 100644
index 0000000..aac9ab1
--- /dev/null
+++ b/android/TerminalApp/res/values-ko/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"VM을 다시 시작하여 적용"</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_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_reset_message" msgid="3450358289168768830">"VM 재설정"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"설정"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"터미널이 실행 중입니다"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"터미널을 열려면 클릭하세요."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"닫기"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-ky/strings.xml b/android/TerminalApp/res/values-ky/strings.xml
new file mode 100644
index 0000000..35ca8d9
--- /dev/null
+++ b/android/TerminalApp/res/values-ky/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Колдонуу үчүн виртуалдык машинаны өчүрүп күйгүзүү"</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_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_reset_message" msgid="3450358289168768830">"Виртуалдык машина баштапкы абалга келтирилди"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"Параметрлер"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"Терминал иштеп жатат"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"Терминалды ачуу үчүн чыкылдатыңыз."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Жабуу"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-lo/strings.xml b/android/TerminalApp/res/values-lo/strings.xml
new file mode 100644
index 0000000..bbdfb1f
--- /dev/null
+++ b/android/TerminalApp/res/values-lo/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"ຣີສະຕາດ VM ເພື່ອນຳໃຊ້"</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_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_reset_message" msgid="3450358289168768830">"ຣີເຊັດ VM"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"ການຕັ້ງຄ່າ"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"ເທີມິນອນກຳລັງເຮັດວຽກຢູ່"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"ຄລິກເພື່ອເປີດເທີມິນອນ."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"ປິດ"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-lt/strings.xml b/android/TerminalApp/res/values-lt/strings.xml
new file mode 100644
index 0000000..bf6105a
--- /dev/null
+++ b/android/TerminalApp/res/values-lt/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Paleisti VM iš naujo kad būtų pritaikyta"</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_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_reset_message" msgid="3450358289168768830">"VM nustatymas iš naujo"</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="8652887364784704911">"Spustelėkite, kad atidarytumėte terminalą."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Uždaryti"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-lv/strings.xml b/android/TerminalApp/res/values-lv/strings.xml
new file mode 100644
index 0000000..d8733d5
--- /dev/null
+++ b/android/TerminalApp/res/values-lv/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Restartēt virtuālo mašīnu, lai lietotu izmaiņas"</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_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_reset_message" msgid="3450358289168768830">"Virtuālā mašīna ir atiestatīta."</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="8652887364784704911">"Noklikšķiniet, lai atvērtu termināli."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Aizvērt"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-mk/strings.xml b/android/TerminalApp/res/values-mk/strings.xml
new file mode 100644
index 0000000..d7f7e9a
--- /dev/null
+++ b/android/TerminalApp/res/values-mk/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Рестартирај ја VM за да се примени"</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_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_reset_message" msgid="3450358289168768830">"VM е ресетирана"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"Поставки"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"Терминалот е активен"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"Кликнете за да го отворите терминалот."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Затвори"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-ml/strings.xml b/android/TerminalApp/res/values-ml/strings.xml
new file mode 100644
index 0000000..0e742c1
--- /dev/null
+++ b/android/TerminalApp/res/values-ml/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"പ്രയോഗിക്കുന്നതിന് VM റീസ്‌റ്റാർട്ട് ചെയ്യുക"</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_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_reset_message" msgid="3450358289168768830">"VM റീസെറ്റ് ചെയ്‌തു"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"ക്രമീകരണം"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"ടെർമിനൽ റൺ ചെയ്യുന്നു"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"ടെർമിനൽ തുറക്കാൻ ക്ലിക്ക് ചെയ്യുക."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"അടയ്ക്കുക"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-mn/strings.xml b/android/TerminalApp/res/values-mn/strings.xml
new file mode 100644
index 0000000..27a58bf
--- /dev/null
+++ b/android/TerminalApp/res/values-mn/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Хэрэгжүүлэхийн тулд VM-г дахин эхлүүлэх"</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_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_reset_message" msgid="3450358289168768830">"VM-г шинэчлэх"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"Тохиргоо"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"Терминал ажиллаж байна"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"Терминалыг нээхийн тулд товшино уу."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Хаах"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-mr/strings.xml b/android/TerminalApp/res/values-mr/strings.xml
new file mode 100644
index 0000000..01bb16b
--- /dev/null
+++ b/android/TerminalApp/res/values-mr/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"लागू करण्यासाठी व्हर्च्युअल मशीन सुरू करा"</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_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_reset_message" msgid="3450358289168768830">"व्हर्च्युअल मशीन रीसेट केली आहे"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"सेटिंग्ज"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"टर्मिनल रन होत आहे"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"टर्मिनल उघडण्यासाठी क्लिक करा."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"बंद करा"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-ms/strings.xml b/android/TerminalApp/res/values-ms/strings.xml
new file mode 100644
index 0000000..a5327bb
--- /dev/null
+++ b/android/TerminalApp/res/values-ms/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Mulakan semula VM untuk menggunakan perubahan"</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_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_reset_message" msgid="3450358289168768830">"Tetapan semula VM"</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="8652887364784704911">"Klik untuk membuka terminal."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Tutup"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-my/strings.xml b/android/TerminalApp/res/values-my/strings.xml
new file mode 100644
index 0000000..3fda41f
--- /dev/null
+++ b/android/TerminalApp/res/values-my/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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">"/ Rootf အရွယ်ပြင်ရန်"</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="8122668558537714453">"သုံးရန်အတွက် VM ကို ပြန်စရန်"</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_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_reset_message" msgid="3450358289168768830">"VM ပြင်ဆင်သတ်မှတ်ပြီးပြီ"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"ဆက်တင်များ"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"တာမီနယ်ကို ဖွင့်ထားသည်"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"တာမီနယ်ဖွင့်ရန် နှိပ်ပါ။"</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"ပိတ်ရန်"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-nb/strings.xml b/android/TerminalApp/res/values-nb/strings.xml
new file mode 100644
index 0000000..e7c93f5
--- /dev/null
+++ b/android/TerminalApp/res/values-nb/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Start VM-en på nytt for å ta i bruk"</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_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_reset_message" msgid="3450358289168768830">"VM-tilbakestilling"</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="8652887364784704911">"Klikk for å åpne terminalen."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Lukk"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-ne/strings.xml b/android/TerminalApp/res/values-ne/strings.xml
new file mode 100644
index 0000000..50de7e0
--- /dev/null
+++ b/android/TerminalApp/res/values-ne/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"परिवर्तन लागू गर्न VM रिस्टार्ट गर्नुहोस्"</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_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_reset_message" msgid="3450358289168768830">"VM रिसेट गर्नुहोस्"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"सेटिङ"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"टर्मिनल चलिरहेको छ"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"टर्मिनल खोल्न क्लिक गर्नुहोस्।"</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"बन्द गर्नुहोस्"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-nl/strings.xml b/android/TerminalApp/res/values-nl/strings.xml
new file mode 100644
index 0000000..996685f
--- /dev/null
+++ b/android/TerminalApp/res/values-nl/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Start de VM opnieuw op om dit toe te passen"</string>
+    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Poortdoorschakeling"</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_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_reset_message" msgid="3450358289168768830">"VM gereset"</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="8652887364784704911">"Klik om de terminal te openen."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Sluiten"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-or/strings.xml b/android/TerminalApp/res/values-or/strings.xml
new file mode 100644
index 0000000..ef092cd
--- /dev/null
+++ b/android/TerminalApp/res/values-or/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"ଲାଗୁ କରିବାକୁ VMକୁ ରିଷ୍ଟାର୍ଟ କରନ୍ତୁ"</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_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_reset_message" msgid="3450358289168768830">"VM ରିସେଟ ହୋଇଛି"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"ସେଟିଂସ"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"ଟର୍ମିନାଲ ଚାଲୁ ଅଛି"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"ଟର୍ମିନାଲ ଖୋଲିବାକୁ କ୍ଲିକ କରନ୍ତୁ।"</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"ବନ୍ଦ କରନ୍ତୁ"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-pa/strings.xml b/android/TerminalApp/res/values-pa/strings.xml
new file mode 100644
index 0000000..955a097
--- /dev/null
+++ b/android/TerminalApp/res/values-pa/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"ਲਾਗੂ ਕਰਨ ਲਈ VM ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ"</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_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_reset_message" msgid="3450358289168768830">"VM ਰੀਸੈੱਟ ਕੀਤਾ ਗਿਆ"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"ਸੈਟਿੰਗਾਂ"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"ਟਰਮੀਨਲ ਚਾਲੂ ਹੈ"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"ਟਰਮੀਨਲ ਨੂੰ ਖੋਲ੍ਹਣ ਲਈ ਕਲਿੱਕ ਕਰੋ।"</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"ਬੰਦ ਕਰੋ"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-pl/strings.xml b/android/TerminalApp/res/values-pl/strings.xml
new file mode 100644
index 0000000..eae24a0
--- /dev/null
+++ b/android/TerminalApp/res/values-pl/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Aby wprowadzić zmianę, ponownie uruchom maszynę wirtualną"</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_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_reset_message" msgid="3450358289168768830">"Maszyna wirtualna została zresetowana"</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="8652887364784704911">"Kliknij, aby otworzyć terminal."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Zamknij"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-pt-rPT/strings.xml b/android/TerminalApp/res/values-pt-rPT/strings.xml
new file mode 100644
index 0000000..80c473d
--- /dev/null
+++ b/android/TerminalApp/res/values-pt-rPT/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Reiniciar VM para aplicar"</string>
+    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Encaminhamento de porta"</string>
+    <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configure o encaminhamento de porta"</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_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_reset_message" msgid="3450358289168768830">"Reposição da VM"</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="8652887364784704911">"Clique para abrir o terminal."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Fechar"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-pt/strings.xml b/android/TerminalApp/res/values-pt/strings.xml
new file mode 100644
index 0000000..12d8f9f
--- /dev/null
+++ b/android/TerminalApp/res/values-pt/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Reinicie a VM 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_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_reset_message" msgid="3450358289168768830">"Redefinição da VM"</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="8652887364784704911">"Clique para abrir o terminal."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Fechar"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-ro/strings.xml b/android/TerminalApp/res/values-ro/strings.xml
new file mode 100644
index 0000000..981926d
--- /dev/null
+++ b/android/TerminalApp/res/values-ro/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Repornește VM pentru a aplica"</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_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_reset_message" msgid="3450358289168768830">"Resetarea MV"</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="8652887364784704911">"Dă clic pentru a deschide terminalul."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Închide"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-ru/strings.xml b/android/TerminalApp/res/values-ru/strings.xml
new file mode 100644
index 0000000..33c3c59
--- /dev/null
+++ b/android/TerminalApp/res/values-ru/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Перезапустить ВМ, чтобы применить"</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_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_reset_message" msgid="3450358289168768830">"Настройки ВМ сброшены."</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"Настройки"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"Терминал запущен"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"Нажмите, чтобы открыть его."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Закрыть"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-si/strings.xml b/android/TerminalApp/res/values-si/strings.xml
new file mode 100644
index 0000000..c1b0072
--- /dev/null
+++ b/android/TerminalApp/res/values-si/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"අයදුම් කිරීමට VM යළි අරඹන්න"</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_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_reset_message" msgid="3450358289168768830">"VM යළි සැකසීම"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"සැකසීම්"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"පර්යන්තය ධාවනය වේ"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"ටර්මිනලය විවෘත කිරීමට ක්ලික් කරන්න."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"වසන්න"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-sk/strings.xml b/android/TerminalApp/res/values-sk/strings.xml
new file mode 100644
index 0000000..67eb1bc
--- /dev/null
+++ b/android/TerminalApp/res/values-sk/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Zmeny sa prejavia po reštartovaní virtuálneho počítača"</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_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_reset_message" msgid="3450358289168768830">"Virtuálny počítač je resetovaný"</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="8652887364784704911">"Kliknutím otvorte terminál."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Zavrieť"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-sl/strings.xml b/android/TerminalApp/res/values-sl/strings.xml
new file mode 100644
index 0000000..fab5aba
--- /dev/null
+++ b/android/TerminalApp/res/values-sl/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Za uporabo spremembe znova zaženite navidezni računalnik"</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_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_reset_message" msgid="3450358289168768830">"Navidezni računalnik je bil ponastavljen"</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="8652887364784704911">"Kliknite, če želite odpreti terminal."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Zapri"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-sq/strings.xml b/android/TerminalApp/res/values-sq/strings.xml
new file mode 100644
index 0000000..42831c7
--- /dev/null
+++ b/android/TerminalApp/res/values-sq/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Rinis VM për ta 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_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_reset_message" msgid="3450358289168768830">"Rivendosja e VM"</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="8652887364784704911">"Kliko për të hapur terminalin."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Mbyll"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-sr/strings.xml b/android/TerminalApp/res/values-sr/strings.xml
new file mode 100644
index 0000000..593cbef
--- /dev/null
+++ b/android/TerminalApp/res/values-sr/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Рестартуј виртуелну машину ради примене"</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_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_reset_message" msgid="3450358289168768830">"Виртуелна машина је ресетована"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"Подешавања"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"Терминал је активан"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"Кликните да бисте отворили терминал."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Затвори"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-sv/strings.xml b/android/TerminalApp/res/values-sv/strings.xml
new file mode 100644
index 0000000..b3897a3
--- /dev/null
+++ b/android/TerminalApp/res/values-sv/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Starta om VM för att tillämpa"</string>
+    <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Portvidarebefordran"</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_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_reset_message" msgid="3450358289168768830">"VM-återställning"</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="8652887364784704911">"Klicka för att öppna terminalen."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Stäng"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-sw/strings.xml b/android/TerminalApp/res/values-sw/strings.xml
new file mode 100644
index 0000000..905b6be
--- /dev/null
+++ b/android/TerminalApp/res/values-sw/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Zima kisha uwashe mtambo pepe ili 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_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_reset_message" msgid="3450358289168768830">"Imeweka upya mipangilio ya mtambo pepe"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"Mipangilio"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"Kituo kinatumika"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"Bofya ili ufungue kituo."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Funga"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-ta/strings.xml b/android/TerminalApp/res/values-ta/strings.xml
new file mode 100644
index 0000000..9a690f6
--- /dev/null
+++ b/android/TerminalApp/res/values-ta/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"பயன்படுத்துவதற்கு VMமை மீண்டும் தொடங்கு"</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_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_reset_message" msgid="3450358289168768830">"VM மீட்டமைக்கப்பட்டது"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"அமைப்புகள்"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"டெர்மினல் இயக்கத்தில் உள்ளது"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"டெர்மினலைத் திறக்க கிளிக் செய்யுங்கள்."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"மூடு"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-te/strings.xml b/android/TerminalApp/res/values-te/strings.xml
new file mode 100644
index 0000000..2e73e0f
--- /dev/null
+++ b/android/TerminalApp/res/values-te/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"దరఖాస్తు చేయడానికి VMను రీస్టార్ట్ చేయండి"</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_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_reset_message" msgid="3450358289168768830">"VM రీసెట్"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"సెట్టింగ్‌లు"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"టెర్మినల్ రన్ అవుతోంది"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"టెర్మినల్‌ను తెరవడానికి క్లిక్ చేయండి."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"మూసివేయండి"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-th/strings.xml b/android/TerminalApp/res/values-th/strings.xml
new file mode 100644
index 0000000..0d917c6
--- /dev/null
+++ b/android/TerminalApp/res/values-th/strings.xml
@@ -0,0 +1,62 @@
+<?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.
+  -->
+
+<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>
+    <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="6254965309085392106">"รอ 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_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_unknown" msgid="1991780204241177455">"ติดตั้งไม่สำเร็จ โปรดลองอีกครั้ง"</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_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="8122668558537714453">"รีสตาร์ท VM เพื่อให้มีผล"</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_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_reset_message" msgid="3450358289168768830">"รีเซ็ต VM แล้ว"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"การตั้งค่า"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"เทอร์มินัลกำลังทำงาน"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"คลิกเพื่อเปิดเทอร์มินัล"</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"ปิด"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-tl/strings.xml b/android/TerminalApp/res/values-tl/strings.xml
new file mode 100644
index 0000000..12450f4
--- /dev/null
+++ b/android/TerminalApp/res/values-tl/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"I-restart ang VM para ilapat"</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_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_reset_message" msgid="3450358289168768830">"Na-reset na ang VM"</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="8652887364784704911">"I-click para buksan ang terminal."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Isara"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-tr/strings.xml b/android/TerminalApp/res/values-tr/strings.xml
new file mode 100644
index 0000000..50a6f5a
--- /dev/null
+++ b/android/TerminalApp/res/values-tr/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Değişikliğin uygulanması için sanal makineyi yeniden başlat"</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_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_reset_message" msgid="3450358289168768830">"Sanal makine sıfırlandı"</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="8652887364784704911">"Terminali açmak için tıklayın."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Kapat"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-uk/strings.xml b/android/TerminalApp/res/values-uk/strings.xml
new file mode 100644
index 0000000..84d847a
--- /dev/null
+++ b/android/TerminalApp/res/values-uk/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Перезапустити віртуальну машину, щоб застосувати"</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_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_reset_message" msgid="3450358289168768830">"Налаштування віртуальної машини скинуто"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"Налаштування"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"Термінал запущено"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"Натисніть, щоб відкрити термінал."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Закрити"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-ur/strings.xml b/android/TerminalApp/res/values-ur/strings.xml
new file mode 100644
index 0000000..db5dd91
--- /dev/null
+++ b/android/TerminalApp/res/values-ur/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"لاگو کرنے کے لیے VM کو ری سٹارٹ کریں"</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_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_reset_message" msgid="3450358289168768830">"‫VM ری سیٹ ہو گیا"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"ترتیبات"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"ٹرمینل چل رہا ہے"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"ٹرمینل کھولنے کے لیے کلک کریں۔"</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"بند کریں"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-uz/strings.xml b/android/TerminalApp/res/values-uz/strings.xml
new file mode 100644
index 0000000..222dc2d
--- /dev/null
+++ b/android/TerminalApp/res/values-uz/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Tatbiq qilish uchun virtual mashinani qayta ishga tushiring"</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_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_reset_message" msgid="3450358289168768830">"VM tozalandi"</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="8652887364784704911">"Terminalni ochish uchun bosing."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Yopish"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-vi/strings.xml b/android/TerminalApp/res/values-vi/strings.xml
new file mode 100644
index 0000000..505398a
--- /dev/null
+++ b/android/TerminalApp/res/values-vi/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Khởi động lại máy ảo để á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_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">"Thay đổi thành 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_reset_message" msgid="3450358289168768830">"Đã đặt lại máy ảo"</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="8652887364784704911">"Nhấp để mở Terminal."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Đóng"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-zh-rCN/strings.xml b/android/TerminalApp/res/values-zh-rCN/strings.xml
new file mode 100644
index 0000000..4bda957
--- /dev/null
+++ b/android/TerminalApp/res/values-zh-rCN/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"重启虚拟机以应用更改"</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_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_reset_message" msgid="3450358289168768830">"已重置虚拟机"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"设置"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"终端正在运行"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"点击即可打开终端。"</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"关闭"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-zh-rHK/strings.xml b/android/TerminalApp/res/values-zh-rHK/strings.xml
new file mode 100644
index 0000000..8d3208e
--- /dev/null
+++ b/android/TerminalApp/res/values-zh-rHK/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"重新啟動虛擬機器以套用設定"</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_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_reset_message" msgid="3450358289168768830">"重設虛擬機器"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"設定"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"終端機執行中"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"按一下即可開啟終端機。"</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"關閉"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-zh-rTW/strings.xml b/android/TerminalApp/res/values-zh-rTW/strings.xml
new file mode 100644
index 0000000..6dc5e7c
--- /dev/null
+++ b/android/TerminalApp/res/values-zh-rTW/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"重新啟動 VM 即可套用"</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_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_reset_message" msgid="3450358289168768830">"VM 已重設"</string>
+    <string name="service_notification_settings" msgid="1437365721184401135">"設定"</string>
+    <string name="service_notification_title" msgid="2918088850910713393">"終端機運作中"</string>
+    <string name="service_notification_content" msgid="8652887364784704911">"點選即可開啟終端機。"</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"關閉"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values-zu/strings.xml b/android/TerminalApp/res/values-zu/strings.xml
new file mode 100644
index 0000000..6d18216
--- /dev/null
+++ b/android/TerminalApp/res/values-zu/strings.xml
@@ -0,0 +1,72 @@
+<?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.
+  -->
+
+<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 installer_title_text (500663060973466805) -->
+    <skip />
+    <!-- no translation found for installer_desc_text_format (2734224805682171826) -->
+    <skip />
+    <!-- no translation found for installer_wait_for_wifi_checkbox_text (6254965309085392106) -->
+    <skip />
+    <!-- no translation found for installer_install_button_enabled_text (6142090640081511103) -->
+    <skip />
+    <!-- no translation found for installer_install_button_disabled_text (8651445004125422467) -->
+    <skip />
+    <!-- no translation found for installer_install_network_error_message (2450409107529774410) -->
+    <skip />
+    <!-- no translation found for installer_notif_title_text (471160690081159042) -->
+    <skip />
+    <!-- no translation found for installer_notif_desc_text (6746098106305899060) -->
+    <skip />
+    <!-- no translation found for installer_error_network (3265100678310833813) -->
+    <skip />
+    <!-- no translation found for installer_error_unknown (1991780204241177455) -->
+    <skip />
+    <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_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="8122668558537714453">"Qala kabusha i-VM ukuze ufake isicelo"</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_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_reset_message" msgid="3450358289168768830">"Ukusetha kabusha i-VM"</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="8652887364784704911">"Chofoza ukuze uvule itheminali."</string>
+    <string name="service_notification_quit_action" msgid="4888327875869277455">"Vala"</string>
+    <!-- no translation found for preference_file_key (8180395566959654170) -->
+    <skip />
+    <!-- no translation found for preference_disk_size_key (6737137552498692910) -->
+    <skip />
+    <!-- no translation found for preference_min_disk_size_key (7062997700090682730) -->
+    <skip />
+</resources>
diff --git a/android/TerminalApp/res/values/config.xml b/android/TerminalApp/res/values/config.xml
new file mode 100644
index 0000000..055abb7
--- /dev/null
+++ b/android/TerminalApp/res/values/config.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="preference_file_key" translatable="false">com.android.virtualization.terminal.PREFERENCE_FILE_KEY</string>
+    <string name="preference_disk_size_key" translatable="false">PREFERENCE_DISK_SIZE_KEY</string>
+    <string name="preference_min_disk_size_key" translatable="false">PREFERENCE_MIN_DISK_SIZE_KEY</string>
+</resources>
\ No newline at end of file
diff --git a/android/TerminalApp/res/values/integers.xml b/android/TerminalApp/res/values/integers.xml
index 0c7d2b9..e20987c 100644
--- a/android/TerminalApp/res/values/integers.xml
+++ b/android/TerminalApp/res/values/integers.xml
@@ -1,4 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
     <integer name="split_min_width">720</integer>
+    <integer name="disk_size_round_up_step_size_in_mb">4</integer>
 </resources>
\ No newline at end of file
diff --git a/android/TerminalApp/res/values/strings.xml b/android/TerminalApp/res/values/strings.xml
index f8350a0..070807c 100644
--- a/android/TerminalApp/res/values/strings.xml
+++ b/android/TerminalApp/res/values/strings.xml
@@ -24,8 +24,8 @@
     <string name="installer_title_text">Install Linux terminal</string>
     <!-- Installer activity description format [CHAR LIMIT=none] -->
     <string name="installer_desc_text_format">To launch Linux terminal, you need to download roughly <xliff:g id="expected_size" example="350GB">%1$s</xliff:g> of data over network.\nWould you proceed?</string>
-    <!-- Checkbox at the installer activity to wait for Wi-Fi on metered network to prevent from paying network traffic [CHAR LIMIT=none] -->
-    <string name="installer_wait_for_wifi_checkbox_text">Wait for Wi-Fi on metered network</string>
+    <!-- Checkbox at the installer activity to download when Wi-Fi is available to prevent from paying network traffic [CHAR LIMIT=none] -->
+    <string name="installer_wait_for_wifi_checkbox_text">Download when Wi-Fi is available</string>
     <!-- Button at the installer activity to confirm installation [CHAR LIMIT=16] -->
     <string name="installer_install_button_enabled_text">Install</string>
     <!-- Button at the installer activity to when installation is already in progress [CHAR LIMIT=16] -->
diff --git a/android/VmLauncherApp/proguard.flags b/android/VmLauncherApp/proguard.flags
index 13ec24e..b93240c 100644
--- a/android/VmLauncherApp/proguard.flags
+++ b/android/VmLauncherApp/proguard.flags
@@ -1,7 +1,33 @@
-# Keep the no-args constructor of the deserialized class
--keepclassmembers class com.android.virtualization.vmlauncher.ConfigJson {
-  <init>();
+##---------------Begin: proguard configuration for Gson  ----------
+# Gson uses generic type information stored in a class file when working with fields. Proguard
+# removes such information by default, so configure it to keep all of it.
+-keepattributes Signature
+
+# For using GSON @Expose annotation
+-keepattributes *Annotation*
+
+# Gson specific classes
+-dontwarn sun.misc.**
+#-keep class com.google.gson.stream.** { *; }
+
+# Application classes that will be serialized/deserialized over Gson
+-keep class com.android.virtualization.vmlauncher.ConfigJson { <fields>; }
+-keep class com.android.virtualization.vmlauncher.ConfigJson$* { <fields>; }
+
+# Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory,
+# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
+-keep class * extends com.google.gson.TypeAdapter
+-keep class * implements com.google.gson.TypeAdapterFactory
+-keep class * implements com.google.gson.JsonSerializer
+-keep class * implements com.google.gson.JsonDeserializer
+
+# Prevent R8 from leaving Data object members always null
+-keepclassmembers,allowobfuscation class * {
+  @com.google.gson.annotations.SerializedName <fields>;
 }
--keepclassmembers class com.android.virtualization.vmlauncher.ConfigJson$* {
-  <init>();
-}
+
+# Retain generic signatures of TypeToken and its subclasses with R8 version 3.0 and higher.
+-keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken
+-keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken
+
+##---------------End: proguard configuration for Gson  ----------
\ No newline at end of file
diff --git a/android/forwarder_host/Android.bp b/android/forwarder_host/Android.bp
new file mode 100644
index 0000000..35c478e
--- /dev/null
+++ b/android/forwarder_host/Android.bp
@@ -0,0 +1,21 @@
+package {
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+rust_binary {
+    name: "forwarder_host",
+    edition: "2021",
+    srcs: ["src/main.rs"],
+    rustlibs: [
+        "libforwarder",
+        "liblog_rust",
+        "libnix",
+        "libvmm_sys_util",
+        "libvsock",
+    ],
+    proc_macros: [
+        "libpoll_token_derive",
+        "libremain",
+    ],
+    static_executable: true,
+}
diff --git a/android/forwarder_host/src/main.rs b/android/forwarder_host/src/main.rs
new file mode 100644
index 0000000..b95b2cc
--- /dev/null
+++ b/android/forwarder_host/src/main.rs
@@ -0,0 +1,352 @@
+// 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.
+
+// Copied from ChromiumOS with relicensing:
+// src/platform2/vm_tools/chunnel/src/bin/chunneld.rs
+
+//! Host-side stream socket forwarder
+
+use std::collections::btree_map::Entry as BTreeMapEntry;
+use std::collections::{BTreeMap, BTreeSet, HashMap, VecDeque};
+use std::fmt;
+use std::io;
+use std::net::{Ipv4Addr, Ipv6Addr, TcpListener};
+use std::os::unix::io::AsRawFd;
+use std::result;
+use std::sync::{Arc, Mutex};
+use std::time::Duration;
+
+use forwarder::forwarder::ForwarderSession;
+use log::{error, warn};
+use nix::sys::eventfd::EventFd;
+use poll_token_derive::PollToken;
+use vmm_sys_util::poll::{PollContext, PollToken};
+use vsock::VsockListener;
+use vsock::VMADDR_CID_ANY;
+
+const CHUNNEL_CONNECT_TIMEOUT: Duration = Duration::from_secs(10);
+
+const VMADDR_PORT_ANY: u32 = u32::MAX;
+
+#[remain::sorted]
+#[derive(Debug)]
+enum Error {
+    BindVsock(io::Error),
+    EventFdNew(nix::Error),
+    IncorrectCid(u32),
+    NoListenerForPort(u16),
+    NoSessionForTag(SessionTag),
+    PollContextAdd(vmm_sys_util::errno::Error),
+    PollContextDelete(vmm_sys_util::errno::Error),
+    PollContextNew(vmm_sys_util::errno::Error),
+    PollWait(vmm_sys_util::errno::Error),
+    SetVsockNonblocking(io::Error),
+    TcpAccept(io::Error),
+    UpdateEventRead(nix::Error),
+    VsockAccept(io::Error),
+    VsockAcceptTimeout,
+}
+
+type Result<T> = result::Result<T, Error>;
+
+impl fmt::Display for Error {
+    #[remain::check]
+    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+        use self::Error::*;
+
+        #[remain::sorted]
+        match self {
+            BindVsock(e) => write!(f, "failed to bind vsock: {}", e),
+            EventFdNew(e) => write!(f, "failed to create eventfd: {}", e),
+            IncorrectCid(cid) => write!(f, "chunnel connection from unexpected cid {}", cid),
+            NoListenerForPort(port) => write!(f, "could not find listener for port: {}", port),
+            NoSessionForTag(tag) => write!(f, "could not find session for tag: {:x}", tag),
+            PollContextAdd(e) => write!(f, "failed to add fd to poll context: {}", e),
+            PollContextDelete(e) => write!(f, "failed to delete fd from poll context: {}", e),
+            PollContextNew(e) => write!(f, "failed to create poll context: {}", e),
+            PollWait(e) => write!(f, "failed to wait for poll: {}", e),
+            SetVsockNonblocking(e) => write!(f, "failed to set vsock to nonblocking: {}", e),
+            TcpAccept(e) => write!(f, "failed to accept tcp: {}", e),
+            UpdateEventRead(e) => write!(f, "failed to read update eventfd: {}", e),
+            VsockAccept(e) => write!(f, "failed to accept vsock: {}", e),
+            VsockAcceptTimeout => write!(f, "timed out waiting for vsock connection"),
+        }
+    }
+}
+
+/// A TCP forwarding target. Uniquely identifies a listening port in a given container.
+struct TcpForwardTarget {
+    pub port: u16,
+    pub vsock_cid: u32,
+}
+
+/// A tag that uniquely identifies a particular forwarding session. This has arbitrarily been
+/// chosen as the fd of the local (TCP) socket.
+type SessionTag = u32;
+
+/// Implements PollToken for chunneld's main poll loop.
+#[derive(Clone, Copy, PollToken)]
+enum Token {
+    UpdatePorts,
+    Ipv4Listener(u16),
+    Ipv6Listener(u16),
+    LocalSocket(SessionTag),
+    RemoteSocket(SessionTag),
+}
+
+/// PortListeners includes all listeners (IPv4 and IPv6) for a given port, and the target
+/// container.
+struct PortListeners {
+    tcp4_listener: TcpListener,
+    tcp6_listener: TcpListener,
+    forward_target: TcpForwardTarget,
+}
+
+/// SocketFamily specifies whether a socket uses IPv4 or IPv6.
+enum SocketFamily {
+    Ipv4,
+    Ipv6,
+}
+
+/// ForwarderSessions encapsulates all forwarding state for chunneld.
+struct ForwarderSessions {
+    listening_ports: BTreeMap<u16, PortListeners>,
+    tcp4_forwarders: HashMap<SessionTag, ForwarderSession>,
+    update_evt: EventFd,
+    update_queue: Arc<Mutex<VecDeque<TcpForwardTarget>>>,
+}
+
+impl ForwarderSessions {
+    /// Creates a new instance of ForwarderSessions.
+    fn new(
+        update_evt: EventFd,
+        update_queue: Arc<Mutex<VecDeque<TcpForwardTarget>>>,
+    ) -> Result<Self> {
+        Ok(ForwarderSessions {
+            listening_ports: BTreeMap::new(),
+            tcp4_forwarders: HashMap::new(),
+            update_evt,
+            update_queue,
+        })
+    }
+
+    /// Adds or removes listeners based on the latest listening ports from the D-Bus thread.
+    fn process_update_queue(&mut self, poll_ctx: &PollContext<Token>) -> Result<()> {
+        // Unwrap of LockResult is customary.
+        let mut update_queue = self.update_queue.lock().unwrap();
+        let mut active_ports: BTreeSet<u16> = BTreeSet::new();
+
+        // Add any new listeners first.
+        while let Some(target) = update_queue.pop_front() {
+            let port = target.port;
+            // Ignore privileged ports.
+            if port < 1024 {
+                continue;
+            }
+            if let BTreeMapEntry::Vacant(o) = self.listening_ports.entry(port) {
+                // Failing to bind a port is not fatal, but we should log it.
+                // Both IPv4 and IPv6 localhost must be bound since the host may resolve
+                // "localhost" to either.
+                let tcp4_listener = match TcpListener::bind((Ipv4Addr::LOCALHOST, port)) {
+                    Ok(listener) => listener,
+                    Err(e) => {
+                        warn!("failed to bind TCPv4 port: {}", e);
+                        continue;
+                    }
+                };
+                let tcp6_listener = match TcpListener::bind((Ipv6Addr::LOCALHOST, port)) {
+                    Ok(listener) => listener,
+                    Err(e) => {
+                        warn!("failed to bind TCPv6 port: {}", e);
+                        continue;
+                    }
+                };
+                poll_ctx
+                    .add(&tcp4_listener, Token::Ipv4Listener(port))
+                    .map_err(Error::PollContextAdd)?;
+                poll_ctx
+                    .add(&tcp6_listener, Token::Ipv6Listener(port))
+                    .map_err(Error::PollContextAdd)?;
+                o.insert(PortListeners { tcp4_listener, tcp6_listener, forward_target: target });
+            }
+            active_ports.insert(port);
+        }
+
+        // Iterate over the existing listeners; if the port is no longer in the
+        // listener list, remove it.
+        let old_ports: Vec<u16> = self.listening_ports.keys().cloned().collect();
+        for port in old_ports.iter() {
+            if !active_ports.contains(port) {
+                // Remove the PortListeners struct first - on error we want to drop it and the
+                // fds it contains.
+                let _listening_port = self.listening_ports.remove(port);
+            }
+        }
+
+        // Consume the eventfd.
+        self.update_evt.read().map_err(Error::UpdateEventRead)?;
+
+        Ok(())
+    }
+
+    fn accept_connection(
+        &mut self,
+        poll_ctx: &PollContext<Token>,
+        port: u16,
+        sock_family: SocketFamily,
+    ) -> Result<()> {
+        let port_listeners =
+            self.listening_ports.get(&port).ok_or(Error::NoListenerForPort(port))?;
+
+        let listener = match sock_family {
+            SocketFamily::Ipv4 => &port_listeners.tcp4_listener,
+            SocketFamily::Ipv6 => &port_listeners.tcp6_listener,
+        };
+
+        // This session should be dropped if any of the PollContext setup fails. Since the only
+        // extant fds for the underlying sockets will be closed, they will be unregistered from
+        // epoll set automatically.
+        let session = create_forwarder_session(listener, &port_listeners.forward_target)?;
+
+        let tag = session.local_stream().as_raw_fd() as u32;
+
+        poll_ctx
+            .add(session.local_stream(), Token::LocalSocket(tag))
+            .map_err(Error::PollContextAdd)?;
+        poll_ctx
+            .add(session.remote_stream(), Token::RemoteSocket(tag))
+            .map_err(Error::PollContextAdd)?;
+
+        self.tcp4_forwarders.insert(tag, session);
+
+        Ok(())
+    }
+
+    fn forward_from_local(&mut self, poll_ctx: &PollContext<Token>, tag: SessionTag) -> Result<()> {
+        let session = self.tcp4_forwarders.get_mut(&tag).ok_or(Error::NoSessionForTag(tag))?;
+        let shutdown = session.forward_from_local().unwrap_or(true);
+        if shutdown {
+            poll_ctx.delete(session.local_stream()).map_err(Error::PollContextDelete)?;
+            if session.is_shut_down() {
+                self.tcp4_forwarders.remove(&tag);
+            }
+        }
+
+        Ok(())
+    }
+
+    fn forward_from_remote(
+        &mut self,
+        poll_ctx: &PollContext<Token>,
+        tag: SessionTag,
+    ) -> Result<()> {
+        let session = self.tcp4_forwarders.get_mut(&tag).ok_or(Error::NoSessionForTag(tag))?;
+        let shutdown = session.forward_from_remote().unwrap_or(true);
+        if shutdown {
+            poll_ctx.delete(session.remote_stream()).map_err(Error::PollContextDelete)?;
+            if session.is_shut_down() {
+                self.tcp4_forwarders.remove(&tag);
+            }
+        }
+
+        Ok(())
+    }
+
+    fn run(&mut self) -> Result<()> {
+        let poll_ctx: PollContext<Token> = PollContext::new().map_err(Error::PollContextNew)?;
+        poll_ctx.add(&self.update_evt, Token::UpdatePorts).map_err(Error::PollContextAdd)?;
+
+        loop {
+            let events = poll_ctx.wait().map_err(Error::PollWait)?;
+
+            for event in events.iter_readable() {
+                match event.token() {
+                    Token::UpdatePorts => {
+                        if let Err(e) = self.process_update_queue(&poll_ctx) {
+                            error!("error updating listening ports: {}", e);
+                        }
+                    }
+                    Token::Ipv4Listener(port) => {
+                        if let Err(e) = self.accept_connection(&poll_ctx, port, SocketFamily::Ipv4)
+                        {
+                            error!("error accepting connection: {}", e);
+                        }
+                    }
+                    Token::Ipv6Listener(port) => {
+                        if let Err(e) = self.accept_connection(&poll_ctx, port, SocketFamily::Ipv6)
+                        {
+                            error!("error accepting connection: {}", e);
+                        }
+                    }
+                    Token::LocalSocket(tag) => {
+                        if let Err(e) = self.forward_from_local(&poll_ctx, tag) {
+                            error!("error forwarding local traffic: {}", e);
+                        }
+                    }
+                    Token::RemoteSocket(tag) => {
+                        if let Err(e) = self.forward_from_remote(&poll_ctx, tag) {
+                            error!("error forwarding remote traffic: {}", e);
+                        }
+                    }
+                }
+            }
+        }
+    }
+}
+
+/// Creates a forwarder session from a `listener` that has a pending connection to accept.
+fn create_forwarder_session(
+    listener: &TcpListener,
+    target: &TcpForwardTarget,
+) -> Result<ForwarderSession> {
+    let (tcp_stream, _) = listener.accept().map_err(Error::TcpAccept)?;
+    // Bind a vsock port, tell the guest to connect, and accept the connection.
+    let vsock_listener = VsockListener::bind_with_cid_port(VMADDR_CID_ANY, VMADDR_PORT_ANY)
+        .map_err(Error::BindVsock)?;
+    vsock_listener.set_nonblocking(true).map_err(Error::SetVsockNonblocking)?;
+
+    #[derive(PollToken)]
+    enum Token {
+        VsockAccept,
+    }
+
+    let poll_ctx: PollContext<Token> = PollContext::new().map_err(Error::PollContextNew)?;
+    poll_ctx.add(&vsock_listener, Token::VsockAccept).map_err(Error::PollContextAdd)?;
+
+    // Wait a few seconds for the guest to connect.
+    let events = poll_ctx.wait_timeout(CHUNNEL_CONNECT_TIMEOUT).map_err(Error::PollWait)?;
+
+    match events.iter_readable().next() {
+        Some(_) => {
+            let (vsock_stream, sockaddr) = vsock_listener.accept().map_err(Error::VsockAccept)?;
+
+            if sockaddr.cid() != target.vsock_cid {
+                Err(Error::IncorrectCid(sockaddr.cid()))
+            } else {
+                Ok(ForwarderSession::new(tcp_stream.into(), vsock_stream.into()))
+            }
+        }
+        None => Err(Error::VsockAcceptTimeout),
+    }
+}
+
+// TODO(b/340126051): Host can receive opened ports from the guest.
+// TODO(b/340126051): Host can order executing chunnel on the guest.
+fn main() -> Result<()> {
+    let update_evt = EventFd::new().map_err(Error::EventFdNew)?;
+    let update_queue = Arc::new(Mutex::new(VecDeque::new()));
+
+    let mut sessions = ForwarderSessions::new(update_evt, update_queue)?;
+    sessions.run()
+}
diff --git a/android/virtmgr/src/crosvm.rs b/android/virtmgr/src/crosvm.rs
index 707f285..b2283d0 100644
--- a/android/virtmgr/src/crosvm.rs
+++ b/android/virtmgr/src/crosvm.rs
@@ -909,7 +909,7 @@
             shared_path.mask,
         );
 
-        let cfg_arg = format!("writeback=true,cache_policy=always,ugid_map='{}'", ugid_map_value);
+        let cfg_arg = format!("ugid_map='{}'", ugid_map_value);
 
         let mut command = Command::new(CROSVM_PATH);
         command
diff --git a/android/virtualizationservice/aidl/android/system/virtualizationservice/IVirtualMachine.aidl b/android/virtualizationservice/aidl/android/system/virtualizationservice/IVirtualMachine.aidl
index e52222a..a01d385 100644
--- a/android/virtualizationservice/aidl/android/system/virtualizationservice/IVirtualMachine.aidl
+++ b/android/virtualizationservice/aidl/android/system/virtualizationservice/IVirtualMachine.aidl
@@ -71,9 +71,9 @@
     /** Set the name of the peer end (ptsname) of the host console. */
     void setHostConsoleName(in @utf8InCpp String pathname);
 
-    /** Suspends the VM. */
+    /** Suspends the VM vcpus. */
     void suspend();
 
-    /** Resumes the suspended VM. */
+    /** Resumes the suspended VM vcpus. */
     void resume();
 }
diff --git a/build/apex/Android.bp b/build/apex/Android.bp
index e485aa7..b0ecdde 100644
--- a/build/apex/Android.bp
+++ b/build/apex/Android.bp
@@ -47,7 +47,6 @@
         "android.system.virtualmachine.res",
     ] + select(release_flag("RELEASE_AVF_SUPPORT_CUSTOM_VM_WITH_PARAVIRTUALIZED_DEVICES"), {
         true: [
-            "VmLauncherApp",
             "VmTerminalApp",
         ],
         default: [],
diff --git a/build/debian/fai_config/files/etc/default/grub.d/15_timeout.cfg/AVF b/build/debian/fai_config/files/etc/default/grub.d/15_timeout.cfg/AVF
new file mode 100644
index 0000000..bc3e4d9
--- /dev/null
+++ b/build/debian/fai_config/files/etc/default/grub.d/15_timeout.cfg/AVF
@@ -0,0 +1 @@
+GRUB_TIMEOUT=0
diff --git a/guest/pvmfw/src/device_assignment.rs b/guest/pvmfw/src/device_assignment.rs
index 5edfe97..da9462b 100644
--- a/guest/pvmfw/src/device_assignment.rs
+++ b/guest/pvmfw/src/device_assignment.rs
@@ -30,6 +30,7 @@
 use core::ops::Range;
 use libfdt::{Fdt, FdtError, FdtNode, FdtNodeMut, Phandle, Reg};
 use log::error;
+use log::warn;
 // TODO(b/308694211): Use vmbase::hyp::{DeviceAssigningHypervisor, Error} proper for tests.
 #[cfg(not(test))]
 use vmbase::hyp::DeviceAssigningHypervisor;
@@ -60,10 +61,16 @@
     InvalidSymbols,
     /// Malformed <reg>. Can't parse.
     MalformedReg,
-    /// Invalid physical <reg> of assigned device.
-    InvalidPhysReg(u64, u64),
+    /// Missing physical <reg> of assigned device.
+    MissingReg(u64, u64),
+    /// Extra <reg> of assigned device.
+    ExtraReg(u64, u64),
     /// Invalid virtual <reg> of assigned device.
-    InvalidReg(u64, u64),
+    InvalidReg(u64),
+    /// Token for <reg> of assigned device does not match expected value.
+    InvalidRegToken(u64, u64),
+    /// Invalid virtual <reg> size of assigned device.
+    InvalidRegSize(u64, u64),
     /// Invalid <interrupts>
     InvalidInterrupts,
     /// Malformed <iommus>
@@ -111,11 +118,20 @@
                 "Invalid property in /__symbols__. Must point to valid assignable device node."
             ),
             Self::MalformedReg => write!(f, "Malformed <reg>. Can't parse"),
-            Self::InvalidReg(addr, size) => {
-                write!(f, "Invalid guest MMIO region (addr: {addr:#x}, size: {size:#x})")
+            Self::MissingReg(addr, size) => {
+                write!(f, "Missing physical MMIO region: addr:{addr:#x}), size:{size:#x}")
             }
-            Self::InvalidPhysReg(addr, size) => {
-                write!(f, "Invalid physical MMIO region (addr: {addr:#x}, size: {size:#x})")
+            Self::ExtraReg(addr, size) => {
+                write!(f, "Unexpected extra MMIO region: addr:{addr:#x}), size:{size:#x}")
+            }
+            Self::InvalidReg(addr) => {
+                write!(f, "Invalid guest MMIO granule (addr: {addr:#x})")
+            }
+            Self::InvalidRegSize(size, expected) => {
+                write!(f, "Unexpected MMIO size ({size:#x}), should be {expected:#x}")
+            }
+            Self::InvalidRegToken(token, expected) => {
+                write!(f, "Unexpected MMIO token ({token:#x}), should be {expected:#x}")
             }
             Self::InvalidInterrupts => write!(f, "Invalid <interrupts>"),
             Self::MalformedIommus => write!(f, "Malformed <iommus>. Can't parse."),
@@ -634,6 +650,10 @@
     pub fn overlaps(&self, range: &Range<u64>) -> bool {
         self.addr < range.end && range.start < self.addr.checked_add(self.size).unwrap()
     }
+
+    pub fn is_aligned(&self, granule: u64) -> bool {
+        self.addr % granule == 0 && self.size % granule == 0
+    }
 }
 
 impl TryFrom<Reg<u64>> for DeviceReg {
@@ -744,34 +764,43 @@
         device_reg: &[DeviceReg],
         physical_device_reg: &[DeviceReg],
         hypervisor: &dyn DeviceAssigningHypervisor,
+        granule: usize,
     ) -> Result<()> {
         let mut virt_regs = device_reg.iter();
         let mut phys_regs = physical_device_reg.iter();
         // TODO(b/308694211): Move this constant to vmbase::layout once vmbase is std-compatible.
         const PVMFW_RANGE: Range<u64> = 0x7fc0_0000..0x8000_0000;
+
         // PV reg and physical reg should have 1:1 match in order.
         for (reg, phys_reg) in virt_regs.by_ref().zip(phys_regs.by_ref()) {
-            if reg.overlaps(&PVMFW_RANGE) {
-                return Err(DeviceAssignmentError::InvalidReg(reg.addr, reg.size));
+            if !reg.is_aligned(granule.try_into().unwrap()) {
+                let DeviceReg { addr, size } = reg;
+                warn!("Assigned region ({addr:#x}, {size:#x}) not aligned to {granule:#x}");
+                // TODO(ptosi): Fix our test data so that we can return Err(...);
             }
+            if reg.overlaps(&PVMFW_RANGE) {
+                return Err(DeviceAssignmentError::InvalidReg(reg.addr));
+            }
+            if reg.size != phys_reg.size {
+                return Err(DeviceAssignmentError::InvalidRegSize(reg.size, phys_reg.size));
+            }
+            let expected_token = phys_reg.addr;
             // If this call returns successfully, hyp has mapped the MMIO region at `reg`.
-            let addr = hypervisor.get_phys_mmio_token(reg.addr, reg.size).map_err(|e| {
+            let token = hypervisor.get_phys_mmio_token(reg.addr, reg.size).map_err(|e| {
                 error!("Hypervisor error while requesting MMIO token: {e}");
-                DeviceAssignmentError::InvalidReg(reg.addr, reg.size)
+                DeviceAssignmentError::InvalidReg(reg.addr)
             })?;
-            // Only check address because hypervisor guarantees size match when success.
-            if phys_reg.addr != addr {
-                error!("Assigned device {reg:x?} has unexpected physical address");
-                return Err(DeviceAssignmentError::InvalidPhysReg(addr, reg.size));
+            if token != expected_token {
+                return Err(DeviceAssignmentError::InvalidRegToken(token, expected_token));
             }
         }
 
         if let Some(DeviceReg { addr, size }) = virt_regs.next() {
-            return Err(DeviceAssignmentError::InvalidReg(*addr, *size));
+            return Err(DeviceAssignmentError::ExtraReg(*addr, *size));
         }
 
         if let Some(DeviceReg { addr, size }) = phys_regs.next() {
-            return Err(DeviceAssignmentError::InvalidPhysReg(*addr, *size));
+            return Err(DeviceAssignmentError::MissingReg(*addr, *size));
         }
 
         Ok(())
@@ -857,6 +886,7 @@
         physical_devices: &BTreeMap<Phandle, PhysicalDeviceInfo>,
         pviommus: &BTreeMap<Phandle, PvIommu>,
         hypervisor: &dyn DeviceAssigningHypervisor,
+        granule: usize,
     ) -> Result<Option<Self>> {
         let dtbo_node =
             vm_dtbo.node(dtbo_node_path)?.ok_or(DeviceAssignmentError::InvalidSymbols)?;
@@ -873,7 +903,7 @@
         };
 
         let reg = parse_node_reg(&node)?;
-        Self::validate_reg(&reg, &physical_device.reg, hypervisor)?;
+        Self::validate_reg(&reg, &physical_device.reg, hypervisor, granule)?;
 
         let interrupts = Self::parse_interrupts(&node)?;
 
@@ -945,8 +975,9 @@
         fdt: &Fdt,
         vm_dtbo: &VmDtbo,
         hypervisor: &dyn DeviceAssigningHypervisor,
+        granule: usize,
     ) -> Result<Option<Self>> {
-        Self::internal_parse(fdt, vm_dtbo, hypervisor)
+        Self::internal_parse(fdt, vm_dtbo, hypervisor, granule)
     }
 
     #[cfg(not(test))]
@@ -957,14 +988,16 @@
         fdt: &Fdt,
         vm_dtbo: &VmDtbo,
         hypervisor: &dyn DeviceAssigningHypervisor,
+        granule: usize,
     ) -> Result<Option<Self>> {
-        Self::internal_parse(fdt, vm_dtbo, hypervisor)
+        Self::internal_parse(fdt, vm_dtbo, hypervisor, granule)
     }
 
     fn internal_parse(
         fdt: &Fdt,
         vm_dtbo: &VmDtbo,
         hypervisor: &dyn DeviceAssigningHypervisor,
+        granule: usize,
     ) -> Result<Option<Self>> {
         let Some(symbols_node) = vm_dtbo.as_ref().symbols()? else {
             // /__symbols__ should contain all assignable devices.
@@ -997,6 +1030,7 @@
                 &physical_devices,
                 &pviommus,
                 hypervisor,
+                granule,
             )?;
             if let Some(assigned_device) = assigned_device {
                 assigned_devices.push(assigned_device);
@@ -1153,15 +1187,27 @@
     const EXPECTED_FDT_WITH_DEPENDENCY_LOOP_FILE_PATH: &str =
         "expected_dt_with_dependency_loop.dtb";
 
+    // TODO(b/308694211): Use vmbase::SIZE_4KB.
+    const SIZE_4KB: usize = 4 << 10;
+
     #[derive(Debug, Default)]
     struct MockHypervisor {
         mmio_tokens: BTreeMap<(u64, u64), u64>,
         iommu_tokens: BTreeMap<(u64, u64), (u64, u64)>,
     }
 
+    impl MockHypervisor {
+        // TODO(ptosi): Improve these tests to cover multi-page devices.
+        fn get_mmio_token(&self, addr: u64) -> Option<&u64> {
+            // We currently only have single (or sub-) page MMIO test data so can ignore sizes.
+            let key = self.mmio_tokens.keys().find(|(virt, _)| *virt == addr)?;
+            self.mmio_tokens.get(key)
+        }
+    }
+
     impl DeviceAssigningHypervisor for MockHypervisor {
-        fn get_phys_mmio_token(&self, base_ipa: u64, size: u64) -> MockHypervisorResult<u64> {
-            let token = self.mmio_tokens.get(&(base_ipa, size));
+        fn get_phys_mmio_token(&self, base_ipa: u64, _size: u64) -> MockHypervisorResult<u64> {
+            let token = self.get_mmio_token(base_ipa);
 
             Ok(*token.ok_or(MockHypervisorError::FailedGetPhysMmioToken)?)
         }
@@ -1247,6 +1293,8 @@
         }
     }
 
+    // TODO(ptosi): Add tests with varying HYP_GRANULE values.
+
     #[test]
     fn device_info_new_without_symbols() {
         let mut fdt_data = fs::read(FDT_FILE_PATH).unwrap();
@@ -1255,7 +1303,9 @@
         let vm_dtbo = VmDtbo::from_mut_slice(&mut vm_dtbo_data).unwrap();
 
         let hypervisor: MockHypervisor = Default::default();
-        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor).unwrap();
+        const HYP_GRANULE: usize = SIZE_4KB;
+        let device_info =
+            DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor, HYP_GRANULE).unwrap();
         assert_eq!(device_info, None);
     }
 
@@ -1267,7 +1317,9 @@
         let vm_dtbo = VmDtbo::from_mut_slice(&mut vm_dtbo_data).unwrap();
 
         let hypervisor: MockHypervisor = Default::default();
-        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor).unwrap();
+        const HYP_GRANULE: usize = SIZE_4KB;
+        let device_info =
+            DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor, HYP_GRANULE).unwrap();
         assert_eq!(device_info, None);
     }
 
@@ -1282,7 +1334,9 @@
             mmio_tokens: [((0x9, 0xFF), 0x300)].into(),
             iommu_tokens: BTreeMap::new(),
         };
-        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor).unwrap().unwrap();
+        const HYP_GRANULE: usize = SIZE_4KB;
+        let device_info =
+            DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor, HYP_GRANULE).unwrap().unwrap();
 
         let expected = [AssignedDeviceInfo {
             node_path: CString::new("/bus0/backlight").unwrap(),
@@ -1305,7 +1359,9 @@
             mmio_tokens: [((0x9, 0xFF), 0x12F00000)].into(),
             iommu_tokens: [((0x4, 0xFF0), (0x12E40000, 0x3))].into(),
         };
-        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor).unwrap().unwrap();
+        const HYP_GRANULE: usize = SIZE_4KB;
+        let device_info =
+            DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor, HYP_GRANULE).unwrap().unwrap();
 
         let expected = [AssignedDeviceInfo {
             node_path: CString::new("/rng").unwrap(),
@@ -1328,7 +1384,9 @@
             mmio_tokens: [((0x9, 0xFF), 0x12F00000)].into(),
             iommu_tokens: [((0x4, 0xFF0), (0x12E40000, 0x3))].into(),
         };
-        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor).unwrap().unwrap();
+        const HYP_GRANULE: usize = SIZE_4KB;
+        let device_info =
+            DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor, HYP_GRANULE).unwrap().unwrap();
         device_info.filter(vm_dtbo).unwrap();
 
         let vm_dtbo = vm_dtbo.as_mut();
@@ -1369,7 +1427,9 @@
             mmio_tokens: [((0x9, 0xFF), 0x300)].into(),
             iommu_tokens: BTreeMap::new(),
         };
-        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor).unwrap().unwrap();
+        const HYP_GRANULE: usize = SIZE_4KB;
+        let device_info =
+            DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor, HYP_GRANULE).unwrap().unwrap();
         device_info.filter(vm_dtbo).unwrap();
 
         // SAFETY: Damaged VM DTBO wouldn't be used after this unsafe block.
@@ -1420,7 +1480,9 @@
             mmio_tokens: [((0x9, 0xFF), 0x300)].into(),
             iommu_tokens: BTreeMap::new(),
         };
-        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor).unwrap().unwrap();
+        const HYP_GRANULE: usize = SIZE_4KB;
+        let device_info =
+            DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor, HYP_GRANULE).unwrap().unwrap();
         device_info.filter(vm_dtbo).unwrap();
 
         // SAFETY: Damaged VM DTBO wouldn't be used after this unsafe block.
@@ -1455,7 +1517,9 @@
             mmio_tokens: [((0x9, 0xFF), 0x12F00000)].into(),
             iommu_tokens: [((0x4, 0xFF0), (0x12E40000, 0x3))].into(),
         };
-        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor).unwrap().unwrap();
+        const HYP_GRANULE: usize = SIZE_4KB;
+        let device_info =
+            DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor, HYP_GRANULE).unwrap().unwrap();
         device_info.filter(vm_dtbo).unwrap();
 
         // SAFETY: Damaged VM DTBO wouldn't be used after this unsafe block.
@@ -1503,7 +1567,9 @@
             ]
             .into(),
         };
-        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor).unwrap().unwrap();
+        const HYP_GRANULE: usize = SIZE_4KB;
+        let device_info =
+            DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor, HYP_GRANULE).unwrap().unwrap();
         device_info.filter(vm_dtbo).unwrap();
 
         // SAFETY: Damaged VM DTBO wouldn't be used after this unsafe block.
@@ -1550,7 +1616,9 @@
             mmio_tokens: [((0x9, 0xFF), 0x12F00000), ((0x1000, 0x9), 0x12000000)].into(),
             iommu_tokens: [((0x4, 0xFF0), (0x12E40000, 3)), ((0x4, 0xFF1), (0x12E40000, 9))].into(),
         };
-        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor).unwrap().unwrap();
+        const HYP_GRANULE: usize = SIZE_4KB;
+        let device_info =
+            DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor, HYP_GRANULE).unwrap().unwrap();
         device_info.filter(vm_dtbo).unwrap();
 
         // SAFETY: Damaged VM DTBO wouldn't be used after this unsafe block.
@@ -1594,7 +1662,8 @@
             mmio_tokens: [((0x9, 0xFF), 0x300)].into(),
             iommu_tokens: [((0x4, 0xFF0), (0x12E40000, 0x3))].into(),
         };
-        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor);
+        const HYP_GRANULE: usize = SIZE_4KB;
+        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor, HYP_GRANULE);
 
         assert_eq!(device_info, Err(DeviceAssignmentError::DuplicatedPvIommuIds));
     }
@@ -1610,9 +1679,10 @@
             mmio_tokens: BTreeMap::new(),
             iommu_tokens: [((0x4, 0xFF0), (0x12E40000, 0x3))].into(),
         };
-        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor);
+        const HYP_GRANULE: usize = SIZE_4KB;
+        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor, HYP_GRANULE);
 
-        assert_eq!(device_info, Err(DeviceAssignmentError::InvalidReg(0x9, 0xFF)));
+        assert_eq!(device_info, Err(DeviceAssignmentError::InvalidReg(0x9)));
     }
 
     #[test]
@@ -1626,9 +1696,10 @@
             mmio_tokens: [((0xF000, 0x1000), 0xF10000), ((0xF100, 0x1000), 0xF00000)].into(),
             iommu_tokens: [((0xFF0, 0xF0), (0x40000, 0x4)), ((0xFF1, 0xF1), (0x50000, 0x5))].into(),
         };
-        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor);
+        const HYP_GRANULE: usize = SIZE_4KB;
+        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor, HYP_GRANULE);
 
-        assert_eq!(device_info, Err(DeviceAssignmentError::InvalidPhysReg(0xF10000, 0x1000)));
+        assert_eq!(device_info, Err(DeviceAssignmentError::InvalidRegToken(0xF10000, 0xF00000)));
     }
 
     #[test]
@@ -1642,7 +1713,8 @@
             mmio_tokens: [((0x9, 0xFF), 0x12F00000)].into(),
             iommu_tokens: BTreeMap::new(),
         };
-        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor);
+        const HYP_GRANULE: usize = SIZE_4KB;
+        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor, HYP_GRANULE);
 
         assert_eq!(device_info, Err(DeviceAssignmentError::InvalidIommus));
     }
@@ -1658,7 +1730,8 @@
             mmio_tokens: [((0x10000, 0x1000), 0xF00000), ((0x20000, 0xFF), 0xF10000)].into(),
             iommu_tokens: [((0xFF, 0xF), (0x40000, 0x4))].into(),
         };
-        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor);
+        const HYP_GRANULE: usize = SIZE_4KB;
+        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor, HYP_GRANULE);
 
         assert_eq!(device_info, Err(DeviceAssignmentError::DuplicatedPvIommuIds));
     }
@@ -1674,7 +1747,8 @@
             mmio_tokens: [((0x10000, 0x1000), 0xF00000), ((0x20000, 0xFF), 0xF10000)].into(),
             iommu_tokens: [((0xFF, 0xF), (0x40000, 0x4))].into(),
         };
-        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor);
+        const HYP_GRANULE: usize = SIZE_4KB;
+        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor, HYP_GRANULE);
 
         assert_eq!(device_info, Err(DeviceAssignmentError::UnsupportedIommusDuplication));
     }
@@ -1690,7 +1764,8 @@
             mmio_tokens: [((0xF000, 0x1000), 0xF00000), ((0xF100, 0x1000), 0xF10000)].into(),
             iommu_tokens: [((0xFF0, 0xF0), (0x40000, 0x4)), ((0xFF1, 0xF1), (0x40000, 0x4))].into(),
         };
-        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor);
+        const HYP_GRANULE: usize = SIZE_4KB;
+        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor, HYP_GRANULE);
 
         assert_eq!(device_info, Err(DeviceAssignmentError::InvalidIommus));
     }
@@ -1706,9 +1781,10 @@
             mmio_tokens: [((0x7fee0000, 0x1000), 0xF00000)].into(),
             iommu_tokens: [((0xFF, 0xF), (0x40000, 0x4))].into(),
         };
-        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor);
+        const HYP_GRANULE: usize = SIZE_4KB;
+        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor, HYP_GRANULE);
 
-        assert_eq!(device_info, Err(DeviceAssignmentError::InvalidReg(0x7fee0000, 0x1000)));
+        assert_eq!(device_info, Err(DeviceAssignmentError::InvalidReg(0x7fee0000)));
     }
 
     #[test]
@@ -1741,7 +1817,9 @@
             iommu_tokens: Default::default(),
         };
 
-        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor).unwrap().unwrap();
+        const HYP_GRANULE: usize = SIZE_4KB;
+        let device_info =
+            DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor, HYP_GRANULE).unwrap().unwrap();
         device_info.filter(vm_dtbo).unwrap();
 
         // SAFETY: Damaged VM DTBO wouldn't be used after this unsafe block.
@@ -1771,7 +1849,9 @@
             mmio_tokens: [((0xFF000, 0x1), 0xF000), ((0xFF100, 0x1), 0xF100)].into(),
             iommu_tokens: Default::default(),
         };
-        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor).unwrap().unwrap();
+        const HYP_GRANULE: usize = SIZE_4KB;
+        let device_info =
+            DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor, HYP_GRANULE).unwrap().unwrap();
         device_info.filter(vm_dtbo).unwrap();
 
         // SAFETY: Damaged VM DTBO wouldn't be used after this unsafe block.
@@ -1802,7 +1882,9 @@
             mmio_tokens: [((0xFF200, 0x1), 0xF200)].into(),
             iommu_tokens: Default::default(),
         };
-        let device_info = DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor).unwrap().unwrap();
+        const HYP_GRANULE: usize = SIZE_4KB;
+        let device_info =
+            DeviceAssignmentInfo::parse(fdt, vm_dtbo, &hypervisor, HYP_GRANULE).unwrap().unwrap();
         device_info.filter(vm_dtbo).unwrap();
 
         // SAFETY: Damaged VM DTBO wouldn't be used after this unsafe block.
diff --git a/guest/pvmfw/src/fdt.rs b/guest/pvmfw/src/fdt.rs
index 0d934a6..f667d60 100644
--- a/guest/pvmfw/src/fdt.rs
+++ b/guest/pvmfw/src/fdt.rs
@@ -1148,7 +1148,18 @@
     let device_assignment = match vm_dtbo {
         Some(vm_dtbo) => {
             if let Some(hypervisor) = hyp::get_device_assigner() {
-                DeviceAssignmentInfo::parse(fdt, vm_dtbo, hypervisor).map_err(|e| {
+                // TODO(ptosi): Cache the (single?) granule once, in vmbase.
+                let granule = hyp::get_mem_sharer()
+                    .ok_or_else(|| {
+                        error!("No MEM_SHARE found during device assignment validation");
+                        RebootReason::InternalError
+                    })?
+                    .granule()
+                    .map_err(|e| {
+                        error!("Failed to get granule for device assignment validation: {e}");
+                        RebootReason::InternalError
+                    })?;
+                DeviceAssignmentInfo::parse(fdt, vm_dtbo, hypervisor, granule).map_err(|e| {
                     error!("Failed to parse device assignment from DT and VM DTBO: {e}");
                     RebootReason::InvalidFdt
                 })?
diff --git a/libs/apkverify/Android.bp b/libs/apkverify/Android.bp
index 4c5a622..90de043 100644
--- a/libs/apkverify/Android.bp
+++ b/libs/apkverify/Android.bp
@@ -27,7 +27,10 @@
     defaults: ["libapkverify.defaults"],
     // TODO(b/204562227): move to host_supported to the defaults to include tests
     host_supported: true,
-    apex_available: ["com.android.virt"],
+    apex_available: [
+        "//apex_available:platform",
+        "com.android.virt",
+    ],
 }
 
 rust_test {
diff --git a/libs/apkzip/Android.bp b/libs/apkzip/Android.bp
index dc35b5e..e121d17 100644
--- a/libs/apkzip/Android.bp
+++ b/libs/apkzip/Android.bp
@@ -21,7 +21,10 @@
     name: "libapkzip",
     defaults: ["libapkzip.defaults"],
     host_supported: true,
-    apex_available: ["com.android.virt"],
+    apex_available: [
+        "//apex_available:platform",
+        "com.android.virt",
+    ],
 }
 
 rust_test {
diff --git a/libs/service-virtualization/src/com/android/system/virtualmachine/VirtualizationSystemService.java b/libs/service-virtualization/src/com/android/system/virtualmachine/VirtualizationSystemService.java
index 998389b..afa286c 100644
--- a/libs/service-virtualization/src/com/android/system/virtualmachine/VirtualizationSystemService.java
+++ b/libs/service-virtualization/src/com/android/system/virtualmachine/VirtualizationSystemService.java
@@ -120,7 +120,12 @@
 
         @Override
         public void onReceive(Context context, Intent intent) {
-            switch (intent.getAction()) {
+            final String action = intent.getAction();
+            if (action == null) {
+                return;
+            }
+
+            switch (action) {
                 case Intent.ACTION_USER_REMOVED:
                     onUserRemoved(intent);
                     break;
@@ -128,7 +133,7 @@
                     onPackageRemoved(intent);
                     break;
                 default:
-                    Log.e(TAG, "received unexpected intent: " + intent.getAction());
+                    Log.e(TAG, "received unexpected intent: " + intent);
                     break;
             }
         }
diff --git a/libs/vm_launcher_lib/java/com/android/virtualization/vmlauncher/VmLauncherService.java b/libs/vm_launcher_lib/java/com/android/virtualization/vmlauncher/VmLauncherService.java
index 3731854..5cd7b92 100644
--- a/libs/vm_launcher_lib/java/com/android/virtualization/vmlauncher/VmLauncherService.java
+++ b/libs/vm_launcher_lib/java/com/android/virtualization/vmlauncher/VmLauncherService.java
@@ -33,6 +33,7 @@
 
 import java.io.IOException;
 import java.nio.file.Path;
+import java.util.Objects;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
@@ -62,6 +63,11 @@
 
     @Override
     public int onStartCommand(Intent intent, int flags, int startId) {
+        if (Objects.equals(
+                intent.getAction(), VmLauncherServices.ACTION_STOP_VM_LAUNCHER_SERVICE)) {
+            stopSelf();
+            return START_NOT_STICKY;
+        }
         if (mVirtualMachine != null) {
             Log.d(TAG, "VM instance is already started");
             return START_NOT_STICKY;
diff --git a/libs/vm_launcher_lib/java/com/android/virtualization/vmlauncher/VmLauncherServices.java b/libs/vm_launcher_lib/java/com/android/virtualization/vmlauncher/VmLauncherServices.java
index 2fa0b32..6eca2b3 100644
--- a/libs/vm_launcher_lib/java/com/android/virtualization/vmlauncher/VmLauncherServices.java
+++ b/libs/vm_launcher_lib/java/com/android/virtualization/vmlauncher/VmLauncherServices.java
@@ -36,6 +36,8 @@
     private static final String ACTION_START_VM_LAUNCHER_SERVICE =
             "android.virtualization.START_VM_LAUNCHER_SERVICE";
 
+    public static final String ACTION_STOP_VM_LAUNCHER_SERVICE =
+            "android.virtualization.STOP_VM_LAUNCHER_SERVICE";
     private static final int RESULT_START = 0;
     private static final int RESULT_STOP = 1;
     private static final int RESULT_ERROR = 2;
diff --git a/tests/hostside/helper/java/com/android/microdroid/test/host/MicrodroidHostTestCaseBase.java b/tests/hostside/helper/java/com/android/microdroid/test/host/MicrodroidHostTestCaseBase.java
index 974a58c..c5e0171 100644
--- a/tests/hostside/helper/java/com/android/microdroid/test/host/MicrodroidHostTestCaseBase.java
+++ b/tests/hostside/helper/java/com/android/microdroid/test/host/MicrodroidHostTestCaseBase.java
@@ -23,24 +23,21 @@
 import static org.junit.Assume.assumeFalse;
 import static org.junit.Assume.assumeTrue;
 
-import com.android.compatibility.common.tradefed.build.CompatibilityBuildHelper;
 import com.android.microdroid.test.common.DeviceProperties;
 import com.android.microdroid.test.common.MetricsProcessor;
-import com.android.tradefed.build.IBuildInfo;
 import com.android.tradefed.device.DeviceNotAvailableException;
 import com.android.tradefed.device.ITestDevice;
 import com.android.tradefed.device.TestDevice;
 import com.android.tradefed.testtype.junit4.BaseHostJUnit4Test;
 import com.android.tradefed.util.CommandResult;
 import com.android.tradefed.util.CommandStatus;
-import com.android.tradefed.util.FileUtil;
 import com.android.tradefed.util.RunUtil;
+import com.android.tradefed.util.SearchArtifactUtil;
 
 import org.json.JSONArray;
 import org.json.JSONObject;
 
 import java.io.File;
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
@@ -178,28 +175,12 @@
 
     public File findTestFile(String name) {
         String moduleName = getInvocationContext().getConfigurationDescriptor().getModuleName();
-        IBuildInfo buildInfo = getBuild();
-        CompatibilityBuildHelper helper = new CompatibilityBuildHelper(buildInfo);
-
-        // We're not using helper.getTestFile here because it sometimes picks a file
-        // from a different module, which may be old and/or wrong. See b/328779049.
-        try {
-            File testsDir = helper.getTestsDir().getAbsoluteFile();
-
-            for (File subDir : FileUtil.findDirsUnder(testsDir, testsDir.getParentFile())) {
-                if (!subDir.getName().equals(moduleName)) {
-                    continue;
-                }
-                File testFile = FileUtil.findFile(subDir, name);
-                if (testFile != null) {
-                    return testFile;
-                }
-            }
-        } catch (IOException e) {
+        File testFile = SearchArtifactUtil.searchFile(name, false);
+        if (testFile == null) {
             throw new AssertionError(
-                    "Failed to find test file " + name + " for module " + moduleName, e);
+                    "Failed to find test file " + name + " for module " + moduleName);
         }
-        throw new AssertionError("Failed to find test file " + name + " for module " + moduleName);
+        return testFile;
     }
 
     public String getPathForPackage(String packageName) throws DeviceNotAvailableException {
diff --git a/tests/hostside/java/com/android/microdroid/test/MicrodroidHostTests.java b/tests/hostside/java/com/android/microdroid/test/MicrodroidHostTests.java
index ffcf338..ee2da09 100644
--- a/tests/hostside/java/com/android/microdroid/test/MicrodroidHostTests.java
+++ b/tests/hostside/java/com/android/microdroid/test/MicrodroidHostTests.java
@@ -1050,9 +1050,28 @@
     }
 
     @Test
-    @Parameters(method = "params")
-    @TestCaseName("{method}_protectedVm_{0}_gki_{1}")
-    public void testMicrodroidRamUsage(boolean protectedVm, String gki) throws Exception {
+    public void testMicrodroidRamUsage_protectedVm_true_gki_null() throws Exception {
+        checkMicrodroidRamUsage(/* protectedVm= */ true, /* gki= */ "null");
+    }
+
+    @Test
+    public void testMicrodroidRamUsage_protectedVm_false_gki_null() throws Exception {
+        checkMicrodroidRamUsage(/* protectedVm= */ false, /* gki= */ "null");
+    }
+
+    @Test
+    public void testMicrodroidRamUsage_protectedVm_true_gki_android15() throws Exception {
+        checkMicrodroidRamUsage(/* protectedVm= */ true, /* gki= */ "android15");
+    }
+
+    @Test
+    public void testMicrodroidRamUsage_protectedVm_false_gki_android15() throws Exception {
+        checkMicrodroidRamUsage(/* protectedVm= */ false, /* gki= */ "android15");
+    }
+
+    // TODO(b/209036125): Upgrade this function to a parameterized test once metrics can be
+    // collected with tradefed parameterizer.
+    void checkMicrodroidRamUsage(boolean protectedVm, String gki) throws Exception {
         // Preconditions
         assumeKernelSupported(gki);
         assumeVmTypeSupported(protectedVm);
