Merge changes I5f88ff52,I6de6e460,Id7f24fc6 into main
* changes:
pvmfw: Parametrise GUEST_PAGE_SIZE
pvmfw: Move DT sanitization to main()
pvmfw: Read kernel/initrd ranges from untrusted DT
diff --git a/PREUPLOAD.cfg b/PREUPLOAD.cfg
index 45519d4..d47afc4 100644
--- a/PREUPLOAD.cfg
+++ b/PREUPLOAD.cfg
@@ -6,16 +6,19 @@
jsonlint = true
google_java_format = true
pylint3 = true
+ktfmt = true
rustfmt = true
xmllint = true
[Tool Paths]
google-java-format = ${REPO_ROOT}/prebuilts/tools/common/google-java-format/google-java-format
google-java-format-diff = ${REPO_ROOT}/prebuilts/tools/common/google-java-format/google-java-format-diff.py
+ktfmt = ${REPO_ROOT}/external/ktfmt/ktfmt.sh
[Builtin Hooks Options]
clang_format = --commit ${PREUPLOAD_COMMIT} --style file --extensions c,h,cc,cpp
rustfmt = --config-path=rustfmt.toml
+ktfmt = --kotlinlang-style
[Hook Scripts]
aosp_hook = ${REPO_ROOT}/frameworks/base/tools/aosp/aosp_sha.sh ${PREUPLOAD_COMMIT} "."
diff --git a/android/TerminalApp/.gitignore b/android/TerminalApp/.gitignore
index e81da29..e69de29 100644
--- a/android/TerminalApp/.gitignore
+++ b/android/TerminalApp/.gitignore
@@ -1,2 +0,0 @@
-assets/*
-!assets/.gitkeep
diff --git a/android/TerminalApp/Android.bp b/android/TerminalApp/Android.bp
index 733a72b..4bb9703 100644
--- a/android/TerminalApp/Android.bp
+++ b/android/TerminalApp/Android.bp
@@ -8,6 +8,7 @@
"java/**/*.java",
"java/**/*.kt",
],
+ asset_dirs: ["assets"],
resource_dirs: ["res"],
static_libs: [
"androidx-constraintlayout_constraintlayout",
diff --git a/android/TerminalApp/AndroidManifest.xml b/android/TerminalApp/AndroidManifest.xml
index a9d6e9d..726004c 100644
--- a/android/TerminalApp/AndroidManifest.xml
+++ b/android/TerminalApp/AndroidManifest.xml
@@ -32,7 +32,7 @@
<application
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
- android:theme="@style/Theme.Material3.DayNight.NoActionBar"
+ android:theme="@style/VmTerminalAppTheme"
android:usesCleartextTraffic="true"
android:supportsRtl="true"
android:enabled="false">
@@ -46,11 +46,17 @@
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
- <activity android:name=".SettingsActivity" />
- <activity android:name=".SettingsDiskResizeActivity" />
- <activity android:name=".SettingsPortForwardingActivity" />
- <activity android:name=".SettingsRecoveryActivity" />
- <activity android:name=".ErrorActivity" />
+ <activity android:name=".SettingsActivity"
+ android:label="@string/action_settings" />
+ <activity android:name=".SettingsDiskResizeActivity"
+ android:label="@string/settings_disk_resize_title" />
+ <activity android:name=".SettingsPortForwardingActivity"
+ android:label="@string/settings_port_forwarding_title" />
+ <activity android:name=".SettingsRecoveryActivity"
+ android:label="@string/settings_recovery_title" />
+ <activity android:name=".ErrorActivity"
+ android:label="@string/error_title"
+ android:process=":error" />
<property
android:name="android.window.PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED"
android:value="true" />
diff --git a/android/TerminalApp/assets/js/ctrl_key_handler.js b/android/TerminalApp/assets/js/ctrl_key_handler.js
new file mode 100644
index 0000000..de901fc
--- /dev/null
+++ b/android/TerminalApp/assets/js/ctrl_key_handler.js
@@ -0,0 +1,45 @@
+/*
+ * 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.
+ */
+
+(function() {
+// keyCode 229 means composing text, so get the last character in
+// e.target.value.
+// keycode 64(@)-95(_) is mapped to a ctrl code
+// keycode 97(A)-122(Z) is converted to a small letter, and mapped to ctrl code
+window.term.attachCustomKeyEventHandler((e) => {
+ if (window.ctrl) {
+ keyCode = e.keyCode;
+ if (keyCode === 229) {
+ keyCode = e.target.value.charAt(e.target.selectionStart - 1).charCodeAt();
+ }
+ if (64 <= keyCode && keyCode <= 95) {
+ input = String.fromCharCode(keyCode - 64);
+ } else if (97 <= keyCode && keyCode <= 122) {
+ input = String.fromCharCode(keyCode - 96);
+ } else {
+ return true;
+ }
+ if (e.type === 'keyup') {
+ window.term.input(input);
+ e.target.value = e.target.value.slice(0, -1);
+ window.ctrl = false;
+ }
+ return false;
+ } else {
+ return true;
+ }
+});
+})();
\ No newline at end of file
diff --git a/android/TerminalApp/assets/js/enable_ctrl_key.js b/android/TerminalApp/assets/js/enable_ctrl_key.js
new file mode 100644
index 0000000..4aedcfe
--- /dev/null
+++ b/android/TerminalApp/assets/js/enable_ctrl_key.js
@@ -0,0 +1,19 @@
+/*
+ * 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.
+ */
+
+(function() {
+window.ctrl = true;
+})();
\ No newline at end of file
diff --git a/android/TerminalApp/assets/js/touch_to_mouse_handler.js b/android/TerminalApp/assets/js/touch_to_mouse_handler.js
new file mode 100644
index 0000000..fce03d6
--- /dev/null
+++ b/android/TerminalApp/assets/js/touch_to_mouse_handler.js
@@ -0,0 +1,79 @@
+/*
+ * 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.
+ */
+
+(function() {
+// TODO(b/375326606): consider contribution on
+// upstream(https://github.com/xtermjs/xterm.js/issues/3727)
+let convertTouchToMouse = false;
+function touchHandler(event) {
+ const contextmenuByTouch =
+ event.type === 'contextmenu' && event.pointerType === 'touch';
+ // Only proceed for long touches (contextmenu) or when converting touch to
+ // mouse
+ if (!contextmenuByTouch && !convertTouchToMouse) {
+ return;
+ }
+
+ const touch = event.changedTouches ? event.changedTouches[0] : event;
+
+ let type;
+ switch (event.type) {
+ case 'contextmenu':
+ convertTouchToMouse = true;
+ type = 'mousedown';
+ break;
+ case 'touchmove':
+ type = 'mousemove';
+ break;
+ case 'touchend':
+ convertTouchToMouse = false;
+ type = 'mouseup';
+ break;
+ default:
+ convertTouchToMouse = false;
+ return;
+ }
+
+ const simulatedEvent = new MouseEvent(type, {
+ bubbles: true,
+ cancelable: true,
+ view: window,
+ detail: 1,
+ screenX: touch.screenX,
+ screenY: touch.screenY,
+ clientX: touch.clientX,
+ clientY: touch.clientY,
+ button: 0, // left click
+ });
+
+ touch.target.dispatchEvent(simulatedEvent);
+
+ // Prevent default behavior for touch events (except contextmenu)
+ if (event.type !== 'contextmenu') {
+ event.preventDefault();
+ event.stopPropagation();
+ }
+}
+const eventOptions = {
+ capture: true,
+ passive: false
+};
+document.addEventListener('touchstart', touchHandler, eventOptions);
+document.addEventListener('touchmove', touchHandler, eventOptions);
+document.addEventListener('touchend', touchHandler, eventOptions);
+document.addEventListener('touchcancel', touchHandler, eventOptions);
+document.addEventListener('contextmenu', touchHandler, eventOptions);
+})();
\ No newline at end of file
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/BaseActivity.java b/android/TerminalApp/java/com/android/virtualization/terminal/BaseActivity.java
index 66552d5..d6ca1e6 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/BaseActivity.java
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/BaseActivity.java
@@ -17,7 +17,10 @@
package com.android.virtualization.terminal;
import android.Manifest;
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
import android.content.pm.PackageManager;
+import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
@@ -25,6 +28,29 @@
private static final int POST_NOTIFICATIONS_PERMISSION_REQUEST_CODE = 101;
@Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ NotificationManager notificationManager = getSystemService(NotificationManager.class);
+ if (notificationManager.getNotificationChannel(this.getPackageName()) == null) {
+ NotificationChannel channel =
+ new NotificationChannel(
+ this.getPackageName(),
+ getString(R.string.app_name),
+ NotificationManager.IMPORTANCE_DEFAULT);
+ notificationManager.createNotificationChannel(channel);
+ }
+
+ if (!(this instanceof ErrorActivity)) {
+ Thread currentThread = Thread.currentThread();
+ if (!(currentThread.getUncaughtExceptionHandler()
+ instanceof TerminalExceptionHandler)) {
+ currentThread.setUncaughtExceptionHandler(
+ new TerminalExceptionHandler(getApplicationContext()));
+ }
+ }
+ }
+
+ @Override
public void onResume() {
super.onResume();
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/CertificateUtils.java b/android/TerminalApp/java/com/android/virtualization/terminal/CertificateUtils.java
index fa5c382..e3d1a67 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/CertificateUtils.java
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/CertificateUtils.java
@@ -62,9 +62,8 @@
}
return ((KeyStore.PrivateKeyEntry) ks.getEntry(ALIAS, null));
} catch (Exception e) {
- Log.e(TAG, "cannot generate or get key", e);
+ throw new RuntimeException("cannot generate or get key", e);
}
- return null;
}
private static void createKey()
@@ -95,7 +94,7 @@
+ end_cert;
writer.write(output.getBytes());
} catch (IOException | CertificateEncodingException e) {
- Log.d(TAG, "cannot write cert", e);
+ throw new RuntimeException("cannot write certs", e);
}
}
}
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/ConfigJson.java b/android/TerminalApp/java/com/android/virtualization/terminal/ConfigJson.java
index ab03049..b79e346 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/ConfigJson.java
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/ConfigJson.java
@@ -16,6 +16,7 @@
package com.android.virtualization.terminal;
+
import android.content.Context;
import android.content.pm.PackageManager.NameNotFoundException;
import android.graphics.Rect;
@@ -39,6 +40,7 @@
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
+import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Arrays;
import java.util.HashMap;
@@ -90,12 +92,7 @@
rules.put("\\$PAYLOAD_DIR", InstalledImage.getDefault(context).getInstallDir().toString());
rules.put("\\$USER_ID", String.valueOf(context.getUserId()));
rules.put("\\$PACKAGE_NAME", context.getPackageName());
- String appDataDir = context.getDataDir().toString();
- // TODO: remove this hack
- if (context.getUserId() == 0) {
- appDataDir = "/data/data/" + context.getPackageName();
- }
- rules.put("\\$APP_DATA_DIR", appDataDir);
+ rules.put("\\$APP_DATA_DIR", context.getDataDir().toString());
try (BufferedReader br = new BufferedReader(r)) {
return br.lines()
@@ -209,13 +206,26 @@
GUEST_GID,
0007,
"android",
- "android");
+ "android",
+ false, /* app domain is set to false so that crosvm is spin up as child of virtmgr */
+ "");
}
return null;
}
+ Path socketPath = context.getFilesDir().toPath().resolve("internal.virtiofs");
+ Files.deleteIfExists(socketPath);
return new SharedPath(
- sharedPath, terminalUid, terminalUid, 0, 0, 0007, "internal", "internal");
- } catch (NameNotFoundException e) {
+ sharedPath,
+ terminalUid,
+ terminalUid,
+ 0,
+ 0,
+ 0007,
+ "internal",
+ "internal",
+ true, /* app domain is set to true so that crosvm is spin up from app context */
+ socketPath.toString());
+ } catch (NameNotFoundException | IOException e) {
return null;
}
}
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/DebianServiceImpl.java b/android/TerminalApp/java/com/android/virtualization/terminal/DebianServiceImpl.java
index 93b0b0c..9cf6093 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/DebianServiceImpl.java
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/DebianServiceImpl.java
@@ -19,7 +19,6 @@
import static com.android.virtualization.terminal.MainActivity.TAG;
import android.content.Context;
-import android.content.SharedPreferences;
import android.util.Log;
import androidx.annotation.Keep;
@@ -31,26 +30,20 @@
import com.android.virtualization.terminal.proto.ReportVmActivePortsRequest;
import com.android.virtualization.terminal.proto.ReportVmActivePortsResponse;
import com.android.virtualization.terminal.proto.ReportVmIpAddrResponse;
+import com.android.virtualization.terminal.proto.ShutdownQueueOpeningRequest;
+import com.android.virtualization.terminal.proto.ShutdownRequestItem;
import io.grpc.stub.StreamObserver;
-import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
final class DebianServiceImpl extends DebianServiceGrpc.DebianServiceImplBase {
- private static final String PREFERENCE_FILE_KEY =
- "com.android.virtualization.terminal.PREFERENCE_FILE_KEY";
- private static final String PREFERENCE_FORWARDING_PORTS = "PREFERENCE_FORWARDING_PORTS";
- private static final String PREFERENCE_FORWARDING_PORT_IS_ENABLED_PREFIX =
- "PREFERENCE_FORWARDING_PORT_IS_ENABLED_";
-
private final Context mContext;
- private final SharedPreferences mSharedPref;
- private final String mPreferenceForwardingPorts;
- private final String mPreferenceForwardingPortIsEnabled;
- private SharedPreferences.OnSharedPreferenceChangeListener mPortForwardingListener;
+ private final PortsStateManager mPortsStateManager;
+ private PortsStateManager.Listener mPortsStateListener;
private final DebianServiceCallback mCallback;
+ private Runnable mShutdownRunnable;
static {
System.loadLibrary("forwarder_host_jni");
@@ -60,12 +53,7 @@
super();
mCallback = callback;
mContext = context;
- mSharedPref =
- mContext.getSharedPreferences(
- mContext.getString(R.string.preference_file_key), Context.MODE_PRIVATE);
- mPreferenceForwardingPorts = mContext.getString(R.string.preference_forwarding_ports);
- mPreferenceForwardingPortIsEnabled =
- mContext.getString(R.string.preference_forwarding_port_is_enabled);
+ mPortsStateManager = PortsStateManager.getInstance(mContext);
}
@Override
@@ -73,23 +61,7 @@
ReportVmActivePortsRequest request,
StreamObserver<ReportVmActivePortsResponse> responseObserver) {
Log.d(TAG, "reportVmActivePorts: " + request.toString());
-
- Set<String> prevPorts =
- mSharedPref.getStringSet(mPreferenceForwardingPorts, Collections.emptySet());
- SharedPreferences.Editor editor = mSharedPref.edit();
- Set<String> ports = new HashSet<>();
- for (int port : request.getPortsList()) {
- ports.add(Integer.toString(port));
- if (!mSharedPref.contains(
- mPreferenceForwardingPortIsEnabled + Integer.toString(port))) {
- editor.putBoolean(
- mPreferenceForwardingPortIsEnabled + Integer.toString(port), false);
- }
- }
- editor.putStringSet(mPreferenceForwardingPorts, ports);
- editor.apply();
- mCallback.onActivePortsChanged(prevPorts, ports);
-
+ mPortsStateManager.updateActivePorts(new HashSet<>(request.getPortsList()));
ReportVmActivePortsResponse reply =
ReportVmActivePortsResponse.newBuilder().setSuccess(true).build();
responseObserver.onNext(reply);
@@ -110,23 +82,42 @@
public void openForwardingRequestQueue(
QueueOpeningRequest request, StreamObserver<ForwardingRequestItem> responseObserver) {
Log.d(TAG, "OpenForwardingRequestQueue");
- mPortForwardingListener =
- new SharedPreferences.OnSharedPreferenceChangeListener() {
+ mPortsStateListener =
+ new PortsStateManager.Listener() {
@Override
- public void onSharedPreferenceChanged(
- SharedPreferences sharedPreferences, String key) {
- if (key.startsWith(mPreferenceForwardingPortIsEnabled)
- || key.equals(mPreferenceForwardingPorts)) {
- updateListeningPorts();
- }
+ public void onPortsStateUpdated(
+ Set<Integer> oldActivePorts, Set<Integer> newActivePorts) {
+ updateListeningPorts();
}
};
- mSharedPref.registerOnSharedPreferenceChangeListener(mPortForwardingListener);
+ mPortsStateManager.registerListener(mPortsStateListener);
updateListeningPorts();
runForwarderHost(request.getCid(), new ForwarderHostCallback(responseObserver));
responseObserver.onCompleted();
}
+ public boolean shutdownDebian() {
+ if (mShutdownRunnable == null) {
+ Log.d(TAG, "mShutdownRunnable is not ready.");
+ return false;
+ }
+ mShutdownRunnable.run();
+ return true;
+ }
+
+ @Override
+ public void openShutdownRequestQueue(
+ ShutdownQueueOpeningRequest request,
+ StreamObserver<ShutdownRequestItem> responseObserver) {
+ Log.d(TAG, "openShutdownRequestQueue");
+ mShutdownRunnable =
+ () -> {
+ responseObserver.onNext(ShutdownRequestItem.newBuilder().build());
+ responseObserver.onCompleted();
+ mShutdownRunnable = null;
+ };
+ }
+
@Keep
private static class ForwarderHostCallback {
private StreamObserver<ForwardingRequestItem> mResponseObserver;
@@ -151,31 +142,26 @@
void killForwarderHost() {
Log.d(TAG, "Stopping port forwarding");
- if (mPortForwardingListener != null) {
- mSharedPref.unregisterOnSharedPreferenceChangeListener(mPortForwardingListener);
- terminateForwarderHost();
+ if (mPortsStateListener != null) {
+ mPortsStateManager.unregisterListener(mPortsStateListener);
+ mPortsStateListener = null;
}
+ terminateForwarderHost();
}
private static native void updateListeningPorts(int[] ports);
private void updateListeningPorts() {
+ Set<Integer> activePorts = mPortsStateManager.getActivePorts();
+ Set<Integer> enabledPorts = mPortsStateManager.getEnabledPorts();
updateListeningPorts(
- mSharedPref
- .getStringSet(mPreferenceForwardingPorts, Collections.emptySet())
- .stream()
- .filter(
- port ->
- mSharedPref.getBoolean(
- mPreferenceForwardingPortIsEnabled + port, false))
- .map(Integer::valueOf)
+ activePorts.stream()
+ .filter(port -> enabledPorts.contains(port))
.mapToInt(Integer::intValue)
.toArray());
}
protected interface DebianServiceCallback {
void onIpAddressAvailable(String ipAddr);
-
- void onActivePortsChanged(Set<String> oldPorts, Set<String> newPorts);
}
}
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/ImageArchive.java b/android/TerminalApp/java/com/android/virtualization/terminal/ImageArchive.java
index b2a2085..7f14179 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/ImageArchive.java
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/ImageArchive.java
@@ -16,8 +16,11 @@
package com.android.virtualization.terminal;
+import static com.android.virtualization.terminal.MainActivity.TAG;
+
import android.os.Build;
import android.os.Environment;
+import android.util.Log;
import org.apache.commons.compress.archivers.ArchiveEntry;
import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
@@ -43,7 +46,8 @@
class ImageArchive {
private static final String DIR_IN_SDCARD = "linux";
private static final String ARCHIVE_NAME = "images.tar.gz";
- private static final String HOST_URL = "https://dl.google.com/android/ferrochrome/latest";
+ private static final String BUILD_TAG = "latest"; // TODO: use actual tag name
+ private static final String HOST_URL = "https://dl.google.com/android/ferrochrome/" + BUILD_TAG;
// Only one can be non-null
private final URL mUrl;
@@ -138,6 +142,8 @@
* an additional input stream which will be used during the installation.
*/
public void installTo(Path dir, Function<InputStream, InputStream> filter) throws IOException {
+ String source = mPath != null ? mPath.toString() : mUrl.toString();
+ Log.d(TAG, "Installing. source: " + source + ", destination: " + dir.toString());
try (InputStream stream = getInputStream(filter);
GzipCompressorInputStream gzStream = new GzipCompressorInputStream(stream);
TarArchiveInputStream tarStream = new TarArchiveInputStream(gzStream)) {
@@ -148,9 +154,9 @@
Path to = dir.resolve(entry.getName());
if (Files.isDirectory(to)) {
Files.createDirectories(to);
- } else {
- Files.copy(tarStream, to, StandardCopyOption.REPLACE_EXISTING);
+ continue;
}
+ Files.copy(tarStream, to, StandardCopyOption.REPLACE_EXISTING);
}
}
commitInstallationAt(dir);
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/InstalledImage.java b/android/TerminalApp/java/com/android/virtualization/terminal/InstalledImage.java
index f616b87..318f49a 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/InstalledImage.java
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/InstalledImage.java
@@ -23,7 +23,9 @@
import android.system.Os;
import android.util.Log;
+import java.io.BufferedReader;
import java.io.FileDescriptor;
+import java.io.FileReader;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.file.Files;
@@ -36,6 +38,7 @@
private static final String ROOTFS_FILENAME = "root_part";
private static final String BACKUP_FILENAME = "root_part_backup";
private static final String CONFIG_FILENAME = "vm_config.json";
+ private static final String BUILD_ID_FILENAME = "build_id";
static final String MARKER_FILENAME = "completed";
public static final long RESIZE_STEP_BYTES = 4 << 20; // 4 MiB
@@ -45,6 +48,7 @@
private final Path mBackup;
private final Path mConfig;
private final Path mMarker;
+ private String mBuildId;
/** Returns InstalledImage for a given app context */
public static InstalledImage getDefault(Context context) {
@@ -79,6 +83,26 @@
return mConfig;
}
+ /** Returns the build ID of the installed image */
+ public String getBuildId() {
+ if (mBuildId == null) {
+ mBuildId = readBuildId();
+ }
+ return mBuildId;
+ }
+
+ private String readBuildId() {
+ Path file = mDir.resolve(BUILD_ID_FILENAME);
+ if (!Files.exists(file)) {
+ return "<no build id>";
+ }
+ try (BufferedReader r = new BufferedReader(new FileReader(file.toFile()))) {
+ return r.readLine();
+ } catch (IOException e) {
+ throw new RuntimeException("Failed to read build ID", e);
+ }
+ }
+
public Path uninstallAndBackup() throws IOException {
Files.delete(mMarker);
Files.move(mRootPartition, mBackup, StandardCopyOption.REPLACE_EXISTING);
@@ -113,6 +137,7 @@
* 1024;
return roundUp(minSize);
} catch (NumberFormatException e) {
+ Log.e(TAG, "Failed to parse min size, p=" + p + ", result=" + result);
throw new IOException(e);
}
}
@@ -168,7 +193,12 @@
try {
Process process = new ProcessBuilder(command).redirectErrorStream(true).start();
process.waitFor();
- return new String(process.getInputStream().readAllBytes());
+ String result = new String(process.getInputStream().readAllBytes());
+ if (process.exitValue() != 0) {
+ Log.w(TAG, "Process returned with error, command=" + String.join(" ", command)
+ + ", exitValue=" + process.exitValue() + ", result=" + result);
+ }
+ return result;
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
throw new IOException("Command interrupted", e);
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/InstallerService.java b/android/TerminalApp/java/com/android/virtualization/terminal/InstallerService.java
index c2b3fd4..66ab414 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/InstallerService.java
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/InstallerService.java
@@ -41,18 +41,12 @@
import java.net.SocketException;
import java.net.UnknownHostException;
import java.nio.file.Path;
-import java.util.Arrays;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class InstallerService extends Service {
private static final int NOTIFICATION_ID = 1313; // any unique number among notifications
- private static final String IMAGE_URL =
- Arrays.asList(Build.SUPPORTED_ABIS).contains("x86_64")
- ? "https://dl.google.com/android/ferrochrome/latest/x86_64/images.tar.gz"
- : "https://dl.google.com/android/ferrochrome/latest/aarch64/images.tar.gz";
-
private final Object mLock = new Object();
private Notification mNotification;
@@ -80,6 +74,7 @@
this, /* requestCode= */ 0, intent, PendingIntent.FLAG_IMMUTABLE);
mNotification =
new Notification.Builder(this, this.getPackageName())
+ .setSilent(true)
.setSmallIcon(R.drawable.ic_launcher_foreground)
.setContentTitle(getString(R.string.installer_notif_title_text))
.setContentText(getString(R.string.installer_notif_desc_text))
@@ -87,7 +82,9 @@
.setContentIntent(pendingIntent)
.build();
- mExecutorService = Executors.newSingleThreadExecutor();
+ mExecutorService =
+ Executors.newSingleThreadExecutor(
+ new TerminalThreadFactory(getApplicationContext()));
mConnectivityManager = getSystemService(ConnectivityManager.class);
Network defaultNetwork = mConnectivityManager.getBoundNetworkForProcess();
@@ -191,8 +188,6 @@
// TODO(b/374015561): Support pause/resume download
private boolean downloadFromUrl(boolean isWifiOnly) {
- Log.i(TAG, "trying to download from " + IMAGE_URL);
-
if (!checkForWifiOnly(isWifiOnly)) {
Log.e(TAG, "Install isn't started because Wifi isn't available");
notifyError(getString(R.string.installer_error_no_wifi));
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java b/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java
index 22f7c4e..624d6ca 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java
@@ -18,12 +18,10 @@
import static android.webkit.WebSettings.LOAD_NO_CACHE;
import android.app.Notification;
-import android.app.NotificationChannel;
-import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
-import android.content.SharedPreferences;
+import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.graphics.drawable.Icon;
@@ -34,6 +32,7 @@
import android.os.Bundle;
import android.os.ConditionVariable;
import android.os.Environment;
+import android.os.SystemClock;
import android.provider.Settings;
import android.util.Log;
import android.view.KeyEvent;
@@ -54,6 +53,7 @@
import androidx.activity.result.ActivityResult;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
+import androidx.annotation.NonNull;
import com.android.internal.annotations.VisibleForTesting;
@@ -68,19 +68,24 @@
import java.security.PrivateKey;
import java.security.cert.X509Certificate;
import java.util.Map;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
public class MainActivity extends BaseActivity
implements VmLauncherService.VmLauncherServiceCallback, AccessibilityStateChangeListener {
static final String TAG = "VmTerminalApp";
+ static final String KEY_DISK_SIZE = "disk_size";
private static final String VM_ADDR = "192.168.0.2";
private static final int TTYD_PORT = 7681;
+ private static final int TERMINAL_CONNECTION_TIMEOUT_MS = 10_000;
private static final int REQUEST_CODE_INSTALLER = 0x33;
private static final int FONT_SIZE_DEFAULT = 13;
+ private ExecutorService mExecutorService;
private InstalledImage mImage;
private X509Certificate[] mCertificates;
private PrivateKey mPrivateKey;
- private WebView mWebView;
+ private TerminalView mTerminalView;
private AccessibilityManager mAccessibilityManager;
private ConditionVariable mBootCompleted = new ConditionVariable();
private static final int POST_NOTIFICATIONS_PERMISSION_REQUEST_CODE = 101;
@@ -103,31 +108,22 @@
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ lockOrientationIfNecessary();
mImage = InstalledImage.getDefault(this);
- NotificationManager notificationManager = getSystemService(NotificationManager.class);
- if (notificationManager.getNotificationChannel(this.getPackageName()) == null) {
- NotificationChannel channel =
- new NotificationChannel(
- this.getPackageName(),
- getString(R.string.app_name),
- NotificationManager.IMPORTANCE_DEFAULT);
- notificationManager.createNotificationChannel(channel);
- }
-
boolean launchInstaller = installIfNecessary();
setContentView(R.layout.activity_headless);
MaterialToolbar toolbar = (MaterialToolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
- mWebView = (WebView) findViewById(R.id.webview);
- mWebView.getSettings().setDatabaseEnabled(true);
- mWebView.getSettings().setDomStorageEnabled(true);
- mWebView.getSettings().setJavaScriptEnabled(true);
- mWebView.getSettings().setCacheMode(LOAD_NO_CACHE);
- mWebView.setWebChromeClient(new WebChromeClient());
+ mTerminalView = (TerminalView) findViewById(R.id.webview);
+ mTerminalView.getSettings().setDatabaseEnabled(true);
+ mTerminalView.getSettings().setDomStorageEnabled(true);
+ mTerminalView.getSettings().setJavaScriptEnabled(true);
+ mTerminalView.getSettings().setCacheMode(LOAD_NO_CACHE);
+ mTerminalView.setWebChromeClient(new WebChromeClient());
setupModifierKeys();
@@ -147,9 +143,14 @@
.getRootView()
.setOnApplyWindowInsetsListener(
(v, insets) -> {
- updateKeyboardContainerVisibility();
+ updateModifierKeysVisibility();
return insets;
});
+
+ mExecutorService =
+ Executors.newSingleThreadExecutor(
+ new TerminalThreadFactory(getApplicationContext()));
+
// if installer is launched, it will be handled in onActivityResult
if (!launchInstaller) {
if (!Environment.isExternalStorageManager()) {
@@ -160,21 +161,38 @@
}
}
+ private void lockOrientationIfNecessary() {
+ boolean hasHwQwertyKeyboard =
+ getResources().getConfiguration().keyboard == Configuration.KEYBOARD_QWERTY;
+ if (hasHwQwertyKeyboard) {
+ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
+ } else if (getResources().getBoolean(R.bool.terminal_portrait_only)) {
+ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
+ }
+ }
+
+ @Override
+ public void onConfigurationChanged(@NonNull Configuration newConfig) {
+ super.onConfigurationChanged(newConfig);
+ lockOrientationIfNecessary();
+ updateModifierKeysVisibility();
+ }
+
private void setupModifierKeys() {
// Only ctrl key is special, it communicates with xtermjs to modify key event with ctrl key
findViewById(R.id.btn_ctrl)
.setOnClickListener(
(v) -> {
- mWebView.loadUrl(TerminalView.CTRL_KEY_HANDLER);
- mWebView.loadUrl(TerminalView.ENABLE_CTRL_KEY);
+ mTerminalView.mapCtrlKey();
+ mTerminalView.enableCtrlKey();
});
View.OnClickListener modifierButtonClickListener =
v -> {
if (BTN_KEY_CODE_MAP.containsKey(v.getId())) {
int keyCode = BTN_KEY_CODE_MAP.get(v.getId());
- mWebView.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, keyCode));
- mWebView.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, keyCode));
+ mTerminalView.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, keyCode));
+ mTerminalView.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, keyCode));
}
};
@@ -238,7 +256,7 @@
private void connectToTerminalService() {
Log.i(TAG, "URL=" + getTerminalServiceUrl().toString());
- mWebView.setWebViewClient(
+ mTerminalView.setWebViewClient(
new WebViewClient() {
private boolean mLoadFailed = false;
private long mRequestId = 0;
@@ -291,12 +309,8 @@
findViewById(R.id.webview_container)
.setVisibility(View.VISIBLE);
mBootCompleted.open();
- // TODO(b/376813452): support talkback as well
- int keyVisibility =
- mAccessibilityManager.isEnabled()
- ? View.GONE
- : View.VISIBLE;
- updateKeyboardContainerVisibility();
+ updateModifierKeysVisibility();
+ mTerminalView.mapTouchToMouseEvent();
}
}
});
@@ -319,13 +333,12 @@
handler.proceed();
}
});
- new Thread(
- () -> {
- waitUntilVmStarts();
- runOnUiThread(
- () -> mWebView.loadUrl(getTerminalServiceUrl().toString()));
- })
- .start();
+ mExecutorService.execute(
+ () -> {
+ // TODO(b/376793781): Remove polling
+ waitUntilVmStarts();
+ runOnUiThread(() -> mTerminalView.loadUrl(getTerminalServiceUrl().toString()));
+ });
}
private static void waitUntilVmStarts() {
@@ -335,17 +348,33 @@
} catch (UnknownHostException e) {
// this can never happen.
}
- try {
- while (!addr.isReachable(10000)) {}
- } catch (IOException e) {
- // give up on network error
- throw new RuntimeException(e);
+
+ long startTime = SystemClock.elapsedRealtime();
+ while (true) {
+ int remainingTime =
+ TERMINAL_CONNECTION_TIMEOUT_MS
+ - (int) (SystemClock.elapsedRealtime() - startTime);
+ if (remainingTime <= 0) {
+ throw new RuntimeException("Connection to terminal timedout");
+ }
+ try {
+ // Note: this quits immediately if VM is unreachable.
+ if (addr.isReachable(remainingTime)) {
+ return;
+ }
+ } catch (IOException e) {
+ // give up on network error
+ throw new RuntimeException(e);
+ }
}
- return;
}
@Override
protected void onDestroy() {
+ if (mExecutorService != null) {
+ mExecutorService.shutdown();
+ }
+
getSystemService(AccessibilityManager.class).removeAccessibilityStateChangeListener(this);
VmLauncherService.stop(this);
super.onDestroy();
@@ -396,14 +425,15 @@
connectToTerminalService();
}
- private void updateKeyboardContainerVisibility() {
- boolean imeVisible =
- this.getWindow()
- .getDecorView()
- .getRootWindowInsets()
- .isVisible(WindowInsets.Type.ime());
- View keyboardContainer = findViewById(R.id.keyboard_container);
- keyboardContainer.setVisibility(!imeVisible ? View.GONE : View.VISIBLE);
+ private void updateModifierKeysVisibility() {
+ boolean imeShown =
+ getWindow().getDecorView().getRootWindowInsets().isVisible(WindowInsets.Type.ime());
+ boolean hasHwQwertyKeyboard =
+ getResources().getConfiguration().keyboard == Configuration.KEYBOARD_QWERTY;
+ boolean showModifierKeys = imeShown && !hasHwQwertyKeyboard;
+
+ View modifierKeys = findViewById(R.id.modifier_keys);
+ modifierKeys.setVisibility(showModifierKeys ? View.VISIBLE : View.GONE);
}
@Override
@@ -464,6 +494,7 @@
Icon icon = Icon.createWithResource(getResources(), R.drawable.ic_launcher_foreground);
Notification notification =
new Notification.Builder(this, this.getPackageName())
+ .setSilent(true)
.setSmallIcon(R.drawable.ic_launcher_foreground)
.setContentTitle(
getResources().getString(R.string.service_notification_title))
@@ -502,17 +533,11 @@
}
private void resizeDiskIfNecessary(InstalledImage image) {
- String prefKey = getString(R.string.preference_file_key);
- String key = getString(R.string.preference_disk_size_key);
- SharedPreferences sharedPref = this.getSharedPreferences(prefKey, Context.MODE_PRIVATE);
try {
- // Use current size as default value to ensure if its size is multiple of 4096
- long newSize = sharedPref.getLong(key, image.getSize());
- Log.d(TAG, "Resizing disk to " + newSize + " bytes");
- newSize = image.resize(newSize);
- sharedPref.edit().putLong(key, newSize).apply();
+ // TODO(b/382190982): Show snackbar message instead when it's recoverable.
+ image.resize(getIntent().getLongExtra(KEY_DISK_SIZE, image.getSize()));
} catch (IOException e) {
- Log.e(TAG, "Failed to resize disk", e);
+ ErrorActivity.start(this, new Exception("Failed to resize disk", e));
return;
}
}
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/PortNotifier.java b/android/TerminalApp/java/com/android/virtualization/terminal/PortNotifier.java
index 2f728ba..0d70ab9 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/PortNotifier.java
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/PortNotifier.java
@@ -27,7 +27,6 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.graphics.drawable.Icon;
-import android.util.Log;
import java.util.HashSet;
import java.util.Locale;
@@ -45,35 +44,39 @@
private final Context mContext;
private final NotificationManager mNotificationManager;
private final BroadcastReceiver mReceiver;
+ private final PortsStateManager mPortsStateManager;
+ private final PortsStateManager.Listener mPortsStateListener;
public PortNotifier(Context context) {
mContext = context;
mNotificationManager = mContext.getSystemService(NotificationManager.class);
mReceiver = new PortForwardingRequestReceiver();
+ mPortsStateManager = PortsStateManager.getInstance(mContext);
+ mPortsStateListener =
+ new PortsStateManager.Listener() {
+ @Override
+ public void onPortsStateUpdated(
+ Set<Integer> oldActivePorts, Set<Integer> newActivePorts) {
+ Set<Integer> union = new HashSet<>(oldActivePorts);
+ union.addAll(newActivePorts);
+ for (int port : union) {
+ if (!oldActivePorts.contains(port)) {
+ showNotificationFor(port);
+ } else if (!newActivePorts.contains(port)) {
+ discardNotificationFor(port);
+ }
+ }
+ }
+ };
+ mPortsStateManager.registerListener(mPortsStateListener);
+
IntentFilter intentFilter = new IntentFilter(ACTION_PORT_FORWARDING);
mContext.registerReceiver(mReceiver, intentFilter, Context.RECEIVER_NOT_EXPORTED);
}
- public void onActivePortsChanged(Set<String> oldPorts, Set<String> newPorts) {
- Set<String> union = new HashSet<>(oldPorts);
- union.addAll(newPorts);
- for (String portStr : union) {
- try {
- int port = Integer.parseInt(portStr);
- if (!oldPorts.contains(portStr)) {
- showNotificationFor(port);
- } else if (!newPorts.contains(portStr)) {
- discardNotificationFor(port);
- }
- } catch (NumberFormatException e) {
- Log.e(TAG, "Failed to parse port: " + portStr);
- throw e;
- }
- }
- }
-
public void stop() {
+ mPortsStateManager.unregisterListener(mPortsStateListener);
mContext.unregisterReceiver(mReceiver);
}
@@ -134,16 +137,9 @@
}
private void performActionPortForwarding(Context context, Intent intent) {
- String prefKey = context.getString(R.string.preference_file_key);
int port = intent.getIntExtra(KEY_PORT, 0);
- String key = context.getString(R.string.preference_forwarding_port_is_enabled) + port;
boolean enabled = intent.getBooleanExtra(KEY_ENABLED, false);
-
- context.getSharedPreferences(prefKey, Context.MODE_PRIVATE)
- .edit()
- .putBoolean(key, enabled)
- .apply();
-
+ mPortsStateManager.updateEnabledPort(port, enabled);
discardNotificationFor(port);
}
}
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/PortsStateManager.java b/android/TerminalApp/java/com/android/virtualization/terminal/PortsStateManager.java
new file mode 100644
index 0000000..56ecd96
--- /dev/null
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/PortsStateManager.java
@@ -0,0 +1,146 @@
+/*
+ * 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.
+ */
+
+package com.android.virtualization.terminal;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+
+import com.android.internal.annotations.GuardedBy;
+
+import java.util.HashSet;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+/**
+ * PortsStateManager is responsible for communicating with shared preferences and managing state of
+ * ports.
+ */
+public class PortsStateManager {
+ private static final String PREFS_NAME = ".PORTS";
+ private static final int FLAG_ENABLED = 1;
+
+ private static PortsStateManager mInstance;
+ private final Object mLock = new Object();
+
+ private final SharedPreferences mSharedPref;
+
+ @GuardedBy("mLock")
+ private Set<Integer> mActivePorts;
+
+ @GuardedBy("mLock")
+ private final Set<Integer> mEnabledPorts;
+
+ @GuardedBy("mLock")
+ private final Set<Listener> mListeners;
+
+ private PortsStateManager(SharedPreferences sharedPref) {
+ mSharedPref = sharedPref;
+ mEnabledPorts =
+ mSharedPref.getAll().entrySet().stream()
+ .filter(entry -> entry.getValue() instanceof Integer)
+ .filter(entry -> ((int) entry.getValue() & FLAG_ENABLED) == FLAG_ENABLED)
+ .map(entry -> entry.getKey())
+ .filter(
+ key -> {
+ try {
+ Integer.parseInt(key);
+ return true;
+ } catch (NumberFormatException e) {
+ return false;
+ }
+ })
+ .map(Integer::parseInt)
+ .collect(Collectors.toSet());
+ mActivePorts = new HashSet<>();
+ mListeners = new HashSet<>();
+ }
+
+ static synchronized PortsStateManager getInstance(Context context) {
+ if (mInstance == null) {
+ SharedPreferences sharedPref =
+ context.getSharedPreferences(
+ context.getPackageName() + PREFS_NAME, Context.MODE_PRIVATE);
+ mInstance = new PortsStateManager(sharedPref);
+ }
+ return mInstance;
+ }
+
+ Set<Integer> getActivePorts() {
+ synchronized (mLock) {
+ return new HashSet<>(mActivePorts);
+ }
+ }
+
+ Set<Integer> getEnabledPorts() {
+ synchronized (mLock) {
+ return new HashSet<>(mEnabledPorts);
+ }
+ }
+
+ void updateActivePorts(Set<Integer> ports) {
+ Set<Integer> oldPorts;
+ synchronized (mLock) {
+ oldPorts = mActivePorts;
+ mActivePorts = ports;
+ }
+ notifyPortsStateUpdated(oldPorts, ports);
+ }
+
+ void updateEnabledPort(int port, boolean enabled) {
+ Set<Integer> activePorts;
+ synchronized (mLock) {
+ SharedPreferences.Editor editor = mSharedPref.edit();
+ editor.putInt(String.valueOf(port), enabled ? FLAG_ENABLED : 0);
+ editor.apply();
+ if (enabled) {
+ mEnabledPorts.add(port);
+ } else {
+ mEnabledPorts.remove(port);
+ }
+ activePorts = mActivePorts;
+ }
+ notifyPortsStateUpdated(activePorts, activePorts);
+ }
+
+ void registerListener(Listener listener) {
+ synchronized (mLock) {
+ mListeners.add(listener);
+ }
+ }
+
+ void unregisterListener(Listener listener) {
+ synchronized (mLock) {
+ mListeners.remove(listener);
+ }
+ }
+
+ private void notifyPortsStateUpdated(Set<Integer> oldActivePorts, Set<Integer> newActivePorts) {
+ Set<Listener> listeners;
+ synchronized (mLock) {
+ listeners = new HashSet<>(mListeners);
+ }
+ for (Listener listener : listeners) {
+ listener.onPortsStateUpdated(
+ new HashSet<>(oldActivePorts), new HashSet<>(newActivePorts));
+ }
+ }
+
+ interface Listener {
+ default void onPortsStateUpdated(
+ Set<Integer> oldActivePorts, Set<Integer> newActivePorts) {}
+ }
+}
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/SettingsActivity.kt b/android/TerminalApp/java/com/android/virtualization/terminal/SettingsActivity.kt
index 6a30971..a4a0a84 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/SettingsActivity.kt
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/SettingsActivity.kt
@@ -16,14 +16,9 @@
package com.android.virtualization.terminal
import android.os.Bundle
-import android.os.Handler
-import android.os.Looper
-import android.view.Window
-import android.view.WindowManager
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
-
import com.google.android.material.appbar.MaterialToolbar
class SettingsActivity : AppCompatActivity() {
@@ -32,34 +27,29 @@
super.onCreate(savedInstanceState)
setContentView(R.layout.settings_activity)
- Handler(Looper.getMainLooper()).post {
- val lp: WindowManager.LayoutParams = getWindow().getAttributes()
- lp.accessibilityTitle = getString(R.string.action_settings)
- getWindow().setAttributes(lp)
- }
-
val toolbar: MaterialToolbar = findViewById(R.id.settings_toolbar)
setSupportActionBar(toolbar)
- val settingsItems = arrayOf(
- SettingsItem(
- resources.getString(R.string.settings_disk_resize_title),
- resources.getString(R.string.settings_disk_resize_sub_title),
- R.drawable.baseline_storage_24,
- SettingsItemEnum.DiskResize
- ),
- SettingsItem(
- resources.getString(R.string.settings_port_forwarding_title),
- resources.getString(R.string.settings_port_forwarding_sub_title),
- R.drawable.baseline_call_missed_outgoing_24,
- SettingsItemEnum.PortForwarding
- ),
- SettingsItem(
- resources.getString(R.string.settings_recovery_title),
- resources.getString(R.string.settings_recovery_sub_title),
- R.drawable.baseline_settings_backup_restore_24,
- SettingsItemEnum.Recovery
- ),
- )
+ val settingsItems =
+ arrayOf(
+ SettingsItem(
+ resources.getString(R.string.settings_disk_resize_title),
+ resources.getString(R.string.settings_disk_resize_sub_title),
+ R.drawable.baseline_storage_24,
+ SettingsItemEnum.DiskResize,
+ ),
+ SettingsItem(
+ resources.getString(R.string.settings_port_forwarding_title),
+ resources.getString(R.string.settings_port_forwarding_sub_title),
+ R.drawable.baseline_call_missed_outgoing_24,
+ SettingsItemEnum.PortForwarding,
+ ),
+ SettingsItem(
+ resources.getString(R.string.settings_recovery_title),
+ resources.getString(R.string.settings_recovery_sub_title),
+ R.drawable.baseline_settings_backup_restore_24,
+ SettingsItemEnum.Recovery,
+ ),
+ )
val settingsListItemAdapter = SettingsItemAdapter(settingsItems)
val recyclerView: RecyclerView = findViewById(R.id.settings_list_recycler_view)
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/SettingsDiskResizeActivity.kt b/android/TerminalApp/java/com/android/virtualization/terminal/SettingsDiskResizeActivity.kt
index d9086a4..8ea4b25 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/SettingsDiskResizeActivity.kt
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/SettingsDiskResizeActivity.kt
@@ -15,45 +15,44 @@
*/
package com.android.virtualization.terminal
-import android.content.Context
import android.content.Intent
import android.icu.text.MeasureFormat
import android.icu.text.NumberFormat
import android.icu.util.Measure
import android.icu.util.MeasureUnit
import android.os.Bundle
-import android.os.FileUtils
-import android.os.Handler
-import android.os.Looper
+import android.os.Environment
import android.text.SpannableString
import android.text.Spanned
import android.text.TextUtils
import android.text.style.RelativeSizeSpan
+import android.view.View
import android.widget.SeekBar
-import android.view.Window
-import android.view.WindowManager
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.dialog.MaterialAlertDialogBuilder
import java.util.Locale
import java.util.regex.Pattern
class SettingsDiskResizeActivity : AppCompatActivity() {
- private val maxDiskSizeMb: Long = 16 shl 10
private val numberPattern: Pattern = Pattern.compile("[\\d]*[\\٫.,]?[\\d]+")
+ private val defaultMaxDiskSizeMb: Long = 16 shl 10
private var diskSizeStepMb: Long = 0
private var diskSizeMb: Long = 0
+ private lateinit var buttons: View
+ private lateinit var cancelButton: View
+ private lateinit var resizeButton: View
private lateinit var diskSizeText: TextView
private lateinit var diskSizeSlider: SeekBar
private fun bytesToMb(bytes: Long): Long {
- return bytes shr 20;
+ return bytes shr 20
}
private fun mbToBytes(bytes: Long): Long {
- return bytes shl 20;
+ return bytes shl 20
}
private fun mbToProgress(bytes: Long): Int {
@@ -68,87 +67,100 @@
super.onCreate(savedInstanceState)
setContentView(R.layout.settings_disk_resize)
- Handler(Looper.getMainLooper()).post {
- val lp: WindowManager.LayoutParams = getWindow().getAttributes()
- lp.accessibilityTitle = getString(R.string.settings_disk_resize_title)
- getWindow().setAttributes(lp)
- }
-
diskSizeStepMb = 1L shl resources.getInteger(R.integer.disk_size_round_up_step_size_in_mb)
- val sharedPref =
- this.getSharedPreferences(getString(R.string.preference_file_key), Context.MODE_PRIVATE)
- diskSizeMb = bytesToMb(sharedPref.getLong(
- getString(R.string.preference_disk_size_key),
- /* defValue= */ 0))
val image = InstalledImage.getDefault(this)
- val minDiskSizeMb =
- bytesToMb(image.getSmallestSizePossible())
- .coerceAtMost(diskSizeMb)
+ diskSizeMb = bytesToMb(image.getSize())
+ val minDiskSizeMb = bytesToMb(image.getSmallestSizePossible()).coerceAtMost(diskSizeMb)
+ val usableSpaceMb =
+ bytesToMb(Environment.getDataDirectory().getUsableSpace()) and
+ (diskSizeStepMb - 1).inv()
+ val maxDiskSizeMb = defaultMaxDiskSizeMb.coerceAtMost(diskSizeMb + usableSpaceMb)
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(maxDiskSizeMb, /* isShort= */ true)
- );
+ diskMaxSizeText.text =
+ getString(
+ R.string.settings_disk_resize_resize_gb_max_format,
+ localizedFileSize(maxDiskSizeMb, /* isShort= */ true),
+ )
+ buttons = findViewById<View>(R.id.buttons)
diskSizeSlider = findViewById<SeekBar>(R.id.settings_disk_resize_disk_size_slider)!!
- val cancelButton = findViewById<MaterialButton>(R.id.settings_disk_resize_cancel_button)
- val resizeButton = findViewById<MaterialButton>(R.id.settings_disk_resize_resize_button)
+ cancelButton = findViewById<View>(R.id.settings_disk_resize_cancel_button)
+ resizeButton = findViewById<View>(R.id.settings_disk_resize_resize_button)
diskSizeSlider.min = mbToProgress(minDiskSizeMb)
diskSizeSlider.max = mbToProgress(maxDiskSizeMb)
diskSizeSlider.progress = mbToProgress(diskSizeMb)
updateSliderText(diskSizeMb)
- diskSizeSlider.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener {
- override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
- updateSliderText(progressToMb(progress))
- cancelButton.isVisible = true
- resizeButton.isVisible = true
+ diskSizeSlider.setOnSeekBarChangeListener(
+ object : SeekBar.OnSeekBarChangeListener {
+ override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
+ updateSliderText(progressToMb(progress))
+ buttons.isVisible = true
+ cancelButton.isVisible = true
+ resizeButton.isVisible = true
+ }
+
+ override fun onStartTrackingTouch(seekBar: SeekBar?) {
+ // no-op
+ }
+
+ override fun onStopTrackingTouch(seekBar: SeekBar?) {
+ // no-op
+ }
}
+ )
- override fun onStartTrackingTouch(seekBar: SeekBar?) {
- // no-op
+ cancelButton.setOnClickListener { cancel() }
+
+ resizeButton.setOnClickListener { showConfirmationDialog() }
+ }
+
+ fun cancel() {
+ diskSizeSlider.progress = mbToProgress(diskSizeMb)
+ buttons.isVisible = false
+ }
+
+ fun showConfirmationDialog() {
+ MaterialAlertDialogBuilder(this)
+ .setTitle(R.string.settings_disk_resize_title)
+ .setMessage(R.string.settings_disk_resize_resize_confirm_dialog_message)
+ .setPositiveButton(R.string.settings_disk_resize_resize_confirm_dialog_confirm) { _, _
+ ->
+ resize()
}
+ .setNegativeButton(R.string.settings_disk_resize_resize_cancel) { _, _ -> cancel() }
+ .create()
+ .show()
+ }
- override fun onStopTrackingTouch(seekBar: SeekBar?) {
- // no-op
- }
- })
+ private fun resize() {
+ diskSizeMb = progressToMb(diskSizeSlider.progress)
+ buttons.isVisible = false
- cancelButton.setOnClickListener {
- diskSizeSlider.progress = mbToProgress(diskSizeMb)
- cancelButton.isVisible = false
- resizeButton.isVisible = false
- }
-
- resizeButton.setOnClickListener {
- diskSizeMb = progressToMb(diskSizeSlider.progress)
- cancelButton.isVisible = false
- resizeButton.isVisible = false
- val editor = sharedPref.edit()
- editor.putLong(
- getString(R.string.preference_disk_size_key),
- mbToBytes(diskSizeMb)
- )
- editor.apply()
-
- // Restart terminal
- val intent =
- baseContext.packageManager.getLaunchIntentForPackage(baseContext.packageName)
- intent?.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)
- finish()
- startActivity(intent)
- }
+ // Restart terminal
+ val intent = baseContext.packageManager.getLaunchIntentForPackage(baseContext.packageName)
+ intent?.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)
+ intent?.putExtra(MainActivity.KEY_DISK_SIZE, mbToBytes(diskSizeMb))
+ finish()
+ startActivity(intent)
}
fun updateSliderText(sizeMb: Long) {
- diskSizeText.text = enlargeFontOfNumber(
- getString(R.string.settings_disk_resize_resize_gb_assigned_format,
- localizedFileSize(sizeMb, /* isShort= */ true)))
+ diskSizeText.text =
+ enlargeFontOfNumber(
+ getString(
+ R.string.settings_disk_resize_resize_gb_assigned_format,
+ localizedFileSize(sizeMb, /* isShort= */ true),
+ )
+ )
diskSizeSlider.stateDescription =
- getString(R.string.settings_disk_resize_resize_gb_assigned_format,
- localizedFileSize(sizeMb, /* isShort= */ false))
+ getString(
+ R.string.settings_disk_resize_resize_gb_assigned_format,
+ localizedFileSize(sizeMb, /* isShort= */ false),
+ )
}
fun localizedFileSize(sizeMb: Long, isShort: Boolean): String {
@@ -160,7 +172,8 @@
numberFormatter.minimumFractionDigits = 1
numberFormatter.maximumFractionDigits = 1
- val formatWidth = if (isShort) MeasureFormat.FormatWidth.SHORT else MeasureFormat.FormatWidth.WIDE
+ val formatWidth =
+ if (isShort) MeasureFormat.FormatWidth.SHORT else MeasureFormat.FormatWidth.WIDE
val measureFormat: MeasureFormat =
MeasureFormat.getInstance(localeFromContext, formatWidth, numberFormatter)
return measureFormat.format(measure)
@@ -171,14 +184,15 @@
return ""
}
- val matcher = numberPattern.matcher(summary);
+ val matcher = numberPattern.matcher(summary)
if (matcher.find()) {
val spannableSummary = SpannableString(summary)
spannableSummary.setSpan(
- RelativeSizeSpan(2f),
- matcher.start(),
- matcher.end(),
- Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
+ RelativeSizeSpan(2f),
+ matcher.start(),
+ matcher.end(),
+ Spanned.SPAN_EXCLUSIVE_EXCLUSIVE,
+ )
return spannableSummary
}
return summary
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/SettingsItem.kt b/android/TerminalApp/java/com/android/virtualization/terminal/SettingsItem.kt
index e1723a7..5098ecd 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/SettingsItem.kt
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/SettingsItem.kt
@@ -16,13 +16,14 @@
package com.android.virtualization.terminal
enum class SettingsItemEnum {
- DiskResize, PortForwarding, Recovery
+ DiskResize,
+ PortForwarding,
+ Recovery,
}
class SettingsItem(
val title: String,
val subTitle: String,
val icon: Int,
- val settingsItemEnum: SettingsItemEnum
-) {
-}
\ No newline at end of file
+ val settingsItemEnum: SettingsItemEnum,
+) {}
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/SettingsItemAdapter.kt b/android/TerminalApp/java/com/android/virtualization/terminal/SettingsItemAdapter.kt
index 86f5c92..132d749 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/SettingsItemAdapter.kt
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/SettingsItemAdapter.kt
@@ -35,8 +35,9 @@
}
override fun onCreateViewHolder(viewGroup: ViewGroup, viewType: Int): ViewHolder {
- val view = LayoutInflater.from(viewGroup.context)
- .inflate(R.layout.settings_list_item, viewGroup, false)
+ val view =
+ LayoutInflater.from(viewGroup.context)
+ .inflate(R.layout.settings_list_item, viewGroup, false)
return ViewHolder(view)
}
@@ -46,17 +47,19 @@
viewHolder.subTitle.text = dataSet[position].subTitle
viewHolder.card.setOnClickListener { view ->
- val intent = Intent(
- viewHolder.itemView.context,
- when (dataSet[position].settingsItemEnum) {
- SettingsItemEnum.DiskResize -> SettingsDiskResizeActivity::class.java
- SettingsItemEnum.PortForwarding -> SettingsPortForwardingActivity::class.java
- SettingsItemEnum.Recovery -> SettingsRecoveryActivity::class.java
- }
- )
+ val intent =
+ Intent(
+ viewHolder.itemView.context,
+ when (dataSet[position].settingsItemEnum) {
+ SettingsItemEnum.DiskResize -> SettingsDiskResizeActivity::class.java
+ SettingsItemEnum.PortForwarding ->
+ SettingsPortForwardingActivity::class.java
+ SettingsItemEnum.Recovery -> SettingsRecoveryActivity::class.java
+ },
+ )
view.context.startActivity(intent)
}
}
override fun getItemCount() = dataSet.size
-}
\ No newline at end of file
+}
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/SettingsPortForwardingActivity.kt b/android/TerminalApp/java/com/android/virtualization/terminal/SettingsPortForwardingActivity.kt
index 0377de4..d64c267 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/SettingsPortForwardingActivity.kt
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/SettingsPortForwardingActivity.kt
@@ -15,35 +15,21 @@
*/
package com.android.virtualization.terminal
-import android.content.Context
-import android.content.SharedPreferences
import android.os.Bundle
-import android.os.Handler
-import android.os.Looper
-import android.view.Window
-import android.view.WindowManager
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
class SettingsPortForwardingActivity : AppCompatActivity() {
- private lateinit var mSharedPref: SharedPreferences
+ private lateinit var mPortsStateManager: PortsStateManager
private lateinit var mAdapter: SettingsPortForwardingAdapter
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.settings_port_forwarding)
- Handler(Looper.getMainLooper()).post {
- val lp: WindowManager.LayoutParams = getWindow().getAttributes()
- lp.accessibilityTitle = getString(R.string.settings_port_forwarding_title)
- getWindow().setAttributes(lp)
- }
-
- mSharedPref =
- this.getSharedPreferences(getString(R.string.preference_file_key), Context.MODE_PRIVATE)
-
- mAdapter = SettingsPortForwardingAdapter(mSharedPref, this)
+ mPortsStateManager = PortsStateManager.getInstance(this)
+ mAdapter = SettingsPortForwardingAdapter(mPortsStateManager)
val recyclerView: RecyclerView = findViewById(R.id.settings_port_forwarding_recycler_view)
recyclerView.layoutManager = LinearLayoutManager(this)
@@ -52,11 +38,11 @@
override fun onResume() {
super.onResume()
- mSharedPref.registerOnSharedPreferenceChangeListener(mAdapter)
+ mAdapter.registerPortsStateListener()
}
override fun onPause() {
- mSharedPref.unregisterOnSharedPreferenceChangeListener(mAdapter)
+ mAdapter.unregisterPortsStateListener()
super.onPause()
}
}
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/SettingsPortForwardingAdapter.kt b/android/TerminalApp/java/com/android/virtualization/terminal/SettingsPortForwardingAdapter.kt
index c3501d4..8282910 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/SettingsPortForwardingAdapter.kt
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/SettingsPortForwardingAdapter.kt
@@ -15,8 +15,6 @@
*/
package com.android.virtualization.terminal
-import android.content.Context
-import android.content.SharedPreferences
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
@@ -26,14 +24,11 @@
import androidx.recyclerview.widget.SortedListAdapterCallback
import com.google.android.material.materialswitch.MaterialSwitch
-class SettingsPortForwardingAdapter(
- private val sharedPref: SharedPreferences?,
- private val context: Context,
-) :
- RecyclerView.Adapter<SettingsPortForwardingAdapter.ViewHolder>(),
- SharedPreferences.OnSharedPreferenceChangeListener {
+class SettingsPortForwardingAdapter(private val mPortsStateManager: PortsStateManager) :
+ RecyclerView.Adapter<SettingsPortForwardingAdapter.ViewHolder>() {
private var mItems: SortedList<SettingsPortForwardingItem>
+ private val mPortsStateListener: Listener
init {
mItems =
@@ -63,24 +58,24 @@
},
)
mItems.addAll(getCurrentSettingsPortForwardingItem())
+ mPortsStateListener = Listener()
+ }
+
+ fun registerPortsStateListener() {
+ mPortsStateManager.registerListener(mPortsStateListener)
+ mItems.replaceAll(getCurrentSettingsPortForwardingItem())
+ }
+
+ fun unregisterPortsStateListener() {
+ mPortsStateManager.unregisterListener(mPortsStateListener)
}
private fun getCurrentSettingsPortForwardingItem(): ArrayList<SettingsPortForwardingItem> {
- val items = ArrayList<SettingsPortForwardingItem>()
- val ports =
- sharedPref!!.getStringSet(
- context.getString(R.string.preference_forwarding_ports),
- HashSet<String>(),
- )
- for (port in ports!!) {
- val enabled =
- sharedPref.getBoolean(
- context.getString(R.string.preference_forwarding_port_is_enabled) + port,
- false,
- )
- items.add(SettingsPortForwardingItem(port.toInt(), enabled))
- }
- return items
+ val enabledPorts = mPortsStateManager.getEnabledPorts()
+ return mPortsStateManager
+ .getActivePorts()
+ .map { SettingsPortForwardingItem(it, enabledPorts.contains(it)) }
+ .toCollection(ArrayList())
}
class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
@@ -90,35 +85,26 @@
}
override fun onCreateViewHolder(viewGroup: ViewGroup, viewType: Int): ViewHolder {
- val view = LayoutInflater.from(viewGroup.context)
- .inflate(R.layout.settings_port_forwarding_item, viewGroup, false)
+ val view =
+ LayoutInflater.from(viewGroup.context)
+ .inflate(R.layout.settings_port_forwarding_item, viewGroup, false)
return ViewHolder(view)
}
override fun onBindViewHolder(viewHolder: ViewHolder, position: Int) {
- viewHolder.port.text = mItems[position].port.toString()
+ val port = mItems[position].port
+ viewHolder.port.text = port.toString()
viewHolder.enabledSwitch.contentDescription = viewHolder.port.text
viewHolder.enabledSwitch.isChecked = mItems[position].enabled
viewHolder.enabledSwitch.setOnCheckedChangeListener { _, isChecked ->
- val sharedPref: SharedPreferences = context.getSharedPreferences(
- context.getString(R.string.preference_file_key), Context.MODE_PRIVATE
- )
- val editor = sharedPref.edit()
- editor.putBoolean(
- context.getString(R.string.preference_forwarding_port_is_enabled) + viewHolder.port.text,
- isChecked
- )
- editor.apply()
+ mPortsStateManager.updateEnabledPort(port, isChecked)
}
}
override fun getItemCount() = mItems.size()
- override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) {
- if (
- key == context.getString(R.string.preference_forwarding_ports) ||
- key!!.startsWith(context.getString(R.string.preference_forwarding_port_is_enabled))
- ) {
+ private inner class Listener : PortsStateManager.Listener {
+ override fun onPortsStateUpdated(oldActivePorts: Set<Int>, newActivePorts: Set<Int>) {
mItems.replaceAll(getCurrentSettingsPortForwardingItem())
}
}
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/SettingsRecoveryActivity.kt b/android/TerminalApp/java/com/android/virtualization/terminal/SettingsRecoveryActivity.kt
index 3adeece..0d74eb0 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/SettingsRecoveryActivity.kt
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/SettingsRecoveryActivity.kt
@@ -17,12 +17,8 @@
import android.content.Intent
import android.os.Bundle
-import android.os.Handler
-import android.os.Looper
import android.util.Log
import android.view.View
-import android.view.Window
-import android.view.WindowManager
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope
@@ -31,7 +27,6 @@
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.snackbar.Snackbar
import java.io.IOException
-import java.nio.file.Files
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@@ -41,29 +36,28 @@
super.onCreate(savedInstanceState)
setContentView(R.layout.settings_recovery)
- Handler(Looper.getMainLooper()).post {
- val lp: WindowManager.LayoutParams = getWindow().getAttributes()
- lp.accessibilityTitle = getString(R.string.settings_recovery_title)
- getWindow().setAttributes(lp)
- }
-
val resetCard = findViewById<MaterialCardView>(R.id.settings_recovery_reset_card)
resetCard.setOnClickListener {
var backupRootfs = false
- val dialog = MaterialAlertDialogBuilder(this)
- .setTitle(R.string.settings_recovery_reset_dialog_title)
- .setMultiChoiceItems(arrayOf(getString(R.string.settings_recovery_reset_dialog_backup_option)), booleanArrayOf(backupRootfs)) {_, _, checked ->
- backupRootfs = checked
- }
- .setPositiveButton(R.string.settings_recovery_reset_dialog_confirm) { _, _ ->
- // This coroutine will be killed when the activity is killed. The behavior is both acceptable
- // either removing is done or not
- runInBackgroundAndRestartApp {
- uninstall(backupRootfs)
+ val dialog =
+ MaterialAlertDialogBuilder(this)
+ .setTitle(R.string.settings_recovery_reset_dialog_title)
+ .setMultiChoiceItems(
+ arrayOf(getString(R.string.settings_recovery_reset_dialog_backup_option)),
+ booleanArrayOf(backupRootfs),
+ ) { _, _, checked ->
+ backupRootfs = checked
}
- }
- .setNegativeButton(R.string.settings_recovery_reset_dialog_cancel) { dialog, _ -> dialog.dismiss() }
- .create()
+ .setPositiveButton(R.string.settings_recovery_reset_dialog_confirm) { _, _ ->
+ // This coroutine will be killed when the activity is killed. Either
+ // finishing removing or not is acceptable behavior.
+ runInBackgroundAndRestartApp { uninstall(backupRootfs) }
+ }
+ .setNegativeButton(R.string.settings_recovery_reset_dialog_cancel) { dialog, _
+ ->
+ dialog.dismiss()
+ }
+ .create()
dialog.show()
}
val resetBackupCard = findViewById<View>(R.id.settings_recovery_reset_backup_card)
@@ -71,16 +65,18 @@
resetBackupCard.isVisible = InstalledImage.getDefault(this).hasBackup()
resetBackupCard.setOnClickListener {
- val dialog = MaterialAlertDialogBuilder(this)
- .setTitle(R.string.settings_recovery_remove_backup_title)
- .setMessage(R.string.settings_recovery_remove_backup_sub_title)
- .setPositiveButton(R.string.settings_recovery_reset_dialog_confirm) { _, _ ->
- runInBackgroundAndRestartApp {
- removeBackup()
+ val dialog =
+ MaterialAlertDialogBuilder(this)
+ .setTitle(R.string.settings_recovery_remove_backup_title)
+ .setMessage(R.string.settings_recovery_remove_backup_sub_title)
+ .setPositiveButton(R.string.settings_recovery_reset_dialog_confirm) { _, _ ->
+ runInBackgroundAndRestartApp { removeBackup() }
}
- }
- .setNegativeButton(R.string.settings_recovery_reset_dialog_cancel) { dialog, _ -> dialog.dismiss() }
- .create()
+ .setNegativeButton(R.string.settings_recovery_reset_dialog_cancel) { dialog, _
+ ->
+ dialog.dismiss()
+ }
+ .create()
dialog.show()
}
}
@@ -90,10 +86,11 @@
InstalledImage.getDefault(this).deleteBackup()
} catch (e: IOException) {
Snackbar.make(
- findViewById(android.R.id.content),
- R.string.settings_recovery_error_during_removing_backup,
- Snackbar.LENGTH_SHORT
- ).show();
+ findViewById(android.R.id.content),
+ R.string.settings_recovery_error_during_removing_backup,
+ Snackbar.LENGTH_SHORT,
+ )
+ .show()
Log.e(TAG, "cannot remove backup")
}
}
@@ -109,34 +106,36 @@
image.uninstallFully()
}
} catch (e: IOException) {
- val errorMsgId = if (backupRootfs && !backupDone) R.string.settings_recovery_error_due_to_backup
- else R.string.settings_recovery_error;
- Snackbar.make(
- findViewById(android.R.id.content),
- errorMsgId,
- Snackbar.LENGTH_SHORT
- ).show();
+ val errorMsgId =
+ if (backupRootfs && !backupDone) R.string.settings_recovery_error_due_to_backup
+ else R.string.settings_recovery_error
+ Snackbar.make(findViewById(android.R.id.content), errorMsgId, Snackbar.LENGTH_SHORT)
+ .show()
Log.e(TAG, "cannot recovery ", e)
}
}
- private fun runInBackgroundAndRestartApp(backgroundWork: suspend CoroutineScope.() -> Unit): Unit {
+ private fun runInBackgroundAndRestartApp(
+ backgroundWork: suspend CoroutineScope.() -> Unit
+ ): Unit {
findViewById<View>(R.id.setting_recovery_card_container).visibility = View.INVISIBLE
findViewById<View>(R.id.recovery_boot_progress).visibility = View.VISIBLE
- lifecycleScope.launch(Dispatchers.IO) {
- backgroundWork()
- }.invokeOnCompletion {
- runOnUiThread {
- findViewById<View>(R.id.setting_recovery_card_container).visibility =
- View.VISIBLE
- findViewById<View>(R.id.recovery_boot_progress).visibility = View.INVISIBLE
- // Restart terminal
- val intent =
- baseContext.packageManager.getLaunchIntentForPackage(baseContext.packageName)
- intent?.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)
- finish()
- startActivity(intent)
+ lifecycleScope
+ .launch(Dispatchers.IO) { backgroundWork() }
+ .invokeOnCompletion {
+ runOnUiThread {
+ findViewById<View>(R.id.setting_recovery_card_container).visibility =
+ View.VISIBLE
+ findViewById<View>(R.id.recovery_boot_progress).visibility = View.INVISIBLE
+ // Restart terminal
+ val intent =
+ baseContext.packageManager.getLaunchIntentForPackage(
+ baseContext.packageName
+ )
+ intent?.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)
+ finish()
+ startActivity(intent)
+ }
}
- }
}
}
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/SplitInitializer.kt b/android/TerminalApp/java/com/android/virtualization/terminal/SplitInitializer.kt
index cb917bd..7562779 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/SplitInitializer.kt
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/SplitInitializer.kt
@@ -30,4 +30,4 @@
override fun dependencies(): List<Class<out Initializer<*>>> {
return emptyList()
}
-}
\ No newline at end of file
+}
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/TerminalExceptionHandler.java b/android/TerminalApp/java/com/android/virtualization/terminal/TerminalExceptionHandler.java
new file mode 100644
index 0000000..4ab2b77
--- /dev/null
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/TerminalExceptionHandler.java
@@ -0,0 +1,47 @@
+/*
+ * 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.
+ */
+
+package com.android.virtualization.terminal;
+
+import android.content.Context;
+import android.util.Log;
+
+public class TerminalExceptionHandler implements Thread.UncaughtExceptionHandler {
+ private static final String TAG = "TerminalExceptionHandler";
+
+ private final Context mContext;
+
+ public TerminalExceptionHandler(Context context) {
+ mContext = context;
+ }
+
+ @Override
+ public void uncaughtException(Thread thread, Throwable throwable) {
+ Exception exception;
+ if (throwable instanceof Exception) {
+ exception = (Exception) throwable;
+ } else {
+ exception = new Exception(throwable);
+ }
+ try {
+ ErrorActivity.start(mContext, exception);
+ } catch (Exception ex) {
+ Log.wtf(TAG, "Failed to launch error activity for an exception", exception);
+ }
+
+ thread.getDefaultUncaughtExceptionHandler().uncaughtException(thread, throwable);
+ }
+}
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/TerminalThreadFactory.java b/android/TerminalApp/java/com/android/virtualization/terminal/TerminalThreadFactory.java
new file mode 100644
index 0000000..5ee535d
--- /dev/null
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/TerminalThreadFactory.java
@@ -0,0 +1,37 @@
+/*
+ * 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.
+ */
+
+package com.android.virtualization.terminal;
+
+import android.content.Context;
+
+import java.util.concurrent.Executors;
+import java.util.concurrent.ThreadFactory;
+
+public class TerminalThreadFactory implements ThreadFactory {
+ private final Context mContext;
+
+ public TerminalThreadFactory(Context context) {
+ mContext = context;
+ }
+
+ @Override
+ public Thread newThread(Runnable r) {
+ Thread thread = Executors.defaultThreadFactory().newThread(r);
+ thread.setUncaughtExceptionHandler(new TerminalExceptionHandler(mContext));
+ return thread;
+ }
+}
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/TerminalView.java b/android/TerminalApp/java/com/android/virtualization/terminal/TerminalView.java
index efee62f..0ffc093 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/TerminalView.java
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/TerminalView.java
@@ -38,6 +38,8 @@
import android.view.inputmethod.InputConnection;
import android.webkit.WebView;
+import java.io.IOException;
+import java.io.InputStream;
import java.util.List;
public class TerminalView extends WebView
@@ -46,38 +48,9 @@
// arbitrarily set. We may want to adjust this in the future.
private static final int TEXT_TOO_LONG_TO_ANNOUNCE = 200;
- // keyCode 229 means composing text, so get the last character in e.target.value.
- // keycode 64(@)-95(_) is mapped to a ctrl code
- // keycode 97(A)-122(Z) is converted to a small letter, and mapped to ctrl code
- public static final String CTRL_KEY_HANDLER =
- """
-javascript: (function() {
- window.term.attachCustomKeyEventHandler((e) => {
- if (window.ctrl) {
- keyCode = e.keyCode;
- if (keyCode === 229) {
- keyCode = e.target.value.charAt(e.target.selectionStart - 1).charCodeAt();
- }
- if (64 <= keyCode && keyCode <= 95) {
- input = String.fromCharCode(keyCode - 64);
- } else if (97 <= keyCode && keyCode <= 122) {
- input = String.fromCharCode(keyCode - 96);
- } else {
- return true;
- }
- if (e.type === 'keyup') {
- window.term.input(input);
- e.target.value = e.target.value.slice(0, -1);
- window.ctrl = false;
- }
- return false;
- } else {
- return true;
- }
- });
-})();
-""";
- public static final String ENABLE_CTRL_KEY = "javascript:(function(){window.ctrl=true;})();";
+ private final String CTRL_KEY_HANDLER;
+ private final String ENABLE_CTRL_KEY;
+ private final String TOUCH_TO_MOUSE_HANDLER;
private final AccessibilityManager mA11yManager;
@@ -88,6 +61,32 @@
mA11yManager.addTouchExplorationStateChangeListener(this);
mA11yManager.addAccessibilityStateChangeListener(this);
adjustToA11yStateChange();
+ try {
+ CTRL_KEY_HANDLER = readAssetAsString(context, "js/ctrl_key_handler.js");
+ ENABLE_CTRL_KEY = readAssetAsString(context, "js/enable_ctrl_key.js");
+ TOUCH_TO_MOUSE_HANDLER = readAssetAsString(context, "js/touch_to_mouse_handler.js");
+ } catch (IOException e) {
+ // It cannot happen
+ throw new IllegalArgumentException("cannot read code from asset", e);
+ }
+ }
+
+ private String readAssetAsString(Context context, String filePath) throws IOException {
+ try (InputStream is = context.getAssets().open(filePath)) {
+ return new String(is.readAllBytes());
+ }
+ }
+
+ public void mapTouchToMouseEvent() {
+ this.evaluateJavascript(TOUCH_TO_MOUSE_HANDLER, null);
+ }
+
+ public void mapCtrlKey() {
+ this.evaluateJavascript(CTRL_KEY_HANDLER, null);
+ }
+
+ public void enableCtrlKey() {
+ this.evaluateJavascript(ENABLE_CTRL_KEY, null);
}
@Override
@@ -216,6 +215,8 @@
if (id != View.NO_ID) {
info.setText(null);
info.setContentDescription(getString(R.string.terminal_display));
+ // b/376827536
+ info.setHintText(getString(R.string.double_tap_to_edit_text));
}
// These two lines below are to prevent this WebView element from being
@@ -230,6 +231,8 @@
// Localize the spoken text.
if (isEmptyLine(info)) {
info.setContentDescription(getString(R.string.empty_line));
+ // b/376827536
+ info.setHintText(getString(R.string.double_tap_to_edit_text));
}
break;
case "android.widget.TextView":
@@ -253,7 +256,7 @@
// ttyd name it as "Terminal input" but it's not i18n'ed. Override it
// here for better i18n.
info.setText(null);
- info.setHintText(null);
+ info.setHintText(getString(R.string.double_tap_to_edit_text));
info.setContentDescription(getString(R.string.terminal_input));
info.setScreenReaderFocusable(true);
info.addAction(AccessibilityAction.ACTION_FOCUS);
@@ -303,10 +306,7 @@
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
InputConnection inputConnection = super.onCreateInputConnection(outAttrs);
if (outAttrs != null) {
- // TODO(b/378642568): consider using InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
- // here..
- outAttrs.inputType =
- InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS;
+ outAttrs.inputType |= InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS;
}
return inputConnection;
}
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/VmLauncherService.java b/android/TerminalApp/java/com/android/virtualization/terminal/VmLauncherService.java
index c2d224a..9a70605 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/VmLauncherService.java
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/VmLauncherService.java
@@ -54,7 +54,6 @@
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Objects;
-import java.util.Set;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@@ -144,14 +143,18 @@
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (Objects.equals(intent.getAction(), ACTION_STOP_VM_LAUNCHER_SERVICE)) {
- stopSelf();
+ // If there is no Debian service or it fails to shutdown, just stop the service.
+ if (mDebianService == null || !mDebianService.shutdownDebian()) {
+ stopSelf();
+ }
return START_NOT_STICKY;
}
if (mVirtualMachine != null) {
Log.d(TAG, "VM instance is already started");
return START_NOT_STICKY;
}
- mExecutorService = Executors.newCachedThreadPool();
+ mExecutorService =
+ Executors.newCachedThreadPool(new TerminalThreadFactory(getApplicationContext()));
InstalledImage image = InstalledImage.getDefault(this);
ConfigJson json = ConfigJson.from(this, image.getConfigPath());
@@ -170,9 +173,7 @@
android.os.Trace.endSection();
android.os.Trace.beginAsyncSection("debianBoot", 0);
} catch (VirtualMachineException e) {
- Log.e(TAG, "cannot create runner", e);
- stopSelf();
- return START_NOT_STICKY;
+ throw new RuntimeException("cannot create runner", e);
}
mVirtualMachine = runner.getVm();
mResultReceiver =
@@ -291,19 +292,17 @@
mResultReceiver.send(VmLauncherService.RESULT_IPADDR, b);
}
- @Override
- public void onActivePortsChanged(Set<String> oldPorts, Set<String> newPorts) {
- mPortNotifier.onActivePortsChanged(oldPorts, newPorts);
- }
-
public static void stop(Context context) {
Intent i = getMyIntent(context);
- context.stopService(i);
+ i.setAction(VmLauncherService.ACTION_STOP_VM_LAUNCHER_SERVICE);
+ context.startService(i);
}
@Override
public void onDestroy() {
- mPortNotifier.stop();
+ if (mPortNotifier != null) {
+ mPortNotifier.stop();
+ }
getSystemService(NotificationManager.class).cancelAll();
stopDebianServer();
if (mVirtualMachine != null) {
diff --git a/android/TerminalApp/res/layout/activity_headless.xml b/android/TerminalApp/res/layout/activity_headless.xml
index 0bcfbea..b4a65cc 100644
--- a/android/TerminalApp/res/layout/activity_headless.xml
+++ b/android/TerminalApp/res/layout/activity_headless.xml
@@ -59,7 +59,7 @@
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
- <include layout="@layout/layout_keyboard" />
+ <include layout="@layout/layout_modifier_keys" />
</LinearLayout>
</FrameLayout>
diff --git a/android/TerminalApp/res/layout/layout_keyboard.xml b/android/TerminalApp/res/layout/layout_modifier_keys.xml
similarity index 98%
rename from android/TerminalApp/res/layout/layout_keyboard.xml
rename to android/TerminalApp/res/layout/layout_modifier_keys.xml
index d8b7e11..ff0b341 100644
--- a/android/TerminalApp/res/layout/layout_keyboard.xml
+++ b/android/TerminalApp/res/layout/layout_modifier_keys.xml
@@ -17,7 +17,7 @@
<!--TODO(b/376813452): we might want tablet UI for that-->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/keyboard_container"
+ android:id="@+id/modifier_keys"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
@@ -79,4 +79,4 @@
android:id="@+id/btn_pgdn"
android:text="@string/btn_pgdn_text" />
</LinearLayout>
-</LinearLayout>
\ No newline at end of file
+</LinearLayout>
diff --git a/android/TerminalApp/res/layout/settings_disk_resize.xml b/android/TerminalApp/res/layout/settings_disk_resize.xml
index fb7f85b..55fb7af 100644
--- a/android/TerminalApp/res/layout/settings_disk_resize.xml
+++ b/android/TerminalApp/res/layout/settings_disk_resize.xml
@@ -65,14 +65,18 @@
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent" />
+ <androidx.constraintlayout.widget.Group
+ android:id="@+id/buttons"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:visibility="invisible"
+ app:constraint_referenced_ids="settings_disk_resize_cancel_button,settings_disk_resize_resize_button" />
+
<com.google.android.material.button.MaterialButton
android:id="@+id/settings_disk_resize_cancel_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:maxWidth="150sp"
- android:hyphenationFrequency="full"
android:text="@string/settings_disk_resize_resize_cancel"
- android:visibility="invisible"
android:layout_marginTop="48dp"
android:layout_marginHorizontal="8dp"
app:layout_constraintTop_toTopOf="@+id/settings_disk_resize_disk_size_slider"
@@ -83,10 +87,7 @@
android:id="@+id/settings_disk_resize_resize_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:maxWidth="150sp"
- android:hyphenationFrequency="full"
android:text="@string/settings_disk_resize_resize_restart_vm_to_apply"
- android:visibility="invisible"
android:layout_marginTop="48dp"
app:layout_constraintTop_toTopOf="@+id/settings_disk_resize_disk_size_slider"
app:layout_constraintBottom_toBottomOf="parent"
diff --git a/android/TerminalApp/res/values-af/strings.xml b/android/TerminalApp/res/values-af/strings.xml
index b5b47d9..9faabc0 100644
--- a/android/TerminalApp/res/values-af/strings.xml
+++ b/android/TerminalApp/res/values-af/strings.xml
@@ -17,65 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminaal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Terminaalskerm"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Skermpyltjie"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Leë reël"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Installeer Linux-terminaal"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"As jy Linux-terminaal wil begin, moet jy omtrent <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> se data oor die netwerk aflaai.\nWil jy voortgaan?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Laai af wanneer wi-fi beskikbaar is"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Jy sal omtrent <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> se data oor die netwerk moet aflaai om Linux Terminaal te begin.\nWil jy voortgaan?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Laai net oor wi-fi af"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Installeer"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installeer tans"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Netwerkfout. Gaan verbinding na en probeer weer."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Kon weens ’n netwerkfout nie installeer nie. Gaan jou verbinding na en probeer weer."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linus-terminaal word tans geïnstalleer"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux-terminaal sal begin wanneer jy klaar is"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Kon weens die netwerkkwessie nie installeer nie"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Kon nie installeer nie. Probeer weer."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux Terminaal sal begin nadat die installasie voltooi is"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Kon weens ’n netwerkkwessie nie installeer nie"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Kon nie installeer nie omdat wi-fi nie beskikbaar is nie"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Kon nie installeer nie. Probeer asseblief weer"</string>
<string name="action_settings" msgid="5729342767795123227">"Instellings"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Maak terminaal gereed"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Stop tans terminaal"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminaal het omgeval"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Verander grootte van skyf"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Verander grootte / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Verander grootte van skyf"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Verander die grootte van die kernafdeling"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Skyfgrootte is gestel"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> toegewys"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> maks."</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Kanselleer"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Herbegin om aansoek te doen"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Poortaanstuur"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Stel poortaanstuur op"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminaal probeer om ’n nuwe poort oop te maak"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Poort versoek om oop te wees: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Pas toe"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminaal sal herbegin word om die skyf se grootte te verander"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Bevestig"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminaal probeer om ’n nuwe poort oop te maak"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Poort versoek: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Aanvaar"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Weier"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Herwin"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Afdelingherwinningopsies"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Verander na aanvanklike weergawe"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Verwyder almal"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Afdelingherwinningopsies"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Stel terug na aanvanklike weergawe"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Verwyder alle -data"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Stel terminaal terug"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Data sal uitgevee word"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Bevestig"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Data sal verwyder word"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Stel terug"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Kanselleer"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Rugsteun data na <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Terugstel het misluk omdat rugsteun misluk het"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Kon weens ’n rugsteunfout nie terugstel nie"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Kon nie terugstel nie"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Kan nie rugsteunlêer verwyder nie"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Kon nie rugsteundata verwyder nie"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Verwyder rugsteundata"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Maak skoon <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <!-- no translation found for error_title (7196464038692913778) -->
- <skip />
- <!-- no translation found for error_desc (1939028888570920661) -->
- <skip />
- <!-- no translation found for error_code (3585291676855383649) -->
- <skip />
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Verwyder <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Onterugstelbare fout"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Kon nie van ’n fout terugstel nie.\nJy kan probeer om Terminaal te herbegin, of een van die herstelopsies probeer."</string>
+ <string name="error_code" msgid="3585291676855383649">"Foutkode: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Instellings"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminaal loop tans"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Klik om die terminaal oop te maak"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Klik om Terminaal oop te maak"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Maak toe"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> is geaktiveer"</string>
</resources>
diff --git a/android/TerminalApp/res/values-am/strings.xml b/android/TerminalApp/res/values-am/strings.xml
index aa97b52..e022149 100644
--- a/android/TerminalApp/res/values-am/strings.xml
+++ b/android/TerminalApp/res/values-am/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"ተርሚናል"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"ተርሚናል ማሳያ"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"ጠቋሚ"</string>
+ <string name="empty_line" msgid="5012067143408427178">"ባዶ መስመር"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux ተርሚናልን ይጫኑ"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux ተርሚናልን ለማስጀመር በአውታረ መረብ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> የሚገመት ውሂብ ማውረድ ያስፈልግዎታል። \nይቀጥላሉ?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Wi-Fi ሲገኝ አውርድ"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux ተርሚናልን ለማስጀመር በአውታረ መረቡ ላይ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> የሚሆን ውሂብ ማውረድ ያስፈልግዎታል። \nመቀጠል ይፈልጋሉ?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Wi-Fi ብቻ በመጠቀም አውርድ"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ጫን"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"በመጫን ላይ"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"የአውታረ መረብ ስህተት። ግንኙነት ይፈትሹ እና እንደገና ይሞክሩ።"</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"በአውታረ መረብ ስሕተት ምክንያት መጫን አልተሳካም። ግንኙነትዎን ይፈትሹ እና እንደገና ይሞክሩ።"</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux ተርሚናልን በመጫን ላይ"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux ተርሚናል ከጨረሰ በኋላ ይጀምራል"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"በአውታረ መረብ ችግር ምክንያት መጫን አልተሳካም"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"መጫን አልተሳካም። እንደገና ይሞክሩ።"</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"ጭነቱ ከተጠናቀቀ በኋላ Linux ተርሚናል ይጀምራል።"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"በአውታረ መረቡ ችግር ምክንያት መጫን አልተሳካም"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Wi-Fi ስለማይገኝ መጫን አልተሳካም"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"መጫን አልተሳካም። እባክዎ እንደገና ይሞክሩ"</string>
<string name="action_settings" msgid="5729342767795123227">"ቅንብሮች"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"ተርሚናልን በማዘጋጀት ላይ"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"ተርሚናልን በማቆም ላይ"</string>
<string name="vm_error_message" msgid="5231867246177661525">"ተርሚናል ተበላሽቷል"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"የዲስክ መጠን ቀይር"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"መጠን ቀይር / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"የዲስክ መጠንን ቀይር"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"የስር ክፍልፋይ መጠንን ቀይር"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"የዲስክ መጠን ተቀናብሯል"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> ተመድቧል"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> ከፍተኛ"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"ይቅር"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"ለመተግበር እንደገና ይጀምሩ"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"ወደብ ማስተላለፍ"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"ወደብ ማስተላለፍን ያዋቅሩ"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"ተርሚናል አዲስ ወደብ ለመክፈት እየሞከረ ነው"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"እንዲከፈት የተጠየቀ ወደብ፦ <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"ተግብር"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"የዲስክ መጠንን ለመቀየር ተርሚናል እንደገና ይጀምራል"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"አረጋግጥ"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"ተርሚናል አዲስ ወደብ ለመክፈት እየጠየቀ ነው"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"የተጠየቀ ወደብ፦ <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"ተቀበል"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"ከልክል"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"መልሶ ማግኘት"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"የክፍልፋይ መልሶ ማግኛ አማራጮች"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"ወደ የመጀመሪያ ሥሪት ለውጥ"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"ሁሉንም አስወግድ"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"የክፍልፋይ መልሶ ማግኛ አማራጮች"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"ወደ የመጀመሪያ ሥሪት ዳግም አስጀምር"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"ሁሉንም ውሂብ አስወግድ"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"ተርሚናልን ዳግም አስጀምር"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ውሂብ ይሰረዛል"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"አረጋግጥ"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ውሂብ ይወገዳል"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"ዳግም አስጀምር"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"ይቅር"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"ውሂብን ወደ <xliff:g id="PATH">/mnt/backup</xliff:g> ምትኬ አስቀምጥ"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"ምትኬ ስላልተሳካ መልሶ ማግኘት አልተሳካም"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"በምትኬ ስሕተት ምክንያት መልሶ ማግኘት አልተሳካም"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"መልሶ ማግኘት አልተሳካም"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"የመጠባበቂያ ፋይልን ማስወገድ አይቻልም"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"የምትኬ ውሂብን ማስወገድ አልተሳካም"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"ምትኬ ውሂብን አስወግድ"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> አጽዳ"</string>
- <string name="error_title" msgid="7196464038692913778">"ሊመለስ የማይችል ስሕተት"</string>
- <string name="error_desc" msgid="1939028888570920661">"ከስሕተት መልሶ ማግኘት አልተሳካም።\nመተግበሪያውን እንደገና ለማስጀመር መሞከር ወይም አንዱን የመልሶ ማግኛ አማራጭ መሞከር ይችላሉ።"</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> አስወግድ"</string>
+ <string name="error_title" msgid="405150657301906598">"ሊመለስ የማይችል ስሕተት"</string>
+ <string name="error_desc" msgid="1984714179775053347">"ከስሕተት መልሶ ማግኘት አልተሳካም።\nተርሚናልን እንደገና ማስጀመርን መሞከር ወይም ከመልሶ ማግኛ አማራጮች አንዱን መሞከር ይችላሉ።"</string>
<string name="error_code" msgid="3585291676855383649">"የስሕተት ኮድ፦ <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"ቅንብሮች"</string>
<string name="service_notification_title" msgid="2918088850910713393">"ተርሚናል በመሄድ ላይ ነው"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"ተርሚናሉን ለመክፈት ጠቅ ያድርጉ"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"ተርሚናልን ለመክፈት ጠቅ ያድርጉ"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"ዝጋ"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> ነቅቷል"</string>
</resources>
diff --git a/android/TerminalApp/res/values-ar/strings.xml b/android/TerminalApp/res/values-ar/strings.xml
index 5f9ad2e..590c1d3 100644
--- a/android/TerminalApp/res/values-ar/strings.xml
+++ b/android/TerminalApp/res/values-ar/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"شاشة الوحدة الطرفية"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"المؤشر"</string>
+ <string name="empty_line" msgid="5012067143408427178">"سطر فارغ"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"تثبيت الوحدة الطرفية بنظام التشغيل Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"لتشغيل الوحدة الطرفية بنظام التشغيل Linux، عليك تنزيل <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> من البيانات تقريبًا عبر الشبكة.\nهل تريد المتابعة؟"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"التنزيل عند توفُّر شبكة Wi-Fi"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"لتشغيل وحدة Linux الطرفية، عليك تنزيل <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> من البيانات تقريبًا عبر الشبكة.\nهل تريد المتابعة؟"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"التنزيل باستخدام Wi-Fi فقط"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"تثبيت"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"جارٍ التثبيت"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"حدث خطأ في الشبكة. يُرجى التحقُّق من الاتصال وإعادة المحاولة."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"تعذَّر التثبيت بسبب خطأ في الشبكة. يُرجى التأكُّد من الاتصال وإعادة المحاولة."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"جارٍ تثبيت الوحدة الطرفية بنظام التشغيل Linux"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"سيتم تشغيل الوحدة الطرفية بنظام التشغيل Linux بعد الانتهاء"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"تعذَّر التثبيت بسبب مشكلة في الشبكة"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"تعذَّر التثبيت. يُرجى إعادة المحاولة."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"سيتم تشغيل وحدة Linux الطرفية بعد اكتمال عملية التثبيت"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"تعذَّر التثبيت بسبب مشكلة في الشبكة"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"تعذَّر التثبيت لأنّ شبكة Wi-Fi غير متاحة"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"تعذَّر التثبيت. يُرجى إعادة المحاولة"</string>
<string name="action_settings" msgid="5729342767795123227">"الإعدادات"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"جارٍ تحضير Terminal"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"جارٍ إيقاف Terminal"</string>
<string name="vm_error_message" msgid="5231867246177661525">"تعطَّل Terminal"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"تغيير حجم القرص"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"تغيير الحجم / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"تغيير حجم القرص"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"تغيير حجم قسم الجذر"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"تم ضبط حجم القرص"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"تم تخصيص <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> كحد أقصى"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"إلغاء"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"إعادة التشغيل لتطبيق التغييرات"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"إعادة توجيه المنفذ"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"ضبط إعادة توجيه المنفذ"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"تحاول الوحدة الطرفية فتح منفذ جديد"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"المنفذ المطلوب فتحه: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"تطبيق"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ستتم إعادة تشغيل الوحدة الطرفية لتغيير حجم القرص"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"تأكيد"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"تطلُب الوحدة الطرفية فتح منفذ جديد"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"المنفذ المطلوب: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"قبول"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"رفض"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"الاسترداد"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"خيارات استرداد القسم"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"التبديل إلى الإصدار الأولي"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"إزالة الكل"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"خيارات استرداد القسم"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"إعادة الضبط إلى الإصدار الأوليّ"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"إزالة كل البيانات"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"إعادة ضبط الوحدة الطرفية"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"سيتم حذف البيانات"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"تأكيد"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ستتم إزالة البيانات"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"إعادة الضبط"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"إلغاء"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"الاحتفاظ بنسخة احتياطية من البيانات في <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"تعذّر الاسترداد بسبب عدم نجاح عملية الاحتفاظ بنسخة احتياطية"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"تعذَّر الاسترداد بسبب حدوث خطأ في النسخة الاحتياطية"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"تعذّر الاسترداد"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"تتعذّر إزالة ملف النسخة الاحتياطية"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"تعذَّرت إزالة بيانات النسخة الاحتياطية"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"إزالة بيانات النسخة الاحتياطية"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"حذف بيانات النسخة الاحتياطية في <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"خطأ غير قابل للإصلاح"</string>
- <string name="error_desc" msgid="1939028888570920661">"تعذَّر استرداد البيانات من خطأ.\nيمكنك محاولة إعادة تشغيل التطبيق أو تجربة أحد خيارات استرداد الحساب."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"إزالة بيانات <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"خطأ غير قابل للإصلاح"</string>
+ <string name="error_desc" msgid="1984714179775053347">"تعذَّر استرداد البيانات من خطأ.\nيمكنك محاولة إعادة تشغيل الوحدة الطرفية أو تجربة أحد خيارات استرداد الحساب."</string>
<string name="error_code" msgid="3585291676855383649">"رمز الخطأ: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"الإعدادات"</string>
<string name="service_notification_title" msgid="2918088850910713393">"الوحدة الطرفية قيد التشغيل"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"انقر لفتح الوحدة الطرفية"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"انقر لفتح الوحدة الطرفية"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"إغلاق"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"تم تفعيل <xliff:g id="ID_1">VirGL</xliff:g>"</string>
</resources>
diff --git a/android/TerminalApp/res/values-as/strings.xml b/android/TerminalApp/res/values-as/strings.xml
index ce4f6ab..afed64d 100644
--- a/android/TerminalApp/res/values-as/strings.xml
+++ b/android/TerminalApp/res/values-as/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"টাৰ্মিনেল"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"টাৰ্মিনেল ডিছপ্লে’"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"কাৰ্ছৰ"</string>
+ <string name="empty_line" msgid="5012067143408427178">"খালী শাৰী"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux টাৰ্মিনেল ইনষ্টল কৰক"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux টাৰ্মিনেল লঞ্চ কৰিবলৈ, আপুনি নেটৱৰ্কত প্ৰায় <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ডেটা ডাউনল’ড কৰিব লাগিব।\nআপুনি আগবাঢ়িবনে?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"ৱাই-ফাই সেৱা উপলব্ধ হ’লে ডাউনল’ড কৰক"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux টাৰ্মিনেল লঞ্চ কৰিবলৈ, আপুনি নেটৱৰ্কত প্ৰায় <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ডেটা ডাউনল’ড কৰিব লাগিব।\nআপুনি আগবাঢ়িবনে?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"কেৱল ৱাই-ফাই ব্যৱহাৰ কৰি ডাউনল’ড কৰক"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ইনষ্টল কৰক"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"ইনষ্টল কৰি থকা হৈছে"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"নেটৱৰ্কৰ আসোঁৱাহ। সংযোগ পৰীক্ষা কৰক আৰু পুনৰ চেষ্টা কৰক।"</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"নেটৱৰ্ক সম্পৰ্কীয় সমস্যাৰ বাবে ইনষ্টল কৰিব পৰা নগ’ল। আপোনাৰ সংযোগ পৰীক্ষা কৰি পুনৰ চেষ্টা কৰক।"</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux টাৰ্মিনেল ইনষ্টল কৰি থকা হৈছে"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"সমাপ্ত হোৱাৰ পাছত Linux টাৰ্মিনেল আৰম্ভ কৰা হ’ব"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"নেটৱৰ্ক সম্পৰ্কীয় সমস্যাৰ বাবে ইনষ্টল কৰিব পৰা নগ’ল"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"ইনষ্টল কৰিব পৰা নগ’ল। পুনৰ চেষ্টা কৰক।"</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux টাৰ্মিনেল ইনষ্টলেশ্বন সম্পূৰ্ণ হোৱাৰ পাছত আৰম্ভ হ\'ব"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"নেটৱৰ্ক সম্পৰ্কীয় সমস্যাৰ বাবে ইনষ্টল কৰিব পৰা নগ’ল"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"ৱাই-ফাই উপলব্ধ নোহোৱাৰ কাৰণে ইনষ্টল কৰিব পৰা নগ’ল"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"ইনষ্টল কৰিব পৰা নগ’ল। অনুগ্ৰহ কৰি পুনৰ চেষ্টা কৰক"</string>
<string name="action_settings" msgid="5729342767795123227">"ছেটিং"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"টাৰ্মিনেল সাজু কৰি থকা হৈছে"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"টাৰ্মিনেল বন্ধ কৰি থকা হৈছে"</string>
<string name="vm_error_message" msgid="5231867246177661525">"টাৰ্মিনেল ক্ৰেশ্ব হৈছে"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"ডিস্কৰ আকাৰ সলনি কৰক"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"আকাৰ সলনি কৰক / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"ডিস্কৰ আকাৰ সলনি কৰক"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"ৰুট পাৰ্টিশ্বনৰ আকাৰ সলনি কৰক"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"ডিস্কৰ আকাৰ ছেট কৰা হৈছে"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> আৱণ্টন কৰা হৈছে"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"সৰ্বাধিক <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"বাতিল কৰক"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"প্ৰয়োগ কৰিবলৈ ৰিষ্টাৰ্ট কৰক"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"প’ৰ্ট ফৰৱাৰ্ডিং"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"প’ৰ্ট ফৰৱাৰ্ডিং কনফিগাৰ কৰক"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"টাৰ্মিনেলটোৱে এটা নতুন প’ৰ্ট খুলিবলৈ চেষ্টা কৰি আছে"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"প’ৰ্ট খোলা ৰখাৰ বাবে অনুৰোধ কৰা হৈছে: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"প্ৰয়োগ কৰক"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ডিস্কৰ আকাৰ সলনি কৰিবলৈ টাৰ্মিনেলটো ৰিষ্টাৰ্ট কৰা হ\'ব"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"নিশ্চিত কৰক"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"টাৰ্মিনেলটোৱে এটা নতুন প’ৰ্ট খুলিবলৈ অনুৰোধ কৰি আছে"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"প\'ৰ্ট অনুৰোধ কৰা হৈছে: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"গ্ৰহণ কৰক"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"অস্বীকাৰ কৰক"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"পুনৰুদ্ধাৰ"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"পাৰ্টিশ্বন পুনৰুদ্ধাৰৰ বিকল্প"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"প্ৰাৰম্ভিক সংস্কৰণলৈ সলনি কৰক"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"আটাইবোৰ আঁতৰাওক"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"পাৰ্টিশ্বন পুনৰুদ্ধাৰৰ বিকল্প"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"প্ৰাৰম্ভিক সংস্কৰণলৈ ৰিছেট কৰক"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"আটাইবোৰ ডেটা আঁতৰাওক"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"টাৰ্মিনেল ৰিছেট কৰক"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ডেটাখিনি মচা হ’ব"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"নিশ্চিত কৰক"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ডেটাখিনি আঁতৰোৱা হ\'ব"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"ৰিছেট কৰক"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"বাতিল কৰক"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g>লৈ ডেটাৰ বেকআপ লওক"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"বেকআপ ল\'ব পৰা নগ\'ল বাবে পুনৰুদ্ধাৰ কৰিব পৰা নগ’ল"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"বেকআপ সম্পৰ্কীয় এটা আসোঁৱাহৰ বাবে পুনৰুদ্ধাৰ কৰিব পৰা নগ\'ল"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"পুনৰুদ্ধাৰ কৰিব পৰা নগ’ল"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"বেকআপ লোৱা ফাইল আঁতৰাব নোৱাৰি"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"বেকআপৰ ডেটা আঁতৰাব পৰা নগ\'ল"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"বেকআপ লোৱা ডেটা আঁতৰাওক"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> মচক"</string>
- <string name="error_title" msgid="7196464038692913778">"পুনৰুদ্ধাৰ কৰিব নোৱৰা আসোঁৱাহ"</string>
- <string name="error_desc" msgid="1939028888570920661">"এটা আসোঁৱাহৰ পৰা পুনৰুদ্ধাৰ কৰিব পৰা নগ’ল।\nআপুনি এপ্টো ৰিষ্টাৰ্ট কৰি চাব পাৰে বা পুনৰুদ্ধাৰৰ বিকল্পসমূহৰ মাজৰ পৰা এটা ব্যৱহাৰ কৰি চাব পাৰে।"</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> আঁতৰাওক"</string>
+ <string name="error_title" msgid="405150657301906598">"পুনৰুদ্ধাৰ কৰিব নোৱৰা আসোঁৱাহ"</string>
+ <string name="error_desc" msgid="1984714179775053347">"এটা আসোঁৱাহৰ পৰা পুনৰুদ্ধাৰ কৰিব পৰা নগ’ল।\nআপুনি টাৰ্মিনেলটো ৰিষ্টাৰ্ট কৰি চাব পাৰে বা পুনৰুদ্ধাৰৰ বিকল্পসমূহৰ মাজৰ পৰা এটা ব্যৱহাৰ কৰি চাব পাৰে।"</string>
<string name="error_code" msgid="3585291676855383649">"আসোঁৱাহ ক’ড: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"ছেটিং"</string>
<string name="service_notification_title" msgid="2918088850910713393">"টাৰ্মিনেলটো চলি আছে"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"টাৰ্মিনেলটো খুলিবলৈ ক্লিক কৰক"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"টাৰ্মিনেল খুলিবলৈ ক্লিক কৰক"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"বন্ধ কৰক"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> সক্ষম কৰা আছে"</string>
</resources>
diff --git a/android/TerminalApp/res/values-az/strings.xml b/android/TerminalApp/res/values-az/strings.xml
index f816d81..ae3e043 100644
--- a/android/TerminalApp/res/values-az/strings.xml
+++ b/android/TerminalApp/res/values-az/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Terminal displeyi"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Kursor"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Boş sətir"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux terminalını quraşdırın"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux terminalını işə salmaq üçün şəbəkə vasitəsilə təxminən <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> həcmində data endirməlisiniz.\nDavam etmək istəyirsiniz?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Wi-Fi əlçatan olduqda endirin"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux terminalını işə salmaq üçün şəbəkə vasitəsilə təxminən <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> həcmində data endirməlisiniz.\nDavam etmək istəyirsiniz?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Yalnız Wi-Fi istifadə edərək endirin"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Quraşdırın"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Quraşdırılır"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Şəbəkə xətası. Bağlantını yoxlayıb yenidən cəhd edin."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Şəbəkə xətası səbəbilə quraşdırmaq alınmadı. Bağlantını yoxlayın və yenidən cəhd edin."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux terminalı quraşdırılır"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Tamamlandıqan sonra Linux terminalı işə salınacaq"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Şəbəkə problemi səbəbilə quraşdırmaq alınmadı"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Quraşdırmaq alınmadı. Yenidən cəhd edin."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Quraşdırma tamamlandıqdan sonra Linux terminalı işə düşəcək"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Şəbəkə problemi səbəbilə quraşdırmaq alınmadı"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Wi-Fi əlçatan olmadığı üçün quraşdırmaq alınmadı"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Quraşdırmaq alınmadı. Yenidən cəhd edin"</string>
<string name="action_settings" msgid="5729342767795123227">"Ayarlar"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Terminal hazırlanır"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Terminal dayandırılır"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminal çökdü"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Disk ölçüsü dəyişdirilməsi"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Yenidən ölçüləndirin / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Disk ölçüsünün dəyişdirilməsi"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Kök bölməsinin ölçüsünü dəyişin"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Disk ölçüsü ayarlandı"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> təyin edildi"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"maks <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Ləğv edin"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Tətbiq etmək üçün yenidən başladın"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Port yönləndirməsi"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Port yönləndirməsini konfiqurasiya edin"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal yeni port açmağa çalışır"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Portun açıq olması tələb edildi: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Tətbiq edin"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Diskin ölçüsünü dəyişmək üçün terminal yenidən başladılacaq"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Təsdiq edin"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal yeni port açmağı tələb edir"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Port tələb edildi: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Qəbul edin"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Rədd edin"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Bərpa"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Bölmə üzrə bərpa seçimləri"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"İlkin versiyaya dəyişin"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Hamısını silin"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Bölmə üzrə bərpa seçimləri"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"İlkin versiyaya sıfırlayın"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Bütün datanı silin"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Terminalı sıfırlayın"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Data silinəcək"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Təsdiq edin"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Data silinəcək"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Sıfırlayın"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Ləğv edin"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Datanı buraya yedəkləyin: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Yedəkləmə alınmadığı üçün bərpa etmək mümkün olmadı"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Yedəkləmə xətası səbəbilə bərpa olunmadı"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Bərpa etmək alınmadı"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Yedək faylı silmək mümkün deyil"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Yedək datanı silmək alınmadı"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Yedək datanı silin"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Təmizləyin: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Düzəldilməyən xəta"</string>
- <string name="error_desc" msgid="1939028888570920661">"Xətanı bərpa etmək alınmadı.\nTətbiqi yenidən başladın və ya bərpa seçimlərindən birini sınayın."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Silin: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Düzəldilməyən xəta"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Xətanı bərpa etmək alınmadı.\nTerminalı yenidən başlatmağa cəhd edə və ya bərpa seçimlərindən birini sınaya bilərsiniz."</string>
<string name="error_code" msgid="3585291676855383649">"Xəta kodu: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Ayarlar"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminal işləyir"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Terminalı açmaq üçün klikləyin"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Terminalı açmaq üçün klikləyin"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Bağlayın"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> aktivləşdirilib"</string>
</resources>
diff --git a/android/TerminalApp/res/values-b+sr+Latn/strings.xml b/android/TerminalApp/res/values-b+sr+Latn/strings.xml
index e454a8b..a0c2ddc 100644
--- a/android/TerminalApp/res/values-b+sr+Latn/strings.xml
+++ b/android/TerminalApp/res/values-b+sr+Latn/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Prikaz terminala"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Kursor"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Prazan red"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Instalirajte Linux terminal"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Da biste pokrenuli Linux terminal, treba da preuzmete oko <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> podataka preko mreže.\nŽelite da nastavite?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Preuzmi kada WiFi bude dostupan"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Da biste pokrenuli Linux terminal, treba da preuzmete oko <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> podataka preko mreže.\nŽelite li da nastavite?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Preuzimaj samo preko WiFi mreže"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instaliraj"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Instalira se"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Greška na mreži. Proverite vezu i probajte ponovo."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Instaliranje nije uspelo zbog greške na mreži. Proverite vezu i probajte ponovo."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Instalira se Linux terminal"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux terminal će se pokrenuti posle završetka"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Instaliranje nije uspelo zbog problema sa mrežom"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Instaliranje nije uspelo. Probajte ponovo."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux terminal će se pokrenuti kada se instalacija završi"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Instaliranje nije uspelo zbog problema sa mrežom"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Instaliranje nije uspelo jer WiFi nije dostupan"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Instaliranje nije uspelo. Probajte ponovo"</string>
<string name="action_settings" msgid="5729342767795123227">"Podešavanja"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Terminal se priprema"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Terminal se zaustavlja"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminal je otkazao"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Promena veličine diska"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Promenite veličinu / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Promena veličine diska"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Promenite veličinu osnovne particije"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Veličina diska je podešena"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Dodeljeno <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maks. <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Otkaži"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Restartuj i primeni"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Prosleđivanje porta"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Konfigurišite prosleđivanje porta"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal pokušava da otvori novi port"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port čije je otvaranje traženo: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Primeni"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal će se restartovati da bi se promenila veličina diska"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Potvrdi"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal traži da otvori novi port"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Obavezan port: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Prihvati"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Odbij"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Oporavak"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opcije oporavka particija"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Promeni na početnu verziju"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Uklonite sve"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opcije oporavka particija"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Vratite na početnu verziju"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Uklonite sve podatke"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Resetujte terminal"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Podaci će biti izbrisani"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Potvrdi"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Podaci će biti uklonjeni"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Resetuj"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Otkaži"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Napravi rezervnu kopiju podataka na <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Oporavak nije uspeo jer pravljenje rezervne kopije nije uspelo"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Oporavak nije uspeo zbog greške pri pravljenju rezervne kopije"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Oporavak nije uspeo"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Uklanjanje fajla rezervne kopije nije uspelo"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Uklanjanje rezervne kopije podataka nije uspelo"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Uklonite rezervnu kopiju"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Obrišite <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Nepopravljiva greška"</string>
- <string name="error_desc" msgid="1939028888570920661">"Oporavak od greške nije uspeo.\nProbajte da restartujete aplikaciju ili probajte jednu od opcija za vraćanje."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Uklonite <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Nepopravljiva greška"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Oporavak od greške nije uspeo.\nPokušajte da restartujete terminal ili isprobajte jednu od opcija za vraćanje."</string>
<string name="error_code" msgid="3585291676855383649">"Kôd greške: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Podešavanja"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminal je aktivan"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Kliknite da biste otvorili terminal"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Kliknite da biste otvorili terminal"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Zatvori"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> je omogućen"</string>
</resources>
diff --git a/android/TerminalApp/res/values-be/strings.xml b/android/TerminalApp/res/values-be/strings.xml
index 6b982ca..a3e8f01 100644
--- a/android/TerminalApp/res/values-be/strings.xml
+++ b/android/TerminalApp/res/values-be/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Тэрмінал"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Дысплэй тэрмінала"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Курсор"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Пусты радок"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Усталяванне тэрмінала Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Каб запусціць тэрмінал Linux, трэба спампаваць каля <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> даных па сетцы.\nПрацягнуць?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Спампаваць, калі будзе даступная сетка Wi-Fi"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Каб запусціць тэрмінал Linux, трэба спампаваць каля <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> даных па сетцы.\nПрацягнуць?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Спампоўваць толькі праз сетку Wi-Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Усталяваць"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Ідзе ўсталяванне"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Памылка сеткі. Праверце падключэнне і паўтарыце спробу."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Не ўдалося ўсталяваць з-за памылкі сеткі. Праверце падключэнне і паўтарыце спробу."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Ідзе ўсталяванне тэрмінала Linux"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Тэрмінал Linux будзе запушчаны пасля завяршэння"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Не ўдалося ўсталяваць з-за праблемы з сеткай"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Не ўдалося ўсталяваць. Паўтарыце спробу."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Тэрмінал Linux запусціцца пасля завяршэння ўсталявання"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Не ўдалося ўсталяваць з-за праблемы з сеткай"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Не ўдалося ўсталяваць, бо сетка Wi-Fi недаступная"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Не ўдалося ўсталяваць. Паўтарыце спробу."</string>
<string name="action_settings" msgid="5729342767795123227">"Налады"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Ідзе падрыхтоўка тэрмінала"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Спыненне тэрмінала"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Збой тэрмінала"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Змяніць памер дыска"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Змяніць памер / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Змяніць памер дыска"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Змяніць памер каранёвага раздзела"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Памер дыска зададзены"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Прызначана <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Максімальны памер: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Скасаваць"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Ужыць (перазапуск)"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Пераадрасацыя партоў"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Наладзіць пераадрасацыю партоў"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Тэрмінал спрабуе адкрыць новы порт"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Запыт адкрыць порт: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Прымяніць"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Каб прымяніць змяненне памеру дыска, тэрмінал будзе перазапушчаны"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Пацвердзіць"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Тэрмінал запытвае адкрыць новы порт"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Запытаны порт: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Прыняць"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Адмовіць"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Аднаўленне"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Варыянты аднаўлення раздзела"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Змяніць на зыходную версію"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Выдаліць усе"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Варыянты аднаўлення раздзела"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Скінуць да зыходнай версіі"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Выдаліць усе даныя"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Скінуць тэрмінал"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Даныя будуць выдалены"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Пацвердзіць"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Даныя будуць выдалены"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Скінуць"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Скасаваць"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Стварыць рэзервовую копію даных у <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Аднавіць не ўдалося: рэзервовая копія не створана"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Не ўдалося аднавіць з-за памылкі рэзервовага капіравання"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Не ўдалося аднавіць"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Не ўдаецца выдаліць файл рэзервовай копіі"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Не ўдалося выдаліць даныя рэзервовай копіі"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Выдаліць даныя рэзервовай копіі"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Ачысціць <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Непапраўная памылка"</string>
- <string name="error_desc" msgid="1939028888570920661">"Не ўдалося аднавіць праграму пасля памылкі.\nПеразапусціце яе або скарыстайце адзін з варыянтаў аднаўлення доступу."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Выдаліць: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Непапраўная памылка"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Не ўдалося аднавіць тэрмінал пасля памылкі.\nПеразапусціце тэрмінал ці паспрабуйце скарыстаць адзін з варыянтаў аднаўлення."</string>
<string name="error_code" msgid="3585291676855383649">"Код памылкі: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Налады"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Тэрмінал запушчаны"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Націсніце, каб адкрыць тэрмінал"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Каб адкрыць тэрмінал, націсніце тут"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Закрыць"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"Модуль <xliff:g id="ID_1">VirGL</xliff:g> уключаны"</string>
</resources>
diff --git a/android/TerminalApp/res/values-bg/strings.xml b/android/TerminalApp/res/values-bg/strings.xml
index e987a06..f6256f8 100644
--- a/android/TerminalApp/res/values-bg/strings.xml
+++ b/android/TerminalApp/res/values-bg/strings.xml
@@ -20,55 +20,72 @@
<string name="terminal_display" msgid="4810127497644015237">"Екран на Терминал"</string>
<string name="terminal_input" msgid="4602512831433433551">"Курсор"</string>
<string name="empty_line" msgid="5012067143408427178">"Празен ред"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
+ <skip />
<string name="installer_title_text" msgid="500663060973466805">"Инсталиране на терминала на Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"За да стартирате терминала на Linux, трябва да изтеглите около <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> данни през мрежата.\nИскате ли да продължите?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Изтегляне, когато е налице Wi-Fi"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"За да стартирате терминала на Linux, трябва да изтеглите около <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> данни през мрежата.\nИскате ли да продължите?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Изтегляне само посредством Wi-Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Инсталиране"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Инсталира се"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Грешка в мрежата. Проверете връзката и опитайте отново."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Инсталирането не бе успешно поради грешка в мрежата. Проверете връзката си и опитайте отново."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Терминалът на Linux се инсталира"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Терминалът на Linux ще бъде стартиран след завършване"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Инсталирането не бе успешно поради проблем с мрежата"</string>
- <string name="installer_error_no_wifi" msgid="8631584648989718121">"Инсталирането не бе успешно, защото не е налице Wi-Fi"</string>
- <string name="installer_error_unknown" msgid="1991780204241177455">"Инсталирането не бе успешно. Опитайте отново."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Терминалът на Linux ще стартира, след като инсталирането завърши"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Инсталирането не бе успешно поради проблем с мрежата"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Инсталирането не бе успешно, защото не е налице Wi-Fi"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Инсталирането не бе успешно. Моля, опитайте отново"</string>
<string name="action_settings" msgid="5729342767795123227">"Настройки"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Терминалът се подготвя"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Терминалът спира"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Терминалът претърпя срив"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Преоразмеряване на диска"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Преоразмеряване/Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Преоразмеряване на диска"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Преоразмеряване на размера на основния дял"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Размерът на диска е зададен"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Зададено: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Макс.: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Отказ"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Рестарт за прилагане"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Пренасочване на портове"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Конфигуриране на пренасочването на портове"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Терминалът се опитва да отвори нов порт"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Заявено отваряне на порта: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Прилагане"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Терминалът ще се рестартира, за да се преоразмери дискът"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Потвърждаване"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Терминалът заявява отварянето на нов порт"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Заявен порт: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Приемам"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Отказ"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Възстановяване"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Опции за възстановяване на дяловете"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Промяна към първоначалната версия"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Премахване на всички"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Опции за възстановяване на дяловете"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Възстановяване на първоначалната версия"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Премахване на всички данни"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Нулиране на терминала"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Данните ще бъдат изтрити"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Потвърждаване"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Данните ще бъдат премахнати"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Нулиране"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Отказ"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Създаване на резервно копие на данните в(ъв) <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Възстановяването не бе успешно, защото създаването на резервно копие не бе успешно"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Възстановяването не бе успешно поради грешка при създаването на резервно копие"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Възстановяването не бе успешно"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Файлът с резервното копие не може да се премахне"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Премахването на резервното копие на данните не бе успешно"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Премахване на резервното копие на данните"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Изчистване на <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Непоправима грешка"</string>
- <string name="error_desc" msgid="1939028888570920661">"Неуспешно възстановяване от грешка.\nМожете да рестартирате приложението или да изпробвате една от опциите за възстановяване."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Премахване на <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Непоправима грешка"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Неуспешно възстановяване от грешка.\nМожете да рестартирате терминала или да изпробвате една от опциите за възстановяване."</string>
<string name="error_code" msgid="3585291676855383649">"Код на грешката: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Настройки"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Терминалът работи"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Кликнете, за да отворите терминала"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Кликнете, за да отворите терминала"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Затваряне"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> е активирано"</string>
</resources>
diff --git a/android/TerminalApp/res/values-bn/strings.xml b/android/TerminalApp/res/values-bn/strings.xml
index a0f37dd..5bb9a47 100644
--- a/android/TerminalApp/res/values-bn/strings.xml
+++ b/android/TerminalApp/res/values-bn/strings.xml
@@ -17,65 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"টার্মিনাল"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"টার্মিনাল ডিসপ্লে"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"কার্সর"</string>
+ <string name="empty_line" msgid="5012067143408427178">"খালি লাইন"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux টার্মিনাল ইনস্টল করুন"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux টার্মিনাল চালু করার জন্য আপনাকে নেটওয়ার্কের মাধ্যমে মোটামুটিভাবে <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ডেটা ডাউনলোড করতে হবে।\nআপনি কি চালিয়ে যাবেন?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"ওয়াই-ফাই পাওয়া গেলে ডাউনলোড করুন"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux টার্মিনাল চালু করতে, নেটওয়ার্কের মাধ্যমে মোটামুটি <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ডেটা ডাউনলোড করতে হবে।\nআপনি কি এগোতে চান?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"শুধুমাত্র ওয়াই-ফাই ব্যবহার করে ডাউনলোড করুন"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ইনস্টল করুন"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"ইনস্টল করা হচ্ছে"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"নেটওয়ার্কের সমস্যা। কানেকশন চেক করে আবার চেষ্টা করুন।"</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"নেটওয়ার্কের সমস্যা থাকায় ইনস্টল করা যায়নি। কানেকশন চেক করে আবার চেষ্টা করুন।"</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux টার্মিনাল ইনস্টল করা হচ্ছে"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"শেষ হয়ে গেলে Linux টার্মিনাল ইনস্টল করা শুরু হবে।"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"নেটওয়ার্কে সমস্যা থাকায় ইনস্টল করা যায়নি"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"ইনস্টল করা যায়নি। আবার চেষ্টা করুন।"</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"ইনস্টলেশন সম্পূর্ণ হওয়ার পরে Linux টার্মিনাল চালু হবে"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"নেটওয়ার্কের সমস্যা থাকায় ইনস্টল করা যায়নি"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"ওয়াই-ফাই উপলভ্য না থাকায় ইনস্টল করা যায়নি"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"ইনস্টল করা যায়নি। আবার চেষ্টা করুন"</string>
<string name="action_settings" msgid="5729342767795123227">"সেটিংস"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"টার্মিনাল তৈরি করা হচ্ছে"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"টার্মিনাল বন্ধ করা হচ্ছে"</string>
<string name="vm_error_message" msgid="5231867246177661525">"টার্মিনাল ক্র্যাশ করেছে"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"ডিস্ক ছোট বড় করা"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"ছোট বড় করুন / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"ডিস্ক ছোট বড় করা"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"রুট পার্টিশনের সাইজ ছোট বড় করুন"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"ডিস্কের সাইজ সেট করা হয়েছে"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> অ্যাসাইন করা হয়েছে"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"সর্বাধিক <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"বাতিল করুন"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"প্রয়োগ করতে রিস্টার্ট করুন"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"পোর্ট ফরওয়ার্ড করা"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"পোর্ট ফরওয়ার্ড করা কনফিগার করুন"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"টার্মিনাল নতুন পোর্ট খোলার চেষ্টা করছে"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"পোর্ট খোলার অনুরোধ করা হয়েছে: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"প্রয়োগ করুন"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ডিস্ক ছোট বড় করতে টার্মিনাল রিস্টার্ট করা হবে"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"কনফার্ম করুন"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"টার্মিনাল নতুন পোর্ট খোলার অনুরোধ করছে"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"পোর্ট ফরওয়ার্ড করা সম্পর্কে অনুরোধ করা হয়েছে: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"সম্মতি দিন"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"বাতিল করুন"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"আগের অবস্থায় ফেরানো"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"পার্টিশন আগের অবস্থায় ফেরানোর বিকল্প"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"প্রাথমিক ভার্সনে পরিবর্তন করুন"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"সবকটি সরান"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"পার্টিশন আগের অবস্থায় ফেরানোর বিকল্প"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"প্রাথমিক ভার্সনে রিসেট করুন"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"সব ডেটা সরান"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"টার্মিনাল রিসেট করুন"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ডেটা মুছে ফেলা হবে"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"কনফার্ম করুন"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ডেটা সরানো হবে"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"রিসেট করুন"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"বাতিল করুন"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g>-এ ডেটা ব্যাক-আপ নিন"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"ব্যাকআপ কাজ না করায় আগের অবস্থায় ফেরানো যায়নি"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"ব্যাক-আপ সম্পর্কিত সমস্যার জন্য ডেটা আগের অবস্থায় ফেরানো যায়নি"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"আগের অবস্থায় ফেরানো যায়নি"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"ব্যাকআপ ফাইল সরানো যায়নি"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"ব্যাক-আপ ডেটা সরানো যায়নি"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"ব্যাকআপ ডেটা সরান"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"ক্লিন আপ <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <!-- no translation found for error_title (7196464038692913778) -->
- <skip />
- <!-- no translation found for error_desc (1939028888570920661) -->
- <skip />
- <!-- no translation found for error_code (3585291676855383649) -->
- <skip />
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> সরান"</string>
+ <string name="error_title" msgid="405150657301906598">"ডেটা ফিরিয়ে আনা যাবে না এমন সমস্যা"</string>
+ <string name="error_desc" msgid="1984714179775053347">"এই সমস্যার জন্য ডেটা আগের অবস্থায় ফেরানো যাচ্ছে না।\nআপনি টার্মিনাল রিস্টার্ট করে বা অ্যাকাউন্ট ফিরিয়ে আনার বিকল্পের মধ্যে কোনও একটি ব্যবহার করে দেখুন।"</string>
+ <string name="error_code" msgid="3585291676855383649">"এরর কোড: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"সেটিংস"</string>
<string name="service_notification_title" msgid="2918088850910713393">"টার্মিনাল চলছে"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"টার্মিনাল খুলতে ক্লিক করুন"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"টার্মিনাল খুলতে ক্লিক করুন"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"বন্ধ করুন"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> চালু করা আছে"</string>
</resources>
diff --git a/android/TerminalApp/res/values-bs/strings.xml b/android/TerminalApp/res/values-bs/strings.xml
index db6833f..4918fe7 100644
--- a/android/TerminalApp/res/values-bs/strings.xml
+++ b/android/TerminalApp/res/values-bs/strings.xml
@@ -17,65 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Ekran terminala"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Kursor"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Prazan red"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Instalirajte Linux terminal"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Da pokrenete Linux terminal, trebate preuzeti otprilike <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> podataka putem mreže.\nŽelite li nastaviti?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Preuzmi kada je WiFi dostupan"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Da pokrenete Linux terminal, trebate preuzeti otprilike <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> podataka putem mreže.\nŽelite li nastaviti?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Preuzmi koristeći isključivo WiFi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instaliraj"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Instaliranje"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Greška na mreži. Provjeriti vezu i pokušajte ponovo."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Instaliranje nije uspjelo zbog greške na mreži. Provjerite vezu i pokušajte ponovo."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Instaliranje Linux terminala"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux terminal će se pokrenuti nakon završetka"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Instaliranje nije uspjelo zbog problema s mrežom"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Instaliranje nije uspjelo. Pokušajte ponovo."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux terminal će se pokrenuti nakon što se instalacija završi"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Instaliranje nije uspjelo zbog problema s mrežom"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Instaliranje nije uspjelo jer WiFi nije dostupan"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Instaliranje nije uspjelo. Pokušajte ponovo"</string>
<string name="action_settings" msgid="5729342767795123227">"Postavke"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Priprema terminala"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Zaustavljanje terminala"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminal je pao"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Promjena veličine diska"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Promijenite veličinu / rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Promjena veličine diska"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Promijenite veličinu korijenske particije"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Veličina diska je postavljena"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Dodijeljeno: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maksimalno <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Otkaži"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Ponovo pokrenite da primijenite"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Prosljeđivanje priključka"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Konfigurirajte prosljeđivanje priključka"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal pokušava otvoriti novi priključak"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Priključak je zatražio otvaranje: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Primijeni"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal će se ponovo pokrenuti radi promjene veličine diska"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Potvrdi"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal zahtijeva otvaranje novog priključka"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Zatražen je priključak: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Prihvati"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Odbij"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Oporavak"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opcije za oporavak particije"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Promijeni u početnu verziju"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Ukloni sve"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opcije za oporavak particije"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Vrati na početnu verziju"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Uklonite sve podatke"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Poništite terminal"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Podaci će se izbrisati"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Potvrdi"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Podaci će se ukloniti"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Vrati na zadano"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Otkaži"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Napravi sigurnosnu kopiju podataka na <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Oporavak nije uspio jer sigurnosna kopija nije uspjela"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Oporavak nije uspio zbog greške sigurnosne kopije"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Oporavak nije uspio"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Nije moguće ukloniti fajl sigurnosne kopije"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Uklanjanje podataka sigurnosne kopije nije uspjelo"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Ukloni podatke sigurnosne kopije"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Očisti <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <!-- no translation found for error_title (7196464038692913778) -->
- <skip />
- <!-- no translation found for error_desc (1939028888570920661) -->
- <skip />
- <!-- no translation found for error_code (3585291676855383649) -->
- <skip />
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Ukloni <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Nepopravljiva greška"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Oporavak od greške nije uspio.\nMožete ponovo pokrenuti terminal ili isprobati jednu od opcija za oporavak."</string>
+ <string name="error_code" msgid="3585291676855383649">"Kȏd greške: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Postavke"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminal je pokrenut"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Kliknite da otvorite terminal"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Kliknite da otvorite terminal"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Zatvori"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"Omogućeno: <xliff:g id="ID_1">VirGL</xliff:g>"</string>
</resources>
diff --git a/android/TerminalApp/res/values-ca/strings.xml b/android/TerminalApp/res/values-ca/strings.xml
index 8fcb422..7aea07d 100644
--- a/android/TerminalApp/res/values-ca/strings.xml
+++ b/android/TerminalApp/res/values-ca/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Pantalla del terminal"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Línia buida"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Instal·la el terminal de Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Per iniciar el terminal de Linux, has de baixar uns <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de dades a través de la xarxa.\nVols continuar?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Baixa quan hi hagi una Wi‐Fi disponible"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Per iniciar el terminal de Linux, has de baixar uns <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de dades a través de la xarxa.\nVols continuar?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Baixa només mitjançant la Wi‑Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instal·la"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Instal·lant"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Error de la xarxa. Comprova la connexió i torna-ho a provar."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"No s\'ha pogut instal·lar a causa d\'un error de la xarxa. Comprova la connexió i torna-ho a provar."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"S\'està instal·lant el terminal de Linux"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"El terminal de Linux s\'iniciarà quan hagi acabat"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"No s\'ha pogut instal·lar a causa d\'un problema de la xarxa"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"No s\'ha pogut instal·lar. Torna-ho a provar."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"El terminal de Linux s\'iniciarà quan hagi acabat la instal·lació"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"No s\'ha pogut instal·lar a causa d\'un problema de la xarxa"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"No s\'ha pogut instal·lar perquè la Wi‑Fi no està disponible"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"No s\'ha pogut instal·lar. Torna-ho a provar."</string>
<string name="action_settings" msgid="5729342767795123227">"Configuració"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"S\'està preparant el terminal"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"S\'està aturant el terminal"</string>
<string name="vm_error_message" msgid="5231867246177661525">"El terminal s\'ha bloquejat"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Canvia la mida del disc"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Canvia la mida / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Canvia la mida del disc"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Canvia la mida de la partició d\'arrel"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Mida del disc definida"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> assignats"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> màx."</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Cancel·la"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Reinicia per aplicar"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Redirecció de ports"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configura la redirecció de ports"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"El terminal està provant d\'obrir un port nou"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port que se sol·licita obrir: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Aplica"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"El terminal es reiniciarà per canviar la mida del disc"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirma"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"El terminal està sol·licitant obrir un port nou"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Port sol·licitat: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Accepta"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Denega"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Recuperació"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opcions de recuperació de la partició"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Canvia a la versió inicial"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Suprimeix-ho tot"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opcions de recuperació de la partició"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Restableix a la versió inicial"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Suprimeix totes les dades"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Restableix el terminal"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Les dades se suprimiran"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirma"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Les dades se suprimiran"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Restableix"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Cancel·la"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Crea una còpia de seguretat de les dades a <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"No s\'ha pogut recuperar perquè la còpia de seguretat ha fallat"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"No s\'ha pogut recuperar a causa d\'un error de còpia de seguretat"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"La recuperació ha fallat"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"No es pot suprimir el fitxer de còpia de seguretat"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"No s\'han pogut suprimir les dades de la còpia de seguretat"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Suprimeix les dades de la còpia de seguretat"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Elimina <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Error irrecuperable"</string>
- <string name="error_desc" msgid="1939028888570920661">"No s\'ha pogut recuperar després de l\'error.\nPots provar de reiniciar l\'aplicació o provar una de les opcions de recuperació."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Suprimeix <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Error irrecuperable"</string>
+ <string name="error_desc" msgid="1984714179775053347">"No s\'ha pogut recuperar després de l\'error.\nPots provar de reiniciar el terminal o provar una de les opcions de recuperació."</string>
<string name="error_code" msgid="3585291676855383649">"Codi d\'error: <xliff:g id="ERROR_CODE">%s</xliff:g>."</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Configuració"</string>
<string name="service_notification_title" msgid="2918088850910713393">"El terminal s\'està executant"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Fes clic per obrir el terminal"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Fes clic per obrir el terminal"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Tanca"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> està activat"</string>
</resources>
diff --git a/android/TerminalApp/res/values-cs/strings.xml b/android/TerminalApp/res/values-cs/strings.xml
index 376a89d..fd1061a 100644
--- a/android/TerminalApp/res/values-cs/strings.xml
+++ b/android/TerminalApp/res/values-cs/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminál"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Zobrazení terminálu"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Kurzor"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Prázdný řádek"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Instalovat terminál Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Ke spuštění terminálu Linux si musíte přes datovou síť stáhnout přibližně <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> dat.\nChcete pokračovat?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Stáhnout, když bude dostupná Wi-Fi"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Ke spuštění terminálu Linux je potřeba stáhnout přes datovou síť přibližně <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> dat.\nChcete pokračovat?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Stahovat jen přes Wi-Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instalovat"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Instalování"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Chyba sítě. Zkontrolujte připojení a zkuste to znovu."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Instalace se kvůli chybě sítě nezdařila. Zkontrolujte připojení a zkuste to znovu."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Instalace terminálu Linux"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Terminál Linux bude spuštěn po dokončení"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Instalace se nezdařila kvůli problému se sítí"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Instalace se nezdařila. Zkuste to znovu."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Po dokončení instalace se spustí terminál Linux"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Instalace se kvůli problému se sítí nezdařila"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Instalace se nezdařila, protože není k dispozici Wi-Fi"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Instalace se nezdařila. Zkuste to znovu"</string>
<string name="action_settings" msgid="5729342767795123227">"Nastavení"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Probíhá příprava terminálu"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Ukončování terminálu"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminál selhal"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Změna velikosti disku"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Změnit velikost"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Změnit velikost disku"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Změnit velikost kořenového oddílu"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Velikost disku nastavena"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Přiděleno <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Max. <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Zrušit"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Je třeba restartovat"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Přesměrování portů"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Nakonfigurovat přesměrování portů"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminál se pokouší otevřít nový port"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Vyžádáno otevření portu: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Použít"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminál se za účelem změny velikosti disku restartuje"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Potvrdit"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminál se pokouší otevřít nový port"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Požadovaný port: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Přijmout"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Zamítnout"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Obnovení"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Možnosti obnovení oddílu"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Změnit na původní verzi"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Odstranit vše"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Možnosti obnovení oddílu"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Resetovat na původní verzi"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Odstranit všechna data"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Resetovat terminál"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Data budou smazána"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Potvrdit"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Data budou odstraněna"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Resetovat"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Zrušit"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Zálohovat data do <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Obnovení se nezdařilo, protože záloha selhala"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Obnovení se kvůli chybě zálohy nezdařilo"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Obnovení se nezdařilo"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Soubor zálohy se nepodařilo odstranit"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Zálohovaná data se nepodařilo odstranit"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Odstranit data zálohy"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Vyčistit <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Neopravitelná chyba"</string>
- <string name="error_desc" msgid="1939028888570920661">"Z chybového stavu se nepodařilo dostat.\nRestartujte aplikaci nebo vyzkoušejte některou z možností obnovení."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Odstranit <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Neopravitelná chyba"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Z chybového stavu se nepodařilo dostat.\nMůžete terminál zkusit restartovat, nebo vyzkoušet některou z možností obnovení."</string>
<string name="error_code" msgid="3585291676855383649">"Kód chyby: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Nastavení"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminál běží"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Kliknutím otevřete terminál"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Kliknutím otevřete terminál"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Zavřít"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"Modul <xliff:g id="ID_1">VirGL</xliff:g> je aktivován"</string>
</resources>
diff --git a/android/TerminalApp/res/values-da/strings.xml b/android/TerminalApp/res/values-da/strings.xml
index dddfaaf..8ecf47e 100644
--- a/android/TerminalApp/res/values-da/strings.xml
+++ b/android/TerminalApp/res/values-da/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Terminalskærm"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Markør"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Tom linje"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Installer Linux-terminalen"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Du skal downloade ca. <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> data via netværket for at åbne Linux-terminalen.\nVil du fortsætte?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Download, når du har Wi-Fi-forbindelse"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Du skal downloade ca. <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> data via netværket for at starte Linux-terminalen.\nVil du fortsætte?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Download kun via Wi-Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Installer"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installerer"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Netværksfejl. Tjek forbindelsen, og prøv igen."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Installationen mislykkedes på grund af en netværksfejl. Tjek din forbindelse, og prøv igen."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux-terminalen installeres"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux-terminalen startes, når installationen er gennemført"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Installationen mislykkedes på grund af et netværksproblem"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Installationen mislykkedes. Prøv igen."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux-terminalen starter, når installationen er gennemført"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Installationen mislykkedes på grund af et netværksproblem"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Installationen mislykkedes, fordi Wi-Fi ikke er tilgængeligt"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Installationen mislykkedes. Prøv igen"</string>
<string name="action_settings" msgid="5729342767795123227">"Indstillinger"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Forbereder terminal"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Stopper terminal"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminalen er gået ned"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Tilpas diskens størrelse"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Tilpas størrelse/Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Tilpas diskens størrelse"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Tilpas rodpartitionens størrelse"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Diskstørrelsen er angivet"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Tildelt: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maks.: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Annuller"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Genstart for at bruge"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Omdirigering af port"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Konfigurer omdirigering af port"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminalen forsøger at åbne en ny port"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Porten, der anmodes om at være åben: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Anvend"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminalen genstartes for at tilpasse diskens størrelse"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Bekræft"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminalen anmoder om at åbne en ny port"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Port, der anmodes om: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Acceptér"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Afvis"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Gendannelse"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Muligheder for gendannelse af partition"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Skift til oprindelig version"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Fjern alle"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Muligheder for gendannelse af partition"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Nulstil til oprindelig version"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Fjern alle data"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Nulstil terminalen"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Dataene slettes"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Bekræft"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Dataene fjernes"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Nulstil"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Annuller"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Sikkerhedskopiér data til <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Gendannelsen mislykkedes, fordi sikkerhedskopieringen ikke kunne udføres"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Gendannelsen mislykkedes på grund af en fejl i sikkerhedskopien"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Gendannelsen mislykkedes"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Sikkerhedskopifilen kan ikke fjernes"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"De sikkerhedskopierede data kunne ikke fjernes"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Fjern data for sikkerhedskopi"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Ryd op på <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Uoprettelig fejl"</string>
- <string name="error_desc" msgid="1939028888570920661">"Gendannelse efter fejl mislykkedes.\nDu kan prøve at genstarte appen eller prøve en af gendannelsesmulighederne."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Fjern <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Uoprettelig fejl"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Gendannelse efter fejl mislykkedes.\nDu kan prøve at genstarte terminalen eller prøve en af gendannelsesmulighederne."</string>
<string name="error_code" msgid="3585291676855383649">"Fejlkode: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Indstillinger"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminalen kører"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Klik for at åbne terminalen"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Klik for at åbne terminalen"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Luk"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> er aktiveret"</string>
</resources>
diff --git a/android/TerminalApp/res/values-de/strings.xml b/android/TerminalApp/res/values-de/strings.xml
index 2d6eadc..d0d5604 100644
--- a/android/TerminalApp/res/values-de/strings.xml
+++ b/android/TerminalApp/res/values-de/strings.xml
@@ -17,65 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Terminalanzeige"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Leere Zeile"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux-Terminal installieren"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Damit du das Linux-Terminal starten kannst, musst du ungefähr <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> an Daten über das Netzwerk herunterladen.\nMöchtest du fortfahren?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Herunterladen, wenn WLAN verfügbar ist"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Damit du das Linux-Terminal starten kannst, musst du ungefähr <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> an Daten über das Netzwerk herunterladen.\nMöchtest du fortfahren?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Nur über WLAN herunterladen"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Installieren"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Wird installiert"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Netzwerkfehler. Prüfe die Verbindung und versuche es noch einmal."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Die Installation ist aufgrund eines Netzwerkfehlers fehlgeschlagen. Prüfe deine Verbindung und versuche es dann noch einmal."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux-Terminal wird installiert"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux-Terminal wird nach der Installation gestartet"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Die Installation ist aufgrund eines Netzwerkproblems fehlgeschlagen"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Die Installation ist fehlgeschlagen. Versuche es noch einmal."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Das Linux-Terminal wird gestartet, nachdem die Installation abgeschlossen ist"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Die Installation ist aufgrund eines Netzwerkproblems fehlgeschlagen"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Die Installation ist fehlgeschlagen, weil kein WLAN verfügbar ist"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Die Installation ist fehlgeschlagen. Bitte versuche es noch einmal."</string>
<string name="action_settings" msgid="5729342767795123227">"Einstellungen"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Terminal wird vorbereitet"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Terminal wird beendet"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminal ist abgestürzt"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Größe des Laufwerks anpassen"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Größe anpassen / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Größe des Laufwerks anpassen"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Größe der Stamm-Partition anpassen"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Größe des Laufwerks wurde festgelegt"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> zugewiesen"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maximal <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Abbrechen"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Anwenden (Neustart)"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Portweiterleitung"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Portweiterleitung konfigurieren"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal versucht, einen neuen Port zu öffnen"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port, der geöffnet werden soll: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Anwenden"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal wird neu gestartet, um die Größe des Laufwerks anzupassen"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Bestätigen"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal fordert an, einen neuen Port zu öffnen"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Angeforderter Port: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Akzeptieren"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Ablehnen"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"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_sub_title" msgid="3906996270508262595">"Wiederherstellungsoptionen für die Partition"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Auf erste Version zurücksetzen"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Alle Daten entfernen"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Terminal zurücksetzen"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Daten werden gelöscht"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Bestätigen"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Daten werden entfernt"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Zurücksetzen"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Abbrechen"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Daten unter <xliff:g id="PATH">/mnt/backup</xliff:g> sichern"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Wiederherstellung aufgrund eines Sicherungsproblems fehlgeschlagen"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Wiederherstellung aufgrund eines Sicherungsfehlers nicht möglich"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Wiederherstellung fehlgeschlagen"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Sicherungsdatei kann nicht entfernt werden"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Sicherungsdaten konnten nicht entfernt werden"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Sicherungsdaten entfernen"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Daten unter <xliff:g id="PATH">/mnt/backup</xliff:g> entfernen"</string>
- <!-- no translation found for error_title (7196464038692913778) -->
- <skip />
- <!-- no translation found for error_desc (1939028888570920661) -->
- <skip />
- <!-- no translation found for error_code (3585291676855383649) -->
- <skip />
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"„<xliff:g id="PATH">/mnt/backup</xliff:g>“ entfernen"</string>
+ <string name="error_title" msgid="405150657301906598">"Nicht behebbarer Fehler"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Fehler konnte nicht behoben werden.\nDu kannst versuchen, das Terminal neu zu starten, oder eine der Wiederherstellungsoptionen ausprobieren."</string>
+ <string name="error_code" msgid="3585291676855383649">"Fehlercode: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Einstellungen"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminal wird ausgeführt"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Zum Öffnen des Terminals klicken"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Zum Öffnen des Terminals klicken"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Schließen"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> ist aktiviert"</string>
</resources>
diff --git a/android/TerminalApp/res/values-el/strings.xml b/android/TerminalApp/res/values-el/strings.xml
index f25d4cb..7178dfa 100644
--- a/android/TerminalApp/res/values-el/strings.xml
+++ b/android/TerminalApp/res/values-el/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Τερματικό"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Προβολή τερματικού"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Δείκτης"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Κενή γραμμή"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Εγκατάσταση τερματικού Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Για την εκκίνηση του τερματικού Linux, πρέπει να κατεβάσετε περίπου <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> δεδομένων μέσω δικτύου.\nΘέλετε να συνεχίσετε;"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Λήψη όταν υπάρχει διαθέσιμο Wi-Fi"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Για την εκκίνηση του τερματικού Linux, πρέπει να κατεβάσετε περίπου <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> δεδομένων μέσω δικτύου.\nΘέλετε να συνεχίσετε;"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Λήψη μόνο μέσω Wi-Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Εγκατάσταση"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Εγκατάσταση"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Σφάλμα δικτύου. Ελέγξτε τη σύνδεση και δοκιμάστε ξανά."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Η εγκατάσταση απέτυχε λόγω σφάλματος δικτύου. Ελέγξτε τη σύνδεση και δοκιμάστε ξανά."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Γίνεται εγκατάσταση τερματικού Linux"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Το τερματικό Linux θα ξεκινήσει μετά την ολοκλήρωση"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Η εγκατάσταση απέτυχε λόγω προβλήματος δικτύου"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Η εγκατάσταση απέτυχε. Δοκιμάστε ξανά."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Το τερματικό Linux θα ξεκινήσει μετά την ολοκλήρωση της εγκατάστασης"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Η εγκατάσταση απέτυχε λόγω προβλήματος δικτύου"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Η εγκατάσταση απέτυχε, επειδή το Wi-Fi δεν είναι διαθέσιμο"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Η εγκατάσταση απέτυχε. Δοκιμάστε ξανά"</string>
<string name="action_settings" msgid="5729342767795123227">"Ρυθμίσεις"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Προετοιμασία τερματικού σε εξέλιξη"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Διακοπή τερματικού σε εξέλιξη"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Το τερματικό παρουσίασε σφάλμα"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Αλλαγή μεγέθους δίσκου"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Αλλαγή μεγέθους/Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Αλλαγή μεγέθους δίσκου"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Αλλαγή μεγέθους κύριου διαμερίσματος"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Το μέγεθος δίσκου έχει οριστεί"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Ανατέθηκαν <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Έως <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Ακύρωση"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Επανεκ. για εφαρμογή"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Προώθηση θύρας"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Διαμόρφωση προώθησης θύρας"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Το τερματικό προσπαθεί να ανοίξει μια νέα θύρα"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Υποβλήθηκε αίτημα για άνοιγμα της θύρας: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Εφαρμογή"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Θα γίνει επανεκκίνηση του τερματικού για αλλαγή μεγέθους δίσκου"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Επιβεβαίωση"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Το τερματικό ζητά να ανοίξει μια νέα θύρα"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Ζητήθηκε θύρα: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Αποδοχή"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Απόρριψη"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Ανάκτηση"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Επιλογές ανάκτησης διαμερισμάτων"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Αλλαγή σε αρχική έκδοση"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Κατάργηση όλων"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Επιλογές ανάκτησης διαμερισμάτων"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Επαναφορά στην αρχική έκδοση"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Κατάργηση όλων των δεδομένων"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Επαναφορά τερματικού"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Τα δεδομένα θα διαγραφούν"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Επιβεβαίωση"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Τα δεδομένα θα καταργηθούν"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Επαναφορά"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Ακύρωση"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Δημιουργία αντιγράφου ασφαλείας δεδομένων στο <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Αποτυχία ανάκτησης λόγω αποτυχίας δημιουργίας αντιγράφου ασφαλείας"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Η ανάκτηση απέτυχε λόγω σφάλματος δημιουργίας αντιγράφου ασφαλείας"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Αποτυχία ανάκτησης"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Δεν είναι δυνατή η κατάργηση του αρχείου αντιγράφου ασφαλείας"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Η κατάργηση των δεδομένων αντιγράφου ασφαλείας απέτυχε"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Κατάργηση δεδομένων αντιγράφου ασφαλείας"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Διαγραφή <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Ανεπανόρθωτο σφάλμα"</string>
- <string name="error_desc" msgid="1939028888570920661">"Αποτυχία ανάκτησης από σφάλμα.\nΜπορείτε να δοκιμάσετε να επανεκκινήσετε την εφαρμογή ή να δοκιμάσετε μία από τις επιλογές ανάκτησης."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Κατάργηση <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Ανεπανόρθωτο σφάλμα"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Αποτυχία ανάκτησης από σφάλμα.\nΜπορείτε να δοκιμάσετε να επανεκκινήσετε το τερματικό ή να δοκιμάσετε μια από τις επιλογές ανάκτησης."</string>
<string name="error_code" msgid="3585291676855383649">"Κωδικός σφάλματος: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Ρυθμίσεις"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Το τερματικό εκτελείται"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Κάντε κλικ για άνοιγμα του τερματικού"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Κάντε κλικ για άνοιγμα του τερματικού"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Κλείσιμο"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"Το <xliff:g id="ID_1">VirGL</xliff:g> είναι ενεργοποιημένο"</string>
</resources>
diff --git a/android/TerminalApp/res/values-en-rAU/strings.xml b/android/TerminalApp/res/values-en-rAU/strings.xml
index 90f282e..8a2391f 100644
--- a/android/TerminalApp/res/values-en-rAU/strings.xml
+++ b/android/TerminalApp/res/values-en-rAU/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Terminal display"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Empty line"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Install Linux terminal"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"To launch a Linux terminal, you need to download roughly <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> of data over the network.\nWould you like to proceed?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Download when Wi-Fi is available"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"To launch Linux terminal, you need to download roughly <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> of data over the network.\nWould you like to proceed?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Download using Wi-Fi only"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Install"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installing"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Network error. Check connection and retry."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Failed to install due to a network error. Check your connection and try again."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Installing Linux terminal"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux terminal will be started after finish"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Failed to install due to the network issue"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Failed to install. Try again."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux terminal will start after the installation is finished"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Failed to install due to a network issue"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Failed to install because Wi-Fi is not available"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Failed to install. Please try again"</string>
<string name="action_settings" msgid="5729342767795123227">"Settings"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Preparing terminal"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Stopping terminal"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminal crashed"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Disk resize"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Resize/Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Disk resize"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Resize the root partition size"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Disk size set"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> assigned"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> max"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Cancel"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Restart to apply"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Port forwarding"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configure port forwarding"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal is trying to open a new port"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port requested to be open: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Apply"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal will be restarted to resize disk"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirm"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal is requesting to open a new port"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Port requested: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Accept"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Deny"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Recovery"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Partition recovery options"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Change to initial version"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Remove all"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Partition recovery options"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Reset to initial version"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Remove all data"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Reset terminal"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Data will be deleted"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirm"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Data will be removed"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Reset"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Cancel"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Back up data to <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Recovery failed because backup failed"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Failed to recover due to a backup error"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Recovery failed"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Cannot remove backup file"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Failed to remove backup data"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Remove backup data"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Clean up <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Unrecoverable error"</string>
- <string name="error_desc" msgid="1939028888570920661">"Failed to recover from an error.\nYou can try restarting the app or try one of the recovery options."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Remove <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Unrecoverable error"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Failed to recover from an error.\nYou can try restarting the terminal or try one of the recovery options."</string>
<string name="error_code" msgid="3585291676855383649">"Error code: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Settings"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminal is running"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Click to open the terminal"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Click to open terminal"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Close"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> is enabled"</string>
</resources>
diff --git a/android/TerminalApp/res/values-en-rCA/strings.xml b/android/TerminalApp/res/values-en-rCA/strings.xml
index 49c8af1..c35381d 100644
--- a/android/TerminalApp/res/values-en-rCA/strings.xml
+++ b/android/TerminalApp/res/values-en-rCA/strings.xml
@@ -20,55 +20,63 @@
<string name="terminal_display" msgid="4810127497644015237">"Terminal display"</string>
<string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
<string name="empty_line" msgid="5012067143408427178">"Empty line"</string>
+ <string name="double_tap_to_edit_text" msgid="2344363097580051316">"Double-tap to type input"</string>
<string name="installer_title_text" msgid="500663060973466805">"Install Linux terminal"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"To launch Linux terminal, you need to download roughly <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> of data over network.\nWould you proceed?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Download when Wi-Fi is available"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"To launch Linux terminal, you need to download roughly <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> of data over the network.\nWould you like to proceed?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Download using Wi-Fi only"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Install"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installing"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Network error. Check connection and retry."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Failed to install due to a network error. Check your connection and try again."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Installing Linux terminal"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux terminal will be started after finish"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Failed to install due to the network issue"</string>
- <string name="installer_error_no_wifi" msgid="8631584648989718121">"Failed to install because Wi-Fi isn\'t available"</string>
- <string name="installer_error_unknown" msgid="1991780204241177455">"Failed to install. Try again."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux terminal will start after the installation is finished"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Failed to install due to a network issue"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Failed to install because Wi-Fi is not available"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Failed to install. Please try again"</string>
<string name="action_settings" msgid="5729342767795123227">"Settings"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Preparing terminal"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Stopping terminal"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminal crashed"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Disk Resize"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Resize / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Disk resize"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Resize the root partition size"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Disk size set"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> assigned"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> max"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Cancel"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Restart to apply"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Port Forwarding"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configure port forwarding"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal is trying to open a new port"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port requested to be open: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Apply"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal will be restarted to resize disk"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirm"</string>
+ <string name="settings_port_forwarding_title" msgid="4971368519093858377">"Port control"</string>
+ <string name="settings_port_forwarding_sub_title" msgid="6547942778715654953">"Allow/deny listening ports"</string>
+ <string name="settings_port_forwarding_active_ports_title" msgid="1841436780635889858">"Listening ports"</string>
+ <string name="settings_port_forwarding_other_enabled_ports_title" msgid="2644381842623436676">"Saved allowed ports"</string>
+ <string name="settings_port_forwarding_dialog_title" msgid="2734992099990516463">"Allow a new port"</string>
+ <string name="settings_port_forwarding_dialog_textview_hint" msgid="3514035855169269600">"Enter a new port number"</string>
+ <string name="settings_port_forwarding_dialog_save" msgid="1097831033824718393">"Save"</string>
+ <string name="settings_port_forwarding_dialog_cancel" msgid="1972597831318470889">"Cancel"</string>
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal is requesting to open a new port"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Port requested: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Accept"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Deny"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Recovery"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Partition Recovery options"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Change to Initial version"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Remove all"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Partition recovery options"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Reset to initial version"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Remove all data"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Reset terminal"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Data will be deleted"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirm"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Data will be removed"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Reset"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Cancel"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Back up data to <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Recovery failed because backup failed"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Failed to recover due to a backup error"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Recovery failed"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Cannot remove backup file"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Failed to remove backup data"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Remove backup data"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Clean up <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Unrecoverable Error"</string>
- <string name="error_desc" msgid="1939028888570920661">"Failed to recover from an error.\nYou can try restart the app, or try one of recovery option."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Remove <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Unrecoverable error"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Failed to recover from an error.\nYou can try restarting terminal or try one of the recovery options."</string>
<string name="error_code" msgid="3585291676855383649">"Error code: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Settings"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminal is running"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Click to open the terminal"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Click to open terminal"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Close"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> is enabled"</string>
</resources>
diff --git a/android/TerminalApp/res/values-en-rGB/strings.xml b/android/TerminalApp/res/values-en-rGB/strings.xml
index 90f282e..8a2391f 100644
--- a/android/TerminalApp/res/values-en-rGB/strings.xml
+++ b/android/TerminalApp/res/values-en-rGB/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Terminal display"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Empty line"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Install Linux terminal"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"To launch a Linux terminal, you need to download roughly <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> of data over the network.\nWould you like to proceed?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Download when Wi-Fi is available"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"To launch Linux terminal, you need to download roughly <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> of data over the network.\nWould you like to proceed?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Download using Wi-Fi only"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Install"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installing"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Network error. Check connection and retry."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Failed to install due to a network error. Check your connection and try again."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Installing Linux terminal"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux terminal will be started after finish"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Failed to install due to the network issue"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Failed to install. Try again."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux terminal will start after the installation is finished"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Failed to install due to a network issue"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Failed to install because Wi-Fi is not available"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Failed to install. Please try again"</string>
<string name="action_settings" msgid="5729342767795123227">"Settings"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Preparing terminal"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Stopping terminal"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminal crashed"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Disk resize"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Resize/Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Disk resize"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Resize the root partition size"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Disk size set"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> assigned"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> max"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Cancel"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Restart to apply"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Port forwarding"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configure port forwarding"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal is trying to open a new port"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port requested to be open: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Apply"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal will be restarted to resize disk"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirm"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal is requesting to open a new port"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Port requested: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Accept"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Deny"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Recovery"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Partition recovery options"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Change to initial version"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Remove all"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Partition recovery options"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Reset to initial version"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Remove all data"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Reset terminal"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Data will be deleted"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirm"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Data will be removed"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Reset"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Cancel"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Back up data to <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Recovery failed because backup failed"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Failed to recover due to a backup error"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Recovery failed"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Cannot remove backup file"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Failed to remove backup data"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Remove backup data"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Clean up <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Unrecoverable error"</string>
- <string name="error_desc" msgid="1939028888570920661">"Failed to recover from an error.\nYou can try restarting the app or try one of the recovery options."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Remove <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Unrecoverable error"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Failed to recover from an error.\nYou can try restarting the terminal or try one of the recovery options."</string>
<string name="error_code" msgid="3585291676855383649">"Error code: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Settings"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminal is running"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Click to open the terminal"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Click to open terminal"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Close"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> is enabled"</string>
</resources>
diff --git a/android/TerminalApp/res/values-en-rIN/strings.xml b/android/TerminalApp/res/values-en-rIN/strings.xml
index 90f282e..8a2391f 100644
--- a/android/TerminalApp/res/values-en-rIN/strings.xml
+++ b/android/TerminalApp/res/values-en-rIN/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Terminal display"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Empty line"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Install Linux terminal"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"To launch a Linux terminal, you need to download roughly <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> of data over the network.\nWould you like to proceed?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Download when Wi-Fi is available"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"To launch Linux terminal, you need to download roughly <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> of data over the network.\nWould you like to proceed?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Download using Wi-Fi only"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Install"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installing"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Network error. Check connection and retry."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Failed to install due to a network error. Check your connection and try again."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Installing Linux terminal"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux terminal will be started after finish"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Failed to install due to the network issue"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Failed to install. Try again."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux terminal will start after the installation is finished"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Failed to install due to a network issue"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Failed to install because Wi-Fi is not available"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Failed to install. Please try again"</string>
<string name="action_settings" msgid="5729342767795123227">"Settings"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Preparing terminal"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Stopping terminal"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminal crashed"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Disk resize"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Resize/Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Disk resize"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Resize the root partition size"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Disk size set"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> assigned"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> max"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Cancel"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Restart to apply"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Port forwarding"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configure port forwarding"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal is trying to open a new port"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port requested to be open: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Apply"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal will be restarted to resize disk"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirm"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal is requesting to open a new port"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Port requested: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Accept"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Deny"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Recovery"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Partition recovery options"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Change to initial version"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Remove all"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Partition recovery options"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Reset to initial version"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Remove all data"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Reset terminal"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Data will be deleted"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirm"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Data will be removed"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Reset"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Cancel"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Back up data to <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Recovery failed because backup failed"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Failed to recover due to a backup error"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Recovery failed"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Cannot remove backup file"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Failed to remove backup data"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Remove backup data"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Clean up <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Unrecoverable error"</string>
- <string name="error_desc" msgid="1939028888570920661">"Failed to recover from an error.\nYou can try restarting the app or try one of the recovery options."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Remove <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Unrecoverable error"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Failed to recover from an error.\nYou can try restarting the terminal or try one of the recovery options."</string>
<string name="error_code" msgid="3585291676855383649">"Error code: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Settings"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminal is running"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Click to open the terminal"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Click to open terminal"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Close"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> is enabled"</string>
</resources>
diff --git a/android/TerminalApp/res/values-es-rUS/strings.xml b/android/TerminalApp/res/values-es-rUS/strings.xml
index 1cbed7d..5de263f 100644
--- a/android/TerminalApp/res/values-es-rUS/strings.xml
+++ b/android/TerminalApp/res/values-es-rUS/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Pantalla de la terminal"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Línea vacía"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Instala la terminal de Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Para iniciar la terminal de Linux, debes descargar aproximadamente <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de datos a través de la red.\n¿Quieres continuar?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Descargar cuando haya una red Wi-Fi disponible"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Para iniciar la terminal de Linux, debes descargar aproximadamente <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de datos a través de la red.\n¿Quieres continuar?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Descargar solo con Wi-Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instalar"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Instalando"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Error de red. Comprueba la conexión y vuelve a intentarlo."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"No se pudo instalar debido a un error de red. Verifica la conexión y vuelve a intentarlo."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Instalando la terminal de Linux"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Se iniciará la terminal de Linux después de finalizar"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"No se pudo instalar debido a un problema de red"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"No se pudo instalar. Vuelve a intentarlo."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"La terminal de Linux se iniciará después de que finalice la instalación"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"No se pudo instalar debido a un problema de red"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"La instalación falló porque no hay una conexión Wi-Fi disponible"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"No se pudo instalar; vuelve a intentarlo"</string>
<string name="action_settings" msgid="5729342767795123227">"Configuración"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Preparando la terminal"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Deteniendo la terminal"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Se produjo un error en la terminal"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Cambiar el tamaño del disco"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Cambiar el tamaño/Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Cambiar el tamaño del disco"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Cambia el tamaño de la partición raíz"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Se estableció el tamaño del disco"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> asignados"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> máx."</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Cancelar"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Reiniciar y aplicar"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Redirección de puertos"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configurar la redirección de puertos"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"La terminal está intentando abrir un puerto nuevo"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Puerto solicitado para abrir: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Aplicar"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Se reiniciará la terminal para cambiar el tamaño del disco"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirmar"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"La terminal está solicitando abrir un puerto nuevo"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Puerto solicitado: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Aceptar"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Rechazar"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Recuperación"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opciones de recuperación de particiones"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Cambiar a la versión inicial"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Quitar todos"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opciones de recuperación de particiones"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Restablecer a la versión inicial"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Quitar todos los datos"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Restablecer terminal"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Se borrarán los datos"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirmar"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Se quitarán los datos"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Restablecer"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Cancelar"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Crear una copia de seguridad de los datos en <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Falló la recuperación porque no se pudo crear la copia de seguridad"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"No se pudo recuperar debido a un error de copia de seguridad"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Falló la recuperación"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"No se puede quitar el archivo de copia de seguridad"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"No se pudieron quitar los datos de copia de seguridad"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Quitar datos de copia de seguridad"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Liberar espacio en <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Error irrecuperable"</string>
- <string name="error_desc" msgid="1939028888570920661">"No se pudo recuperar después del error.\nPuedes reiniciar la app o probar una de las opciones de recuperación."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Quitar <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Error irrecuperable"</string>
+ <string name="error_desc" msgid="1984714179775053347">"No se pudo recuperar después del error.\nPuedes reiniciar la terminal o probar una de las opciones de recuperación."</string>
<string name="error_code" msgid="3585291676855383649">"Código de error: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Configuración"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Se está ejecutando la terminal"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Haz clic para abrir la terminal"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Haz clic para abrir la terminal"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Cerrar"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"Se habilitó <xliff:g id="ID_1">VirGL</xliff:g>"</string>
</resources>
diff --git a/android/TerminalApp/res/values-es/strings.xml b/android/TerminalApp/res/values-es/strings.xml
index a0bc767..e52a09d 100644
--- a/android/TerminalApp/res/values-es/strings.xml
+++ b/android/TerminalApp/res/values-es/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Pantalla del terminal"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Línea vacía"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Instala el terminal de Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Para iniciar el terminal de Linux, debes descargar unos <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de datos a través de la red.\n¿Quieres continuar?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Descargar cuando haya una red Wi-Fi disponible"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Para iniciar el terminal de Linux, debes descargar unos <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de datos a través de la red.\n¿Quieres continuar?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Descargar contenido solo con una conexión Wi-Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instalar"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Instalando"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Error de red. Comprueba la conexión y vuelve a intentarlo."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"No se ha podido instalar debido a un error de red. Comprueba tu conexión y vuelve a intentarlo."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Instalando terminal de Linux"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"El terminal de Linux se iniciará cuando finalice"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"No se ha podido instalar debido a un problema de red"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"No se ha podido instalar. Inténtalo de nuevo."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"El terminal de Linux se iniciará cuando finalice la instalación"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"No se ha podido instalar debido a un problema de red"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"No se ha podido instalar porque no hay conexión Wi-Fi"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"No se ha podido instalar. Vuelve a intentarlo."</string>
<string name="action_settings" msgid="5729342767795123227">"Ajustes"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Preparando terminal"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Deteniendo terminal"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Fallo del terminal"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Cambiar tamaño de disco"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Cambiar tamaño/Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Cambiar tamaño del disco"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Cambia el tamaño de la partición raíz"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Tamaño de disco definido"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> asignados"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> como máximo"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Cancelar"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Reiniciar y aplicar"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Redirección de puertos"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configurar la redirección de puertos"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"El terminal está intentando abrir un nuevo puerto"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Puerto que se solicita que esté abierto: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Aplicar"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"El terminal se reiniciará para cambiar el tamaño del disco"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirmar"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"El terminal está solicitando abrir un nuevo puerto"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Puerto solicitado: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Aceptar"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Denegar"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Recuperación"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opciones de recuperación de particiones"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Cambiar a versión inicial"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Quitar todo"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opciones de recuperación de particiones"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Restablecer a la versión inicial"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Elimina todos los datos"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Restablecer terminal"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Los datos se eliminarán"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirmar"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Los datos se eliminarán"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Restablecer"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Cancelar"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Crear copia de seguridad de los datos en <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"No se ha podido recuperar la copia de seguridad"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"No se ha podido recuperar debido a un error de copia de seguridad"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"No se ha podido recuperar"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"No se puede quitar el archivo de copia de seguridad"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"No se han podido eliminar los datos de copia de seguridad"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Eliminar datos de copia de seguridad"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Liberar espacio de <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Error irrecuperable"</string>
- <string name="error_desc" msgid="1939028888570920661">"No se ha podido recuperar después del error.\nPuedes intentar reiniciar la aplicación o probar una de las opciones de recuperación."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Eliminar <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Error irrecuperable"</string>
+ <string name="error_desc" msgid="1984714179775053347">"No se ha podido recuperar después del error.\nPuedes intentar reiniciar el terminal o probar una de las opciones de recuperación."</string>
<string name="error_code" msgid="3585291676855383649">"Código de error: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Ajustes"</string>
<string name="service_notification_title" msgid="2918088850910713393">"El terminal se está ejecutando"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Toca para abrir el terminal"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Haz clic para abrir el terminal"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Cerrar"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> se ha habilitado"</string>
</resources>
diff --git a/android/TerminalApp/res/values-et/strings.xml b/android/TerminalApp/res/values-et/strings.xml
index 1d25c0a..e9d49ea 100644
--- a/android/TerminalApp/res/values-et/strings.xml
+++ b/android/TerminalApp/res/values-et/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Terminali ekraan"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Kursor"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Tühi rida"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Linuxi terminali installimine"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linuxi terminali käivitamiseks tuleb teil võrgu kaudu alla laadida umbes <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> andmeid.\nKas soovite jätkata?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Laadi alla, kui WiFi on saadaval"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linuxi terminali käivitamiseks tuleb teil võrgu kaudu alla laadida umbes <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> andmeid.\nKas soovite jätkata?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Laadi alla ainult WiFi kaudu"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Installi"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installimine"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Võrgu viga. Kontrollige ühendust ja proovige uuesti."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Installimine ebaõnnestus võrguvea tõttu. Kontrollige ühendust ja proovige uuesti."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linuxi terminali installimine"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linuxi terminal käivitatakse pärast lõpetamist"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Installimine ebaõnnestus võrguprobleemi tõttu"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Installimine ebaõnnestus. Proovige uuesti."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linuxi terminal käivitatakse pärast installimise lõpulejõudmist"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Installimine ebaõnnestus võrguprobleemi tõttu"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Installimine ebaõnnestus, kuna WiFi pole saadaval"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Installimine ebaõnnestus. Proovige uuesti"</string>
<string name="action_settings" msgid="5729342767795123227">"Seaded"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Terminali ettevalmistamine"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Terminali peatamine"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminal jooksis kokku"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Ketta suuruse muutmine"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Suuruse muutmine / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Ketta suuruse muutmine"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Juursektsiooni suuruse muutmine"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Ketta suurus on määratud"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> on määratud"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Max <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Tühista"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Rakendamiseks taaskäivitage"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Pordisiire"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Konfigureerige pordisiire"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal üritab uut porti avada"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port, mille avamist taotleti: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Rakenda"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal taaskäivitatakse ketta suuruse muutmiseks"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Kinnita"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal taotleb uue pordi avamist"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Taotletud port: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Nõustu"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Keela"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Taastamine"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Sektsiooni taastevalikud"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Muutke algsele versioonile"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Eemaldage kõik"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Sektsiooni taastevalikud"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Algsele versioonile lähtestamine"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Kõigi andmete eemaldamine"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Terminali lähtestamine"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Andmed kustutatakse"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Kinnita"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Andmed eemaldatakse"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Lähtesta"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Tühista"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Varunda andmed asukohta <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Taastamine ebaõnnestus, kuna varundamine ebaõnnestus"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Taastamine ebaõnnestus varundamisvea tõttu"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Taastamine ebaõnnestus"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Ei saa varundusfaili eemaldada"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Varundatud andmete eemaldamine ebaõnnestus"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Varundusandmete eemaldamine"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Tühjenda <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Taastamatu viga"</string>
- <string name="error_desc" msgid="1939028888570920661">"Veast taastumine nurjus.\nVõite proovida rakenduse taaskäivitada või proovida üht taastamisvalikutest."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Tee <xliff:g id="PATH">/mnt/backup</xliff:g> eemaldamine"</string>
+ <string name="error_title" msgid="405150657301906598">"Taastamatu viga"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Veast taastumine ebaõnnestus.\nVõite proovida terminali taaskäivitada või proovida ühte taastevalikutest."</string>
<string name="error_code" msgid="3585291676855383649">"Veakood: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Seaded"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminal töötab"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Klõpsake terminali avamiseks"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Klõpsake terminali avamiseks"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Sule"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> on lubatud"</string>
</resources>
diff --git a/android/TerminalApp/res/values-eu/strings.xml b/android/TerminalApp/res/values-eu/strings.xml
index 2601142..7d53702 100644
--- a/android/TerminalApp/res/values-eu/strings.xml
+++ b/android/TerminalApp/res/values-eu/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminala"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Terminalaren pantaila"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Kurtsorea"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Lerro hutsa"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Instalatu Linux-en terminala"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux-en terminala exekutatzeko, gutxi gorabehera <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> datu deskargatu behar dituzu sarearen bidez.\nAurrera egin nahi duzu?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Deskargatu wifi-sare bat erabilgarri dagoenean"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux-en terminala exekutatzeko, gutxi gorabehera <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> datu deskargatu behar dituzu sarearen bidez.\nAurrera egin nahi duzu?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Deskargatu wifi bidez soilik"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instalatu"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Instalatzen"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Sareko errorea. Egiaztatu konektatuta zaudela eta saiatu berriro."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Ezin izan da instalatu, sareko errore bat dela eta. Egiaztatu konektatuta zaudela eta saiatu berriro."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux-en terminala instalatzen"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Prozesua amaitu ondoren abiaraziko da Linux-en terminala"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Ezin izan da instalatu, sarean arazo bat dagoelako"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Ezin izan da instalatu. Saiatu berriro."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Instalazioa amaitzean abiaraziko da Linux-en terminala"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Ezin izan da instalatu, sarean arazo bat dagoelako"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Ezin izan da instalatu, wifi-sarerik erabilgarri ez dagoelako"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Ezin izan da instalatu. Saiatu berriro"</string>
<string name="action_settings" msgid="5729342767795123227">"Ezarpenak"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Terminala prestatzen"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Terminala geldiarazten"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminalak huts egin du"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Aldatu diskoaren tamaina"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Aldatu tamaina / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Aldatu diskoaren tamaina"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Aldatu erroko partizioaren tamaina"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Ezarri da diskoaren tamaina"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> esleituta"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Gehienez ere <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Utzi"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Aldaketak aplikatzeko, berrabiarazi"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Ataka-birbideratzU+2060ea"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Konfiguratu ataka-birbideratzea"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminala beste ataka bat irekitzen saiatzen ari da"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Ataka hau irekitzeko eskatu da: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Aplikatu"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Diskoaren tamaina aldatzeko, terminala berrabiaraziko da"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Berretsi"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminalak beste ataka bat irekitzeko eskatu du"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Ataka hau eskatu da: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Onartu"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Ukatu"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Berreskuratzea"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Partizioa berreskuratzeko aukerak"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Aldatu hasierako bertsiora"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Kendu guztiak"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Partizioa berreskuratzeko aukerak"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Berrezarri hasierako bertsioa"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Kendu datu guztiak"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Berrezarri terminala"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Datuak ezabatu egingo dira"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Berretsi"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Datuak kenduko dira"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Berrezarri"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Utzi"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Egin datuen babeskopiak hemen: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Ezin izan da berreskuratu, babeskopiak huts egin duelako"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Ezin izan da leheneratu, babeskopien errore bat dela eta"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Ezin izan da berreskuratu"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Ezin da kendu babeskopia-fitxategia"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Ezin izan dira kendu babeskopien datuak"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Kendu babeskopien datuak"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Garbitu <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Leheneratu ezin den errorea"</string>
- <string name="error_desc" msgid="1939028888570920661">"Ezin izan da leheneratu errorea.\nBerrabiarazi aplikazioa edo probatu leheneratzeko aukeretako bat."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Kendu <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Leheneratu ezin den errorea"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Ezin izan da leheneratu errorea.\nBerrabiarazi terminala edo probatu leheneratzeko aukeretako bat."</string>
<string name="error_code" msgid="3585291676855383649">"Errore-kodea: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Ezarpenak"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminala abian da"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Egin klik terminala irekitzeko"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Egin klik terminala irekitzeko"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Itxi"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> gaituta dago"</string>
</resources>
diff --git a/android/TerminalApp/res/values-fa/strings.xml b/android/TerminalApp/res/values-fa/strings.xml
index ea7b9e1..20b66f9 100644
--- a/android/TerminalApp/res/values-fa/strings.xml
+++ b/android/TerminalApp/res/values-fa/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"پایانه"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"نمایشگر پایانه"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"مکاننما"</string>
+ <string name="empty_line" msgid="5012067143408427178">"خط خالی"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"نصب پایانه Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"برای راهاندازی پایانه Linux، باید تقریباً <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> داده ازطریق شبکه بارگیری کنید.\nادامه میدهید؟"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"هنگام دسترسی به Wi-Fi بارگیری شود"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"برای راهاندازی پایانه Linux، باید تقریباً <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> داده ازطریق شبکه بارگیری کنید.\nادامه میدهید؟"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"بارگیری فقط با Wi-Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"نصب"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"درحال نصب"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"خطای شبکه. اتصال را بررسی و سپس دوباره امتحان کنید."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"بهدلیل خطای شبکه نصب نشد. اتصال را بررسی کنید و دوباره امتحان کنید."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"درحال نصب پایانه Linux"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"پایانه Linux بعداز اتمام شروع خواهد شد"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"بهدلیل خطای شبکه نصب نشد"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"نصب نشد. دوباره امتحان کنید."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"پایانه Linux پساز تکمیل نصب، راهاندازی خواهد شد"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"بهدلیل مشکل در شبکه نصب نشد"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"نصب نشد چون Wi-Fi دردسترس نیست"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"نصب نشد. لطفاً دوباره امتحان کنید"</string>
<string name="action_settings" msgid="5729342767795123227">"تنظیمات"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"درحال آمادهسازی پایانه"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"پایانه درحال توقف است"</string>
<string name="vm_error_message" msgid="5231867246177661525">"پایانه ازکار افتاد"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"تغییر اندازه دیسک"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"تغییر اندازه / روت فایل سیستم"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"تغییر اندازه دیسک"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"تغییر اندازه پارتیشن ریشه"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"تنظیم اندازه دیسک"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> اختصاص یافته است"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"حداکثر <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"لغو"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"بازراهاندازی برای اعمال"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"بازارسال درگاه"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"پیکربندی بازارسال درگاه"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"پایانه میخواهد درگاه جدیدی باز کند"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"درگاهی که درخواست شده است باز شود: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"اعمال کردن"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"پایانه برای تغییر اندازه دیسک، بازراهاندازی خواهد شد"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"تأیید کردن"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"پایانه میخواهد درگاه جدیدی باز کند"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"درگاه درخواستشده: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"پذیرفتن"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"رد کردن"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"بازیابی"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"گزینههای بازیابی پارتیشن"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"تغییر به نسخه ابتدایی"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"برداشتن همه"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"گزینههای بازیابی پارتیشن"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"بازنشانی به نسخه اولیه"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"حذف همه دادهها"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"بازنشانی پایانه"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"دادهها حذف خواهد شد"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"تأیید کردن"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"دادهها حذف خواهد شد"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"بازنشانی"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"لغو کردن"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"پشتیبانگیری از دادهها در <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"بازیابی انجام نشد چون فایل پشتیبان مشکل داشت"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"بهدلیل خطای نسخه پشتیبان بازیابی نشد"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"بازیابی انجام نشد"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"فایل پشتیبان حذف نشد"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"دادههای نسخه پشتیبان حذف نشد"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"حذف دادههای پشتیبان"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"پاکسازی <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"خطای غیرقابلبازیابی"</string>
- <string name="error_desc" msgid="1939028888570920661">"بازیابی از خطا ممکن نبود.\nمیتوانید برنامه را بازراهاندازی کنید یا یکی از گزینههای بازیابی را امتحان کنید."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"حذف <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"خطای غیرقابلبازیابی"</string>
+ <string name="error_desc" msgid="1984714179775053347">"بازیابی از خطا ممکن نبود.\nمیتوانید پایانه را بازراهاندازی کنید یا یکی از گزینههای بازیابی را امتحان کنید."</string>
<string name="error_code" msgid="3585291676855383649">"کد خطا: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"تنظیمات"</string>
<string name="service_notification_title" msgid="2918088850910713393">"پایانه درحال اجرا است"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"برای باز کردن پایانه، کلیک کنید"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"برای باز کردن پایانه، کلیک کنید"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"بستن"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> فعال شد"</string>
</resources>
diff --git a/android/TerminalApp/res/values-fi/strings.xml b/android/TerminalApp/res/values-fi/strings.xml
index 219a3fd..6a5aaa4 100644
--- a/android/TerminalApp/res/values-fi/strings.xml
+++ b/android/TerminalApp/res/values-fi/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Pääte"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Terminaalinäyttö"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Kohdistin"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Tyhjä rivi"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Asenna Linux-pääte"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux-päätteen käynnistäminen edellyttää, että lataat noin <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> dataa verkon kautta.\nHaluatko jatkaa?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Lataa, kun Wi-Fi on käytettävissä"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux-päätteen käynnistäminen edellyttää, että lataat noin <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> dataa verkon kautta.\nHaluatko jatkaa?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Lataaminen vain Wi-Fi-yhteydellä"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Asenna"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Asennetaan"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Verkkovirhe. Tarkista yhteys ja yritä uudelleen."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Asennus epäonnistui verkkovirheen vuoksi. Tarkista verkkoyhteys ja yritä uudelleen."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux-päätettä asennetaan"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux-pääte käynnistetään, kun se on valmis"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Asennus epäonnistui verkkovirheen vuoksi"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Asennus epäonnistui. Yritä uudelleen."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux-pääte käynnistyy, kun asennus on valmis"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Asennus epäonnistui verkkovirheen vuoksi"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Asennus epäonnistui, koska Wi-Fi ei ole käytettävissä"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Asennus epäonnistui. Yritä uudelleen"</string>
<string name="action_settings" msgid="5729342767795123227">"Asetukset"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Valmistellaan päätettä"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Pysäytetään terminaalia"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminaali kaatui"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Muuta levyn kokoa"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Muuta kokoa / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Muuta levyn kokoa"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Muuta juuriosiokoon kokoa"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Levyn koko asetettu"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> määritetty"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Enintään <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Peru"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Ota käyttöön uudelleenkäynnistämällä"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Porttiohjaus"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Määritä porttiohjaus"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Pääte yrittää avata uuden portin"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Avattavaksi pyydetty portti: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Käytä"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Levyn kokoa muutetaan uudelleenkäynnistyksen jälkeen"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Vahvista"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Pääte yrittää avata uuden portin"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Pyydetty portti: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Hyväksy"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Hylkää"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Palautus"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Osion palautusvaihtoehdot"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Vaihda ensimmäiseen versioon"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Poista kaikki"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Osion palautusvaihtoehdot"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Palauta alkuperäinen versio"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Poista kaikki data"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Nollaa terminaali"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Data poistetaan"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Vahvista"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Data poistetaan"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Nollaa"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Peru"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Varmuuskopioi data tänne: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Palautus epäonnistui, koska varmuuskopiointi epäonnistui"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Palautus epäonnistui varmuuskopiointivirheen vuoksi"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Palautus epäonnistui"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Varmuuskopiota ei voi poistaa"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Varmuuskopiodatan poistaminen epäonnistui"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Poista varmuuskopiodata"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Poista <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Peruuttamaton virhe"</string>
- <string name="error_desc" msgid="1939028888570920661">"Virheen korjaaminen epäonnistui.\nVoit yrittää käynnistää sovelluksen uudelleen tai kokeilla jotakin korjausvaihtoehtoa."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Poista <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Peruuttamaton virhe"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Virheen korjaaminen epäonnistui.\nVoit yrittää käynnistää päätelaitteen uudelleen tai kokeilla jotakin korjausvaihtoehtoa."</string>
<string name="error_code" msgid="3585291676855383649">"Virhekoodi: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Asetukset"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Pääte on käynnissä"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Avaa pääte klikkaamalla"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Avaa pääte klikkaamalla"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Sulje"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> on käytössä"</string>
</resources>
diff --git a/android/TerminalApp/res/values-fr-rCA/strings.xml b/android/TerminalApp/res/values-fr-rCA/strings.xml
index ce5ffae..17ec514 100644
--- a/android/TerminalApp/res/values-fr-rCA/strings.xml
+++ b/android/TerminalApp/res/values-fr-rCA/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Écran du terminal"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Curseur"</string>
+ <string name="empty_line" msgid="5012067143408427178">"La ligne est vide"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Installer le terminal Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Pour lancer un terminal Linux, vous devez télécharger environ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de données sur le réseau.\nSouhaitez-vous continuer?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Télécharger lorsque le Wi-Fi est accessible"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Pour lancer un terminal Linux, vous devez télécharger environ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de données sur le réseau.\nSouhaitez-vous continuer?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Télécharger par Wi-Fi seulement"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Installer"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installation…"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Erreur de réseau. Vérifiez la connexion et réessayez."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Échec de l\'installation en raison d\'une erreur de réseau. Vérifiez votre connexion, puis réessayez."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Installation du terminal Linux en cours…"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Le terminal Linux démarrera une fois l\'installation terminée"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Échec de l\'installation en raison d\'un problème de réseau"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Échec de l\'installation. Réessayez."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Le terminal Linux démarrera une fois l\'installation terminée"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Échec de l\'installation en raison d\'un problème de réseau"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Échec de l\'installation parce que le Wi-Fi n\'est pas disponible"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Échec de l\'installation. Veuillez réessayer"</string>
<string name="action_settings" msgid="5729342767795123227">"Paramètres"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Préparation du terminal en cours…"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Arrêt du terminal en cours…"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Le terminal a planté"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Redimensionnement du disque"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Redimensionnement/Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Redimensionnement du disque"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Redimensionnez la taille de la partition racine"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Taille du disque définie"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> attribués"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> maximum"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Annuler"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Redémarrer pour appliquer"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Redirection de port"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configurez la redirection de port"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Le terminal tente d\'ouvrir un nouveau port"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port dont l\'ouverture est demandée : <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Appliquer"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Le terminal sera redémarré pour redimensionner le disque"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirmer"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Le terminal demande d\'ouvrir un nouveau port"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Port demandé : <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Accepter"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Refuser"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Récupération"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Options de récupération de partition"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Passer à la version initiale"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Tout retirer"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Options de récupération de partition"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Réinitialiser à la version initiale"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Retirez toutes les données"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Réinitialiser le terminal"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Les données seront supprimées"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirmer"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Les données seront retirées"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Réinitialiser"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Annuler"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Sauvegarder les données sur <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Échec de la récupération en raison de l\'échec de la sauvegarde"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Échec de la récupération en raison d\'une erreur de sauvegarde"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Échec de la récupération"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Impossible de retirer le fichier de sauvegarde"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Échec du retrait des données de sauvegarde"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Retirer les données de sauvegarde"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Nettoyage de <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Erreur irrécupérable"</string>
- <string name="error_desc" msgid="1939028888570920661">"Échec de la récupération suite à une erreur.\nVous pouvez essayer de redémarrer l\'appli ou essayer l\'une des options de récupération."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Retirez <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Erreur irrécupérable"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Échec de la récupération à la suite d\'une erreur.\nVous pouvez essayer de redémarrer le terminal ou essayer l\'une des options de récupération."</string>
<string name="error_code" msgid="3585291676855383649">"Code d\'erreur : <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Paramètres"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Le terminal fonctionne"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Cliquez pour ouvrir le terminal"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Cliquez pour ouvrir le terminal"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Fermer"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> est activé"</string>
</resources>
diff --git a/android/TerminalApp/res/values-fr/strings.xml b/android/TerminalApp/res/values-fr/strings.xml
index 412b98a..9e92e91 100644
--- a/android/TerminalApp/res/values-fr/strings.xml
+++ b/android/TerminalApp/res/values-fr/strings.xml
@@ -17,65 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Affichage du terminal"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Curseur"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Ligne vide"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Installer le terminal Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Pour lancer le terminal Linux, vous devez télécharger environ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de données via le réseau.\nVoulez-vous continuer ?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Télécharger lorsque le Wi-Fi sera disponible"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Pour lancer le terminal Linux, vous devez télécharger environ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de données via le réseau.\nVoulez-vous continuer ?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Télécharger uniquement via le Wi-Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Installer"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installation…"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Erreur réseau. Vérifiez la connexion et réessayez."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Échec de l\'installation en raison d\'une erreur réseau. Vérifiez la connexion, puis réessayez."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Installation du terminal Linux…"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Le terminal Linux sera lancé une fois l\'opération terminée"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Échec de l\'installation en raison d\'un problème réseau"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Échec de l\'installation. Réessayez."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Le terminal Linux sera lancé une fois l\'installation terminée"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Échec de l\'installation en raison d\'un problème réseau"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Échec de l\'installation, car le Wi-Fi n\'est pas disponible"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Échec de l\'installation. Veuillez réessayer."</string>
<string name="action_settings" msgid="5729342767795123227">"Paramètres"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Préparation du terminal"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Arrêt du terminal"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Le terminal a planté"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Redimensionnement du disque"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Redimensionner/Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Redimensionnement du disque"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Redimensionner la partition racine"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Taille du disque définie"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> attribués"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> maximum"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Annuler"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Redémarrer pour appliquer"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Transfert de port"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configurer le transfert de port"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Le terminal essaie d\'ouvrir un nouveau port"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Demande d\'ouverture du port suivant : <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Appliquer"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Le terminal sera redémarré pour redimensionner le disque"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirmer"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Le terminal demande l\'ouverture d\'un nouveau port"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Port demandé : <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Accepter"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Refuser"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Récupération"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Options de récupération de la partition"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Revenir à la version initiale"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Tout supprimer"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Options de récupération de la partition"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Revenir à la version initiale"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Supprimer toutes les données"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Réinitialiser le terminal"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Les données seront supprimées"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirmer"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Les données seront supprimées"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Réinitialiser"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Annuler"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Sauvegarder les données dans <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Récupération impossible en raison de l\'échec de la sauvegarde"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Échec de la récupération en raison d\'une erreur de sauvegarde"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Échec de la récupération"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Impossible de supprimer le fichier de sauvegarde"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Échec de la suppression des données de sauvegarde"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Supprimer les données de sauvegarde"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Libérer de l\'espace dans <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <!-- no translation found for error_title (7196464038692913778) -->
- <skip />
- <!-- no translation found for error_desc (1939028888570920661) -->
- <skip />
- <!-- no translation found for error_code (3585291676855383649) -->
- <skip />
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Supprimer <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Erreur irrécupérable"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Échec de la récupération après une erreur.\nVous pouvez essayer de redémarrer le terminal ou d\'utiliser l\'une des options de récupération."</string>
+ <string name="error_code" msgid="3585291676855383649">"Code d\'erreur : <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Paramètres"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminal en cours d\'exécution"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Cliquez pour ouvrir le terminal"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Cliquez pour ouvrir le terminal"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Fermer"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> est activé"</string>
</resources>
diff --git a/android/TerminalApp/res/values-gl/strings.xml b/android/TerminalApp/res/values-gl/strings.xml
index 61ffa17..4a91b10 100644
--- a/android/TerminalApp/res/values-gl/strings.xml
+++ b/android/TerminalApp/res/values-gl/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Pantalla do terminal"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Liña baleira"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Instalar o terminal de Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Para iniciar o terminal de Linux, tes que descargar uns <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de datos a través da rede.\nQueres continuar?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Descargar cando haxa wifi dispoñible"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Para iniciar o terminal de Linux, tes que descargar aproximadamente <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de datos a través da rede.\nQueres continuar?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Descargar só por wifi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instalar"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Instalando"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Produciuse un erro da rede. Comproba a conexión e téntao de novo."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Non se puido completar a instalación por un erro da rede. Comproba a túa conexión e téntao de novo."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Instalando terminal de Linux"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"O terminal de Linux iniciarase en canto remate a instalación"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Produciuse un erro durante instalación por un problema coa rede"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Produciuse un erro durante a instalación. Téntao de novo."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"O terminal de Linux iniciarase en canto remate a instalación"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Produciuse un erro durante instalación por un problema coa rede"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Produciuse un erro durante a instalación porque non hai ningunha wifi dispoñible"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Produciuse un erro durante a instalación. Téntao de novo"</string>
<string name="action_settings" msgid="5729342767795123227">"Configuración"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Preparando terminal"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Parando terminal"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Produciuse un fallo no terminal"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Cambiar tamaño do disco"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Cambia o tamaño/Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Cambiar o tamaño do disco"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Cambia o tamaño da partición raíz"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Definiuse o tamaño do disco"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Tamaño asignado: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> como máximo"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Cancelar"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Reiniciar e aplicar"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Encamiñamento de porto"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configura o encamiñamento de porto"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"O terminal está tentando abrir outro porto"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Porto que se solicitou abrir: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Aplicar"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"O terminal reiniciarase para cambiar o tamaño do disco"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirmar"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"O terminal está solicitando que se abra outro porto"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Porto solicitado: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Aceptar"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Denegar"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Recuperación"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opcións de recuperación da partición"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Cambiar á versión inicial"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Quita todo"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opcións de recuperación da partición"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Restablecer a versión inicial"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Elimina todos os datos"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Restablecer o terminal"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Eliminaranse os datos"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirmar"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Quitaranse os datos"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Restablecer"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Cancelar"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Facer unha copia de seguranza dos datos en <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Fallou a recuperación porque se produciu un erro na copia de seguranza"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Non se levou a cabo a recuperación debido a un erro coa copia de seguranza"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Produciuse un erro na recuperación"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Non se puido quitar o ficheiro da copia de seguranza"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Produciuse un erro ao quitar os datos da copia de seguranza"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Quitar datos da copia de seguranza"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Liberar espazo de <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Produciuse un erro que impide a recuperación"</string>
- <string name="error_desc" msgid="1939028888570920661">"Produciuse un fallo de recuperación despois dun erro.\nPodes probar a reiniciar a aplicación ou usar unha das opcións de recuperación."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Quita <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Produciuse un erro que impide a recuperación"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Non se puido recuperar a información despois dun erro.\nPodes tentar reiniciar o terminal ou usar unha das opcións de recuperación."</string>
<string name="error_code" msgid="3585291676855383649">"Código de erro: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Configuración"</string>
<string name="service_notification_title" msgid="2918088850910713393">"O terminal está en funcionamento"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Fai clic para abrir o terminal"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Fai clic para abrir o terminal"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Pechar"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"Activouse <xliff:g id="ID_1">VirGL</xliff:g>"</string>
</resources>
diff --git a/android/TerminalApp/res/values-gu/strings.xml b/android/TerminalApp/res/values-gu/strings.xml
index 0d74ec0..3ec76be 100644
--- a/android/TerminalApp/res/values-gu/strings.xml
+++ b/android/TerminalApp/res/values-gu/strings.xml
@@ -17,65 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"ટર્મિનલ"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"ટર્મિનલ ડિસ્પ્લે"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"કર્સર"</string>
+ <string name="empty_line" msgid="5012067143408427178">"ખાલી લાઇન"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux ટર્મિનલ ઇન્સ્ટૉલ કરો"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux ટર્મિનલ લૉન્ચ કરવા માટે, તમારે નેટવર્ક પર આશરે <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ડેટા ડાઉનલોડ કરવાની જરૂર છે.\nશું તમારે આગળ વધવું છે?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"જ્યારે વાઇ-ફાઇ ઉપલબ્ધ હોય, ત્યારે ડાઉનલોડ કરો"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux ટર્મિનલ લૉન્ચ કરવા માટે, તમારે નેટવર્ક પર આશરે <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ડેટા ડાઉનલોડ કરવાની જરૂર છે.\nશું તમે આગળ વધવા માગો છો?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"માત્ર વાઇ-ફાઇનો ઉપયોગ કરીને ડાઉનલોડ કરો"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ઇન્સ્ટૉલ કરો"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"ઇન્સ્ટૉલ કરી રહ્યાં છીએ"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"નેટવર્ક ભૂલ. કનેક્શન ચેક કરો અને ફરી પ્રયાસ કરો."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"નેટવર્ક ભૂલને કારણે ઇન્સ્ટૉલ કરવામાં નિષ્ફળ રહ્યાં. તમારું ઇન્ટરનેટ કનેક્શન ચેક કરો અને ફરી પ્રયાસ કરો."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux ટર્મિનલ ઇન્સ્ટૉલ કરી રહ્યાં છીએ"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"પ્રક્રિયા સમાપ્ત થયા પછી Linux ટર્મિનલ શરૂ થશે"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"નેટવર્કની સમસ્યાને કારણે ઇન્સ્ટૉલ કરવામાં નિષ્ફળ રહ્યાં"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"ઇન્સ્ટૉલ કરવામાં નિષ્ફળ રહ્યાં. ફરી પ્રયાસ કરો."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"ઇન્સ્ટૉલેશનની પ્રક્રિયા સમાપ્ત થયા પછી Linux ટર્મિનલ શરૂ થશે"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"નેટવર્ક સંબંધી કોઈ સમસ્યાને કારણે ઇન્સ્ટૉલ કરવામાં નિષ્ફળ રહ્યાં"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"વાઇ-ફાઇ ઉપલબ્ધ ન હોવાથી ઇન્સ્ટૉલ કરવામાં નિષ્ફળ રહ્યાં"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"ઇન્સ્ટૉલ કરવામાં નિષ્ફળ રહ્યાં. કૃપા કરીને ફરી પ્રયાસ કરો"</string>
<string name="action_settings" msgid="5729342767795123227">"સેટિંગ"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"ટર્મિનલ તૈયાર કરી રહ્યાં છીએ"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"ટર્મિનલ બંધ કરી રહ્યાં છીએ"</string>
<string name="vm_error_message" msgid="5231867246177661525">"ટર્મિનલ ક્રૅશ થયું"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"ડિસ્કનું કદ બદલવું"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"કદ બદલો / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"ડિસ્કનું કદ બદલવું"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"રૂટ પાર્ટિશનનું કદ બદલો"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"ડિસ્કનું કદ સેટ કર્યું"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> સોંપ્યું છે"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"મહત્તમ <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"રદ કરો"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"લાગુ કરવા ફરી શરૂ કરો"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"પોર્ટ ફૉરવર્ડિંગ"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"પોર્ટ ફૉરવર્ડિંગનું કન્ફિગ્યુરેશન કરો"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"ટર્મિનલ નવું પોર્ટ ખોલવાનો પ્રયાસ કરી રહ્યું છે"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"પોર્ટને ખોલવાની વિનંતી કરવામાં આવી: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"લાગુ કરો"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ડિસ્કનું કદ બદલવા માટે ટર્મિનલને ફરી શરુ કરવામાં આવશે"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"કન્ફર્મ કરો"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"ટર્મિનલ નવું પોર્ટ ખોલવા માટે વિનંતી કરી રહ્યું છે"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"પોર્ટની વિનંતી કરવામાં આવી: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"સ્વીકારો"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"નકારો"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"રિકવરી"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"પાર્ટિશન રિકવરીના વિકલ્પો"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"બદલીને પ્રારંભિક વર્ઝન કરો"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"તમામ કાઢી નાખો"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"પાર્ટિશન રિકવરીના વિકલ્પો"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"પ્રારંભિક વર્ઝન પર રીસેટ કરો"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"બધો ડેટા કાઢી નાખો"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"ટર્મિનલ રીસેટ કરો"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ડેટા ડિલીટ કરવામાં આવશે"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"કન્ફર્મ કરો"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ડેટા કાઢી નાખવામાં આવશે"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"રીસેટ કરો"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"રદ કરો"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g> પર ડેટાનું બૅકઅપ લો"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"બૅકઅપ નિષ્ફળ જવાને લીધે રિકવરી નિષ્ફળ રહી"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"બૅકઅપમાં ભૂલને કારણે રિકવર કરવામાં નિષ્ફળ રહ્યાં"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"રિકવરી નિષ્ફળ રહી"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"બૅકઅપ ફાઇલ કાઢી શકતા નથી"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"બૅકઅપ ડેટા કાઢી નાખવામાં નિષ્ફળ રહ્યાં"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"બૅકઅપ ડેટા કાઢી નાખો"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"ક્લિન અપ <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <!-- no translation found for error_title (7196464038692913778) -->
- <skip />
- <!-- no translation found for error_desc (1939028888570920661) -->
- <skip />
- <!-- no translation found for error_code (3585291676855383649) -->
- <skip />
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> કાઢી નાખો"</string>
+ <string name="error_title" msgid="405150657301906598">"ભૂલને કારણે રિકવર કરવો અશક્ય"</string>
+ <string name="error_desc" msgid="1984714179775053347">"ભૂલમાંથી રિકવર કરવામાં નિષ્ફળ રહ્યાં.\nતમે ટર્મિનલને ફરી શરૂ કરવાનો પ્રયાસ કરી શકો છો અથવા રિકવરીના વિકલ્પોમાંથી કોઈ એક અજમાવી શકો છો."</string>
+ <string name="error_code" msgid="3585291676855383649">"ભૂલનો કોડ: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"સેટિંગ"</string>
<string name="service_notification_title" msgid="2918088850910713393">"ટર્મિનલ ચાલી રહ્યું છે"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"ટર્મિનલ ખોલવા માટે ક્લિક કરો"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"ટર્મિનલ ખોલવા માટે ક્લિક કરો"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"બંધ કરો"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> ચાલુ કરેલું છે"</string>
</resources>
diff --git a/android/TerminalApp/res/values-hi/strings.xml b/android/TerminalApp/res/values-hi/strings.xml
index 5fcc177..42241ea 100644
--- a/android/TerminalApp/res/values-hi/strings.xml
+++ b/android/TerminalApp/res/values-hi/strings.xml
@@ -20,55 +20,72 @@
<string name="terminal_display" msgid="4810127497644015237">"टर्मिनल डिसप्ले"</string>
<string name="terminal_input" msgid="4602512831433433551">"कर्सर."</string>
<string name="empty_line" msgid="5012067143408427178">"खाली लाइन"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
+ <skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux टर्मिनल ऐप्लिकेशन इंस्टॉल करें"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux टर्मिनल ऐप्लिकेशन को लॉन्च करने के लिए, आपको इंटरनेट से <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> डेटा डाउनलोड करना होगा.\nक्या आपको आगे बढ़ना है?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"वाई-फ़ाई उपलब्ध होने पर डाउनलोड करें"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux टर्मिनल ऐप्लिकेशन को लॉन्च करने के लिए, आपको इंटरनेट का इस्तेमाल करके <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> डेटा डाउनलोड करना होगा.\nक्या आपको आगे बढ़ना है?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"सिर्फ़ वाई-फ़ाई का इस्तेमाल करके डाउनलोड करें"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"इंस्टॉल करें"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"इंस्टॉल हो रहा"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"नेटवर्क की गड़बड़ी हुई. इंटरनेट कनेक्शन की जांच करें और फिर से कोशिश करें."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"नेटवर्क की किसी गड़बड़ी की वजह से, ऐप्लिकेशन को इंस्टॉल नहीं किया जा सका. अपने इंटरनेट कनेक्शन की जांच करें और दोबारा कोशिश करें."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux टर्मिनल ऐप्लिकेशन इंस्टॉल हो रहा है"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"प्रोसेस पूरी होने के बाद, Linux टर्मिनल ऐप्लिकेशन, इस्तेमाल किया जा सकेगा"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"नेटवर्क की समस्या की वजह से, इंस्टॉल नहीं किया जा सका"</string>
- <string name="installer_error_no_wifi" msgid="8631584648989718121">"वाई-फ़ाई उपलब्ध न होने की वजह से, इंस्टॉल नहीं किया जा सका"</string>
- <string name="installer_error_unknown" msgid="1991780204241177455">"इंस्टॉल नहीं किया जा सका. फिर से कोशिश करें."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"इंस्टॉल पूरा होने के बाद, Linux टर्मिनल चालू हो जाएगा"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"नेटवर्क की किसी समस्या की वजह से, इंस्टॉल नहीं किया जा सका"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"वाई-फ़ाई उपलब्ध न होने की वजह से, इंस्टॉल नहीं किया जा सका"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"इंस्टॉल नहीं किया जा सका. कृपया फिर से कोशिश करें"</string>
<string name="action_settings" msgid="5729342767795123227">"सेटिंग"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"टर्मिनल तैयार किया जा रहा है"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"टर्मिनल को रोका जा रहा है"</string>
<string name="vm_error_message" msgid="5231867246177661525">"टर्मिनल क्रैश हो गया"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"डिस्क का साइज़ बदलें"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"साइज़ बदलें / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"डिस्क का साइज़ बदलें"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"रूट पार्टिशन का साइज़ बदलें"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"डिस्क का साइज़ सेट किया गया"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> असाइन किया गया"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"मैक्सिमम <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"रद्द करें"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"रीस्टार्ट करें"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"पोर्ट फ़ॉरवर्डिंग"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"पोर्ट फ़ॉरवर्डिंग को कॉन्फ़िगर करें"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"टर्मिनल, एक नया पोर्ट खोलने की कोशिश कर रहा है"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"पोर्ट को खोलने का अनुरोध किया गया: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"लागू करें"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"डिस्क का साइज़ बदलने के लिए, टर्मिनल को रीस्टार्ट किया जाएगा"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"पुष्टि करें"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"टर्मिनल, एक नया पोर्ट खोलने का अनुरोध कर रहा है"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"पोर्ट खोलने का अनुरोध किया गया: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"स्वीकार करें"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"अस्वीकार करें"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"इमेज रिकवर करें"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"इमेज के हिस्से को रिकवर करने के विकल्प"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"शुरुआती वर्शन पर स्विच करें"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"सभी हटाएं"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"इमेज के हिस्से को रिकवर करने के विकल्प"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"रीसेट करके शुरुआती वर्शन पर जाएं"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"सारा डेटा हटाएं"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"टर्मिनल रीसेट करें"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"डेटा मिटा दिया जाएगा"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"पुष्टि करें"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"डेटा हटा दिया जाएगा"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"रीसेट करें"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"अभी नहीं"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g> पर डेटा का बैक अप लें"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"बैकअप पूरा न होने की वजह से, रिकवर नहीं किया जा सका"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"बैकअप लेने में हुई गड़बड़ी की वजह से, डेटा वापस नहीं पाया जा सका"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"रिकवर नहीं किया जा सका"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"बैकअप फ़ाइल को हटाया नहीं जा सकता"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"बैकअप डेटा नहीं हटाया जा सका"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"बैकअप डेटा हटाएं"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> का बैकअप डेटा हटाएं"</string>
- <string name="error_title" msgid="7196464038692913778">"वह गड़बड़ी जिसकी वजह से डेटा वापस नहीं पाया जा सकता"</string>
- <string name="error_desc" msgid="1939028888570920661">"गड़बड़ी ठीक नहीं की जा सकी.\nऐप्लिकेशन को रीस्टार्ट करने की कोशिश करें या गड़बड़ी ठीक करने का कोई विकल्प आज़माएं."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> को हटाएं"</string>
+ <string name="error_title" msgid="405150657301906598">"ऐसी गड़बड़ी जिसकी वजह से डेटा वापस नहीं पाया जा सकता"</string>
+ <string name="error_desc" msgid="1984714179775053347">"इस गड़बड़ी की वजह से डेटा वापस नहीं पाया जा सका.\nटर्मिनल ऐप्लिकेशन को रीस्टार्ट करने की कोशिश करें या गड़बड़ी ठीक करने का कोई विकल्प आज़माएं."</string>
<string name="error_code" msgid="3585291676855383649">"गड़बड़ी का कोड: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"सेटिंग"</string>
<string name="service_notification_title" msgid="2918088850910713393">"टर्मिनल चालू है"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"टर्मिनल खोलने के लिए क्लिक करें"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"टर्मिनल खोलने के लिए क्लिक करें"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"बंद करें"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> चालू है"</string>
</resources>
diff --git a/android/TerminalApp/res/values-hr/strings.xml b/android/TerminalApp/res/values-hr/strings.xml
index 686492c..3c379fe 100644
--- a/android/TerminalApp/res/values-hr/strings.xml
+++ b/android/TerminalApp/res/values-hr/strings.xml
@@ -17,65 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Zaslon terminala"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Pokazivač"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Prazan redak"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Instalirajte Linux terminal"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Da biste pokrenuli Linux terminal, trebate preuzeti otprilike <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> podataka putem mreže.\nŽelite li nastaviti?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Preuzmi kada Wi-Fi bude dostupan"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Da biste pokrenuli Linux terminal, trebate preuzeti oko <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> podataka putem mreže.\nŽelite li nastaviti?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Preuzimanje samo putem Wi-Fi mreže"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instaliraj"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Instaliranje"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Mrežna pogreška. Provjerite vezu i pokušajte ponovo."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Instaliranje nije uspjelo zbog mrežne pogreške. Provjerite vezu i pokušajte ponovo."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Instaliranje Linux terminala"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux terminal pokrenut će se nakon završetka"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Instalacija nije uspjela zbog problema s mrežom"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Instaliranje nije uspjelo. Pokušajte ponovo."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux terminal pokrenut će se nakon završetka instaliranja"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Instaliranje nije uspjelo zbog problema s mrežom"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Instaliranje nije uspjelo jer Wi-Fi nije dostupan"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Instaliranje nije uspjelo. Pokušajte ponovo"</string>
<string name="action_settings" msgid="5729342767795123227">"Postavke"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Priprema terminala"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Zaustavljanje terminala"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminal se srušio"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Promjena veličine diska"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Promjena veličine/rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Promjena veličine diska"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Promjena veličine korijenske particije"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Veličina diska je postavljena"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Dodijeljeno: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maks. <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Odustani"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Ponovo pokrenite za primjenu"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Prosljeđivanje priključka"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Konfiguriranje prosljeđivanja priključka"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal pokušava otvoriti novi priključak"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Zatraženo je otvaranje priključka: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Primijeni"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal će se ponovo pokrenuti da bi se promijenila veličina diska"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Potvrdi"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal zahtijeva da se otvori novi priključak"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Zatraženi priključak: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Prihvati"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Odbij"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Oporavak"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opcije oporavka particije"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Vrati na početnu verziju"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Ukloni sve"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opcije oporavka particije"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Vraćanje na početnu verziju"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Uklanjanje svih podataka"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Poništavanje terminala"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Podaci će se izbrisati"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Potvrdi"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Podaci će se ukloniti"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Poništi"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Odustani"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Sigurnosno kopiranje podataka u <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Oporavak nije uspio jer sigurnosno kopiranje nije uspjelo"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Oporavak nije uspio zbog pogreške sigurnosnog kopiranja"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Oporavak nije uspio"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Datoteka sigurnosne kopije ne može se ukloniti"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Uklanjanje podataka sigurnosne kopije nije uspjelo"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Ukloni podatke sigurnosne kopije"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Izbriši <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <!-- no translation found for error_title (7196464038692913778) -->
- <skip />
- <!-- no translation found for error_desc (1939028888570920661) -->
- <skip />
- <!-- no translation found for error_code (3585291676855383649) -->
- <skip />
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Uklanjanje puta <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Nepopravljiva pogreška"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Oporavak od pogreške nije uspio.\nMožete pokušati ponovo pokrenuti terminal ili isprobajte jednu od opcija oporavka."</string>
+ <string name="error_code" msgid="3585291676855383649">"Kôd pogreške: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Postavke"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminal je pokrenut"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Kliknite da biste otvorili terminal"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Kliknite da biste otvorili terminal"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Zatvori"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"Omogućeno je: <xliff:g id="ID_1">VirGL</xliff:g>"</string>
</resources>
diff --git a/android/TerminalApp/res/values-hu/strings.xml b/android/TerminalApp/res/values-hu/strings.xml
index 892de69..e59743e 100644
--- a/android/TerminalApp/res/values-hu/strings.xml
+++ b/android/TerminalApp/res/values-hu/strings.xml
@@ -20,55 +20,72 @@
<string name="terminal_display" msgid="4810127497644015237">"Terminálkijelző"</string>
<string name="terminal_input" msgid="4602512831433433551">"Kurzor"</string>
<string name="empty_line" msgid="5012067143408427178">"Üres sor"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
+ <skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux-terminál telepítése"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"A Linux-terminál elindításához körülbelül <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> adatmennyiséget kell letöltenie a hálózaton keresztül.\nFolytatja?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Letöltés, ha rendelkezésre áll Wi-Fi-kapcsolat"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"A Linux-terminál elindításához körülbelül <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> adatmennyiséget kell letöltenie a hálózaton keresztül.\nFolytatja?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Letöltés csak Wi-Fi-kapcsolattal"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Telepítés"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Telepítés…"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Hálózati hiba. Ellenőrizze a kapcsolatot, majd próbálja újra."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Hálózati hiba miatt nem sikerült a telepítés. Ellenőrizze a kapcsolatot, majd próbálkozzon újra."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux-terminál telepítése…"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"A Linux-terminál a befejezés után indul el"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Hálózati probléma miatt nem sikerült a telepítés"</string>
- <string name="installer_error_no_wifi" msgid="8631584648989718121">"Nem sikerült a telepítés, mert nincs Wi-Fi-kapcsolat"</string>
- <string name="installer_error_unknown" msgid="1991780204241177455">"Nem sikerült a telepítés. Próbálkozzon újra."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"A Linux-terminál a telepítés befejezése után indul el"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Hálózati probléma miatt nem sikerült a telepítés"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Nem sikerült a telepítés, mert nincs Wi-Fi-kapcsolat"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Nem sikerült a telepítés. Próbálkozzon újra."</string>
<string name="action_settings" msgid="5729342767795123227">"Beállítások"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"A terminál előkészítése…"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"A terminál leállítása…"</string>
<string name="vm_error_message" msgid="5231867246177661525">"A terminál összeomlott"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Lemez átméretezése"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Átméretezés/Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Lemez átméretezése"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"A gyökérpartíció átméretezése"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Lemezméret beállítva"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> hozzárendelve"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maximum: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Mégse"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Újraindítás az alkalmazáshoz"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Portátirányítás"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Portátirányítás konfigurálása"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"A Terminal új portot próbál megnyitni"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"A megnyitni kívánt port: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Alkalmazás"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"A lemez átméretezése miatt a terminál újraindul"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Megerősítés"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"A terminál új port megnyitását kéri"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Kért port: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Elfogadás"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Elutasítás"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Helyreállítás"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Partíció-helyreállítási lehetőségek"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Váltás az eredeti verzióra"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Az összes eltávolítása"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Partíció-helyreállítási lehetőségek"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Visszaállítás az eredeti verzióra"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Összes adat eltávolítása"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Terminál visszaállítása"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Az adatok törlődni fognak"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Megerősítés"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Az adatok el lesznek távolítva"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Visszaállítás"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Mégse"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Adatok biztonsági mentése ide: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"A helyreállítás sikertelen volt, mert a biztonsági mentés nem sikerült"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"A helyreállítás a biztonsági mentés hibája miatt sikertelen volt"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Sikertelen helyreállítás"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Nem sikerült eltávolítani a biztonságimentés-fájlt"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"A biztonsági másolat adatainak eltávolítása sikertelen volt"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Biztonsági másolat adatainak eltávolítása"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"A(z) <xliff:g id="PATH">/mnt/backup</xliff:g> útvonalon lévő adatok eltávolítása"</string>
- <string name="error_title" msgid="7196464038692913778">"Helyrehozhatatlan hiba"</string>
- <string name="error_desc" msgid="1939028888570920661">"Nem sikerült a hiba utáni helyreállítás.\nPróbálkozhat az alkalmazás újraindításával, vagy kipróbálhatja valamelyik helyreállítási lehetőséget."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> eltávolítása"</string>
+ <string name="error_title" msgid="405150657301906598">"Helyrehozhatatlan hiba"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Nem sikerült a hiba utáni helyreállítás.\nPróbálkozhat a terminál újraindításával, vagy kipróbálhatja valamelyik helyreállítási lehetőséget."</string>
<string name="error_code" msgid="3585291676855383649">"Hibakód: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Beállítások"</string>
<string name="service_notification_title" msgid="2918088850910713393">"A terminál fut"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Kattintson a terminál megnyitásához"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Kattintson a terminál megnyitásához"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Bezárás"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"A(z) <xliff:g id="ID_1">VirGL</xliff:g> engedélyezve van"</string>
</resources>
diff --git a/android/TerminalApp/res/values-hy/strings.xml b/android/TerminalApp/res/values-hy/strings.xml
index 5a2f90d..9e29d72 100644
--- a/android/TerminalApp/res/values-hy/strings.xml
+++ b/android/TerminalApp/res/values-hy/strings.xml
@@ -17,65 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Տերմինալ"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Տերմինալի էկրան"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Նշորդ"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Դատարկ տող"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Լինուքս տերմինալի տեղադրում"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Լինուքս տերմինալը գործարկելու համար անհրաժեշտ է ցանցի միջոցով ներբեռնել մոտ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> տվյալ։\nՇարունակե՞լ։"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Ներբեռնել, երբ սարքը միանա Wi-Fi-ին"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Լինուքս տերմինալը գործարկելու համար անհրաժեշտ է ցանցի միջոցով ներբեռնել մոտ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> տվյալ։\nՇարունակե՞լ։"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Ներբեռնել միայն Wi-Fi-ով"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Տեղադրել"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Տեղադրվում է"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Ցանցի սխալ։ Ստուգեք կապը և նորից փորձեք։"</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Տեղադրումը ձախողվեց ցանցի սխալի պատճառով։ Ստուգեք կապը և նորից փորձեք։"</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Լինուքս տերմինալը տեղադրվում է"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Ավարտից հետո Լինուքս տերմինալը կգործարկվի"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Տեղադրումը ձախողվեց ցանցի հետ կապված խնդրի պատճառով"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Չհաջողվեց տեղադրել: Նորից փորձեք։"</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Լինուքս տերմինալը կգործարկվի տեղադրման ավարտից հետո"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Տեղադրումը ձախողվեց ցանցի հետ կապված խնդրի պատճառով"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Չհաջողվեց տեղադրել, քանի որ Wi-Fi ցանցը հասանելի չէ"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Չհաջողվեց տեղադրել: Նորից փորձեք"</string>
<string name="action_settings" msgid="5729342767795123227">"Կարգավորումներ"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Տերմինալի նախապատրաստում"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Տերմինալը կանգնեցվում է"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Տերմինալը խափանվել է"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Սկավառակի չափափոխում"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Չափափոխում / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Սկավառակի չափի փոխում"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Փոխել արմատային բաժնի չափը"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Սկավառակի չափսը սահմանված է"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Հատկացված է <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Առավելագույնը՝ <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Չեղարկել"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Կիրառելու համար վերագործարկեք"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Միացքի փոխանցում"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Միացքի փոխանցման կազմաձևում"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Տերմինալը փորձում է նոր միացք բացել"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Միացքը, որը պահանջվում է բացել՝ <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Կիրառել"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Տերմինալը կվերագործարկվի սկավառակի չափը փոխելու համար"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Հաստատել"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Տերմինալը խնդրում է նոր միացք բացել"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Հարցված միացքը՝ <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Ընդունել"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Մերժել"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Վերականգնում"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Բաժնի վերականգնման տարբերակներ"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Նախնական տարբերակի վերականգնում"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Հեռացնել բոլորը"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Բաժնի վերականգնման տարբերակներ"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Վերականգնել նախնական տարբերակը"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Հեռացնել բոլոր տվյալները"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Տերմինալի վերակայում"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Տվյալները կջնջվեն"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Հաստատել"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Տվյալները կհեռացվեն"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Վերակայել"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Չեղարկել"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Պահուստավորել տվյալները այստեղ՝ <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Պահուստավորման խափանման պատճառով չհաջողվեց վերականգնել"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Պահուստավորման խնդրի պատճառով չհաջողվեց վերականգնել"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Չհաջողվեց վերականգնել"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Հնարավոր չէ հեռացնել պահուստային կրկնօրինակի ֆայլը"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Չհաջողվեց հեռացնել պահուստավորված տվյալները"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Հեռացնել պահուստավորված տվյալները"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Մաքրել ուղին՝ <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <!-- no translation found for error_title (7196464038692913778) -->
- <skip />
- <!-- no translation found for error_desc (1939028888570920661) -->
- <skip />
- <!-- no translation found for error_code (3585291676855383649) -->
- <skip />
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Հեռացնել <xliff:g id="PATH">/mnt/backup</xliff:g>ը"</string>
+ <string name="error_title" msgid="405150657301906598">"Հնարավոր չէ վերականգնել"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Չհաջողվեց վերացնել սխալը։\nՎերագործարկեք տերմինալը կամ փորձեք վերականգնման տարբերակներից մեկը։"</string>
+ <string name="error_code" msgid="3585291676855383649">"Սխալի կոդը՝ <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Կարգավորումներ"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Տերմինալն աշխատում է"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Սեղմեք՝ տերմինալը բացելու համար"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Սեղմեք՝ տերմինալը բացելու համար"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Փակել"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g>-ը միացված է"</string>
</resources>
diff --git a/android/TerminalApp/res/values-in/strings.xml b/android/TerminalApp/res/values-in/strings.xml
index 068a693..e1d9679 100644
--- a/android/TerminalApp/res/values-in/strings.xml
+++ b/android/TerminalApp/res/values-in/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Tampilan terminal"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Kursor"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Baris kosong"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Instal terminal Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Untuk meluncurkan terminal Linux, Anda perlu mendownload sekitar <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> data melalui jaringan.\nApakah Anda ingin melanjutkan?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Download saat Wi-Fi tersedia"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Untuk meluncurkan terminal Linux, Anda perlu mendownload sekitar <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> data melalui jaringan.\nApakah Anda ingin melanjutkan?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Hanya download melalui Wi-Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instal"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Menginstal"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Error jaringan. Periksa koneksi dan coba lagi."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Gagal menginstal karena ada error jaringan. Periksa koneksi dan coba lagi."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Menginstal terminal Linux"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Terminal Linux akan dimulai setelah penginstalan selesai"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Gagal menginstal karena ada masalah jaringan"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Gagal menginstal. Coba lagi."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Terminal Linux akan dimulai setelah penginstalan selesai"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Gagal menginstal karena ada masalah jaringan"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Gagal menginstal karena Wi-Fi tidak tersedia"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Gagal menginstal. Coba lagi"</string>
<string name="action_settings" msgid="5729342767795123227">"Setelan"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Menyiapkan terminal"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Menghentikan terminal"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminal error"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Ubah Ukuran Disk"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Ubah ukuran / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Ubah ukuran disk"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Mengubah ukuran partisi root"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Ukuran disk ditetapkan"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> ditetapkan"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maks <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Batal"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Mulai ulang untuk menerapkan"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Penerusan Port"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Konfigurasi penerusan port"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal mencoba membuka port baru"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port yang diminta untuk dibuka: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Terapkan"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal akan dimulai ulang untuk mengubah ukuran disk"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Konfirmasi"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal meminta untuk membuka port baru"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Port yang diminta: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Terima"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Tolak"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Pemulihan"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opsi Pemulihan Partisi"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Ubah ke Versi awal"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Hapus semua"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opsi pemulihan partisi"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Reset ke versi awal"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Hapus semua data"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Reset terminal"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Data akan dihapus"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Konfirmasi"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Data akan dihapus"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Reset"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Batal"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Cadangkan data ke <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Pemulihan gagal karena pencadangan gagal"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Gagal memulihkan karena ada error pencadangan"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Pemulihan gagal"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Tidak dapat menghapus file cadangan"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Gagal menghapus data cadangan"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Hapus data cadangan"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Membersihkan <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Error yang Tidak Dapat Dipulihkan"</string>
- <string name="error_desc" msgid="1939028888570920661">"Gagal memulihkan dari error.\nAnda dapat mencoba memulai ulang aplikasi, atau mencoba salah satu opsi pemulihan."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Hapus <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Error yang tidak dapat dipulihkan"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Gagal memulihkan dari error.\nAnda dapat mencoba memulai ulang terminal atau mencoba salah satu opsi pemulihan."</string>
<string name="error_code" msgid="3585291676855383649">"Kode error: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Setelan"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminal sedang berjalan"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Klik untuk membuka terminal"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Klik untuk membuka terminal"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Tutup"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> diaktifkan"</string>
</resources>
diff --git a/android/TerminalApp/res/values-is/strings.xml b/android/TerminalApp/res/values-is/strings.xml
index e50b1b6..b6a8651 100644
--- a/android/TerminalApp/res/values-is/strings.xml
+++ b/android/TerminalApp/res/values-is/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Útstöð"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Skjár útstöðvar"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Bendill"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Auð lína"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Setja upp Linux-útstöð"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Til að ræsa Linux-útstöð þarftu að sækja um <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> af gögnum yfir netkerfi.\nViltu halda áfram?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Sækja þegar Wi-Fi er tiltækt"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Þú þarft að sækja um <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> af gögnum í gegnum netið til að ræsa Linux-útstöð.\nViltu halda áfram?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Sækja með Wi-Fi eingöngu"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Setja upp"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Setur upp"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Netkerfisvilla. Athugaðu tenginguna og reyndu aftur."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Uppsetning tókst ekki sökum netkerfisvillu. Athugaðu tenginguna og reyndu aftur."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Setur upp Linux-útstöð"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux-útstöð verður ræst þegar því lýkur"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Tókst ekki að setja upp vegna netkerfisvandamáls"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Tókst ekki að setja upp. Reyndu aftur."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux-útstöð ræsist að uppsetningu lokinni"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Uppsetning tókst ekki sökum netkerfisvillu"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Uppsetning tókst ekki vegna þess að Wi-Fi er ekki tiltækt"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Uppsetning tókst ekki. Reyndu aftur"</string>
<string name="action_settings" msgid="5729342767795123227">"Stillingar"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Undirbýr útstöð"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Stöðvar tengi"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Tengi hrundi"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Breyta stærð disks"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Breyta stærð / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Breyta stærð disks"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Breyta stærð rótardeildar"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Stærð disks stillt"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> úthlutað"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> hámark"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Hætta við"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Endurræsa til að nota"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Framsending gáttar"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Stilla framsendingu gáttar"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Útstöð er að reyna að opna nýtt tengi"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Tengi sem beðið er um að sé opið: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Nota"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Útstöðin verður endurræst til að breyta stærk disks"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Staðfesta"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Útstöðin bað um að opna nýja gátt"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Beiðni um gátt: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Samþykkja"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Hafna"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Endurheimt"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Endurheimtarkostir deildar"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Breyta í upphaflega útgáfu"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Fjarlægja allt"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Endurheimtarkostir deildar"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Endurstilla í upprunalega útgáfu"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Fjarlægja öll gögn"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Endurstilla útstöð"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Gögnum verður eytt"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Staðfesta"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Gögn verða fjarlægð"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Endurstilla"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Hætta við"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Afrita gögn á <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Endurheimt mistókst vegna þess að öryggisafritun mistókst"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Endurheimt tókst ekki sökum afritunarvillu"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Endurheimt mistókst"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Ekki er hægt að fjarlægja öryggisafrit"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Ekki tókst að fjarlægja afrituð gögn"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Fjarlægja afrituð gögn"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Hreinsa <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Óleiðréttanleg villa"</string>
- <string name="error_desc" msgid="1939028888570920661">"Ekki tókst að endurheimta eftir villu.\nÞú getur reynt að endurræsa forritið eða prófað einn af endurheimtarkostunum."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Fjarlægja <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Óleiðréttanleg villa"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Ekki tókst að endurheimta eftir villu.\nÞú getur prófað að endurræsa útstöðina eða velja einn af endurheimtarkostunum."</string>
<string name="error_code" msgid="3585291676855383649">"Villukóði: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Stillingar"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Útstöð er í gangi"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Smelltu til að opna útstöðina"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Smelltu til að opna útstöðina"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Loka"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"Kveikt er á <xliff:g id="ID_1">VirGL</xliff:g>"</string>
</resources>
diff --git a/android/TerminalApp/res/values-it/strings.xml b/android/TerminalApp/res/values-it/strings.xml
index 1f99326..9a23727 100644
--- a/android/TerminalApp/res/values-it/strings.xml
+++ b/android/TerminalApp/res/values-it/strings.xml
@@ -20,58 +20,72 @@
<string name="terminal_display" msgid="4810127497644015237">"Display terminale"</string>
<string name="terminal_input" msgid="4602512831433433551">"Cursore"</string>
<string name="empty_line" msgid="5012067143408427178">"Riga vuota"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
+ <skip />
<string name="installer_title_text" msgid="500663060973466805">"Installa terminale Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Per avviare il terminale Linux, devi scaricare circa <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> di dati tramite la rete.\nContinuare?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Scarica quando è disponibile una rete Wi-Fi"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Per avviare il terminale Linux, devi scaricare circa <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> di dati tramite la rete.\nContinuare?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Scarica solo tramite Wi-Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Installa"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installazione"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Errore di rete. Controlla la connessione e riprova."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Impossibile installare a causa di un errore di rete. Controlla la connessione e riprova."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Installazione del terminale Linux in corso…"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Il terminale Linux verrà avviato al termine"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Installazione non riuscita a causa di un problema di rete"</string>
- <string name="installer_error_no_wifi" msgid="8631584648989718121">"Impossibile installare: Wi-Fi non disponibile"</string>
- <string name="installer_error_unknown" msgid="1991780204241177455">"Installazione non riuscita. Riprova."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Il terminale Linux verrà avviato al termine dell\'installazione"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Installazione non riuscita a causa di un problema di rete"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Impossibile installare: Wi-Fi non disponibile"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Installazione non riuscita. Riprova"</string>
<string name="action_settings" msgid="5729342767795123227">"Impostazioni"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Preparazione terminale in corso…"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Arresto del terminale in corso…"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Arresto anomalo del terminale"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Ridimensionamento disco"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Ridimensiona/rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Ridimensionamento disco"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Ridimensiona la partizione root"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Dimensioni disco impostate"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Assegnato: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Massimo: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Annulla"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Riavvia per applic."</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Port forwarding"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configura port forwarding"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Il terminale sta tentando di aprire una nuova porta"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Porta di cui è stata richiesta l\'apertura: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Applica"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Il terminale verrà riavviato per ridimensionare il disco"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Conferma"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Il terminale sta chiedendo di aprire una nuova porta"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Porta richiesta: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Accetta"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Rifiuta"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Ripristino"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opzioni ripristino partizione"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Torna alla versione iniziale"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Rimuovi tutto"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opzioni di recupero partizione"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Ripristina la versione iniziale"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Rimuovi tutti i dati"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Reimposta il terminale"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"I dati verranno eliminati"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Conferma"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"I dati verranno rimossi"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Reimposta"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Annulla"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Esegui il backup dei dati su <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Recupero non riuscito a causa di un errore di backup"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Impossibile recuperare a causa di un errore di backup"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Recupero non riuscito"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Impossibile rimuovere il file di backup"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Impossibile rimuovere i dati di backup"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Rimuovi i dati di backup"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Pulisci <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <!-- no translation found for error_title (7196464038692913778) -->
- <skip />
- <!-- no translation found for error_desc (1939028888570920661) -->
- <skip />
- <!-- no translation found for error_code (3585291676855383649) -->
- <skip />
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Rimuovi <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Errore irreversibile"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Impossibile recuperare da un errore.\nPuoi provare a riavviare il terminale o a utilizzare un\'opzione di recupero."</string>
+ <string name="error_code" msgid="3585291676855383649">"Codice di errore: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Impostazioni"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Il terminale è in esecuzione"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Tocca per aprire il terminale"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Fai clic per aprire il terminale"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Chiudi"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> è abilitata"</string>
</resources>
diff --git a/android/TerminalApp/res/values-iw/strings.xml b/android/TerminalApp/res/values-iw/strings.xml
index 5c1037d..0d0b2d9 100644
--- a/android/TerminalApp/res/values-iw/strings.xml
+++ b/android/TerminalApp/res/values-iw/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"טרמינל"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"תצוגת טרמינל"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"סמן"</string>
+ <string name="empty_line" msgid="5012067143408427178">"שורה ריקה"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"התקנה של טרמינל Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"כדי להפעיל את טרמינל Linux, צריך להוריד נתונים בנפח של בערך <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> דרך הרשת.\nלהמשיך?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"הורדה כשיהיה חיבור ל-Wi-Fi"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"כדי להפעיל את טרמינל Linux, צריך להוריד נתונים בנפח של בערך <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> דרך הרשת.\nלהמשיך?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"הורדה רק באמצעות Wi-Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"התקנה"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"בתהליך התקנה"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"שגיאה בחיבור לרשת. צריך לבדוק את החיבור ולנסות שוב."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"ההתקנה נכשלה בגלל שגיאה בחיבור לרשת. מומלץ לבדוק את החיבור ולנסות שוב."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"מתבצעת התקנה של טרמינל Linux"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"טרמינל Linux יופעל אחרי שההתקנה תסתיים"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"ההתקנה נכשלה בגלל בעיה ברשת"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"ההתקנה נכשלה. אפשר לנסות שוב."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"טרמינל Linux יופעל בסיום ההתקנה"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"ההתקנה נכשלה בגלל בעיה ברשת"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"ההתקנה נכשלה כי אין חיבור ל-Wi-Fi"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"ההתקנה נכשלה. אפשר לנסות שוב."</string>
<string name="action_settings" msgid="5729342767795123227">"הגדרות"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"הטרמינל בהכנה"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"המערכת עוצרת את הטרמינל"</string>
<string name="vm_error_message" msgid="5231867246177661525">"הטרמינל קרס"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"שינוי גודל הדיסק"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"שינוי הגודל / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"שינוי גודל הדיסק"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"שינוי גודל של מחיצת השורש"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"גודל הדיסק הוגדר"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"הוקצו <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"מקסימום <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"ביטול"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"צריך להפעיל מחדש כדי להחיל את השינוי"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"העברה ליציאה אחרת"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"הגדרת העברה ליציאה אחרת"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"הטרמינל מנסה לפתוח יציאה חדשה"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"נשלחה בקשה לפתיחת היציאה: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"אישור"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"הטרמינל יופעל מחדש כדי שגודל הדיסק ישתנה"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"אישור"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"הטרמינל מבקש לפתוח יציאה חדשה"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"נשלחה בקשה ליציאה: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"אישור"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"דחייה"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"שחזור"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"אפשרויות שחזור של המחיצה"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"שינוי לגרסה הראשונית"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"הסרת הכול"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"אפשרויות השחזור של המחיצה"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"איפוס לגרסה הראשונית"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"הסרת כל הנתונים"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"אתחול הטרמינל"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"הנתונים יימחקו"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"אישור"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"הנתונים יוסרו"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"איפוס"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"ביטול"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"גיבוי הנתונים בנתיב <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"השחזור נכשל כי הגיבוי נכשל"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"השחזור נכשל בגלל שגיאה בגיבוי"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"השחזור נכשל"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"אי אפשר להסיר את קובץ הגיבוי"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"ההסרה של נתוני הגיבוי נכשלה"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"הסרת נתוני הגיבוי"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"פינוי של <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"שגיאה שבעקבותיה אי אפשר לשחזר"</string>
- <string name="error_desc" msgid="1939028888570920661">"השחזור נכשל בגלל שגיאה.\nאפשר להפעיל מחדש את האפליקציה או לנסות אחת מאפשרויות השחזור."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"הסרה של <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"שגיאה שבעקבותיה אי אפשר לשחזר"</string>
+ <string name="error_desc" msgid="1984714179775053347">"השחזור נכשל בגלל שגיאה.\nאפשר להפעיל מחדש את הטרמינל או לנסות אחת מאפשרויות השחזור."</string>
<string name="error_code" msgid="3585291676855383649">"קוד שגיאה: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"הגדרות"</string>
<string name="service_notification_title" msgid="2918088850910713393">"הטרמינל פועל"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"צריך ללחוץ כדי לפתוח את הטרמינל"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"כדי לפתוח את הטרמינל, צריך ללחוץ כאן"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"סגירה"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> מופעל"</string>
</resources>
diff --git a/android/TerminalApp/res/values-ja/strings.xml b/android/TerminalApp/res/values-ja/strings.xml
index e4a9cd7..b100d77 100644
--- a/android/TerminalApp/res/values-ja/strings.xml
+++ b/android/TerminalApp/res/values-ja/strings.xml
@@ -20,55 +20,72 @@
<string name="terminal_display" msgid="4810127497644015237">"ターミナルの表示"</string>
<string name="terminal_input" msgid="4602512831433433551">"カーソル"</string>
<string name="empty_line" msgid="5012067143408427178">"空の行"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
+ <skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux ターミナルをインストールする"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux ターミナルを起動するには、ネットワーク経由で約 <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> のデータのダウンロードが必要です。\n続行しますか?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Wi-Fi 接続時にダウンロード"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux ターミナルを起動するには、ネットワーク経由で約 <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> のデータのダウンロードが必要です。\n続行しますか?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Wi-Fi 使用時にのみダウンロードする"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"インストール"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"インストール中"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"ネットワーク エラーです。接続を確認し、もう一度お試しください。"</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"ネットワーク エラーが発生したため、インストールできませんでした。接続を確認してから、もう一度お試しください。"</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux ターミナルのインストール"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"完了後に Linux ターミナルが起動します"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"ネットワークの問題によりインストールできませんでした"</string>
- <string name="installer_error_no_wifi" msgid="8631584648989718121">"Wi-Fi が利用できないため、インストールできませんでした"</string>
- <string name="installer_error_unknown" msgid="1991780204241177455">"インストールできませんでした。もう一度お試しください。"</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"インストールが完了すると Linux ターミナルが起動します"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"ネットワークの問題によりインストールできませんでした"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Wi-Fi が利用できないためインストールできませんでした"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"インストールできませんでした。もう一度お試しください"</string>
<string name="action_settings" msgid="5729342767795123227">"設定"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"ターミナルを準備しています"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"ターミナルを停止しています"</string>
<string name="vm_error_message" msgid="5231867246177661525">"ターミナルがクラッシュしました"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"ディスクサイズを変更"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"サイズ変更 / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"ディスクサイズを変更"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"ルート パーティションのサイズを変更"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"ディスクサイズを設定しました"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> 割り当て済み"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"最大 <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"キャンセル"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"再起動して適用"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"ポート転送"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"ポート転送を設定する"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"ターミナルが新しいポートを開こうとしています"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"開くようリクエストされたポート: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"適用"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ディスクのサイズを変更するためにターミナルが再起動します"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"確認"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"ターミナルが新しいポートを開くリクエストをしました"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"移行リクエスト済み: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"許可する"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"許可しない"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"リカバリ"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"パーティション復元オプション"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"最初のバージョンに変更"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"すべて削除"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"パーティション復元オプション"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"最初のバージョンにリセット"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"データをすべて削除"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"ターミナルのリセット"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"データは削除されます"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"確認"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"データは削除されます"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"リセット"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"キャンセル"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g> にデータをバックアップする"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"バックアップに失敗したため、復元できませんでした"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"バックアップ エラーのため復元できませんでした"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"復元できませんでした"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"バックアップ ファイルを削除できません"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"バックアップ データを削除できませんでした"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"バックアップ データの削除"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> をクリーンアップする"</string>
- <string name="error_title" msgid="7196464038692913778">"修復不可能なエラー"</string>
- <string name="error_desc" msgid="1939028888570920661">"エラーを修復できませんでした。\nアプリを再起動するか、いずれかの復元オプションをお試しください。"</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> を削除"</string>
+ <string name="error_title" msgid="405150657301906598">"修復不可能なエラー"</string>
+ <string name="error_desc" msgid="1984714179775053347">"エラーを修復できませんでした。\nターミナルを再起動するか、いずれかの復元オプションをお試しください。"</string>
<string name="error_code" msgid="3585291676855383649">"エラーコード: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"設定"</string>
<string name="service_notification_title" msgid="2918088850910713393">"ターミナルは実行中です"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"クリックするとターミナルが開きます"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"クリックするとターミナルが開きます"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"閉じる"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g>は有効です"</string>
</resources>
diff --git a/android/TerminalApp/res/values-ka/strings.xml b/android/TerminalApp/res/values-ka/strings.xml
index 44ad145..fe11adb 100644
--- a/android/TerminalApp/res/values-ka/strings.xml
+++ b/android/TerminalApp/res/values-ka/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"ტერმინალი"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"ტერმინალის წარმოჩენა"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"კურსორი"</string>
+ <string name="empty_line" msgid="5012067143408427178">"ცარიელი სტრიქონი"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux ტერმინალის ინსტალაცია"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux ტერმინალის გაშვებისთვის საჭიროა ქსელიდან ჩამოტვირთოთ დაახლოებით <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ზომის მონაცემები.\nგსურთ გაგრძელება?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"ჩამოტვირთვა Wi-Fi კავშირის ხელმისაწვდომობისას"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux ტერმინალის გაშვებისთვის საჭიროა ქსელიდან ჩამოტვირთოთ დაახლოებით <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ზომის მონაცემები.\nგსურთ გაგრძელება?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"ჩამოტვირთვა მხოლოდ Wi-Fi-ს გამოყენებით"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ინსტალაცია"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"ინსტალირდება"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"ქსელის შეცდომა. შეამოწმეთ კავშირი და ცადეთ ხელახლა."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"ქსელის შეცდომის გამო ვერ მოხერხდა ინსტალაცია. შეამოწმეთ კავშირი და ცადეთ ხელახლა."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"მიმდინარეობს Linux ტერმინალის ინსტალაცია"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"დასრულების შემდეგ დაიწყება Linux ტერმინალის ინსტალაცია"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"ქსელის შეცდომის გამო ვერ მოხერხდა ინსტალაცია"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"ვერ მოახერხდა ინსტალაცია. ცადეთ ხელახლა."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"ინსტალაციის დასრულების შემდეგ გაეშვება Linux ტერმინალი"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"ქსელის პრობლემის გამო ვერ მოხერხდა ინსტალაცია"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Wi-Fi მიუწვდომელია, ამიტომ ინსტალაცია ვერ მოხერხდა"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"ვერ მოახერხდა ინსტალაცია. გთხოვთ, ცადოთ ხელახლა"</string>
<string name="action_settings" msgid="5729342767795123227">"პარამეტრები"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"მიმდინარეობს ტერმინალის მომზადება"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"მიმდინარეობს ტერმინალის შეწყვეტა"</string>
<string name="vm_error_message" msgid="5231867246177661525">"ტერმინალი გაჭედილია"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"დისკის ზომის შეცვლა"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"ზომის შეცვლა / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"დისკის ზომის შეცვლა"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"ძირეული დანაყოფის ზომის შეცვლა"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"დისკის ზომა დაყენებულია"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> მიმაგრებულია"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"მაქსიმალური ზომა: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"გაუქმება"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"ასამოქმედებლად გადატვირთეთ"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"პორტის გადამისამართება"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"პორტის გადამისამართების კონფიგურაცია"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"ტერმინალი ცდილობს ახალი პორტის გახსნას"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"პორტმა მოითხოვა, რომ იყოს გახსნილი: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"გამოყენება"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"დისკის ზომის შესაცვლელად გადაიტვირთება ტერმინალი"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"დადასტურება"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"ტერმინალი ითხოვს ახალი პორტის გახსნას"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"მოთხოვნილი პორტი: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"დათანხმება"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"უარყოფა"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"აღდგენა"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"დანაყოფის აღდგენის ვარიანტები"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"საწყის ვერსიაზე შეცვლა"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"ყველას ამოშლა"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"დანაყოფის აღდგენის ვარიანტები"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"საწყის ვერსიაზე გადაყენება"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"ყველა მონაცემის ამოშლა"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"ტერმინალის გადაყენება"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"მონაცემები წაიშლება"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"დადასტურება"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"მონაცემები ამოიშლება"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"გადაყენება"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"გაუქმება"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"მონაცემების სარეზერვო ასლის შექმნა <xliff:g id="PATH">/mnt/backup</xliff:g>-ზე"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"აღდგენა ვერ მოხერხდა, რადგან სარეზერვო კოპირება ვერ განხორციელდა"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"სარეზერვო ასლის შეცდომის გამო აღდგენა ვერ მოხერხდა"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"აღდგენა ვერ მოხერხდა"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"სარეზერვო ასლის ფაილის ამოშლა ვერ ხერხდება"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"სარეზერვო ასლის მონაცემების ამოშლა ვერ მოხერხდა"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"სარეზერვო ასლის მონაცემების ამოშლა"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g>-ის გასუფთავება"</string>
- <string name="error_title" msgid="7196464038692913778">"გამოუსწორებელი შეცდომა"</string>
- <string name="error_desc" msgid="1939028888570920661">"შეცდომა ვერ გამოსწორდა.\nშეგიძლიათ აპი გადატვირთოთ ან აღდგენის სხვა ვარიანტი ცადოთ."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g>-ის ამოშლა"</string>
+ <string name="error_title" msgid="405150657301906598">"გამოუსწორებელი შეცდომა"</string>
+ <string name="error_desc" msgid="1984714179775053347">"შეცდომა ვერ გამოსწორდა.\nშეგიძლიათ ცადოთ ტერმინალის გადატვირთვა ან აღდგენის ვარიანტებიდან ერთ-ერთი."</string>
<string name="error_code" msgid="3585291676855383649">"შეცდომის კოდი: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"პარამეტრები"</string>
<string name="service_notification_title" msgid="2918088850910713393">"ტერმინალი გაშვებულია"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"დააწკაპუნეთ ტერმინალის გასახსნელად"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"ტერმინალის გასახსნელად დააწკაპუნეთ"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"დახურვა"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> ჩართულია"</string>
</resources>
diff --git a/android/TerminalApp/res/values-kk/strings.xml b/android/TerminalApp/res/values-kk/strings.xml
index 2e906c3..fbc6f23 100644
--- a/android/TerminalApp/res/values-kk/strings.xml
+++ b/android/TerminalApp/res/values-kk/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Терминал"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Терминал дисплейі"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Курсор"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Бос жол"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux терминалын орнату"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux терминалын іске қосу үшін желі арқылы шамамен <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> деректі жүктеп алу қажет.\nЖалғастырасыз ба?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Wi-Fi желісі пайда болғанда жүктеп алу"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux терминалын іске қосу үшін желі арқылы шамамен <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> деректі жүктеп алу қажет.\nЖалғастырғыңыз келе ме?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Тек Wi-Fi арқылы жүктеп алу"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Орнату"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Орнатылып жатыр"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Желі қатесі орын алды. Байланысты тексеріңіз де, қайталап көріңіз."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Желі қатесіне байланысты орнату мүмкін болмады. Байланысты тексеріп, әрекетті қайталап көріңіз."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux терминалы орнатылып жатыр"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux терминалы орнату аяқталғаннан кейін іске қосылады."</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Желі мәселесіне байланысты орнату мүмкін болмады."</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Орнату мүмкін болмады. Қайталап көріңіз."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux терминалы орнату процесі аяқталған соң іске қосылады."</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Желі мәселесіне байланысты орнату мүмкін болмады."</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Орнатылмады, себебі Wi-Fi желісі жоқ."</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Орнату мүмкін болмады. Қайталап көріңіз."</string>
<string name="action_settings" msgid="5729342767795123227">"Параметрлер"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Терминал дайындалып жатыр."</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Терминал тоқтатылып жатыр."</string>
<string name="vm_error_message" msgid="5231867246177661525">"Терминал бұзылды."</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Диск көлемін өзгерту"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Көлемін өзгерту / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Диск өлшемін өзгерту"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Root бөлігінің өлшемін өзгерту"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Диск көлемі орнатылды."</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> тағайындалды"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Ең көбі <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Бас тарту"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Қолдану үшін қайта ашу"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Портты бағыттау"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Портты бағыттауды конфигурациялау"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Терминал жаңа порт ашайын деп жатыр"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Портты ашуға сұрау жіберілді: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Қолдану"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Диск өлшемін өзгерту үшін терминал өшіріліп қосылады."</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Растау"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Терминал жаңа порт ашуды сұрайды"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Қажетті порт: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Қабылдау"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Қабылдамау"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Қалпына келтіру"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Бөлікті қалпына келтіру опциялары"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Бастапқы нұсқаға өзгерту"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Барлығын өшіру"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Бөлікті қалпына келтіру опциялары"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Бастапқы нұсқаға қайта орнату"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Барлық деректі жою"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Терминалды бастапқы күйге қайтару"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Деректер жойылады."</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Растау"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Деректер өшіріледі."</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Қайта орнату"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Бас тарту"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Деректердің сақтық көшірмесін <xliff:g id="PATH">/mnt/backup</xliff:g> жолына сақтау"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Қалпына келтірілмеді, себебі сақтық көшірме жасалмады."</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Сақтық көшірме жасау қатесіне байланысты қалпына келтірілмеді."</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Қалпына келтірілмеді."</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Сақтық көшірме файлы өшірілмеді."</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Сақтық көшірмесі жасалған деректер өшірілмеді."</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Сақтық көшірме дерегін өшіру"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> дерегін тазалау"</string>
- <string name="error_title" msgid="7196464038692913778">"Қалпына келтіруге жол бермейтін қате"</string>
- <string name="error_desc" msgid="1939028888570920661">"Қатеден кейін қалпына келтіру мүмкін болмады.\nҚолданбаны жауып, қайтадан ашып көріңіз немесе қалпына келтіру опцияларының бірін пайдаланып көріңіз."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> жолын өшіру"</string>
+ <string name="error_title" msgid="405150657301906598">"Қалпына келтіруге жол бермейтін қате"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Қатеден кейін қалпына келтіру мүмкін болмады.\nТерминалды өшіріп, қайтадан қосып көріңіз немесе қалпына келтіру опцияларының бірін пайдаланып көріңіз."</string>
<string name="error_code" msgid="3585291676855383649">"Қате коды: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Параметрлер"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Терминал іске қосылып тұр"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Терминалды ашу үшін басыңыз."</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Терминалды ашу үшін түртіңіз."</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Жабу"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> қосылды."</string>
</resources>
diff --git a/android/TerminalApp/res/values-km/strings.xml b/android/TerminalApp/res/values-km/strings.xml
index 2513b4e..8976e59 100644
--- a/android/TerminalApp/res/values-km/strings.xml
+++ b/android/TerminalApp/res/values-km/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"ទែមីណាល់"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"ផ្ទាំងអេក្រង់ទែមីណាល់"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"ទស្សន៍ទ្រនិច"</string>
+ <string name="empty_line" msgid="5012067143408427178">"ជួរទទេ"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"ដំឡើងទែមីណាល់ Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"ដើម្បីបើកដំណើរការទែមីណាល់ Linux អ្នកត្រូវទាញយកទិន្នន័យប្រហែលជា <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> នៅលើបណ្តាញ។\nតើអ្នកចង់បន្តដែរឬទេ?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"ទាញយកនៅពេលមាន Wi-Fi"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"ដើម្បីបើកដំណើរការទែមីណាល់ Linux, អ្នកត្រូវទាញយកទិន្នន័យប្រហែលជា <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> នៅលើបណ្ដាញ។\nតើអ្នកចង់បន្តដែរឬទេ?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"ទាញយកដោយប្រើតែ Wi-Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ដំឡើង"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"កំពុងដំឡើង"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"មានបញ្ហាបណ្ដាញ។ ពិនិត្យមើលការតភ្ជាប់ រួចព្យាយាមម្ដងទៀត។"</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"មិនអាចដំឡើងបានទេ ដោយសារបញ្ហាបណ្ដាញ។ សូមពិនិត្យមើលការតភ្ជាប់របស់អ្នក រួចព្យាយាមម្ដងទៀត។"</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"កំពុងដំឡើងទែមីណាល់ Linux"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"ទែមីណាល់ Linux នឹងត្រូវបានចាប់ផ្ដើមបន្ទាប់ពីបញ្ចប់"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"មិនអាចដំឡើងបានទេ ដោយសារបញ្ហាបណ្ដាញ"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"មិនអាចដំឡើងបានទេ។ សូមព្យាយាមម្ដងទៀត។"</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"ទែមីណាល់ Linux នឹងចាប់ផ្ដើមបន្ទាប់ពីការដំឡើងបានចប់"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"មិនអាចដំឡើងបានទេ ដោយសារបញ្ហាបណ្ដាញ"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"មិនអាចដំឡើងបានទេ ដោយសារមិនមាន Wi-Fi"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"មិនអាចដំឡើងបានទេ។ សូមព្យាយាមម្ដងទៀត"</string>
<string name="action_settings" msgid="5729342767795123227">"ការកំណត់"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"កំពុងរៀបចំទែមីណាល់"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"កំពុងបញ្ឈប់ទែមីណាល់"</string>
<string name="vm_error_message" msgid="5231867246177661525">"ទែមីណាល់បានគាំង"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"ប្ដូរទំហំថាស"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"ប្ដូរទំហំ / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"ប្ដូរទំហំថាស"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"ប្ដូរទំហំផ្នែកឫស"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"បានកំណត់ទំហំថាស"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"បានកំណត់ <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"អតិបរមា <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"បោះបង់"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"ចាប់ផ្ដើមឡើងវិញដើម្បីដាក់ប្រើ"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"ការបញ្ជូនច្រកបន្ត"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"កំណត់រចនាសម្ព័ន្ធការបញ្ជូនច្រកបន្ត"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"ទែមីណាល់កំពុងព្យាយាមបើកច្រកថ្មី"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"បានស្នើសុំឱ្យបើកច្រក៖ <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"ដាក់ប្រើ"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ទែមីណាល់នឹងត្រូវបានចាប់ផ្ដើមឡើងវិញ ដើម្បីប្ដូរទំហំថាស"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"បញ្ជាក់"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"ទែមីណាល់កំពុងស្នើសុំបើកច្រកថ្មី"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"បានស្នើសុំច្រក៖ <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"ទទួលយក"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"បដិសេធ"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"ស្ដារ"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"ជម្រើសស្ដារផ្នែក"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"ប្ដូរទៅកំណែដំបូង"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"ដកចេញទាំងអស់"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"ជម្រើសស្ដារផ្នែក"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"កំណត់ឡើងវិញទៅកំណែដំបូង"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"ដកទិន្នន័យទាំងអស់ចេញ"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"កំណត់ទែមីណាល់ឡើងវិញ"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ទិន្នន័យនឹងត្រូវបានលុប"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"បញ្ជាក់"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ទិន្នន័យនឹងត្រូវបានដកចេញ"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"កំណត់ឡើងវិញ"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"បោះបង់"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"បម្រុងទុកទិន្នន័យទៅ <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"ការស្ដារឡើងវិញមិនបានសម្រេច ដោយសារការបម្រុងទុកមិនបានសម្រេច"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"មិនអាចស្ដារឡើងវិញបានទេ ដោយសារបញ្ហាក្នុងការបម្រុងទុក"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"ការស្ដារឡើងវិញមិនបានសម្រេច"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"មិនអាចដកឯកសារបម្រុងទុកចេញបានទេ"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"មិនអាចដកទិន្នន័យបម្រុងទុកចេញបានទេ"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"ដកទិន្នន័យបម្រុងទុកចេញ"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"សម្អាត <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"បញ្ហាដែលបណ្ដាលឱ្យមិនអាចស្ដារបាន"</string>
- <string name="error_desc" msgid="1939028888570920661">"មិនអាចស្ដារឡើងវិញពីបញ្ហាបានទេ។\nអ្នកអាចសាកល្បងចាប់ផ្ដើមកម្មវិធីឡើងវិញ ឬសាកល្បងប្រើជម្រើសមួយក្នុងចំណោមជម្រើសស្ដារ។"</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"ដក <xliff:g id="PATH">/mnt/backup</xliff:g> ចេញ"</string>
+ <string name="error_title" msgid="405150657301906598">"បញ្ហាដែលបណ្ដាលឱ្យមិនអាចស្ដារបាន"</string>
+ <string name="error_desc" msgid="1984714179775053347">"មិនអាចស្ដារឡើងវិញពីបញ្ហាបានទេ។\nអ្នកអាចសាកល្បងចាប់ផ្ដើមទែមីណាល់ឡើងវិញ ឬសាកល្បងប្រើជម្រើសមួយក្នុងចំណោមជម្រើសស្ដារ។"</string>
<string name="error_code" msgid="3585291676855383649">"លេខកូដបញ្ហា៖ <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"ការកំណត់"</string>
<string name="service_notification_title" msgid="2918088850910713393">"ទែមីណាល់កំពុងដំណើរការ"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"ចុចដើម្បីបើកទែមីណាល់"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"ចុចដើម្បីបើកទែមីណាល់"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"បិទ"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> ត្រូវបានបើក"</string>
</resources>
diff --git a/android/TerminalApp/res/values-kn/strings.xml b/android/TerminalApp/res/values-kn/strings.xml
index 3fc63d2..ae55b56 100644
--- a/android/TerminalApp/res/values-kn/strings.xml
+++ b/android/TerminalApp/res/values-kn/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"ಟರ್ಮಿನಲ್"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"ಟರ್ಮಿನಲ್ ಪ್ರದರ್ಶನ"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"ಕರ್ಸರ್"</string>
+ <string name="empty_line" msgid="5012067143408427178">"ಖಾಲಿ ಸಾಲು"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux ಟರ್ಮಿನಲ್ ಅನ್ನು ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿ"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux ಟರ್ಮಿನಲ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲು, ನೀವು ನೆಟ್ವರ್ಕ್ನಲ್ಲಿ ಸುಮಾರು <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ಡೇಟಾವನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ.\nನೀವು ಮುಂದುವರಿಸಲು ಬಯಸುತ್ತೀರಾ?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"ವೈ-ಫೈ ಲಭ್ಯವಿದ್ದಾಗ ಡೌನ್ಲೋಡ್ ಮಾಡಿ"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux ಟರ್ಮಿನಲ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲು, ನೀವು ನೆಟ್ವರ್ಕ್ನಲ್ಲಿ ಸುಮಾರು <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ಡೇಟಾವನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ.\nನೀವು ಮುಂದುವರಿಸಲು ಬಯಸುತ್ತೀರಾ?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"ವೈ-ಫೈ ಅನ್ನು ಮಾತ್ರ ಬಳಸಿ ಡೌನ್ ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿ"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"ಇನ್ಸ್ಟಾಲ್"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"ನೆಟ್ವರ್ಕ್ ದೋಷ. ಕನೆಕ್ಷನ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"ನೆಟ್ವರ್ಕ್ ದೋಷದಿಂದಾಗಿ ಇನ್ಸ್ಟಾಲ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ. ನಿಮ್ಮ ಕನೆಕ್ಷನ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ ಹಾಗೂ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux ಟರ್ಮಿನಲ್ ಅನ್ನು ಇನ್ಸ್ಟಾಲ್ ಮಾಡಲಾಗುತ್ತಿದೆ"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"ಮುಗಿದ ಮೇಲೆ Linux ಟರ್ಮಿನಲ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತದೆ"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"ನೆಟ್ವರ್ಕ್ ಸಮಸ್ಯೆಯಿಂದಾಗಿ ಇನ್ಸ್ಟಾಲ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"ಇನ್ಸ್ಟಾಲ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ. ಪುನಃ ಪ್ರಯತ್ನಿಸಿ."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"ಇನ್ಸ್ಟಾಲೇಶನ್ ಮುಗಿದ ನಂತರ Linux ಟರ್ಮಿನಲ್ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"ನೆಟ್ವರ್ಕ್ ಸಮಸ್ಯೆಯಿಂದಾಗಿ ಇನ್ಸ್ಟಾಲ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"ವೈ-ಫೈ ಲಭ್ಯವಿಲ್ಲದ ಕಾರಣ ಇನ್ಸ್ಟಾಲ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"ಇನ್ಸ್ಟಾಲ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ. ಪುನಃ ಪ್ರಯತ್ನಿಸಿ"</string>
<string name="action_settings" msgid="5729342767795123227">"ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"ಟರ್ಮಿನಲ್ ಅನ್ನು ಸಿದ್ಧಪಡಿಸಲಾಗುತ್ತಿದೆ"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"ಟರ್ಮಿನಲ್ ಅನ್ನು ನಿಲ್ಲಿಸಲಾಗುತ್ತಿದೆ"</string>
<string name="vm_error_message" msgid="5231867246177661525">"ಟರ್ಮಿನಲ್ ಕ್ರ್ಯಾಶ್ ಆಗಿದೆ"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"ಡಿಸ್ಕ್ ಅನ್ನು ಮರುಗಾತ್ರಗೊಳಿಸಿ"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"ಮರುಗಾತ್ರಗೊಳಿಸಿ / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"ಡಿಸ್ಕ್ ಅನ್ನು ಮರುಗಾತ್ರಗೊಳಿಸಿ"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"ರೂಟ್ ಪಾರ್ಟಿಶನ್ ಗಾತ್ರವನ್ನು ಮರುಗಾತ್ರಗೊಳಿಸಿ"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"ಡಿಸ್ಕ್ ಗಾತ್ರವನ್ನು ಸೆಟ್ ಮಾಡಲಾಗಿದೆ"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> ನಿಯೋಜಿಸಲಾಗಿದೆ"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"ಗರಿಷ್ಠ <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"ರದ್ದುಮಾಡಿ"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"ಅನ್ವಯಿಸಲು ಮರುಪ್ರಾರಂಭಿಸಿ"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"ಪೋರ್ಟ್ ಫಾರ್ವರ್ಡ್ ಮಾಡುವಿಕೆ"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"ಪೋರ್ಟ್ ಫಾರ್ವರ್ಡ್ ಮಾಡುವಿಕೆಯನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"ಟರ್ಮಿನಲ್ ಹೊಸ ಪೋರ್ಟ್ ಅನ್ನು ತೆರೆಯಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದೆ"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"ಪೋರ್ಟ್ ಅನ್ನು ತೆರೆಯಲು ವಿನಂತಿಸಲಾಗಿದೆ: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"ಅನ್ವಯಿಸಿ"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ಡಿಸ್ಕ್ ಅನ್ನು ಮರುಗಾತ್ರಗೊಳಿಸಲು ಟರ್ಮಿನಲ್ ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸಲಾಗುತ್ತದೆ"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"ದೃಢೀಕರಿಸಿ"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"ಟರ್ಮಿನಲ್ ಹೊಸ ಪೋರ್ಟ್ ಅನ್ನು ತೆರೆಯಲು ವಿನಂತಿಸುತ್ತಿದೆ"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"ಪೋರ್ಟ್ ಅನ್ನು ವಿನಂತಿಸಲಾಗಿದೆ: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"ಸಮ್ಮತಿಸಿ"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"ನಿರಾಕರಿಸಿ"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"ರಿಕವರಿ"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"ಪಾರ್ಟಿಶನ್ ರಿಕವರಿ ಆಯ್ಕೆಗಳು"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"ಆರಂಭಿಕ ಆವೃತ್ತಿಗೆ ಬದಲಾಯಿಸಿ"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"ಎಲ್ಲವನ್ನೂ ತೆಗೆದುಹಾಕಿ"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"ಪಾರ್ಟಿಶನ್ ಮರುಪ್ರಾಪ್ತಿ ಆಯ್ಕೆಗಳು"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"ಆರಂಭಿಕ ಆವೃತ್ತಿಗೆ ರೀಸೆಟ್ ಮಾಡಿ"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ತೆಗೆದುಹಾಕಿ"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"ಟರ್ಮಿನಲ್ ಅನ್ನು ರೀಸೆಟ್ ಮಾಡಿ"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ಡೇಟಾವನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"ದೃಢೀಕರಿಸಿ"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ಡೇಟಾವನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"ರೀಸೆಟ್ ಮಾಡಿ"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"ರದ್ದುಮಾಡಿ"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"ಡೇಟಾವನ್ನು <xliff:g id="PATH">/mnt/backup</xliff:g> ಗೆ ಬ್ಯಾಕಪ್ ಮಾಡಿ"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"ಬ್ಯಾಕಪ್ ವಿಫಲವಾದ ಕಾರಣ ರಿಕವರಿ ವಿಫಲವಾಗಿದೆ"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"ಬ್ಯಾಕಪ್ ದೋಷದಿಂದಾಗಿ ಚೇತರಿಸಿಕೊಳ್ಳಲು ವಿಫಲವಾಗಿದೆ"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"ರಿಕವರಿ ವಿಫಲವಾಗಿದೆ"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"ಬ್ಯಾಕಪ್ ಫೈಲ್ ಅನ್ನು ತೆಗೆದುಹಾಕಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"ಬ್ಯಾಕಪ್ ಡೇಟಾವನ್ನು ತೆಗೆದುಹಾಕಲು ವಿಫಲವಾಗಿದೆ"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"ಬ್ಯಾಕಪ್ ಡೇಟಾವನ್ನು ತೆಗೆದುಹಾಕಿ"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> ಅನ್ನು ಕ್ಲೀನ್ ಅಪ್ ಮಾಡಿ"</string>
- <string name="error_title" msgid="7196464038692913778">"ಮರುಪಡೆಯಲಾಗದ ದೋಷ ಎದುರಾಗಿದೆ"</string>
- <string name="error_desc" msgid="1939028888570920661">"ದೋಷದಿಂದ ಚೇತರಿಸಿಕೊಳ್ಳಲು ವಿಫಲವಾಗಿದೆ.\nನೀವು ಆ್ಯಪ್ ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸಲು ಪ್ರಯತ್ನಿಸಬಹುದು ಅಥವಾ ಮರುಪ್ರಾಪ್ತಿ ಆಯ್ಕೆಗಳಲ್ಲಿ ಒಂದನ್ನು ಪ್ರಯತ್ನಿಸಬಹುದು."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> ತೆಗೆದುಹಾಕಿ"</string>
+ <string name="error_title" msgid="405150657301906598">"ಮರುಪಡೆಯಲಾಗದ ದೋಷ"</string>
+ <string name="error_desc" msgid="1984714179775053347">"ದೋಷದಿಂದ ಚೇತರಿಸಿಕೊಳ್ಳಲು ವಿಫಲವಾಗಿದೆ.\n ನೀವು ಟರ್ಮಿನಲ್ ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸಲು ಪ್ರಯತ್ನಿಸಬಹುದು ಅಥವಾ ಮರುಪ್ರಾಪ್ತಿ ಆಯ್ಕೆಗಳಲ್ಲಿ ಒಂದನ್ನು ಪ್ರಯತ್ನಿಸಬಹುದು."</string>
<string name="error_code" msgid="3585291676855383649">"ದೋಷ ಕೋಡ್: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
<string name="service_notification_title" msgid="2918088850910713393">"ಟರ್ಮಿನಲ್ ರನ್ ಆಗುತ್ತಿದೆ"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"ಟರ್ಮಿನಲ್ ಅನ್ನು ತೆರೆಯಲು ಕ್ಲಿಕ್ ಮಾಡಿ"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"ಟರ್ಮಿನಲ್ ಅನ್ನು ತೆರೆಯಲು ಕ್ಲಿಕ್ ಮಾಡಿ"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"ಮುಚ್ಚಿರಿ"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</string>
</resources>
diff --git a/android/TerminalApp/res/values-ko/strings.xml b/android/TerminalApp/res/values-ko/strings.xml
index 077fbcd..58db30d 100644
--- a/android/TerminalApp/res/values-ko/strings.xml
+++ b/android/TerminalApp/res/values-ko/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"터미널"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"터미널 디스플레이"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"커서"</string>
+ <string name="empty_line" msgid="5012067143408427178">"빈 줄"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux 터미널 설치"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux 터미널을 실행하려면 네트워크를 통해 약 <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g>의 데이터를 다운로드해야 합니다.\n계속하시겠습니까?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Wi-Fi 연결 시 다운로드"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux 터미널을 실행하려면 네트워크를 통해 약 <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g>의 데이터를 다운로드해야 합니다.\n계속하시겠습니까?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Wi-Fi를 통해서만 다운로드"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"설치"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"설치 중"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"네트워크 오류입니다. 연결을 확인한 후 다시 시도해 주세요."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"네트워크 오류로 인해 설치할 수 없습니다. 연결 상태를 확인한 후 다시 시도하세요."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux 터미널 설치 중"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"완료 후 Linux 터미널이 시작됩니다"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"네트워크 문제로 인해 설치할 수 없습니다"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"설치할 수 없습니다. 다시 시도하세요."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"설치가 완료되면 Linux 터미널이 시작됩니다."</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"네트워크 문제로 인해 설치할 수 없습니다."</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Wi-Fi를 사용할 수 없어 설치하지 못했습니다."</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"설치할 수 없습니다. 다시 시도해 보세요."</string>
<string name="action_settings" msgid="5729342767795123227">"설정"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"터미널 준비 중"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"터미널 중지 중"</string>
<string name="vm_error_message" msgid="5231867246177661525">"터미널 다운됨"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"디스크 크기 조정"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"크기 조정/Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"디스크 크기 조절"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"루트 파티션 크기 조절"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"디스크 크기 설정됨"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> 할당됨"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"최대 <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"취소"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"다시 시작하여 적용"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"포트 전달"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"포트 전달 구성"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"터미널에서 새 포트를 열려고 합니다"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"포트 개방 요청: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"적용"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"디스크 크기를 조절하기 위해 터미널이 다시 시작됩니다."</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"확인"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"터미널에서 새 포트를 열려고 합니다"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"요청된 포트: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"수락"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"거부"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"복구"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"파티션 복구 옵션"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"최초 버전으로 변경"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"전체 삭제"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"파티션 복구 옵션"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"초기 버전으로 재설정"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"데이터 모두 삭제"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"터미널 재설정"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"데이터가 삭제됩니다."</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"확인"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"데이터가 삭제됩니다."</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"재설정"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"취소"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g>에 데이터 백업"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"백업에 실패하여 복구할 수 없음"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"백업 오류로 인해 복구할 수 없습니다."</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"복구 실패"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"백업 파일을 삭제할 수 없음"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"백업 데이터를 삭제할 수 없습니다."</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"백업 데이터 삭제"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> 지우기"</string>
- <string name="error_title" msgid="7196464038692913778">"복구 불가 오류"</string>
- <string name="error_desc" msgid="1939028888570920661">"오류에서 복구할 수 없습니다.\n앱을 다시 시작하거나 복구 옵션 중 하나를 사용해 보세요."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> 삭제"</string>
+ <string name="error_title" msgid="405150657301906598">"복구 불가 오류"</string>
+ <string name="error_desc" msgid="1984714179775053347">"오류에서 복구할 수 없습니다.\n터미널을 다시 시작하거나 복구 옵션 중 하나를 사용해 보세요."</string>
<string name="error_code" msgid="3585291676855383649">"오류 코드: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"설정"</string>
<string name="service_notification_title" msgid="2918088850910713393">"터미널이 실행 중입니다"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"터미널을 열려면 클릭하세요."</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"터미널을 열려면 클릭하세요."</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"닫기"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g>이(가) 사용 설정되었습니다."</string>
</resources>
diff --git a/android/TerminalApp/res/values-ky/strings.xml b/android/TerminalApp/res/values-ky/strings.xml
index 09fc0e1..d9b1287 100644
--- a/android/TerminalApp/res/values-ky/strings.xml
+++ b/android/TerminalApp/res/values-ky/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Терминал"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Терминалдын дисплейи"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Курсор"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Бош сап"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux терминалын орнотуу"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux терминалын иштетүү үчүн болжол менен <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> жүктөп алышыңыз керек.\nУлантасызбы?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Wi-Fi жеткиликтүү болгондо жүктөп алуу"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux терминалын иштетүү үчүн болжол менен <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> маалыматты жүктөп алышыңыз керек.\nУлантасызбы?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Wi-Fi аркылуу гана жүктөп алуу"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Орнотуу"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Орнотулууда"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Тармакта ката кетти. Байланышты текшерип, кайра аракет кылыңыз."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Тармак катасынан улам орнотулбай калды. Туташууңузду текшерип, кайталап көрүңүз."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux терминалы орнотулууда"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Бүткөндөн кийин Linux терминалы иштеп баштайт"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Тармактагы маселеден улам орнотулбай калды"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Орнотулган жок. Кайра аракет кылыңыз."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux терминалы орнотуу процесси аяктагандан кийин иштеп баштайт"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Тармактагы маселеден улам орнотулбай калды"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Wi-Fi жеткиликсиз болгондуктан, орнотулбай калды"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Орнотулган жок. Кайталап көрүңүз"</string>
<string name="action_settings" msgid="5729342767795123227">"Параметрлер"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Терминал даярдалууда"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Терминал токтотулууда"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Терминал бузулду"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Дисктин өлчөмүн өзгөртүү"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Өлчөмүн өзгөртүү / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Дисктин өлчөмүн өзгөртүү"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Катуу дисктин негизги бөлүгүнүн өлчөмүн өзгөртүү"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Дисктин өлчөмү коюлду"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> дайындалды"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Эң көп <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Жокко чыгаруу"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Колдонуу үчүн өчүрүп күйгүзүү"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Оюкчаны багыттоо"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Оюкчаны багыттоону конфигурациялоо"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Терминал жаңы портту ачканы жатат"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Төмөнкү портту ачуу сурамы жөнөтүлдү: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Колдонуу"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Дисктин өлчөмүн өзгөртүү үчүн терминал өчүрүлүп күйгүзүлөт"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Ырастоо"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Терминал жаңы оюкчаны ачууну суранып жатат"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Оюкча суралды: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Кабыл алуу"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Четке кагуу"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Калыбына келтирүү"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Катуу диск бөлүгүн калыбына келтирүү параметрлери"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Баштапкы версияга өзгөртүү"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Баарын өчүрүү"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Катуу диск бөлүгүн калыбына келтирүү жолдору"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Баштапкы версияга кайтаруу"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Бардык маалыматты өчүрүү"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Терминалды баштапкы абалга келтирүү"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Маалымат өчүрүлөт"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Ырастоо"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Маалымат өчүрүлөт"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Кайра коюу"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Жокко чыгаруу"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Маалыматтын камдык көчүрмөсүн төмөнкүгө сактоо: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Камдык көчүрмө сакталбагандыктан калыбына келтирилген жок"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Камдык көчүрмөнү сактоо катасынан улам калыбына келтирилген жок"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Калыбына келтирилген жок"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Камдык көчүрмө файлы өчпөй жатат"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Маалыматтын камдык көчүрмөсү өчүрүлгөн жок"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Маалыматтын камдык көчүрмөсүн өчүрүү"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Тазалоо: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Оңдолбос ката"</string>
- <string name="error_desc" msgid="1939028888570920661">"Катадан кийин калыбына келтирилген жок.\nКолдонмону кайрадан ачып же аккаунтту калыбына келтирүү жолдорунун бирин колдонуп көрүңүз."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Өчүрүү: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Оңдолбос ката"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Катадан кийин калыбына келтирилген жок.\nТерминалды өчүрүп күйгүзүп же калыбына келтирүү жолдорунун бирин колдонуп көрүңүз."</string>
<string name="error_code" msgid="3585291676855383649">"Ката коду: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Параметрлер"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Терминал иштеп жатат"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Терминалды ачуу үчүн чыкылдатыңыз"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Терминалды ачуу үчүн басыңыз"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Жабуу"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> иштетилди"</string>
</resources>
diff --git a/android/TerminalApp/res/values-lo/strings.xml b/android/TerminalApp/res/values-lo/strings.xml
index 0b15498..750995b 100644
--- a/android/TerminalApp/res/values-lo/strings.xml
+++ b/android/TerminalApp/res/values-lo/strings.xml
@@ -20,55 +20,72 @@
<string name="terminal_display" msgid="4810127497644015237">"ຈໍສະແດງຜົນ Terminal"</string>
<string name="terminal_input" msgid="4602512831433433551">"ເຄີເຊີ"</string>
<string name="empty_line" msgid="5012067143408427178">"ແຖວຫວ່າງເປົ່າ"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
+ <skip />
<string name="installer_title_text" msgid="500663060973466805">"ຕິດຕັ້ງເທີມິນອນ Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"ເພື່ອເປີດໃຊ້ເທີມິນອນ Linux, ທ່ານຕ້ອງດາວໂຫຼດຂໍ້ມູນປະມານ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ຜ່ານເຄືອຂ່າຍ.\nທ່ານຕ້ອງການດຳເນີນການຕໍ່ບໍ?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"ດາວໂຫຼດເມື່ອມີການເຊື່ອມຕໍ່ Wi-Fi"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"ເພື່ອເປີດໃຊ້ເທີມິນອນ Linux, ທ່ານຈະຕ້ອງດາວໂຫຼດຂໍ້ມູນປະມານ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ຜ່ານເຄືອຂ່າຍ.\nທ່ານຕ້ອງການດຳເນີນການຕໍ່ບໍ?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"ດາວໂຫຼດໂດຍໃຊ້ Wi-Fi ເທົ່ານັ້ນ"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ຕິດຕັ້ງ"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"ກຳລັງຕິດຕັ້ງ"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"ເຄືອຂ່າຍຜິດພາດ. ກວດສອບການເຊື່ອມຕໍ່ແລ້ວລອງໃໝ່."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"ຕິດຕັ້ງບໍ່ສຳເລັດເນື່ອງຈາກເຄືອຂ່າຍຜິດພາດ. ກະລຸນາກວດເບິ່ງການເຊື່ອມຕໍ່ຂອງທ່ານແລ້ວລອງໃໝ່."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"ກຳລັງຕິດຕັ້ງເທີມິນອນ Linux"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"ເທີມິນອນ Linux ຈະເລີ່ມຕົ້ນຫຼັງຈາກສຳເລັດ"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"ຕິດຕັ້ງບໍ່ສຳເລັດເນື່ອງຈາກບັນຫາເຄືອຂ່າຍ"</string>
- <string name="installer_error_no_wifi" msgid="8631584648989718121">"ຕິດຕັ້ງບໍ່ສຳເລັດຍ້ອນວ່າ Wi-Fi ບໍ່ມີໃຫ້"</string>
- <string name="installer_error_unknown" msgid="1991780204241177455">"ຕິດຕັ້ງບໍ່ສໍາເລັດ. ກະລຸນາລອງໃໝ່."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"ເທີມິນອນ Linux ຈະເລີ່ມຕົ້ນຫຼັງຈາກຕິດຕັ້ງສຳເລັດແລ້ວ"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"ຕິດຕັ້ງບໍ່ສຳເລັດເນື່ອງຈາກມີບັນຫາເຄືອຂ່າຍ"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"ຕິດຕັ້ງບໍ່ສຳເລັດເນື່ອງຈາກບໍ່ມີ Wi-Fi"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"ຕິດຕັ້ງບໍ່ສໍາເລັດ. ກະລຸນາລອງໃໝ່"</string>
<string name="action_settings" msgid="5729342767795123227">"ການຕັ້ງຄ່າ"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"ກຳລັງກະກຽມເທີມິນອນ"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"ກຳລັງຢຸດເທີມິນອນ"</string>
<string name="vm_error_message" msgid="5231867246177661525">"ເທີມິນອນຫຼົ້ມ"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"ປັບຂະໜາດດິສ"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"ປັບຂະໜາດ / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"ການປັບຂະໜາດດິສກ໌"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"ປັບຂະໜາດ root ພາທິຊັນ"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"ຕັ້ງຂະໜາດດິສ"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"ມອບໝາຍແລ້ວ <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"ສູງສຸດ <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"ຍົກເລີກ"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"ຣີສະຕາດເພື່ອນຳໃຊ້"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"ການສົ່ງຕໍ່ຜອດ"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"ຕັ້ງຄ່າການສົ່ງຕໍ່ຜອດ"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"ເທີມິນອນກຳລັງພະຍາຍາມເປີດຜອດໃໝ່"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"ຮ້ອງຂໍໃຫ້ເປີດຜອດ: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"ນຳໃຊ້"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ລະບົບຈະຣີສະຕາດເທີມິນອນເພື່ອປັບຂະໜາດດິສກ໌"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"ຢືນຢັນ"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"ເທີມິນອນກຳລັງສົ່ງຄຳຮ້ອງຂໍໃຫ້ເປີດຜອດໃໝ່"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"ຜອດທີ່ຮ້ອງຂໍ: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"ຍອມຮັບ"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"ປະຕິເສດ"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"ການກູ້ຄືນ"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"ຕົວເລືອກການກູ້ຄືນພາທິຊັນ"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"ປ່ຽນເປັນເວີຊັນເລີ່ມຕົ້ນ"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"ລຶບທັງໝົດອອກ"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"ຕົວເລືອກການກູ້ຄືນພາທິຊັນ"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"ຣີເຊັດເປັນເວີຊັນເລີ່ມຕົ້ນ"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"ລຶບຂໍ້ມູນທັງໝົດອອກ"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"ຣີເຊັດເທີມິນອນ"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ຂໍ້ມູນຈະຖືກລຶບ"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"ຢືນຢັນ"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ລະບົບຈະລຶບຂໍ້ມູນອອກ"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"ຣີເຊັດ"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"ຍົກເລີກ"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"ສຳຮອງຂໍ້ມູນໃສ່ <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"ການກູ້ຄືນບໍ່ສຳເລັດຍ້ອນການສຳຮອງຂໍ້ມູນບໍ່ສຳເລັດ"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"ກູ້ຄືນບໍ່ສຳເລັດເນື່ອງຈາກເກີດຂໍ້ຜິດພາດໃນການສຳຮອງຂໍ້ມູນ"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"ການກູ້ຄືນບໍ່ສຳເລັດ"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"ບໍ່ສາມາດລຶບໄຟລ໌ສຳຮອງຂໍ້ມູນອອກໄດ້"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"ລຶບຂໍ້ມູນສຳຮອງອອກບໍ່ສຳເລັດ"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"ລຶບການສຳຮອງຂໍ້ມູນອອກ"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"ອະນາໄມ <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"ຂໍ້ຜິດພາດທີ່ບໍ່ສາມາດກູ້ຄືນມາໄດ້"</string>
- <string name="error_desc" msgid="1939028888570920661">"ການກູ້ຄືນຈາກຂໍ້ຜິດພາດບໍ່ສໍາເລັດ.\nທ່ານສາມາດລອງຣີສະຕາດແອັບ ຫຼື ລອງໜຶ່ງໃນຕົວເລືອກການກູ້ຄືນໄດ້."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"ລຶບ <xliff:g id="PATH">/mnt/backup</xliff:g> ອອກ"</string>
+ <string name="error_title" msgid="405150657301906598">"ຂໍ້ຜິດພາດທີ່ບໍ່ສາມາດກູ້ຄືນມາໄດ້"</string>
+ <string name="error_desc" msgid="1984714179775053347">"ກູ້ຄືນຈາກຂໍ້ຜິດພາດບໍ່ສຳເລັດ.\nທ່ານສາມາດລອງຣີສະຕາດເທີມິນອນ ຫຼື ລອງໃຊ້ຕົວເລືອກການກູ້ຄືນໄດ້."</string>
<string name="error_code" msgid="3585291676855383649">"ລະຫັດຂໍ້ຜິດພາດ: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"ການຕັ້ງຄ່າ"</string>
<string name="service_notification_title" msgid="2918088850910713393">"ເທີມິນອນກຳລັງເຮັດວຽກຢູ່"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"ຄລິກເພື່ອເປີດເທີມິນອນ"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"ຄລິກເພື່ອເປີດເທີມິນອນ"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"ປິດ"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"ເປີດການນຳໃຊ້ <xliff:g id="ID_1">VirGL</xliff:g> ແລ້ວ"</string>
</resources>
diff --git a/android/TerminalApp/res/values-lt/strings.xml b/android/TerminalApp/res/values-lt/strings.xml
index 96c144b..875b9c3 100644
--- a/android/TerminalApp/res/values-lt/strings.xml
+++ b/android/TerminalApp/res/values-lt/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminalas"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Terminalo ekranas"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Žymeklis"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Tuščia eilutė"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"„Linux“ terminalo diegimas"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Norėdami paleisti „Linux“ terminalą, per tinklą turite atsisiųsti apytiksliai <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> duomenų.\nAr norite tęsti?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Atsisiųsti, kai pasiekiamas „Wi-Fi“"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Norėdami paleisti „Linux“ terminalą, per tinklą turite atsisiųsti apytiksliai <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> duomenų.\nAr norite tęsti?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Atsisiuntimas naudojant tik „Wi-Fi“"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Įdiegti"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Diegiama"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Tinklo klaida. Patikrinkite ryšį ir bandykite dar kartą."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Nepavyko įdiegti dėl tinklo klaidos. Patikrinkite ryšį ir bandykite dar kartą."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Diegiamas „Linux“ terminalas"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"„Linux“ terminalas bus paleistas pabaigus"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Nepavyko įdiegti dėl tinklo problemos"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Nepavyko įdiegti Bandykite dar kartą."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"„Linux“ terminalas bus paleistas, kai diegimas bus baigtas"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Nepavyko įdiegti dėl tinklo problemos"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Nepavyko įdiegti, nes „Wi-Fi“ nepasiekiamas"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Nepavyko įdiegti. Bandykite dar kartą"</string>
<string name="action_settings" msgid="5729342767795123227">"Nustatymai"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Ruošiamas terminalas"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Terminalas sustabdomas"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminalas užstrigo"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Disko dydžio keitimas"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Dydžio keitimas / „Rootfs“"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Disko dydžio keitimas"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Pakeisti šakninio skaidinio dydį"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Disko dydis nustatytas"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Priskirta <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maks. <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Atšaukti"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"P. iš n., kad prit."</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Prievado numerio persiuntimas"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Prievado numerio persiuntimo konfigūravimas"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminalas bando atidaryti naują prievadą"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Prievadas, dėl kurio atidarymo pateikta užklausa: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Taikyti"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminalas bus paleistas iš naujo, kad būtų galima pakeisti disko dydį"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Patvirtinti"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminalas bando atidaryti naują prievadą"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Prievadas, kurio užklausa pateikta: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Sutikti"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Atmesti"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Atkūrimas"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Skaidinio atkūrimo parinktys"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Keitimas į pradinę versiją"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Pašalinti viską"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Skaidinio atkūrimo parinktys"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Iš naujo nustatyti pradinę versiją"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Pašalinti visus duomenis"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Terminalo nustatymas iš naujo"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Duomenys bus ištrinti"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Patvirtinti"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Duomenys bus pašalinti"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Nustatyti iš naujo"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Atšaukti"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Sukurti atsarginę duomenų kopiją čia: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Nepavyko atkurti, nes nepavyko sukurti atsarginės kopijos"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Nepavyko atkurti dėl atsarginės kopijos klaidos"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Nepavyko atkurti"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Nepavyko pašalinti atsarginės kopijos failo"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Nepavyko pašalinti atsarginės kopijos duomenų"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Pašalinti atsarginės kopijos duomenis"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Išvalyti <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Nepataisoma klaida"</string>
- <string name="error_desc" msgid="1939028888570920661">"Nepavyko atkurti po klaidos.\nGalite bandyti iš naujo paleisti programą arba išbandyti vieną iš atkūrimo parinkčių."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Pašalinti <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Nepataisoma klaida"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Nepavyko atkurti po klaidos.\nGalite bandyti iš naujo paleisti terminalą arba išbandyti vieną iš atkūrimo parinkčių."</string>
<string name="error_code" msgid="3585291676855383649">"Klaidos kodas: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Nustatymai"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminalas veikia"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Spustelėkite, kad atidarytumėte terminalą"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Spustelėkite, kad atidarytumėte terminalą"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Uždaryti"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"„<xliff:g id="ID_1">VirGL</xliff:g>“ įgalinta"</string>
</resources>
diff --git a/android/TerminalApp/res/values-lv/strings.xml b/android/TerminalApp/res/values-lv/strings.xml
index 253da6d..4366ab5 100644
--- a/android/TerminalApp/res/values-lv/strings.xml
+++ b/android/TerminalApp/res/values-lv/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminālis"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Termināļa displejs"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Kursors"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Tukša rinda"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux termināļa instalēšana"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Lai palaistu Linux termināli, jums jālejupielādē aptuveni <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> datu, izmantojot tīklu.\nVai vēlaties turpināt?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Lejupielādēt, kad ir pieejams Wi-Fi savienojums"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Lai palaistu Linux termināli, jums jālejupielādē aptuveni <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> datu, izmantojot tīklu.\nVai vēlaties turpināt?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Lejupielāde, izmantojot tikai Wi‑Fi tīklu"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instalēt"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Instalē"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Tīkla kļūda. Pārbaudiet savienojumu un mēģiniet vēlreiz."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Instalēšana neizdevās tīkla kļūdas dēļ. Pārbaudiet savienojumu un mēģiniet vēlreiz."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Notiek Linux termināļa instalēšana…"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux terminālis tiks palaists pēc pabeigšanas"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Tīkla problēmas dēļ neizdevās instalēt"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Neizdevās instalēt. Mēģiniet vēlreiz."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Kad instalēšana būs pabeigta, tiks palaists Linux terminālis"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Instalēšana neizdevās tīkla problēmas dēļ"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Instalēšana neizdevās, jo nav pieejams Wi‑Fi savienojums"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Neizdevās instalēt — mēģiniet vēlreiz"</string>
<string name="action_settings" msgid="5729342767795123227">"Iestatījumi"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Notiek termināļa sagatavošana."</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Notiek termināļa apturēšana."</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminālis avarēja."</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Diska lieluma mainīšana"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Mainīt lielumu / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Diska lieluma mainīšana"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Saknes nodalījuma lieluma mainīšana"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Diska lielums ir iestatīts."</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Piešķirtais lielums: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maksimālais lielums: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Atcelt"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Restartēt un lietot"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Porta pārsūtīšana"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Konfigurēt porta pārsūtīšanu"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminālis mēģina atvērt jaunu portu"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Ports, kura atvēršana pieprasīta: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Lietot"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Lai mainītu diska lielumu, terminālis tiks restartēts"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Apstiprināt"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminālis pieprasa jauna porta atvēršanu"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Pieprasītais ports: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Piekrist"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Noraidīt"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Atkopšana"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Nodalījuma atkopšanas opcijas"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Mainīšana uz sākotnējo versiju"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Noņemt visu"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Nodalījuma atkopšanas opcijas"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Atiestatīšana uz sākotnējo versiju"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Visu datu noņemšana"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Termināļa atiestatīšana"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Dati tiks izdzēsti"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Apstiprināt"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Dati tiks noņemti"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Atiestatīt"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Atcelt"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Dublēt datus ceļā <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Atkopšana neizdevās, jo neizdevās dublēšana"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Atkopšana neizdevās, jo radās dublēšanas kļūda"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Atkopšana neizdevās"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Nevar noņemt dublējuma failu"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Neizdevās noņemt dublējuma datus"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Dublējuma datu noņemšana"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Vietas atbrīvošana ceļā <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Neatkopjama kļūda"</string>
- <string name="error_desc" msgid="1939028888570920661">"Neizdevās veikt atkopšanu pēc kļūdas.\nVarat restartēt lietotni vai izmantot kādu no atkopšanas opcijām."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Datu noņemšana no ceļa <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Neatkopjama kļūda"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Neizdevās veikt atkopšanu pēc kļūdas.\nVarat mēģināt restartēt termināli vai izmēģināt kādu no atkopšanas opcijām."</string>
<string name="error_code" msgid="3585291676855383649">"Kļūdas kods: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Iestatījumi"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminālis darbojas"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Noklikšķiniet, lai atvērtu termināli"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Lai atvērtu termināli, noklikšķiniet"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Aizvērt"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> ir iespējots"</string>
</resources>
diff --git a/android/TerminalApp/res/values-mk/strings.xml b/android/TerminalApp/res/values-mk/strings.xml
index 0fb2296..b9608d6 100644
--- a/android/TerminalApp/res/values-mk/strings.xml
+++ b/android/TerminalApp/res/values-mk/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Терминал"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Екран на терминал"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Курсор"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Празен ред"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Инсталирајте го Linux-терминалот"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"За да го стартувате Linux-терминалот, треба да преземете податоци од приближно <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> преку мрежата.\nДали сакате да продолжите?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Преземете кога има Wi-Fi"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"За да го стартувате Linux-терминалот, треба да преземете податоци од приближно <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> преку мрежата.\nДали сакате да продолжите?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Преземете само преку Wi-Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Инсталирај"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Се инсталира"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Грешка на мрежата. Проверете ја врската и обидете се повторно."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Не можеше да се инсталира поради грешка на мрежата. Проверете ја интернет-врската и обидете се повторно."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux-терминалот се инсталира"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux-терминалот ќе се стартува по довршувањето"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Не можеше да се инсталира поради проблем со мрежата"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Не можеше да се инсталира. Обидете се повторно."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux-терминалот ќе се стартува откако ќе заврши инсталирањето"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Не можеше да се инсталира поради проблем со мрежата"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Не можеше да се инсталира бидејќи не е достапна Wi-Fi"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Не можеше да се инсталира. Обидете се повторно"</string>
<string name="action_settings" msgid="5729342767795123227">"Поставки"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Терминалот се подготвува"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Терминалот се сопира"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Терминалот падна"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Променување на големината на дискот"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Променување големина/Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Променување на големината на дискот"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Променете ја големината на главната партиција"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Големината на дискот е поставена"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Доделено: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Макс.: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Откажи"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Рестарт. за примена"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Проследување порти"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Конфигурирајте го проследувањето порти"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Терминалот се обидува да отвори нова порта"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Порта што е побарано да се отвори: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Примени"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Терминалот ќе се рестартира за да се промени големината на дискот"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Потврди"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Терминалот бара да отвори нова порта"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Побарана е порта: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Прифати"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Одбиј"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Враќање"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Опции за враќање партиции"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Промени на првата верзија"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Отстрани ги сите"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Опции за враќање партиции"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Ресетирајте на почетната верзија"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Отстранете ги сите податоци"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Ресетирајте го терминалот"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Податоците ќе се избришат"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Потврди"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Податоците ќе се отстранат"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Ресетирај"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Откажи"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Направете бекап на податоците на <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Враќањето не успеа поради неуспешен бекап"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Не можеше да се поправи поради грешка при правење бекап"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Враќањето не успеа"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Не може да се отстрани датотеката со бекап"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Не можеше да се отстранат податоците со бекапот"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Отстранете ги податоците од бекапот"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Ослободете простор на <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Непоправлива грешка"</string>
- <string name="error_desc" msgid="1939028888570920661">"Грешката не можеше да се поправи.\nМоже да се обидете да ја рестартирате апликацијата или да испробате некоја од опциите за враќање."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Отстранете „<xliff:g id="PATH">/mnt/backup</xliff:g>“"</string>
+ <string name="error_title" msgid="405150657301906598">"Непоправлива грешка"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Грешката не можеше да се поправи.\nМоже да се обидете да го рестартирате терминалот или да испробате некоја од опциите за враќање."</string>
<string name="error_code" msgid="3585291676855383649">"Код за грешка: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Поставки"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Терминалот е активен"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Кликнете за да го отворите терминалот"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Кликнете за да го отворите терминалот"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Затвори"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"Овозможено: <xliff:g id="ID_1">VirGL</xliff:g>"</string>
</resources>
diff --git a/android/TerminalApp/res/values-ml/strings.xml b/android/TerminalApp/res/values-ml/strings.xml
index 0911d01..adcfbba 100644
--- a/android/TerminalApp/res/values-ml/strings.xml
+++ b/android/TerminalApp/res/values-ml/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"ടെർമിനൽ"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"ടെർമിനൽ ഡിസ്പ്ലേ"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"കഴ്സർ"</string>
+ <string name="empty_line" msgid="5012067143408427178">"ശൂന്യമായ ലൈൻ"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux ടെർമിനൽ ഇൻസ്റ്റാൾ ചെയ്യുക"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux ടെർമിനൽ ലോഞ്ച് ചെയ്യാൻ, നിങ്ങൾക്ക് നെറ്റ്വർക്കിലൂടെ ഏകദേശം <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ഡാറ്റ ഡൗൺലോഡ് ചെയ്യേണ്ടതുണ്ട്.\nനിങ്ങൾക്ക് തുടരണോ?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"വൈഫൈ ലഭ്യമാകുമ്പോൾ ഡൗൺലോഡ് ചെയ്യുക"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux ടെർമിനൽ ലോഞ്ച് ചെയ്യാൻ, നിങ്ങൾക്ക് നെറ്റ്വർക്കിലൂടെ ഏകദേശം <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ഡാറ്റ ഡൗൺലോഡ് ചെയ്യേണ്ടതുണ്ട്.\nനിങ്ങൾക്ക് തുടരണമെന്നുണ്ടോ?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"വൈഫൈ മാത്രം ഉപയോഗിച്ച് ഡൗൺലോഡ് ചെയ്യുക"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ഇൻസ്റ്റാൾ ചെയ്യൂ"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"ഇൻസ്റ്റാൾ ചെയ്യുന്നു"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"നെറ്റ്വർക്ക് പിശക്. കണക്ഷൻ പരിശോധിച്ച് വീണ്ടും ശ്രമിക്കുക."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"നെറ്റ്വർക്ക് പിശക് കാരണം ഇൻസ്റ്റാൾ ചെയ്യാനായില്ല. നിങ്ങളുടെ കണക്ഷൻ പരിശോധിച്ച് വീണ്ടും ശ്രമിക്കുക."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux ടെർമിനൽ ഇൻസ്റ്റാൾ ചെയ്യുന്നു"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"പൂർത്തിയായിക്കഴിഞ്ഞാൽ, Linux ടെർമിനൽ ഇൻസ്റ്റാൾ ചെയ്യാൻ ആരംഭിക്കും"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"നെറ്റ്വർക്കുമായി ബന്ധപ്പെട്ട് പ്രശ്നമുണ്ടായതിനാൽ ഇൻസ്റ്റാൾ ചെയ്യാനായില്ല"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"ഇൻസ്റ്റാൾ ചെയ്യാനായില്ല. വീണ്ടും ശ്രമിക്കുക."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"ഇൻസ്റ്റലേഷൻ പൂർത്തിയായതിന് ശേഷം Linux ടെർമിനൽ ആരംഭിക്കും"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"നെറ്റ്വർക്കുമായി ബന്ധപ്പെട്ട് പ്രശ്നമുണ്ടായതിനാൽ ഇൻസ്റ്റാൾ ചെയ്യാനായില്ല"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"വൈഫൈ ലഭ്യമല്ലാത്തതിനാൽ ഇൻസ്റ്റാൾ ചെയ്യാനായില്ല"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"ഇൻസ്റ്റാൾ ചെയ്യാനായില്ല. വീണ്ടും ശ്രമിക്കുക"</string>
<string name="action_settings" msgid="5729342767795123227">"ക്രമീകരണം"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"ടെർമിനൽ തയ്യാറാക്കുന്നു"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"ടെർമിനൽ നിർത്തുന്നു"</string>
<string name="vm_error_message" msgid="5231867246177661525">"ടെർമിനൽ ക്രാഷായി"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"ഡിസ്ക് വലുപ്പം മാറ്റുക"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"വലുപ്പം മാറ്റുക / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"ഡിസ്ക്കിന്റെ വലുപ്പം മാറ്റുക"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"റൂട്ട് പാർട്ടീഷൻ വലുപ്പം മാറ്റുക"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"ഡിസ്ക് വലുപ്പം സജ്ജീകരിച്ചു"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> അസൈൻ ചെയ്തു"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"പരമാവധി <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"റദ്ദാക്കുക"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"പ്രയോഗിക്കാൻ റീസ്റ്റാർട്ട് ചെയ്യൂ"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"പോർട്ട് ഫോർവേഡിങ്"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"പോർട്ട് ഫോർവേഡിങ് കോൺഫിഗർ ചെയ്യുക"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"ഒരു പുതിയ പോർട്ട് തുറക്കാൻ ടെർമിനൽ ശ്രമിക്കുന്നു"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"പോർട്ട് തുറക്കാൻ അഭ്യർത്ഥിച്ചു: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"ബാധകമാക്കുക"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ഡിസ്കിന്റെ വലുപ്പം മാറ്റുന്നതിനായി ടെർമിനൽ റീസ്റ്റാർട്ട് ചെയ്യും"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"സ്ഥിരീകരിക്കുക"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"ഒരു പുതിയ പോർട്ട് തുറക്കാൻ ടെർമിനൽ അഭ്യർത്ഥിക്കുന്നു"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"പോർട്ട് അഭ്യർത്ഥിച്ചു: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"അംഗീകരിക്കുക"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"നിരസിക്കുക"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"വീണ്ടെടുക്കുക"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"പാർട്ടീഷൻ വീണ്ടെടുക്കൽ ഓപ്ഷനുകൾ"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"പ്രാരംഭ പതിപ്പിലേക്ക് മാറ്റുക"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"എല്ലാം നീക്കം ചെയ്യുക"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"പാർട്ടീഷൻ വീണ്ടെടുക്കൽ ഓപ്ഷനുകൾ"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"പ്രാരംഭ പതിപ്പിലേക്ക് റീസെറ്റ് ചെയ്യുക"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"എല്ലാ ഡാറ്റയും നീക്കം ചെയ്യുക"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"ടെർമിനൽ റീസെറ്റ് ചെയ്യുക"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ഡാറ്റ ഇല്ലാതാക്കും"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"സ്ഥിരീകരിക്കുക"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ഡാറ്റ നീക്കം ചെയ്യും"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"റീസെറ്റ് ചെയ്യുക"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"റദ്ദാക്കുക"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g> എന്നതിലേക്ക് ഡാറ്റ ബാക്കപ്പെടുക്കുക"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"ബാക്കപ്പ് ചെയ്യാനാകാത്തതിനാൽ വീണ്ടെടുക്കാനായില്ല"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"ബാക്കപ്പുമായി ബന്ധപ്പെട്ട പിശക് കാരണം വീണ്ടെടുക്കാനായില്ല"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"വീണ്ടെടുക്കാനായില്ല"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"ബാക്കപ്പ് ഫയൽ നീക്കം ചെയ്യാനാകില്ല"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"ബാക്കപ്പ് ഡാറ്റ നീക്കം ചെയ്യാനായില്ല"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"ബാക്കപ്പ് ഡാറ്റ നീക്കം ചെയ്യുക"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> ക്ലീനപ്പ് ചെയ്യുക"</string>
- <string name="error_title" msgid="7196464038692913778">"വീണ്ടെടുക്കാനാകാത്ത വിധത്തിലാക്കിയ പിശക്"</string>
- <string name="error_desc" msgid="1939028888570920661">"ഒരു പിശകിൽ നിന്ന് വീണ്ടെടുക്കാനായില്ല.\nനിങ്ങൾക്ക് ആപ്പ് റീസ്റ്റാർട്ട് ചെയ്യാൻ ശ്രമിക്കാം അല്ലെങ്കിൽ വീണ്ടെടുക്കൽ ഓപ്ഷനുകളിലൊന്ന് ശ്രമിച്ചുനോക്കാം."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> നീക്കം ചെയ്യുക"</string>
+ <string name="error_title" msgid="405150657301906598">"വീണ്ടെടുക്കാനാകാത്ത വിധത്തിലാക്കിയ പിശക്"</string>
+ <string name="error_desc" msgid="1984714179775053347">"ഒരു പിശകിൽ നിന്ന് വീണ്ടെടുക്കാനായില്ല.\nനിങ്ങൾക്ക് ടെർമിനൽ റീസ്റ്റാർട്ട് ചെയ്യാൻ ശ്രമിക്കാം അല്ലെങ്കിൽ വീണ്ടെടുക്കൽ ഓപ്ഷനുകളിൽ ഒന്ന് ശ്രമിച്ചുനോക്കാം."</string>
<string name="error_code" msgid="3585291676855383649">"പിശക് കോഡ്: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"ക്രമീകരണം"</string>
<string name="service_notification_title" msgid="2918088850910713393">"ടെർമിനൽ റൺ ചെയ്യുന്നു"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"ടെർമിനൽ തുറക്കാൻ ക്ലിക്ക് ചെയ്യുക"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"ടെർമിനൽ തുറക്കാൻ ക്ലിക്ക് ചെയ്യുക"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"അടയ്ക്കുക"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> പ്രവർത്തനക്ഷമമാക്കി"</string>
</resources>
diff --git a/android/TerminalApp/res/values-mn/strings.xml b/android/TerminalApp/res/values-mn/strings.xml
index 23cb782..f4cb134 100644
--- a/android/TerminalApp/res/values-mn/strings.xml
+++ b/android/TerminalApp/res/values-mn/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Терминал"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Терминалын дэлгэц"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Курсор"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Хоосон мөр"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux terminal-г суулгах"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux терминалыг эхлүүлэхийн тулд та сүлжээгээр барагцаагаар <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g>-н өгөгдөл татах шаардлагатай.\nТа үргэлжлүүлэх үү?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Wi-Fi боломжтой үед татах"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux терминалыг эхлүүлэхийн тулд та барагцаагаар <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g>-н өгөгдлийг сүлжээгээр татах шаардлагатай.\nТа үргэлжлүүлэхийг хүсэж байна уу?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Зөвхөн Wi-Fi ашиглан татах"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Суулгах"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Суулгаж байна"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Сүлжээний алдаа гарлаа. Холболтыг шалгаж, дахин оролдоно уу."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Сүлжээний алдааны улмаас суулгаж чадсангүй. Холболтоо шалгаад, дахин оролдоно уу."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux терминалыг суулгаж байна"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Дууссаны дараа Linux терминал эхэлнэ"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Сүлжээний асуудлын улмаас суулгаж чадсангүй"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Суулгаж чадсангүй. Дахин оролдоно уу."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Суулгаж дууссаны дараа Linux терминалыг эхлүүлнэ"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Сүлжээний асуудлын улмаас суулгаж чадсангүй"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Wi-Fi боломжгүй тул суулгаж чадсангүй"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Суулгаж чадсангүй. Дахин оролдоно уу"</string>
<string name="action_settings" msgid="5729342767795123227">"Тохиргоо"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Терминалыг бэлтгэж байна"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Терминалыг зогсоож байна"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Терминал гэмтсэн"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Дискийн хэмжээг өөрчлөх"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Хэмжээг өөрчлөх / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Дискийн хэмжээг өөрчлөх"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Үндсэн хуваалтын хэмжээг өөрчлөх"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Дискийн хэмжээг тохируулсан"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> оноосон"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Дээд тал нь <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Цуцлах"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Дахин эхлүүлж ашигла"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Порт дамжуулах"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Порт дамжуулахыг тохируулах"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Терминал шинэ порт нээхээр оролдож байна"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Нээхийг хүссэн порт: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Оруулах"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Дискийн хэмжээг өөрчлөхийн тулд терминалыг дахин эхлүүлнэ"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Баталгаажуулах"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Терминал шинэ порт нээхийг хүсэж байна"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Хүссэн порт: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Зөвшөөрөх"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Татгалзах"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Сэргээх"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Хуваалтыг сэргээх сонголтууд"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Анхны хувилбар луу өөрчлөх"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Бүгдийг хасах"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Хуваалтыг сэргээх сонголтууд"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Анхны хувилбар луу шинэчлэх"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Бүх өгөгдлийг устгах"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Терминалыг шинэчлэх"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Өгөгдлийг устгана"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Баталгаажуулах"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Өгөгдлийг устгана"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Шинэчлэх"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Цуцлах"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Өгөгдлийг <xliff:g id="PATH">/mnt/backup</xliff:g>-д нөөцлөх"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Нөөцлөлт амжилтгүй болсон тул сэргээж чадсангүй"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Нөөцлөлтийн алдааны улмаас сэргээж чадсангүй"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Сэргээж чадсангүй"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Нөөц файлыг хасах боломжгүй"</string>
- <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Нөөц өгөгдлийг хасах"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g>-г цэвэрлэх"</string>
- <string name="error_title" msgid="7196464038692913778">"Сэргээх боломжгүй алдаа"</string>
- <string name="error_desc" msgid="1939028888570920661">"Алдааны улмаас сэргээж чадсангүй.\nТа аппыг дахин эхлүүлэхээр оролдох эсвэл сэргээх сонголтуудын аль нэгийг туршиж үзэх боломжтой."</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Нөөц өгөгдлийг устгаж чадсангүй"</string>
+ <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Нөөц өгөгдлийг устгах"</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g>-г устгах"</string>
+ <string name="error_title" msgid="405150657301906598">"Сэргээх боломжгүй алдаа"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Алдааны улмаас сэргээж чадсангүй.\nТа терминалыг дахин эхлүүлэхээр оролдох эсвэл аль нэг сэргээх сонголтыг туршиж үзэх боломжтой."</string>
<string name="error_code" msgid="3585291676855383649">"Алдааны код: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Тохиргоо"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Терминал ажиллаж байна"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Терминалыг нээхийн тулд товшино уу"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Терминалыг нээхийн тулд товшино уу"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Хаах"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> идэвхэжсэн"</string>
</resources>
diff --git a/android/TerminalApp/res/values-mr/strings.xml b/android/TerminalApp/res/values-mr/strings.xml
index e084c1e..94836b8 100644
--- a/android/TerminalApp/res/values-mr/strings.xml
+++ b/android/TerminalApp/res/values-mr/strings.xml
@@ -17,65 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"टर्मिनल"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"टर्मिनल डिस्प्ले"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"कर्सर"</string>
+ <string name="empty_line" msgid="5012067143408427178">"रिकामी ओळ"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux टर्मिनल इंस्टॉल करा"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux टर्मिनल लाँच करण्यासाठी, तुम्ही नेटवर्कवरून अंदाजे <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> डेटा डाउनलोड करणे आवश्यक आहे.\nतुम्हाला पुढे सुरू ठेवायचे आहे का?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"वाय-फाय उपलब्ध असताना डाउनलोड करा"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux टर्मिनल लाँच करण्यासाठी, तुम्ही नेटवर्कवरून अंदाजे <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> डेटा डाउनलोड करणे आवश्यक आहे.\nतुम्हाला पुढे सुरू ठेवायचे आहे का?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"फक्त वाय-फाय वापरून डाउनलोड करा"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"इंस्टॉल करा"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"इंस्टॉल करत आहे"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"नेटवर्क एरर. कनेक्शन तपासून पुन्हा प्रयत्न करा."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"नेटवर्क एररमुळे इंस्टॉल करता आले नाही. तुमचे कनेक्शन तपासा आणि पुन्हा प्रयत्न करा."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux टर्मिनल इंस्टॉल करत आहे"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"पूर्ण झाल्यानंतर Linux टर्मिनल सुरू होईल"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"नेटवर्कच्या समस्येमुळे इंस्टॉल करता आले नाही"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"इंस्टॉल करता आले नाही. पुन्हा प्रयत्न करा."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"इंस्टॉलेशन पूर्ण झाल्यानंतर Linux टर्मिनल सुरू होईल"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"नेटवर्कच्या समस्येमुळे इंस्टॉल करता आले नाही"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"वाय-फाय उपलब्ध नसल्यामुळे इंस्टॉल करता आले नाही"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"इंस्टॉल करता आले नाही. कृपया पुन्हा प्रयत्न करा"</string>
<string name="action_settings" msgid="5729342767795123227">"सेटिंग्ज"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"टर्मिनल तयार करत आहे"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"टर्मिनल थांबवत आहे"</string>
<string name="vm_error_message" msgid="5231867246177661525">"टर्मिनल क्रॅश झाले आहे"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"डिस्कचा आकार बदला"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"आकार बदला / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"डिस्कचा आकार बदला"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"रूट पार्टिशनचा आकार बदला"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"डिस्कचा आकार सेट केला आहे"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> असाइन केले आहे"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"कमाल <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"रद्द करा"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"लागू करण्यासाठी रीस्टार्ट करा"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"पोर्ट फॉरवर्डिंग"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"पोर्ट फॉरवर्डिंग कॉन्फिगर करा"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"टर्मिनल नवीन पोर्ट उघडण्याचा प्रयत्न करत आहे"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"उघडण्याची विनंती केलेला पोर्ट: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"लागू करा"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"डिस्कचा आकार बदलण्यासाठी टर्मिनल पुन्हा सुरू केले जाईल"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"कन्फर्म करा"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"टर्मिनल नवीन पोर्ट उघडण्याची विनंती करत आहे"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"विनंती केलेला पोर्ट: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"स्वीकारा"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"नकार द्या"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"रिकव्हरी"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"पार्टिशनचे रिकव्हरी पर्याय"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"मूळ आवृत्तीवर बदला"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"सर्व काढून टाका"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"पार्टिशनचे रिकव्हरी पर्याय"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"मूळ आवृत्तीवर रीसेट करा"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"सर्व डेटा काढून टाका"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"टर्मिनल रीसेट करा"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"डेटा हटवला जाईल"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"कन्फर्म करा"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"डेटा काढून टाकला जाईल"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"रीसेट करा"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"रद्द करा"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g> वर डेटाचा बॅकअप घ्या."</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"बॅकअप घेता आला नसल्यामुळे, रिकव्हरी करता आली नाही"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"बॅकअप एररमुळे रिकव्हर करता आले नाही"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"रिकव्हरी करता आली नाही"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"बॅकअप फाइल काढून टाकू शकत नाही"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"बॅकअप डेटा काढून टाकता आला नाही"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"बॅकअप डेटा काढून टाका"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"क्लीन अप करा <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <!-- no translation found for error_title (7196464038692913778) -->
- <skip />
- <!-- no translation found for error_desc (1939028888570920661) -->
- <skip />
- <!-- no translation found for error_code (3585291676855383649) -->
- <skip />
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> काढून टाका"</string>
+ <string name="error_title" msgid="405150657301906598">"रिकव्हर न करता येणारी एरर"</string>
+ <string name="error_desc" msgid="1984714179775053347">"एरर रिकव्हर करता आली नाही.\nतुम्ही टर्मिनल रीस्टार्ट करण्याचा प्रयत्न करू शकता किंवा एखादा रिकव्हरी पर्याय वापरून पाहू शकता."</string>
+ <string name="error_code" msgid="3585291676855383649">"एरर कोड: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"सेटिंग्ज"</string>
<string name="service_notification_title" msgid="2918088850910713393">"टर्मिनल रन होत आहे"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"टर्मिनल उघडण्यासाठी क्लिक करा"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"टर्मिनल उघडण्यासाठी क्लिक करा"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"बंद करा"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> सुरू केले आहे"</string>
</resources>
diff --git a/android/TerminalApp/res/values-ms/strings.xml b/android/TerminalApp/res/values-ms/strings.xml
index b845724..cde70e7 100644
--- a/android/TerminalApp/res/values-ms/strings.xml
+++ b/android/TerminalApp/res/values-ms/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Paparan terminal"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Kursor"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Baris kosong"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Pasang terminal Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Untuk melancarkan terminal Linux, anda perlu memuat turun anggaran <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> data melalui rangkaian.\nAdakah anda mahu meneruskan proses?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Muat turun apabila Wi-Fi tersedia"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Untuk melancarkan terminal Linux, anda perlu memuat turun kira-kira <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> data melalui rangkaian.\nAdakah anda mahu meneruskan proses?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Muat turun menggunakan Wi-Fi sahaja"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Pasang"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Memasang"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Ralat rangkaian. Semak sambungan dan cuba lagi."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Gagal melakukan pemasangan disebabkan oleh ralat rangkaian. Semak sambungan anda, kemudian cuba lagi."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Memasang terminal Linux"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Terminal Linux akan dimulakan selepas selesai"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Gagal melakukan pemasangan disebabkan oleh masalah rangkaian"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Gagal melakukan pemasangan. Cuba lagi."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Terminal Linux akan dimulakan selepas pemasangan selesai"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Gagal melakukan pemasangan disebabkan oleh masalah rangkaian"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Gagal melakukan pemasangan kerana Wi-Fi tidak tersedia"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Gagal melakukan pemasangan. Sila cuba lagi"</string>
<string name="action_settings" msgid="5729342767795123227">"Tetapan"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Menyediakan terminal"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Menghentikan terminal"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminal ranap"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Ubah Saiz Cakera"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Ubah saiz / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Ubah saiz cakera"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Ubah saiz pemetakan akar"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Set saiz cakera"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> ditetapkan"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maksimum <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Batal"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Mulakan semula untuk gunakan"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Kiriman Semula Port"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Konfigurasikan kiriman semula port"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal sedang cuba membuka port baharu"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port diminta untuk dibuka : <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Guna"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal akan dimulakan semula untuk mengubah saiz cakera"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Sahkan"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal membuat permintaan untuk membuka port baharu"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Port diminta: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Terima"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Tolak"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Pemulihan"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Pilihan pemulihan Pemetakan"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Tukar kepada Versi awal"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Alih keluar semua"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Pilihan pemulihan pemetakan"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Tetapkan semula kepada versi awal"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Alih keluar semua data"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Tetapkan semula terminal"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Data akan dipadamkan"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Sahkan"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Data akan dialih keluar"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Tetapkan semula"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Batal"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Sandarkan data kepada <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Pemulihan gagal kerana sandaran telah gagal"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Gagal dipulihkan disebabkan oleh ralat sandaran"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Pemulihan gagal"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Tidak dapat mengalih keluar fail sandaran"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Gagal mengalih keluar data sandaran"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Alih keluar data sandaran"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Bersihkan <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Ralat yang Tidak dapat dipulihkan"</string>
- <string name="error_desc" msgid="1939028888570920661">"Gagal dipulihkan daripada ralat.\nAnda boleh cuba memulakan semula apl atau cuba salah satu pilihan pemulihan."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Alih keluar <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Ralat yang tidak dapat dipulihkan"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Gagal dipulihkan daripada ralat.\nAnda boleh cuba memulakan semula terminal atau cuba satu daripada pilihan pemulihan."</string>
<string name="error_code" msgid="3585291676855383649">"Kod ralat: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Tetapan"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminal sedang dijalankan"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Klik untuk membuka terminal"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Klik untuk membuka terminal"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Tutup"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> didayakan"</string>
</resources>
diff --git a/android/TerminalApp/res/values-my/strings.xml b/android/TerminalApp/res/values-my/strings.xml
index d76b98d..08f957a 100644
--- a/android/TerminalApp/res/values-my/strings.xml
+++ b/android/TerminalApp/res/values-my/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"တာမီနယ်"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"တာမီနယ် ပြကွက်"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"ကာဆာ"</string>
+ <string name="empty_line" msgid="5012067143408427178">"လိုင်းကို ရှင်းရန်"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux တာမီနယ် ထည့်သွင်းခြင်း"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux တာမီနယ် စတင်ရန် ကွန်ရက်ပေါ်တွင် ဒေတာ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ခန့်ကို ဒေါင်းလုဒ်လုပ်ရမည်။\nရှေ့ဆက်လိုပါသလား။"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Wi-Fi ရသည့်အခါ ဒေါင်းလုဒ်လုပ်ရန်"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux တာမီနယ် စတင်ရန် ကွန်ရက်ပေါ်တွင် ဒေတာ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ခန့်ကို ဒေါင်းလုဒ်လုပ်ရမည်။\nရှေ့ဆက်လိုပါသလား။"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Wi-Fi ဖြင့်သာ ဒေါင်းလုဒ်လုပ်ရန်"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ထည့်သွင်းရန်"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"ထည့်သွင်းနေသည်"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"ကွန်ရက် အမှားအယွင်း။ ချိတ်ဆက်မှုကို စစ်ဆေးပြီး ထပ်စမ်းကြည့်ပါ။"</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"ကွန်ရက် အမှားအယွင်းကြောင့် ထည့်သွင်း၍ မရလိုက်ပါ။ ချိတ်ဆက်မှုကို စစ်ဆေးပြီး ထပ်စမ်းကြည့်ပါ။"</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux တာမီနယ်ကို ထည့်သွင်းနေသည်"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"ပြီးသွားပါက Linux တာမီနယ်ကို စတင်ပါမည်"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"ကွန်ရက်ပြဿနာကြောင့် ထည့်သွင်း၍ မရလိုက်ပါ"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"ထည့်သွင်း၍ မရလိုက်ပါ။ ထပ်စမ်းကြည့်ပါ။"</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"ထည့်သွင်းမှု ပြီးသည့်အခါ Linux တာမီနယ် စတင်မည်"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"ကွန်ရက်ပြဿနာကြောင့် ထည့်သွင်း၍ မရလိုက်ပါ"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Wi-Fi မရနိုင်သောကြောင့် ထည့်သွင်း၍မရလိုက်ပါ"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"ထည့်သွင်း၍ မရလိုက်ပါ။ ထပ်စမ်းကြည့်ပါ"</string>
<string name="action_settings" msgid="5729342767795123227">"ဆက်တင်များ"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"တာမီနယ်ကို ပြင်ဆင်နေသည်"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"တာမီနယ်ကို ရပ်နေသည်"</string>
<string name="vm_error_message" msgid="5231867246177661525">"တာမီနယ် ရပ်တန့်သွားသည်"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"ဒစ်ခ်အရွယ်ပြင်ခြင်း"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"/ Rootfs အရွယ်ပြင်ရန်"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"ဒစ်ခ်အရွယ်ပြင်ခြင်း"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"ရုအကန့်အရွယ် ပြင်ရန်"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"ဒစ်ခ်အရွယ်အစား သတ်မှတ်လိုက်သည်"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> သတ်မှတ်ထားသည်"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"အများဆုံး <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"မလုပ်တော့"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"သုံးရန် ပြန်စပါ"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"ပို့တ်ထပ်ဆင့်ပို့ခြင်း"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"ပို့တ်ထပ်ဆင့်ပို့ခြင်းကို စီစဉ်သတ်မှတ်ပါ"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"တာမီနယ်က ပို့တ်အသစ်ကိုဖွင့်ရန် ကြိုးပမ်းနေသည်"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"ဖွင့်ရန်တောင်းဆိုထားသည့် ပို့တ်- <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"သုံးရန်"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ဒစ်ခ်ကို အရွယ်ပြင်ရန် တာမီနယ်ပြန်စပါမည်"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"အတည်ပြုရန်"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"တာမီနယ်က ပို့တ်အသစ်ဖွင့်ရန် တောင်းဆိုနေသည်"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"တောင်းဆိုထားသော ပို့တ်- <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"လက်ခံရန်"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"ငြင်းပယ်ရန်"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"ပြန်လည်ရယူခြင်း"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"အကန့်ပြန်ရယူရေး နည်းလမ်းများ"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"ကနဦးဗားရှင်းသို့ ပြောင်းရန်"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"အားလုံး ဖယ်ရှားရန်"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"အကန့်ပြန်ရယူရေး နည်းလမ်းများ"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"ကနဦးဗားရှင်းသို့ ပြင်ဆင်သတ်မှတ်ရန်"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"ဒေတာအားလုံး ဖယ်ရှားရန်"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"တာမီနယ်ကို ပြင်ဆင်သတ်မှတ်ခြင်း"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ဒေတာကို ဖျက်ပါမည်"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"အတည်ပြုရန်"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ဒေတာကို ဖယ်ရှားပါမည်"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"ပြန်သတ်မှတ်ရန်"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"မလုပ်တော့"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g> တွင် ဒေတာအရန်သိမ်းရန်"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"အရန်သိမ်းခြင်း မအောင်မြင်သဖြင့် ပြန်လည်ရယူ၍ မရလိုက်ပါ"</string>
- <string name="settings_recovery_error" msgid="2451912941535666379">"ပြန်လည်ရယူ၍ မရလိုက်ပါ"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"မိတ္တူဖိုင်ကို ဖယ်ရှား၍မရပါ"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"အရန်သိမ်းခြင်းအမှားကြောင့် ပြန်လည်ရယူ၍ မရလိုက်ပါ"</string>
+ <string name="settings_recovery_error" msgid="2451912941535666379">"ပြန်လည်ရယူမှု မအောင်မြင်ပါ"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"အရန်ဒေတာကို ဖယ်ရှား၍ မရလိုက်ပါ"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"အရန်ဒေတာ ဖယ်ရှားခြင်း"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> ရှင်းထုတ်ဖယ်ရှားရန်"</string>
- <string name="error_title" msgid="7196464038692913778">"ပြန်ပြင်၍မရသော အမှား"</string>
- <string name="error_desc" msgid="1939028888570920661">"အမှားကို ပြန်ပြင်၍မရလိုက်ပါ။\nအက်ပ်ကို ပြန်စနိုင်သည် (သို့) ပြန်ရယူရေး နည်းလမ်းများထဲမှ တစ်ခုကို စမ်းကြည့်နိုင်သည်။"</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> ကို ဖယ်ရှားရန်"</string>
+ <string name="error_title" msgid="405150657301906598">"ပြန်ပြင်၍မရသော အမှား"</string>
+ <string name="error_desc" msgid="1984714179775053347">"အမှားကို ပြန်ပြင်၍မရလိုက်ပါ။\nတာမီနယ်ကို ပြန်စနိုင်သည် (သို့) ပြန်ရယူရေး နည်းလမ်းများထဲမှ တစ်ခုကို စမ်းကြည့်နိုင်သည်။"</string>
<string name="error_code" msgid="3585291676855383649">"အမှားကုဒ်- <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"ဆက်တင်များ"</string>
<string name="service_notification_title" msgid="2918088850910713393">"တာမီနယ်ကို ဖွင့်ထားသည်"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"တာမီနယ်ဖွင့်ရန် နှိပ်ပါ"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"တာမီနယ်ဖွင့်ရန် နှိပ်ပါ"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"ပိတ်ရန်"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> ဖွင့်ထားသည်"</string>
</resources>
diff --git a/android/TerminalApp/res/values-nb/strings.xml b/android/TerminalApp/res/values-nb/strings.xml
index d0adf2f..7919e0d 100644
--- a/android/TerminalApp/res/values-nb/strings.xml
+++ b/android/TerminalApp/res/values-nb/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Terminalskjerm"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Markør"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Tom linje"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Installer Linux-terminalen"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"For å starte Linux-terminalen må du laste ned omtrent <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> data via nettverket.\nVil du fortsette?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Last ned når wifi er tilgjengelig"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"For å starte Linux-terminalen må du laste ned omtrent <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> data via nettverket.\nVil du fortsette?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Last ned bare via wifi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Installer"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installerer"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Nettverksfeil. Sjekk tilkoblingen og prøv på nytt."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Kunne ikke installere på grunn av en nettverksfeil. Sjekk tilkoblingen, og prøv igjen."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Installerer Linux-terminalen"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux-terminalen startes når prosessen er ferdig"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Kunne ikke installere på grunn av et nettverksproblem"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Installasjonen mislyktes. Prøv på nytt."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux-terminalen startes når installasjonen er ferdig"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Kunne ikke installere på grunn av et nettverksproblem"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Kunne ikke installere fordi wifi ikke er tilgjengelig"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Installasjonen mislyktes. Prøv igjen"</string>
<string name="action_settings" msgid="5729342767795123227">"Innstillinger"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Forbereder terminalen"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Stopper terminalen"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminalen krasjet"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Endre diskstørrelse"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Endre størrelse / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Endre diskstørrelse"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Endre størrelsen på rotpartisjonen"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Diskstørrelsen er angitt"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> er tildelt"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> maks"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Avbryt"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Omstart for å bruke"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Viderekobling av porter"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Konfigurer viderekobling av porter"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminalen prøver å åpne en ny port"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Porten som er forespurt åpnet: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Bruk"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminalen starter på nytt for å endre størrelsen på disken"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Bekreft"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminalen prøver å åpne en ny port"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Forespurt port: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Godta"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Avvis"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Gjenoppretting"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Gjenopprettingsalternativer for partisjoner"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Bytt til første versjon"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Fjern alle"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Gjenopprettingsalternativer for partisjoner"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Tilbakestill til den opprinnelige versjonen"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Fjern alle dataene"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Tilbakestill terminalen"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Dataene slettes"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Bekreft"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Dataene blir fjernet"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Tilbakestill"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Avbryt"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Sikkerhetskopier data til <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Gjenopprettingen mislyktes fordi sikkerhetskopieringen mislyktes"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Kunne ikke gjenopprette på grunn av en sikkerhetskopieringsfeil"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Gjenopprettingen mislyktes"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Kan ikke fjerne sikkerhetskopifilen"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Kunne ikke fjerne sikkerhetskopierte data"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Fjern sikkerhetskopierte data"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Rydd opp <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Ugjenopprettelig feil"</string>
- <string name="error_desc" msgid="1939028888570920661">"Kunne ikke gjenopprette etter en feil.\nDu kan prøve å starte appen på nytt eller prøve et av gjenopprettingsalternativene."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Fjern <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Ugjenopprettelig feil"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Kunne ikke gjenopprette etter en feil.\nDu kan prøve å starte terminalen på nytt eller prøve et av gjenopprettingsalternativene."</string>
<string name="error_code" msgid="3585291676855383649">"Feilkode: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Innstillinger"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminalen kjører"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Klikk for å åpne terminalen"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Klikk for å åpne terminalen"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Lukk"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> er aktivert"</string>
</resources>
diff --git a/android/TerminalApp/res/values-ne/strings.xml b/android/TerminalApp/res/values-ne/strings.xml
index a7806a6..7fa2c4b 100644
--- a/android/TerminalApp/res/values-ne/strings.xml
+++ b/android/TerminalApp/res/values-ne/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"टर्मिनल"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"टर्मिनल डिस्प्ले"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"कर्सर"</string>
+ <string name="empty_line" msgid="5012067143408427178">"खाली लाइन"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux टर्मिनल इन्स्टल गर्नुहोस्"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux टर्मिनल लन्च गर्नका निम्ति, तपाईंले नेटवर्क प्रयोग गरेर लगभग <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> जति डेटा डाउनलोड गर्नु पर्ने हुन्छ।\nतपाईं अघि बढ्नुहुन्छ?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Wi-Fi उपलब्ध हुँदा डाउनलोड गर्नुहोस्"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux टर्मिनल सुरु गर्न तपाईंले नेटवर्क प्रयोग गरेर लगभग <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> जति डेटा डाउनलोड गर्नु पर्ने हुन्छ।\nतपाईं अघि बढ्नु चाहनुहुन्छ?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Wi-Fi मार्फत मात्र डाउनलोड गर्नुहोस्"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"इन्स्टल गर्नुहोस्"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"इन्स्टल गरिँदै छ"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"नेटवर्कसम्बन्धी त्रुटि। कनेक्सन जाँच गर्नुहोस् र फेरि प्रयास गर्नुहोस्।"</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"नेटवर्कसम्बन्धी त्रुटिका कारण इन्स्टल गर्न सकिएन। इन्टरनेट कनेक्सन जाँच्नुहोस् र फेरि प्रयास गर्नुहोस्।"</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux टर्मिनल इन्स्टल गरिँदै छ"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"पूरा भइसकेपछि Linux टर्मिनल सुरु हुने छ"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"नेटवर्कसम्बन्धी समस्याका कारण इन्स्टल गर्न सकिएन"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"इन्स्टल गर्न सकिएन। फेरि प्रयास गर्नुहोस्।"</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"इन्स्टल गर्ने कार्य पूरा भएपछि Linux टर्मिनल सुरु हुने छ"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"नेटवर्कसम्बन्धी समस्याका कारण इन्स्टल गर्न सकिएन"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Wi-Fi उपलब्ध नभएकाले इन्स्टल गर्न सकिएन"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"इन्स्टल गर्न सकिएन। कृपया फेरि प्रयास गर्नुहोस्"</string>
<string name="action_settings" msgid="5729342767795123227">"सेटिङ"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"टर्मिनल तयार पारिँदै छ"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"टर्मिनल रोकिँदै छ"</string>
<string name="vm_error_message" msgid="5231867246177661525">"टर्मिनल क्र्यास भयो"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"डिस्कको आकार बदल्नुहोस्"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"आकार बदल्नुहोस् / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"डिस्कको आकार बदल्नुहोस्"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"मूल पार्टिसनको आकार बदल्नुहोस्"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"डिस्कको आकारको सेट गरियो"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"असाइन गरिएको: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"अधिकतम <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"रद्द गर्नुहोस्"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"परिवर्तन लागू गर्न रिस्टार्ट गर्नुहोस्"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"पोर्ट फर्वार्डिङ"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"पोर्ट फर्वार्डिङ कन्फिगर गर्नुहोस्"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"टर्मिनलले एउटा नयाँ पोर्ट खोल्न खोजिरहेको छ"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"खोल्न अनुरोध गरिएको पोर्ट: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"लागू गर्नुहोस्"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"डिस्कको आकार बदल्न टर्मिनल रिस्टार्ट गरिने छ"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"पुष्टि गर्नुहोस्"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"टर्मिनलले एउटा नयाँ पोर्ट खोल्न अनुरोध गरिरहेको छ"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"निम्न पोर्ट खोल्न अनुरोध गरिएको छ: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"स्वीकार गर्नुहोस्"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"अस्वीकार गर्नुहोस्"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"रिकभरी"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"पार्टिसन रिकभरीसम्बन्धी विकल्पहरू"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"यो संस्करण बदलेर सुरुको संस्करण बनाउनुहोस्"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"सबै हटाउनुहोस्"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"पार्टिसन रिकभर गर्ने विकल्पहरू"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"रिसेट गरी सुरुको संस्करण बनाउनुहोस्"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"सबै डेटा हटाउनुहोस्"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"टर्मिनल रिसेट गर्नुहोस्"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"डेटा मेटाइने छ"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"पुष्टि गर्नुहोस्"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"डेटा हटाइने छ"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"रिसेट गर्नुहोस्"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"रद्द गर्नुहोस्"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g> मा डेटा ब्याकअप गर्नुहोस्"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"ब्याकअप गर्न नसकिएकाले रिकभर गर्न सकिएन"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"ब्याकअपसम्बन्धी त्रुटिका कारण रिकभर गर्न सकिएन"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"रिकभर गर्न सकिएन"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"ब्याकअप फाइल हटाउन सकिएन"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"ब्याकअप गरिएको डेटा हटाउन सकिएन"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"ब्याकअप डेटा हटाउनुहोस्"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> हटाउनुहोस्"</string>
- <string name="error_title" msgid="7196464038692913778">"सच्याउन नमिल्ने त्रुटि"</string>
- <string name="error_desc" msgid="1939028888570920661">"कुनै त्रुटि सच्याउन सकिएन।\nतपाईं यो एप रिस्टार्ट गरी हेर्न वा त्रुटि सच्याउने यीमध्ये कुनै पनि एउटा तरिका अपनाई हेर्न सक्नुहुन्छ।"</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> हटाउनुहोस्"</string>
+ <string name="error_title" msgid="405150657301906598">"रिकभर गर्न नदिने त्रुटि"</string>
+ <string name="error_desc" msgid="1984714179775053347">"कुनै त्रुटिका कारण रिकभर गर्न सकिएन।\nतपाईं टर्मिनल रिस्टार्ट गर्न वा रिकभर गर्ने विकल्पहरूमध्ये कुनै एउटा विकल्प अपनाई हेर्न सक्नुहुन्छ।"</string>
<string name="error_code" msgid="3585291676855383649">"त्रुटिको कोड: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"सेटिङ"</string>
<string name="service_notification_title" msgid="2918088850910713393">"टर्मिनल चलिरहेको छ"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"यो टर्मिनल खोल्न क्लिक गर्नुहोस्"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"टर्मिनल खोल्न क्लिक गर्नुहोस्"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"बन्द गर्नुहोस्"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> अन गरिएको छ"</string>
</resources>
diff --git a/android/TerminalApp/res/values-nl/strings.xml b/android/TerminalApp/res/values-nl/strings.xml
index e012578..e5c975d 100644
--- a/android/TerminalApp/res/values-nl/strings.xml
+++ b/android/TerminalApp/res/values-nl/strings.xml
@@ -20,55 +20,72 @@
<string name="terminal_display" msgid="4810127497644015237">"Terminalweergave"</string>
<string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
<string name="empty_line" msgid="5012067143408427178">"Lege regel"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
+ <skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux-terminal installeren"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Als je Linux-terminal wilt starten, moet je ongeveer <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> aan data downloaden via het netwerk.\nWil je doorgaan?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Downloaden als wifi beschikbaar is"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Als je Linux-terminal wilt starten, moet je ongeveer <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> aan data downloaden via het netwerk.\nWil je doorgaan?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Alleen downloaden via wifi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Installeren"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installeren"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Netwerkfout. Check de verbinding en probeer het opnieuw."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Kan niet installeren vanwege een netwerkfout. Check de verbinding en probeer het opnieuw."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux-terminal installeren"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux-terminal wordt gestart na afronding"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Kan niet installeren vanwege het netwerkprobleem"</string>
- <string name="installer_error_no_wifi" msgid="8631584648989718121">"Kan niet installeren omdat wifi niet beschikbaar is"</string>
- <string name="installer_error_unknown" msgid="1991780204241177455">"Installatie mislukt. Probeer het opnieuw."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux-terminal wordt gestart nadat de installatie is afgerond"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Kan niet installeren vanwege een netwerkprobleem"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Kan niet installeren omdat wifi niet beschikbaar is"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Installatie mislukt. Probeer het opnieuw."</string>
<string name="action_settings" msgid="5729342767795123227">"Instellingen"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Terminal voorbereiden"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Terminal stoppen"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminal gecrasht"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Formaat van schijf aanpassen"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Formaat aanpassen/Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Formaat van schijf aanpassen"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"De grootte van de rootpartitie aanpassen"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Schijfgrootte ingesteld"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> toegewezen"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> max."</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Annuleren"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Opnieuw opstarten om toe te passen"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"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_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Toepassen"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal wordt opnieuw opgestart om de schijfgrootte aan te passen"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Bevestigen"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal verzoekt om een nieuwe poort te openen"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Poort aangevraagd: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Accepteren"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Weigeren"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Herstel"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Herstelopties voor partities"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Wijzigen naar eerste versie"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Alles verwijderen"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Herstelopties voor partities"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Resetten naar eerste versie"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Alle gegevens verwijderen"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Terminal resetten"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Gegevens worden verwijderd"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Bevestigen"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Gegevens worden verwijderd"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Resetten"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Annuleren"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Back-up van gegevens maken in <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Herstel is mislukt omdat de back-up is mislukt"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Herstel is mislukt vanwege een back-upfout"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Herstel is mislukt"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Kan back-upbestand niet verwijderen"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Kan back-upgegevens niet verwijderen"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Back-upgegevens verwijderen"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> opschonen"</string>
- <string name="error_title" msgid="7196464038692913778">"Onherstelbare fout"</string>
- <string name="error_desc" msgid="1939028888570920661">"Kan niet herstellen van een fout.\nJe kunt de app opnieuw opstarten of een van de herstelopties proberen."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> verwijderen"</string>
+ <string name="error_title" msgid="405150657301906598">"Onherstelbare fout"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Kan niet herstellen van een fout.\nJe kunt de terminal opnieuw opstarten of een van de herstelopties proberen."</string>
<string name="error_code" msgid="3585291676855383649">"Foutcode: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Instellingen"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminal wordt uitgevoerd"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Klik om de terminal te openen"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Klik om terminal te openen"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Sluiten"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> staat aan"</string>
</resources>
diff --git a/android/TerminalApp/res/values-or/strings.xml b/android/TerminalApp/res/values-or/strings.xml
index 2324313..3b3e34b 100644
--- a/android/TerminalApp/res/values-or/strings.xml
+++ b/android/TerminalApp/res/values-or/strings.xml
@@ -17,65 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"ଟର୍ମିନାଲ"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"ଟର୍ମିନାଲ ଡିସପ୍ଲେ"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"କର୍ସର"</string>
+ <string name="empty_line" msgid="5012067143408427178">"ଖାଲି ଲାଇନ"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux ଟର୍ମିନାଲକୁ ଇନଷ୍ଟଲ କରନ୍ତୁ"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux ଟର୍ମିନାଲ ଲଞ୍ଚ କରିବାକୁ ଆପଣଙ୍କୁ ନେଟୱାର୍କ ମାଧ୍ୟମରେ ପ୍ରାୟ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g>ର ଡାଟା ଡାଉନଲୋଡ କରିବାକୁ ହେବ।\nଆପଣ ଆଗକୁ ବଢ଼ିବେ?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"ୱାଇ-ଫାଇ ଉପଲବ୍ଧ ହେଲେ ଡାଉନଲୋଡ କରନ୍ତୁ"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux ଟର୍ମିନାଲ ଲଞ୍ଚ କରିବାକୁ ଆପଣଙ୍କୁ ନେଟୱାର୍କ ମାଧ୍ୟମରେ ପ୍ରାୟ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g>ର ଡାଟା ଡାଉନଲୋଡ କରିବାକୁ ହେବ।\nଆପଣ ଆଗକୁ ବଢ଼ିବା ପାଇଁ ଚାହିଁବେ?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"କେବଳ ୱାଇ-ଫାଇ ବ୍ୟବହାର କରି ଡାଉନଲୋଡ କରନ୍ତୁ"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ଇନଷ୍ଟଲ କରନ୍ତୁ"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"ଇନଷ୍ଟଲ କରାଯାଉଛି"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"ନେଟୱାର୍କ ତ୍ରୁଟି। କନେକ୍ସନ ଯାଞ୍ଚ କରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"ଏକ ନେଟୱାର୍କ ତ୍ରୁଟି ଯୋଗୁଁ ଇନଷ୍ଟଲ କରିବାରେ ବିଫଳ ହୋଇଛି। ଆପଣଙ୍କ କନେକ୍ସନ ଯାଞ୍ଚ କରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux ଟର୍ମିନାଲକୁ ଇନଷ୍ଟଲ କରାଯାଉଛି"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"ପ୍ରକ୍ରିୟା ସମ୍ପୂର୍ଣ୍ଣ ହେବା ପରେ Linux ଟର୍ମିନାଲ ଆରମ୍ଭ ହେବ"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"ନେଟୱାର୍କ ସମସ୍ୟା ଯୋଗୁଁ ଇନଷ୍ଟଲ କରିବାରେ ବିଫଳ ହୋଇଛି"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"ଇନଷ୍ଟଲ କରିବାରେ ବିଫଳ ହୋଇଛି। ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"ଇନଷ୍ଟଲେସନ ସମ୍ପୂର୍ଣ୍ଣ ହେବା ପରେ Linux ଟର୍ମିନାଲ ଷ୍ଟାର୍ଟ ହେବ"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"ଏକ ନେଟୱାର୍କ ସମସ୍ୟା ଯୋଗୁଁ ଇନଷ୍ଟଲ କରିବାରେ ବିଫଳ ହୋଇଛି"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"ୱାଇ-ଫାଇ ଉପଲବ୍ଧ ନଥିବା ଯୋଗୁଁ ଇନଷ୍ଟଲ କରିବାରେ ବିଫଳ ହୋଇଛି"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"ଇନଷ୍ଟଲ କରିବାରେ ବିଫଳ ହୋଇଛି। ଦୟାକରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ"</string>
<string name="action_settings" msgid="5729342767795123227">"ସେଟିଂସ"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"ଟର୍ମିନାଲକୁ ପ୍ରସ୍ତୁତ କରାଯାଉଛି"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Terminalକୁ ବନ୍ଦ କରାଯାଉଛି"</string>
<string name="vm_error_message" msgid="5231867246177661525">"ଟର୍ମିନାଲ କ୍ରାସ ହୋଇଛି"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"ଡିସ୍କ ରିସାଇଜ କରନ୍ତୁ"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"ରିସାଇଜ କରନ୍ତୁ / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"ଡିସ୍କକୁ ରିସାଇଜ କରନ୍ତୁ"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"ରୁଟ ପାର୍ଟିସନ ସାଇଜକୁ ରିସାଇଜ କରନ୍ତୁ"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"ଡିସ୍କ ସାଇଜ ସେଟ ହୋଇଛି"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> ଆସାଇନ କରାଯାଇଛି"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"ସର୍ବାଧିକ <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"ବାତିଲ କରନ୍ତୁ"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"ଲାଗୁ ପାଇଁ ରିଷ୍ଟାର୍ଟ"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"ପୋର୍ଟ ଫରୱାର୍ଡିଂ"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"ପୋର୍ଟ ଫରୱାର୍ଡିଂକୁ କନଫିଗର କରନ୍ତୁ"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"ଏକ ନୂଆ ପୋର୍ଟ ଖୋଲିବାକୁ ଟର୍ମିନାଲ ଅନୁରୋଧ କରୁଛି"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"ଏହି ପୋର୍ଟକୁ ଖୋଲା ରଖିବା ପାଇଁ ଅନୁରୋଧ କରାଯାଇଛି: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"ଲାଗୁ କରନ୍ତୁ"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ଡିସ୍କକୁ ରିସାଇଜ କରିବାକୁ ଟର୍ମିନାଲ ରିଷ୍ଟାର୍ଟ ହେବ"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"ସୁନିଶ୍ଚିତ କରନ୍ତୁ"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"ଏକ ନୂଆ ପୋର୍ଟ ଖୋଲିବାକୁ ଟର୍ମିନାଲ ଅନୁରୋଧ କରୁଛି"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"ପୋର୍ଟ ପାଇଁ ଅନୁରୋଧ କରାଯାଇଛି: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"ଗ୍ରହଣ କରନ୍ତୁ"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"ଅଗ୍ରାହ୍ୟ କରନ୍ତୁ"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"ରିକଭରି"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"ପାର୍ଟିସନ ରିକଭରି ବିକଳ୍ପ"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"ପ୍ରାରମ୍ଭିକ ଭର୍ସନକୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"ସବୁ କାଢ଼ି ଦିଅନ୍ତୁ"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"ପାର୍ଟିସନ ରିକଭରି ବିକଳ୍ପ"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"ପ୍ରାରମ୍ଭିକ ଭର୍ସନରେ ରିସେଟ କରନ୍ତୁ"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"ସମସ୍ତ ଡାଟାକୁ କାଢ଼ି ଦିଅନ୍ତୁ"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"ଟର୍ମିନାଲ ରିସେଟ କରନ୍ତୁ"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ଡାଟାକୁ ଡିଲିଟ କରାଯିବ"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"ସୁନିଶ୍ଚିତ କରନ୍ତୁ"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ଡାଟାକୁ କାଢ଼ି ଦିଆଯିବ"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"ରିସେଟ କରନ୍ତୁ"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"ବାତିଲ କରନ୍ତୁ"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g>ରେ ଡାଟାର ବେକଅପ ନିଅନ୍ତୁ"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"ବେକଅପ ବିଫଳ ହୋଇଥିବା ଯୋଗୁଁ ରିକଭରି ବିଫଳ ହୋଇଛି"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"ଏକ ବେକଅପ ତ୍ରୁଟି ଯୋଗୁଁ ରିକଭର କରିବାରେ ବିଫଳ ହୋଇଛି"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"ରିକଭରି ବିଫଳ ହୋଇଛି"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"ବେକଅପ ଫାଇଲକୁ କାଢ଼ି ଦିଆଯାଇପାରିବ ନାହିଁ"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"ବେକଅପ ଡାଟାକୁ କାଢ଼ି ଦେବାରେ ବିଫଳ ହୋଇଛି"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"ବେକଅପ ଡାଟାକୁ କାଢ଼ି ଦିଅନ୍ତୁ"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> ଖାଲି କରନ୍ତୁ"</string>
- <!-- no translation found for error_title (7196464038692913778) -->
- <skip />
- <!-- no translation found for error_desc (1939028888570920661) -->
- <skip />
- <!-- no translation found for error_code (3585291676855383649) -->
- <skip />
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g>କୁ କାଢ଼ି ଦିଅନ୍ତୁ"</string>
+ <string name="error_title" msgid="405150657301906598">"ରିକଭର କରିହେଉନଥିବା ତ୍ରୁଟି"</string>
+ <string name="error_desc" msgid="1984714179775053347">"ଏକ ତ୍ରୁଟିରୁ ରିକଭର କରିବାରେ ବିଫଳ ହୋଇଛି।\nଆପଣ ଟର୍ମିନାଲ ରିଷ୍ଟାର୍ଟ କରିବାକୁ ଚେଷ୍ଟା କରିପାରିବେ କିମ୍ବା ରିକଭରି ବିକଳ୍ପଗୁଡ଼ିକ ମଧ୍ୟରୁ ଗୋଟିଏ ବିକଳ୍ପ ଚେଷ୍ଟା କରିପାରିବେ।"</string>
+ <string name="error_code" msgid="3585291676855383649">"ତ୍ରୁଟି କୋଡ: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"ସେଟିଂସ"</string>
<string name="service_notification_title" msgid="2918088850910713393">"ଟର୍ମିନାଲ ଚାଲୁ ଅଛି"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"ଟର୍ମିନାଲ ଖୋଲିବାକୁ କ୍ଲିକ କରନ୍ତୁ"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"ଟର୍ମିନାଲ ଖୋଲିବାକୁ କ୍ଲିକ କରନ୍ତୁ"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"ବନ୍ଦ କରନ୍ତୁ"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g>କୁ ସକ୍ଷମ କରାଯାଇଛି"</string>
</resources>
diff --git a/android/TerminalApp/res/values-pa/strings.xml b/android/TerminalApp/res/values-pa/strings.xml
index 9d895cc..a400bce 100644
--- a/android/TerminalApp/res/values-pa/strings.xml
+++ b/android/TerminalApp/res/values-pa/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"ਟਰਮੀਨਲ"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"ਟਰਮੀਨਲ ਡਿਸਪਲੇ"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"ਕਰਸਰ"</string>
+ <string name="empty_line" msgid="5012067143408427178">"ਖਾਲੀ ਲਾਈਨ"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux ਟਰਮੀਨਲ ਐਪ ਸਥਾਪਤ ਕਰੋ"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux ਟਰਮੀਨਲ ਐਪ ਨੂੰ ਲਾਂਚ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਨੈੱਟਵਰਕ \'ਤੇ ਲਗਭਗ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ਡਾਟਾ ਡਾਊਨਲੋਡ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।\nਕੀ ਅੱਗੇ ਵਧਣਾ ਹੈ?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"ਵਾਈ-ਫਾਈ ਦੇ ਉਪਲਬਧ ਹੋਣ \'ਤੇ ਡਾਊਨਲੋਡ ਕਰੋ"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux ਟਰਮੀਨਲ ਐਪ ਨੂੰ ਲਾਂਚ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਨੈੱਟਵਰਕ \'ਤੇ ਲਗਭਗ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ਡਾਟਾ ਡਾਊਨਲੋਡ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।\nਕੀ ਤੁਸੀਂ ਅੱਗੇ ਵਧਣਾ ਚਾਹੋਗੇ?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"ਸਿਰਫ਼ ਵਾਈ-ਫਾਈ ਦੀ ਵਰਤੋਂ ਨਾਲ ਡਾਊਨਲੋਡ ਕਰੋ"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ਸਥਾਪਤ ਕਰੋ"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"ਸਥਾਪਤ ਹੋ ਰਹੀ ਹੈ"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"ਨੈੱਟਵਰਕ ਗੜਬੜ। ਕਨੈਕਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰ ਕੇ ਮੁੜ-ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"ਨੈੱਟਵਰਕ ਗੜਬੜ ਕਰਕੇ ਸਥਾਪਤ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ। ਆਪਣੇ ਕਨੈਕਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰੋ ਅਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux ਟਰਮੀਨਲ ਐਪ ਸਥਾਪਤ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"ਪ੍ਰਕਿਰਿਆ ਪੂਰੀ ਹੋਣ ਤੋਂ ਬਾਅਦ, Linux ਟਰਮੀਨਲ ਐਪ ਸ਼ੁਰੂ ਹੋ ਜਾਵੇਗੀ"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"ਨੈੱਟਵਰਕ ਸੰਬੰਧੀ ਸਮੱਸਿਆ ਕਾਰਨ ਸਥਾਪਤ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"ਸਥਾਪਤ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"ਸਥਾਪਤ ਕਰਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਸਮਾਪਤ ਹੋਣ ਤੋਂ ਬਾਅਦ, Linux ਟਰਮੀਨਲ ਸ਼ੁਰੂ ਹੋ ਜਾਵੇਗਾ"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"ਨੈੱਟਵਰਕ ਸੰਬੰਧੀ ਸਮੱਸਿਆ ਕਰਕੇ ਸਥਾਪਤ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"ਵਾਈ-ਫਾਈ ਉਪਲਬਧ ਨਾ ਹੋਣ ਕਰਕੇ ਸਥਾਪਤ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"ਸਥਾਪਤ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ"</string>
<string name="action_settings" msgid="5729342767795123227">"ਸੈਟਿੰਗਾਂ"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"ਟਰਮੀਨਲ ਨੂੰ ਤਿਆਰ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"ਟਰਮੀਨਲ ਨੂੰ ਬੰਦ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
<string name="vm_error_message" msgid="5231867246177661525">"ਟਰਮੀਨਲ ਕ੍ਰੈਸ਼ ਹੋ ਗਿਆ"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"ਡਿਸਕ ਦਾ ਆਕਾਰ ਬਦਲੋ"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"ਆਕਾਰ ਬਦਲੋ / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"ਡਿਸਕ ਦਾ ਆਕਾਰ ਬਦਲੋ"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"ਰੂਟ ਪਾਰਟੀਸ਼ਨ ਦਾ ਆਕਾਰ ਬਦਲੋ"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"ਡਿਸਕ ਸਾਈਜ਼ ਸੈੱਟ ਕੀਤਾ ਗਿਆ"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> ਜ਼ਿੰਮੇ ਲਗਾਇਆ ਗਿਆ"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"ਵੱਧੋ-ਵੱਧ <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"ਰੱਦ ਕਰੋ"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"ਲਾਗੂ ਕਰਨ ਲਈ ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"ਪੋਰਟ ਫਾਰਵਰਡਿੰਗ"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"ਪੋਰਟ ਫਾਰਵਰਡਿੰਗ ਦਾ ਸੰਰੂਪਣ ਕਰੋ"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"ਟਰਮੀਨਲ ਇੱਕ ਨਵੇਂ ਪੋਰਟ ਨੂੰ ਖੋਲ੍ਹਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਿਹਾ ਹੈ"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"ਪੋਰਟ ਨੂੰ ਖੋਲ੍ਹਣ ਦੀ ਬੇਨਤੀ ਕੀਤੀ ਗਈ: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"ਲਾਗੂ ਕਰੋ"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ਡਿਸਕ ਦਾ ਆਕਾਰ ਬਦਲਣ ਲਈ ਟਰਮੀਨਲ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕੀਤਾ ਜਾਵੇਗਾ"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"ਤਸਦੀਕ ਕਰੋ"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"ਟਰਮੀਨਲ ਇੱਕ ਨਵੇਂ ਪੋਰਟ ਨੂੰ ਖੋਲ੍ਹਣ ਦੀ ਬੇਨਤੀ ਕਰ ਰਿਹਾ ਹੈ"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"ਪੋਰਟ ਸੰਬੰਧੀ ਬੇਨਤੀ ਕੀਤੀ ਗਈ: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"ਸਵੀਕਾਰ ਕਰੋ"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"ਅਸਵੀਕਾਰ ਕਰੋ"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"ਰਿਕਵਰੀ"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"ਪਾਰਟੀਸ਼ਨ ਰਿਕਵਰੀ ਦੇ ਵਿਕਲਪ"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"ਸ਼ੁਰੂਆਤੀ ਵਰਜਨ \'ਤੇ ਬਦਲੋ"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"ਸਭ ਹਟਾਓ"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"ਪਾਰਟੀਸ਼ਨ ਰਿਕਵਰੀ ਦੇ ਵਿਕਲਪ"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"ਸ਼ੁਰੂਆਤੀ ਵਰਜਨ \'ਤੇ ਰੀਸੈੱਟ ਕਰੋ"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"ਸਾਰਾ ਡਾਟਾ ਹਟਾਓ"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"ਟਰਮੀਨਲ ਨੂੰ ਰੀਸੈੱਟ ਕਰੋ"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ਡਾਟਾ ਮਿਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"ਤਸਦੀਕ ਕਰੋ"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ਡਾਟਾ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"ਰੀਸੈੱਟ ਕਰੋ"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"ਰੱਦ ਕਰੋ"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g> \'ਤੇ ਡਾਟੇ ਦਾ ਬੈਕਅੱਪ ਲਓ"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"ਮੁੜ-ਹਾਸਲ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ, ਕਿਉਂਕਿ ਬੈਕਅੱਪ ਅਸਫਲ ਰਿਹਾ"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"ਬੈਕਅੱਪ ਸੰਬੰਧੀ ਗੜਬੜ ਕਰਕੇ ਮੁੜ-ਹਾਸਲ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"ਮੁੜ-ਹਾਸਲ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"ਬੈਕਅੱਪ ਫ਼ਾਈਲ ਹਟਾਈ ਨਹੀਂ ਜਾ ਸਕਦੀ"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"ਬੈਕਅੱਪ ਡਾਟਾ ਹਟਾਉਣਾ ਅਸਫਲ ਰਿਹਾ"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"ਬੈਕਅੱਪ ਡਾਟਾ ਹਟਾਓ"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> ਨੂੰ ਕਲੀਨ ਅੱਪ ਕਰੋ"</string>
- <string name="error_title" msgid="7196464038692913778">"ਮੁੜ-ਹਾਸਲ ਨਾ ਹੋਣਯੋਗ ਡਾਟੇ ਸੰਬੰਧੀ ਗੜਬੜ"</string>
- <string name="error_desc" msgid="1939028888570920661">"ਗੜਬੜ ਨੂੰ ਠੀਕ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।\nਤੁਸੀਂ ਐਪ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਸਕਦੇ ਹੋ ਜਾਂ ਰਿਕਵਰੀ ਦੇ ਵਿਕਲਪ ਵਿੱਚੋਂ ਕਿਸੇ ਇੱਕ ਨੂੰ ਅਜ਼ਮਾ ਕੇ ਦੇਖ ਸਕਦੇ ਹੋ।"</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> ਨੂੰ ਹਟਾਓ"</string>
+ <string name="error_title" msgid="405150657301906598">"ਮੁੜ-ਹਾਸਲ ਨਾ ਹੋਣਯੋਗ ਡਾਟੇ ਸੰਬੰਧੀ ਗੜਬੜ"</string>
+ <string name="error_desc" msgid="1984714179775053347">"ਗੜਬੜ ਨੂੰ ਠੀਕ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।\nਤੁਸੀਂ ਟਰਮੀਨਲ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਸਕਦੇ ਹੋ ਜਾਂ ਰਿਕਵਰੀ ਦੇ ਵਿਕਲਪਾਂ ਵਿੱਚੋਂ ਕਿਸੇ ਇੱਕ ਨੂੰ ਅਜ਼ਮਾ ਕੇ ਦੇਖ ਸਕਦੇ ਹੋ।"</string>
<string name="error_code" msgid="3585291676855383649">"ਗੜਬੜ ਕੋਡ: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"ਸੈਟਿੰਗਾਂ"</string>
<string name="service_notification_title" msgid="2918088850910713393">"ਟਰਮੀਨਲ ਚਾਲੂ ਹੈ"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"ਟਰਮੀਨਲ ਨੂੰ ਖੋਲ੍ਹਣ ਲਈ ਕਲਿੱਕ ਕਰੋ"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"ਟਰਮੀਨਲ ਖੋਲ੍ਹਣ ਲਈ ਕਲਿੱਕ ਕਰੋ"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"ਬੰਦ ਕਰੋ"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> ਚਾਲੂ ਹੈ"</string>
</resources>
diff --git a/android/TerminalApp/res/values-pl/strings.xml b/android/TerminalApp/res/values-pl/strings.xml
index 2124dac..066bebc 100644
--- a/android/TerminalApp/res/values-pl/strings.xml
+++ b/android/TerminalApp/res/values-pl/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Ekran terminala"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Kursor"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Pusty wiersz"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Zainstaluj terminal Linuxa"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Aby uruchomić terminal Linuxa, musisz pobrać przez sieć około <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> danych.\nChcesz kontynuować?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Pobierz, gdy będzie dostępna sieć Wi-Fi"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Aby uruchomić terminal Linuxa, musisz pobrać przez sieć około <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> danych.\nChcesz kontynuować?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Pobieraj tylko przez Wi-Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Zainstaluj"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Instaluję"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Błąd sieci. Sprawdź połączenie i spróbuj ponownie."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Nie udało się zainstalować z powodu błędu sieci. Sprawdź połączenie i spróbuj jeszcze raz."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Instaluję terminal Linuxa"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Po zakończeniu zostanie uruchomiony terminal Linuxa"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Nie udało się zainstalować z powodu problemu z siecią"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Nie udało się zainstalować. Spróbuj ponownie."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Po zakończeniu instalacji uruchomi się terminal Linuxa"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Nie udało się zainstalować z powodu problemu z siecią"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Nie udało się zainstalować, ponieważ Wi-Fi jest niedostępne"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Nie udało się zainstalować. Spróbuj jeszcze raz"</string>
<string name="action_settings" msgid="5729342767795123227">"Ustawienia"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Przygotowuję terminal"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Zatrzymuję terminal"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminal uległ awarii"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Zmień rozmiar dysku"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Zmień rozmiar / rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Zmiana rozmiaru dysku"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Zmień rozmiar partycji poziomu głównego"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Rozmiar dysku został ustawiony"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Przypisano <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maksymalny rozmiar <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Anuluj"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Uruchom ponownie"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Przekierowanie portów"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Skonfiguruj przekierowanie portów"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal próbuje otworzyć nowy port"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port, który ma być otwarty: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Zastosuj"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Aby zmienić rozmiar dysku, terminal zostanie uruchomiony ponownie"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Potwierdź"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal wysłał żądanie otwarcia nowego portu"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Żądany port: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Zaakceptuj"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Odrzuć"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Odzyskiwanie"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opcje odzyskiwania partycji"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Zmień na wersję początkową"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Usuń wszystko"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opcje odzyskiwania partycji"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Przywróć wersję początkową"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Usuń wszystkie dane"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Zresetuj terminal"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Dane zostaną usunięte"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Potwierdź"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Dane zostaną usunięte"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Resetuj"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Anuluj"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Utwórz kopię zapasową w lokalizacji <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Nie udało się przywrócić danych z powodu błędu kopii zapasowej"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Nie udało się przywrócić z powodu błędu kopii zapasowej"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Nie udało się przywrócić"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Nie udało się usunąć pliku kopii zapasowej"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Nie udało się usunąć danych kopii zapasowej"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Usuń dane kopii zapasowej"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Zwolnij miejsce w lokalizacji <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Nieodwracalny błąd"</string>
- <string name="error_desc" msgid="1939028888570920661">"Nie udało się przywrócić aplikacji po błędzie.\nMożesz spróbować ponownie ją uruchomić lub skorzystać z jednej z opcji odzyskiwania."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Usuń: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Nieodwracalny błąd"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Nie udało się przywrócić aplikacji po błędzie.\nMożesz spróbować ponownie uruchomić terminal lub skorzystać z jednej z opcji odzyskiwania."</string>
<string name="error_code" msgid="3585291676855383649">"Kod błędu: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Ustawienia"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminal jest uruchomiony"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Kliknij, aby otworzyć terminal"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Kliknij, aby otworzyć terminal"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Zamknij"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"Układ <xliff:g id="ID_1">VirGL</xliff:g> jest włączony"</string>
</resources>
diff --git a/android/TerminalApp/res/values-pt-rPT/strings.xml b/android/TerminalApp/res/values-pt-rPT/strings.xml
index a221586..caab1ac 100644
--- a/android/TerminalApp/res/values-pt-rPT/strings.xml
+++ b/android/TerminalApp/res/values-pt-rPT/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Ecrã do terminal"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Linha vazia"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Instale o terminal do Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Para iniciar o terminal do Linux, tem de transferir cerca de <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de dados através da rede.\nQuer continuar?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Transferir quando estiver disponível uma rede Wi-Fi"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Para iniciar o terminal do Linux, tem de transferir cerca de <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de dados através da rede.\nQuer continuar?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Transferir apenas através de Wi-Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instalar"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"A instalar…"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Erro de rede. Verifique a ligação e tente novamente."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Falha ao instalar devido a um erro de rede. Verifique a ligação e tente novamente."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"A instalar o terminal do Linux"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"O terminal do Linux vai ser iniciado após a conclusão"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Falha ao instalar devido a um problema de rede"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Falha ao instalar. Tente novamente."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"O terminal do Linux vai ser iniciado após a conclusão da instalação"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Falha ao instalar devido a um problema de rede"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Falha ao instalar porque o Wi-Fi não está disponível"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Falha ao instalar. Tente novamente"</string>
<string name="action_settings" msgid="5729342767795123227">"Definições"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"A preparar o terminal"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"A parar o terminal"</string>
<string name="vm_error_message" msgid="5231867246177661525">"O terminal falhou"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Redimensionamento do disco"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Redimensionamento/Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Redimensionamento do disco"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Redimensione o tamanho da partição de raiz"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Tamanho do disco definido"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Tamanho atribuído: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Tamanho máx.: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Cancelar"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Reiniciar p/ aplicar"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Encaminhamento de portas"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configure o encaminhamento de portas"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"O terminal está a tentar abrir uma nova porta"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Porta com pedido de abertura: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Aplicar"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"O terminal vai ser reiniciado para redimensionar o disco"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirmar"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"O terminal está a pedir para abrir uma nova porta"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Porta pedida: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Aceitar"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Recusar"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Recuperação"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opções de recuperação de partições"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Altere para a versão inicial"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Remova tudo"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opções de recuperação de partições"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Reponha para a versão inicial"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Remova todos os dados"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Reponha o terminal"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Os dados vão ser eliminados"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirmar"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Os dados vão ser removidos"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Repor"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Cancelar"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Fazer uma cópia de segurança dos dados para <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"A recuperação falhou porque ocorreu uma falha na cópia de segurança"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Falha ao recuperar devido a um erro de cópia de segurança"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Falha na recuperação"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Não é possível remover o ficheiro da cópia de segurança"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Falha ao remover os dados da cópia de segurança"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Remova os dados da cópia de segurança"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Limpe <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Erro irrecuperável"</string>
- <string name="error_desc" msgid="1939028888570920661">"Falha ao recuperar de um erro.\nPode tentar reiniciar a app ou experimentar uma das opções de recuperação."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Remova <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Erro irrecuperável"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Falha ao recuperar de um erro.\nPode tentar reiniciar o terminal ou experimentar uma das opções de recuperação."</string>
<string name="error_code" msgid="3585291676855383649">"Código de erro: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Definições"</string>
<string name="service_notification_title" msgid="2918088850910713393">"O terminal está em execução"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Clique para abrir o terminal"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Clique para abrir o terminal"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Fechar"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"A <xliff:g id="ID_1">VirGL</xliff:g> está ativada"</string>
</resources>
diff --git a/android/TerminalApp/res/values-pt/strings.xml b/android/TerminalApp/res/values-pt/strings.xml
index 52523a7..5273a59 100644
--- a/android/TerminalApp/res/values-pt/strings.xml
+++ b/android/TerminalApp/res/values-pt/strings.xml
@@ -17,65 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Tela do terminal"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Linha vazia"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Instalar terminal Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Para iniciar o terminal Linux, é necessário baixar cerca de <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de dados pela rede.\nVocê quer continuar?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Baixar quando o Wi-Fi estiver disponível"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Para iniciar o terminal Linux, é necessário baixar cerca de <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de dados pela rede.\nQuer continuar?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Baixar somente com Wi-Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instalar"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Instalando"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Erro de rede. Verifique a conexão e tente de novo."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Falha ao instalar devido a um erro de rede. Verifique sua conexão e tente de novo."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Instalando terminal Linux"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"O terminal Linux será iniciado após a instalação"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Falha ao instalar devido a um problema de rede"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Falha ao instalar. Tente de novo."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"O terminal Linux será iniciado após a instalação"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Falha ao instalar devido a um problema de rede"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Falha ao instalar porque o Wi-Fi não está disponível"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Falha ao instalar. Tente de novo"</string>
<string name="action_settings" msgid="5729342767795123227">"Configurações"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Preparando o terminal"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Interrompendo o terminal"</string>
<string name="vm_error_message" msgid="5231867246177661525">"O terminal falhou"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Redimensionamento de disco"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Redimensionar / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Redimensionamento de disco"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Redimensionar o tamanho da partição raiz"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Tamanho do disco definido"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Atribuído: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Máximo: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Cancelar"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Reiniciar para aplicar"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Encaminhamento de portas"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configurar o encaminhamento de portas"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"O terminal está tentando abrir uma nova porta"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Porta a ser aberta: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Aplicar"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"O terminal será reiniciado para redimensionar o disco"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirmar"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"O terminal está pedindo para abrir uma nova porta"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Porta solicitada: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Aceitar"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Negar"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Recuperação"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opções de recuperação da partição"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Mudar para a versão inicial"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Remover tudo"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opções de recuperação da partição"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Redefinir para a versão inicial"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Remover todos os dados"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Redefinir terminal"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Os dados serão excluídos"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirmar"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Os dados serão removidos"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Redefinir"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Cancelar"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Fazer backup dos dados em <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"A recuperação falhou porque o backup falhou"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Falha ao recuperar devido a um erro de backup"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Falha na recuperação"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Não é possível remover o arquivo de backup"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Falha ao remover os dados de backup"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Remover dados de backup"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Limpar <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <!-- no translation found for error_title (7196464038692913778) -->
- <skip />
- <!-- no translation found for error_desc (1939028888570920661) -->
- <skip />
- <!-- no translation found for error_code (3585291676855383649) -->
- <skip />
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Remover <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Erro irrecuperável"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Falha ao recuperar o terminal de um erro.\nTente reiniciar o terminal ou usar uma das opções de recuperação."</string>
+ <string name="error_code" msgid="3585291676855383649">"Código do erro: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Configurações"</string>
<string name="service_notification_title" msgid="2918088850910713393">"O terminal está em execução"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Clique para abrir o terminal"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Clique para abrir o terminal"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Fechar"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"O <xliff:g id="ID_1">VirGL</xliff:g> está ativado"</string>
</resources>
diff --git a/android/TerminalApp/res/values-ro/strings.xml b/android/TerminalApp/res/values-ro/strings.xml
index 1d015a8..12ae22e 100644
--- a/android/TerminalApp/res/values-ro/strings.xml
+++ b/android/TerminalApp/res/values-ro/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Afișaj terminal"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Linie goală"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Instalează terminalul Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Pentru a lansa terminalul Linux, trebuie să descarci aproximativ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de date prin rețea.\nVrei să continui?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Descarcă atunci când este disponibilă o conexiune Wi-Fi"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Pentru a lansa terminalul Linux, trebuie să descarci aproximativ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> de date prin rețea.\nVrei să continui?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Descarcă numai prin Wi-Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instalează"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Se instalează"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Eroare de rețea. Verifică-ți conexiunea și încearcă din nou."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Nu s-a putut instala din cauza unei erori de rețea. Verifică-ți conexiunea și încearcă din nou."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Se instalează terminalul Linux"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Terminalul Linux va porni după încheiere"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Nu s-a putut instala din cauza unei probleme de rețea"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Nu s-a instalat. Încearcă din nou."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Terminalul Linux va porni după finalizarea instalării"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Nu s-a putut instala din cauza unei probleme legate de rețea"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Nu s-a putut instala deoarece nu este disponibilă o conexiune Wi-Fi"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Nu s-a instalat. Încearcă din nou."</string>
<string name="action_settings" msgid="5729342767795123227">"Setări"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Se pregătește terminalul"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Se oprește terminalul"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminalul s-a blocat"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Redimensionarea discului"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Redimensionează / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Redimensionarea discului"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Redimensionează mărimea partiției root"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Dimensiunea discului este setată"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"S-au alocat <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> max."</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Anulează"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Repornește să aplici"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Redirecționare de port"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Configurează redirecționarea de port"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminalul încearcă să deschidă un nou port"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Portul solicitat să fie deschis: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Aplică"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminalul va fi repornit pentru a redimensiona discul"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Confirmă"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminalul solicită să deschidă un nou port"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Portul solicitat: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Acceptă"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Refuză"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Recuperare"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opțiuni de recuperare a partițiilor"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Schimbă la versiunea inițială"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Elimină-le pe toate"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opțiuni de recuperare a partiției"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Resetează la versiunea inițială"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Elimină toate datele"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Resetează terminalul"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Datele se vor șterge"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Confirmă"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Datele vor fi eliminate"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Resetează"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Anulează"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Fă backup datelor în <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Nu s-a putut recupera deoarece backupul nu a reușit"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Nu s-a putut recupera din cauza unei erori de backup"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Nu s-a putut recupera"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Nu se poate elimina fișierul de backup"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Nu s-au putut elimina datele din backup"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Elimină datele din backup"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Curăță <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Eroare ireversibilă"</string>
- <string name="error_desc" msgid="1939028888570920661">"Nu s-a putut recupera în urma unei erori.\nRepornește aplicația sau încearcă una dintre opțiunile de recuperare."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Elimină <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Eroare ireversibilă"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Nu s-a putut recupera în urma unei erori.\nRepornește terminalul sau încearcă una dintre opțiunile de recuperare."</string>
<string name="error_code" msgid="3585291676855383649">"Cod de eroare: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Setări"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminalul rulează"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Dă clic pentru a deschide terminalul"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Dă clic pentru a deschide terminalul"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Închide"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> este activat"</string>
</resources>
diff --git a/android/TerminalApp/res/values-ru/strings.xml b/android/TerminalApp/res/values-ru/strings.xml
index f14c59d..e53c8a3 100644
--- a/android/TerminalApp/res/values-ru/strings.xml
+++ b/android/TerminalApp/res/values-ru/strings.xml
@@ -17,65 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Терминал"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Экран терминала"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Курсор"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Пустая строка"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Установка терминала Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Для запуска терминала Linux нужно скачать примерно <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> данных по сети.\nПродолжить?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Скачать только через Wi-Fi"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Для запуска терминала Linux нужно скачать примерно <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> данных по сети.\nПродолжить?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Скачивать только по Wi-Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Установить"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Установка"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Ошибка сети. Проверьте подключение и повторите попытку."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Не удалось выполнить установку из-за ошибки сети. Проверьте подключение и повторите попытку."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Установка терминала Linux"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"После окончания будет запущен терминал Linux."</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Не удалось выполнить установку из-за ошибки сети."</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Сбой установки. Повторите попытку."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Терминал Linux запустится после завершения установки."</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Не удалось выполнить установку из-за проблемы с сетью."</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Не удалось выполнить установку, так как сеть Wi-Fi недоступна."</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Сбой установки. Повторите попытку."</string>
<string name="action_settings" msgid="5729342767795123227">"Настройки"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Терминал подготавливается."</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Работа терминала останавливается."</string>
<string name="vm_error_message" msgid="5231867246177661525">"Произошел сбой терминала."</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Изменение размера диска"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Rootfs и изменение размера"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Изменить размер диска"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Изменить размер корневого раздела"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Размер диска задан."</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Выделено <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Максимум <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Отмена"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Перезапуск и примен."</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Переадресация портов"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Настроить переадресацию портов"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Терминал пытается открыть новый порт"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Запрашивается разрешение открыть порт <xliff:g id="PORT_NUMBER">%d</xliff:g>."</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Применить"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Для изменения размера диска терминал будет перезапущен."</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Подтвердить"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Терминал просит открыть новый порт"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Запрашиваемый порт: <xliff:g id="PORT_NUMBER">%d</xliff:g>."</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Разрешить"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Не разрешать"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Восстановление"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Варианты восстановления разделов"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Перейти к исходной версии"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Удалить все"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Варианты восстановления разделов"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Восстановить исходную версию"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Удалить все данные"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Сброс настроек терминала"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Данные будут удалены."</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Подтвердить"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Данные будут удалены."</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Сбросить"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Отмена"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Сохранить резервную копию в <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Не удается восстановить данные из-за ошибки резервного копирования."</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Не удалось выполнить восстановление из-за ошибки резервного копирования."</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Ошибка восстановления."</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Не получается удалить файл резервной копии."</string>
- <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Удалить резервную копию"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Удалить из <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <!-- no translation found for error_title (7196464038692913778) -->
- <skip />
- <!-- no translation found for error_desc (1939028888570920661) -->
- <skip />
- <!-- no translation found for error_code (3585291676855383649) -->
- <skip />
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Не получилось удалить резервную копию данных."</string>
+ <string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Удалить данные резервного копирования"</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Удалить <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Неустранимая ошибка"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Не удалось исправить ошибку.\nПопробуйте перезапустить терминал или воспользуйтесь одним из вариантов восстановления."</string>
+ <string name="error_code" msgid="3585291676855383649">"Код ошибки: <xliff:g id="ERROR_CODE">%s</xliff:g>."</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Настройки"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Терминал запущен"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Нажмите, чтобы открыть его."</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Нажмите, чтобы открыть терминал."</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Закрыть"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g>: включено."</string>
</resources>
diff --git a/android/TerminalApp/res/values-si/strings.xml b/android/TerminalApp/res/values-si/strings.xml
index e864cd2..2e69729 100644
--- a/android/TerminalApp/res/values-si/strings.xml
+++ b/android/TerminalApp/res/values-si/strings.xml
@@ -17,65 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"ටර්මිනලය"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"ටර්මිනල සංදර්ශකය"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"කර්සරය"</string>
+ <string name="empty_line" msgid="5012067143408427178">"හිස් රේඛාව"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux ටර්මිනලය ස්ථාපනය කරන්න"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux ටර්මිනලය දියත් කිරීමට, ඔබට ජාලය හරහා දත්ත <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> පමණ බාගත කිරීමට අවශ්ය වේ.\nඔබ ඉදිරියට යනවා ද?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Wi-Fi ලබා ගත හැකි විට බාගන්න"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux ටර්මිනලය දියත් කිරීමට, ඔබට ජාලය හරහා දත්ත <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> පමණ බාගැනීමට අවශ්ය වේ.\nඔබ ඉදිරියට යාමට කැමති ද?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Wi-Fi පමණක් භාවිතා කරමින් බාගන්න"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ස්ථාපනය කරන්න"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"ස්ථාපනය කරමින්"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"ජාල දෝෂයකි. සම්බන්ධතාවය පරීක්ෂා කර යළි උත්සාහ කරන්න."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"ජාල දෝෂයක් හේතුවෙන් ස්ථාපනය කිරීමට අසමත් විය. ඔබේ සබැඳුම පරීක්ෂා කර නැවත උත්සාහ කරන්න."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux ටර්මිනලය ස්ථාපනය කරමින්"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux ටර්මිනලය අවසන් වූ පසු ආරම්භ වනු ඇත"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"ජාල ගැටලුවක් හේතුවෙන් ස්ථාපනය කිරීමට අසමත් විය"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"ස්ථාපනය කිරීමට අසමත් විය. නැවත උත්සාහ කරන්න."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"ස්ථාපනය අවසන් වූ පසු Linux ටර්මිනලය ආරම්භ වනු ඇත"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"ජාල ගැටලුවක් හේතුවෙන් ස්ථාපනය කිරීමට අසමත් විය"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Wi-Fi නොමැති නිසා ස්ථාපනය කිරීමට අසමත් විය"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"ස්ථාපනය කිරීමට අසමත් විය. නැවත උත්සාහ කරන්න"</string>
<string name="action_settings" msgid="5729342767795123227">"සැකසීම්"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"ටර්මිනලය සූදානම් කිරීම"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"ටර්මිනලය නතර කිරීම"</string>
<string name="vm_error_message" msgid="5231867246177661525">"ටර්මිනලය බිඳ වැටුණි"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"තැටි ප්රමාණය වෙනස් කිරීම"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"ප්රතිප්රමාණ කරන්න / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"තැටි ප්රමාණය වෙනස් කිරීම"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"මූල කොටස් ප්රමාණය ප්රතිප්රමාණ කරන්න"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"තැටි ප්රමාණය සැකසිණි"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> පවරන ලදි"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> උපරිමය"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"අවලංගු කරන්න"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"යෙදීමට යළි අරඹන්න"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"පෝටය යොමු කිරීම"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"පෝටය යොමු කිරීම වින්යාස කරන්න"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"ටර්මිනලය නව පෝටයක් විවෘත කිරීමට උත්සාහ කරයි"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"පෝටය විවෘත කිරීමට ඉල්ලා ඇත: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"යොදන්න"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"තැටියේ ප්රමාණය වෙනස් කිරීමට ටර්මිනලය යළි ඇරඹෙනු ඇත"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"තහවුරු කරන්න"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"ටර්මිනලය නව පෝටයක් විවෘත කිරීමට ඉල්ලීම් කරයි"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"පෝටය ඉල්ලා ඇත: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"පිළිගන්න"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"ප්රතික්ෂේප කරන්න"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"ප්රතිසාධනය"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"කොටස් ප්රතිසාන විකල්ප"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"ආරම්භක අනුවාදයට වෙනස් කරන්න"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"සියල්ල ඉවත් කරන්න"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"කොටස් ප්රතිසාන විකල්ප"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"ආරම්භක අනුවාදයට යළි සකසන්න"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"සියලු දත්ත ඉවත් කරන්න"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"ටර්මිනලය යළි සකසන්න"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"දත්ත මකනු ඇත"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"තහවුරු කරන්න"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"දත්ත ඉවත් කරනු ලැබේ"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"යළි සකසන්න"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"අවලංගු කරන්න"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g> වෙත දත්ත උපස්ථ කරන්න"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"උපස්ථය අසමත් වූ නිසා ප්රතිසාධනය අසමත් විය"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"උපස්ථ දෝෂයක් හේතුවෙන් ප්රතිසාධනය කිරීමට අසමත් විය"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"ප්රතිසාධනය අසමත් විය"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"උපස්ථ ගොනුව ඉවත් කළ නොහැක"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"උපස්ථ දත්ත ඉවත් කිරීමට අසමත් විය"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"උපස්ථ දත්ත ඉවත් කරන්න"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> පිරිසිදු කරන්න"</string>
- <!-- no translation found for error_title (7196464038692913778) -->
- <skip />
- <!-- no translation found for error_desc (1939028888570920661) -->
- <skip />
- <!-- no translation found for error_code (3585291676855383649) -->
- <skip />
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> ඉවත් කරන්න"</string>
+ <string name="error_title" msgid="405150657301906598">"ප්රතිසාධනය කළ නොහැකි දෝෂය"</string>
+ <string name="error_desc" msgid="1984714179775053347">"දෝෂයකින් ප්රතිසාධනය කිරීමට අසමත් විය.\nඔබට ටර්මිනලය නැවත ආරම්භ කිරීමට උත්සාහ කළ හැක, නැතහොත් ප්රතිසාධන විකල්ප වලින් එකක් උත්සාහ කරන්න."</string>
+ <string name="error_code" msgid="3585291676855383649">"දෝෂ කේතය: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"සැකසීම්"</string>
<string name="service_notification_title" msgid="2918088850910713393">"පර්යන්තය ධාවනය වේ"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"ටර්මිනලය විවෘත කිරීමට ක්ලික් කරන්න"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"ටර්මිනලය විවෘත කිරීමට ක්ලික් කරන්න"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"වසන්න"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> සබලයි"</string>
</resources>
diff --git a/android/TerminalApp/res/values-sk/strings.xml b/android/TerminalApp/res/values-sk/strings.xml
index ad48c26..8a06552 100644
--- a/android/TerminalApp/res/values-sk/strings.xml
+++ b/android/TerminalApp/res/values-sk/strings.xml
@@ -17,65 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminál"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Zobrazenie terminálu"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Kurzor"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Prázdny riadok"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Inštalácia terminálu systému Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Ak chcete spustiť terminál systému Linux, musíte cez sieť stiahnuť približne <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> dát.\nChcete pokračovať?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Stiahnuť, keď bude k dispozícii Wi‑Fi"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Ak chcete spustiť terminál Linux, musíte cez sieť stiahnuť približne <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> dát.\nChcete pokračovať?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Sťahovať iba cez Wi‑Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Inštalovať"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Inštaluje sa"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Chyba siete. Skontrolujte pripojenie a skúste to znova."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Nepodarilo sa nainštalovať pre chybu siete. Skontrolujte pripojenie a skúste to znova."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Inštaluje sa terminál systému Linux"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Terminál systému Linux sa spustí po dokončení"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Nepodarilo sa nainštalovať pre problém so sieťou"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Nepodarilo sa nainštalovať. Skúste to znova."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Terminál Linux sa spustí po dokončení inštalácie"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Nepodarilo sa nainštalovať pre problém so sieťou"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Inštalácia sa nepodarila, pretože nie je k dispozícii Wi‑Fi"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Nepodarilo sa nainštalovať. Skúste to znova."</string>
<string name="action_settings" msgid="5729342767795123227">"Nastavenia"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Terminál sa pripravuje"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Terminál sa zastavuje"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminál spadol"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Zmena veľkosti disku"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Zmeniť veľkosť / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Zmena veľkosti disku"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Zmena veľkosti koreňového oddielu"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Veľkosť disku je nastavená"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Pridelené <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Max. <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Zrušiť"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Vyžaduje sa reštart"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Presmerovanie portov"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Nakonfigurovať presmerovanie portov"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminál sa pokúša otvoriť nový port"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Vyžaduje sa otvorenie portu: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Použiť"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminál sa reštartuje, aby sa zmenila veľkosť disku"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Potvrdiť"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminál požaduje otvoriť nový port"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Požadovaný port: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Prijať"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Zamietnuť"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Obnovenie"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Možnosti obnovenia oddielu"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Zmena na pôvodnú verziu"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Odstrániť všetko"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Možnosti obnovenia oddielu"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Reset na pôvodnú verziu"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Odstránenie všetkých údajov"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Resetovanie terminálu"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Údaje budú odstránené"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Potvrdiť"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Údaje budú odstránené"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Resetovať"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Zrušiť"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Zálohovať údaje do <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Obnovenie sa nepodarilo, pretože sa nepodarilo zálohovať"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Nepodarilo sa obnoviť pre chybu zálohy"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Obnovenie sa nepodarilo"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Súbor zálohy sa nepodarilo odstrániť"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Údaje zálohy sa nepodarilo odstrániť"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Odstrániť údaje zálohy"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Vyčistiť <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <!-- no translation found for error_title (7196464038692913778) -->
- <skip />
- <!-- no translation found for error_desc (1939028888570920661) -->
- <skip />
- <!-- no translation found for error_code (3585291676855383649) -->
- <skip />
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Odstránenie cesty <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Neopraviteľná chyba"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Nepodarilo sa obnoviť z chybového stavu.\nSkúste terminál reštartovať alebo vyskúšajte jednu z možností obnovenia."</string>
+ <string name="error_code" msgid="3585291676855383649">"Kód chyby: <xliff:g id="ERROR_CODE">%s</xliff:g>."</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Nastavenia"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminál je spustený"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Kliknutím otvorte terminál"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Kliknutím otvorte terminál"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Zavrieť"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"Procesor <xliff:g id="ID_1">VirGL</xliff:g> je aktivovaný"</string>
</resources>
diff --git a/android/TerminalApp/res/values-sl/strings.xml b/android/TerminalApp/res/values-sl/strings.xml
index 74b3f6d..8e0d011 100644
--- a/android/TerminalApp/res/values-sl/strings.xml
+++ b/android/TerminalApp/res/values-sl/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Prikaz terminala"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Kazalec"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Prazna vrstica"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Namestitev terminala Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Če želite zagnati terminal Linux, morate prek omrežja prenesti približno <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> podatkov.\nAli želite nadaljevati?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Prenesi, ko bo na voljo Wi-Fi"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Če želite zagnati terminal Linux, morate prek omrežja prenesti približno <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> podatkov.\nAli želite nadaljevati?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Prenos samo z uporabo povezave Wi-Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Namesti"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Nameščanje"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Omrežna napaka. Preverite povezavo in poskusite znova."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Namestitev ni uspela zaradi omrežne napake. Preverite povezavo in poskusite znova."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Nameščanje terminala Linux"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Terminal Linux se bo zagnal po končani namestitvi"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Namestitev ni uspela zaradi težave z omrežjem"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Namestitev ni uspela. Poskusite znova."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Terminal Linux se bo zagnal po končani namestitvi"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Namestitev ni uspela zaradi težave z omrežjem"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Namestitev ni uspela, ker Wi-Fi ni na voljo"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Namestitev ni uspela. Poskusite znova."</string>
<string name="action_settings" msgid="5729342767795123227">"Nastavitve"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Pripravljanje terminala"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Ustavljanje terminala"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminal se je zrušil"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Spreminjanje velikosti diska"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Spreminjanje velikosti/korenski datotečni sistem"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Spreminjanje velikosti diska"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Spreminjanje velikosti korenske particije"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Velikost diska je nastavljena"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Dodeljeno: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Največja velikost: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Prekliči"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Znova zaženi za uporabo"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Posredovanje vrat"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Konfiguriranje posredovanja vrat"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal poskuša odpreti nova vrata"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Zahtevano je odprtje teh vrat: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Uporabi"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal se bo znova zagnal, da se bo izvedla sprememba velikosti diska"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Potrdi"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal zahteva odpiranje novih vrat"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Zahtevana vrata: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Sprejmi"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Zavrni"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Obnovitev"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Možnosti obnovitve particije"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Spremeni v začetno različico"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Odstrani vse"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Možnosti obnovitve particije"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Ponastavitev na začetno različico"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Odstranitev vseh podatkov"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Ponastavitev terminala"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Podatki bodo izbrisani"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Potrdi"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Podatki bodo odstranjeni"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Ponastavi"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Prekliči"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Varnostno kopiranje podatkov v <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Obnovitev ni uspela zaradi neuspešnega varnostnega kopiranja"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Obnovitev ni uspela zaradi napake varnostne kopije"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Obnovitev ni uspela"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Datoteke z varnostno kopijo ni mogoče odstraniti"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Varnostno kopiranih podatkov ni bilo mogoče odstraniti"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Odstranitev varnostno kopiranih podatkov"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Počiščenje poti <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Nepopravljiva napaka"</string>
- <string name="error_desc" msgid="1939028888570920661">"Obnovitev po napaki ni uspela.\nPoskusite znova zagnati aplikacijo ali uporabiti eno od možnosti obnovitve."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Odstrani <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Nepopravljiva napaka"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Obnovitev po napaki ni uspela.\nPoskusite znova zagnati terminal ali uporabiti eno od možnosti obnovitve."</string>
<string name="error_code" msgid="3585291676855383649">"Koda napake: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Nastavitve"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminal se izvaja"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Kliknite, če želite odpreti terminal"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Kliknite, če želite odpreti terminal"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Zapri"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> je omogočen"</string>
</resources>
diff --git a/android/TerminalApp/res/values-sq/strings.xml b/android/TerminalApp/res/values-sq/strings.xml
index ee42f8a..e4a5072 100644
--- a/android/TerminalApp/res/values-sq/strings.xml
+++ b/android/TerminalApp/res/values-sq/strings.xml
@@ -17,65 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminali"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Ekrani i terminalit"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Kursori"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Rresht bosh"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Instalo terminalin e Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Për të hapur terminalin e Linux, duhet të shkarkosh afërsisht <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> të dhëna nëpërmjet rrjetit.\nDëshiron të vazhdosh?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Shkarko kur të ofrohet Wi-Fi"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Për të hapur terminalin e Linux, duhet të shkarkosh afërsisht <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> të dhëna nëpërmjet rrjetit.\nDëshiron të vazhdosh?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Shkarko duke përdorur vetëm Wi-Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Instalo"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Po instalohet"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Gabim në rrjet. Kontrollo lidhjen dhe provo përsëri."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Instalimi dështoi për shkak të një problemi të rrjetit. Kontrollo lidhjen tënde dhe provo përsëri."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Terminali i Linux po instalohet"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Terminali i Linux do të niset pas përfundimit"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Instalimi dështoi për shkak të një problemi të rrjetit"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Instalimi dështoi. Provo përsëri."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Terminali i Linux do të niset pas përfundimit të instalimit"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Instalimi dështoi për shkak të një problemi të rrjetit"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Instalimi dështoi për shkak se Wi-Fi nuk ofrohet"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Instalimi dështoi. Provo përsëri"</string>
<string name="action_settings" msgid="5729342767795123227">"Cilësimet"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Terminali po përgatitet"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Terminali po ndalohet"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminali u ndërpre aksidentalisht"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Ndryshimi i përmasave të diskut"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Ndrysho përmasat / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Ndryshimi i përmasave të diskut"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Ndrysho madhësinë e ndarjes rrënjë"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Madhësia e diskut u caktua"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Caktuar: <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maksimumi: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Anulo"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Rinis për të zbatuar"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Transferimi i portës"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Konfiguro transferimin e portës"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminali po përpiqet të hapë një portë të re"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Porta që kërkohet të hapet: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Zbato"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminali do të riniset për të ndryshuar përmasat e diskut"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Konfirmo"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminali po përpiqet të hapë një portë të re"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Porta e kërkuar: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Prano"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Refuzo"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Rikuperimi"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Opsionet e rikuperimit të ndarjes"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Ndrysho në versionin fillestar"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Hiqi të gjitha"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Opsionet e rikuperimit të ndarjes"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Rivendos në versionin fillestar"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Hiq të gjitha të dhënat"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Rivendos terminalin"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Të dhënat do të fshihen"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Konfirmo"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Të dhënat do të hiqen"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Rivendos"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Anulo"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Rezervo të dhënat te <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Rikuperimi dështoi për shkak se rezervimi dështoi"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Rikuperimi dështoi për shkak të një gabimi të rezervimit"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Rikuperimi dështoi"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Skedari i rezervimit nuk mund të hiqet"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Heqja e të dhënave të rezervimit dështoi"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Hiq të dhënat e rezervimit"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Pastro <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <!-- no translation found for error_title (7196464038692913778) -->
- <skip />
- <!-- no translation found for error_desc (1939028888570920661) -->
- <skip />
- <!-- no translation found for error_code (3585291676855383649) -->
- <skip />
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Hiq <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Gabim i parikuperueshëm"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Rikuperimi nga një gabim dështoi.\nMund të provosh ta rinisësh terminalin ose provo një nga opsionet e rikuperimit."</string>
+ <string name="error_code" msgid="3585291676855383649">"Kodi i gabimit: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Cilësimet"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminali po ekzekutohet"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Kliko për të hapur terminalin"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Kliko për të hapur terminalin"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Mbyll"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> është aktivizuar"</string>
</resources>
diff --git a/android/TerminalApp/res/values-sr/strings.xml b/android/TerminalApp/res/values-sr/strings.xml
index a1d4005..5b3fc1b 100644
--- a/android/TerminalApp/res/values-sr/strings.xml
+++ b/android/TerminalApp/res/values-sr/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Терминал"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Приказ терминала"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Курсор"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Празан ред"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Инсталирајте Linux терминал"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Да бисте покренули Linux терминал, треба да преузмете око <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> података преко мреже.\nЖелите да наставите?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Преузми када WiFi буде доступан"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Да бисте покренули Linux терминал, треба да преузмете око <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> података преко мреже.\nЖелите ли да наставите?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Преузимај само преко WiFi мреже"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Инсталирај"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Инсталира се"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Грешка на мрежи. Проверите везу и пробајте поново."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Инсталирање није успело због грешке на мрежи. Проверите везу и пробајте поново."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Инсталира се Linux терминал"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux терминал ће се покренути после завршетка"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Инсталирање није успело због проблема са мрежом"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Инсталирање није успело. Пробајте поново."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux терминал ће се покренути када се инсталација заврши"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Инсталирање није успело због проблема са мрежом"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Инсталирање није успело јер WiFi није доступан"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Инсталирање није успело. Пробајте поново"</string>
<string name="action_settings" msgid="5729342767795123227">"Подешавања"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Терминал се припрема"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Терминал се зауставља"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Терминал је отказао"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Промена величине диска"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Промените величину / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Промена величине диска"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Промените величину основне партиције"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Величина диска је подешена"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Додељено <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Макс. <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Откажи"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Рестартуј и примени"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Прослеђивање порта"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Конфигуришите прослеђивање порта"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Терминал покушава да отвори нови порт"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Порт чије је отварање тражено: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Примени"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Терминал ће се рестартовати да би се променила величина диска"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Потврди"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Терминал тражи да отвори нови порт"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Обавезан порт: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Прихвати"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Одбиј"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Опоравак"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Опције опоравка партиција"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Промени на почетну верзију"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Уклоните све"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Опције опоравка партиција"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Вратите на почетну верзију"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Уклоните све податке"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Ресетујте терминал"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Подаци ће бити избрисани"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Потврди"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Подаци ће бити уклоњени"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Ресетуј"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Откажи"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Направи резервну копију података на <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Опоравак није успео јер прављење резервне копије није успело"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Опоравак није успео због грешке при прављењу резервне копије"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Опоравак није успео"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Уклањање фајла резервне копије није успело"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Уклањање резервне копије података није успело"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Уклоните резервну копију"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Обришите <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Непоправљива грешка"</string>
- <string name="error_desc" msgid="1939028888570920661">"Опоравак од грешке није успео.\nПробајте да рестартујете апликацију или пробајте једну од опција за враћање."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Уклоните <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Непоправљива грешка"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Опоравак од грешке није успео.\nПокушајте да рестартујете терминал или испробајте једну од опција за враћање."</string>
<string name="error_code" msgid="3585291676855383649">"Кôд грешке: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Подешавања"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Терминал је активан"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Кликните да бисте отворили терминал"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Кликните да бисте отворили терминал"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Затвори"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> је омогућен"</string>
</resources>
diff --git a/android/TerminalApp/res/values-sv/strings.xml b/android/TerminalApp/res/values-sv/strings.xml
index 692f89c..f6279f5 100644
--- a/android/TerminalApp/res/values-sv/strings.xml
+++ b/android/TerminalApp/res/values-sv/strings.xml
@@ -17,65 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Terminalskärm"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Markör"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Tom rad"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Installera Linux-terminalen"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Om du vill starta Linux-terminalen måste du ladda ned ungefär <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> data via nätverket.\nVill du fortsätta?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Ladda ned när wifi är tillgängligt"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Om du vill starta Linux-terminalen måste du ladda ned ungefär <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> data via nätverket.\nVill du fortsätta?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Ladda endast ned via wifi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Installera"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Installerar"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Nätverksfel. Kontrollera anslutningen och försök igen."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Det gick inte att installera på grund av ett nätverksfel. Kontrollera anslutningen och försök igen."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Installerar Linux-terminalen"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux-terminalen startas när processen är klar"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Det gick inte att installera på grund av nätverksproblemet"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Installationen misslyckades. Försök igen."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux-terminalen startas när installationen har slutförts"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Det gick inte att installera på grund av ett nätverksproblem"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Det gick inte att installera eftersom att wifi inte är tillgängligt"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Installationen misslyckades. Försök igen"</string>
<string name="action_settings" msgid="5729342767795123227">"Inställningar"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Terminalen förbereds"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Stoppar terminalen"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminalen kraschade"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Ändra diskstorlek"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Ändra storlek/Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Ändra diskstorlek"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Ändra storlek på rotpartitionen"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Diskstorlek har angetts"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> har tilldelats"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Max <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Avbryt"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Starta om för att tillämpa"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"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_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Tillämpa"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminalen startas om för att ändra storlek på disken"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Bekräfta"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminalen begär att öppna en ny port"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Port som begärs: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Godkänn"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Neka"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Återställning"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Återställningsalternativ för partition"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Ändra till ursprunglig version"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Ta bort alla"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Återställningsalternativ för partition"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Återställ till ursprunglig version"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Ta bort all data"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Återställ terminalen"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Data raderas"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Bekräfta"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Data kommer att tas bort"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Återställ"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Avbryt"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Säkerhetskopiera data till <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Återställningen misslyckades eftersom säkerhetskopieringen misslyckades"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Det gick inte att återställa på grund av ett säkerhetskopieringsfel"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Återställningen misslyckades"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Det går inte att ta bort säkerhetskopian"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Det gick inte att ta bort säkerhetskopierad data"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Ta bort säkerhetskopierad data"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Rensa <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <!-- no translation found for error_title (7196464038692913778) -->
- <skip />
- <!-- no translation found for error_desc (1939028888570920661) -->
- <skip />
- <!-- no translation found for error_code (3585291676855383649) -->
- <skip />
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Ta bort <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Allvarligt fel"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Det gick inte att återställa på grund av ett fel.\nDu kan försöka starta om terminalen eller prova ett av återställningsalternativen."</string>
+ <string name="error_code" msgid="3585291676855383649">"Felkod: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Inställningar"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminalen körs"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Klicka för att öppna terminalen"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Klicka för att öppna terminalen"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Stäng"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> har aktiverats"</string>
</resources>
diff --git a/android/TerminalApp/res/values-sw/strings.xml b/android/TerminalApp/res/values-sw/strings.xml
index ca79457..1d30f53 100644
--- a/android/TerminalApp/res/values-sw/strings.xml
+++ b/android/TerminalApp/res/values-sw/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Temino"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Skrini ya kituo"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Kiteuzi"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Mstari usio na chochote"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Weka temino ya Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Unahitaji kupakua takribani <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ya data kwenye mtandao ili uwashe temino ya Linux.\nUngependa kuendelea?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Pakua wakati Wi-Fi inapatikana"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Unahitaji kupakua takribani <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ya data kupitia mtandao ili uwashe temino ya Linux.\nUngependa kuendelea?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Pakua ukitumia Wi-Fi pekee"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Weka"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Inaweka"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Hitilafu ya mtandao. Angalia muunganisho kisha ujaribu tena."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Imeshindwa kuweka kwenye kifaa kutokana na hitilafu ya mtandao. Kagua muunganisho wako kisha ujaribu tena."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Inaweka temino ya Linux"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Temino ya Linux itawashwa baada ya kumaliza"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Imeshindwa kuweka kwenye kifaa kwa sababu ya tatizo la mtandao"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Imeshindwa kuweka kwenye kifaa. Jaribu tena."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Temino ya Linux itafunguka baada ya kumaliza kuweka kwenye kifaa"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Imeshindwa kuweka kwenye kifaa kutokana na tatizo la mtandao"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Imeshindwa kuweka kwenye kifaa kwa sababu Wi-Fi haipatikani"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Imeshindwa kuweka kwenye kifaa. Tafadhali jaribu tena"</string>
<string name="action_settings" msgid="5729342767795123227">"Mipangilio"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Inaandaa temino"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Inafunga temino"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Temino imeacha kufanya kazi"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Kubadilisha Ukubwa wa Diski"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Badilisha ukubwa / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Kubadilisha ukubwa wa diski"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Kubadilisha ukubwa wa sehemu yenye idhini maalum ya kudhibiti"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Ukubwa wa diski umewekwa"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> zimekabidhiwa"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Kikomo cha <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Acha"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Zima na uwashe utumie"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Kusambaza Mlango Kwingine"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Weka mipangilio ya kusambaza mlango kwingine"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Kituo kinajaribu kufungua mlango mpya"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Umeomba mlango ufunguliwe: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Tekeleza"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Temino itafungwa kisha ifunguliwe ili kubadilisha ukubwa wa diski"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Thibitisha"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Temino inatuma ombi la kufungua mlango mpya"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Ombi la mlango: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Kubali"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Kataa"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Kurejesha"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Chaguo za kurejesha data ya sehemu"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Rudi kwenye Toleo la awali"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Ondoa yote"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Chaguo za kurejesha data ya sehemu"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Kurejesha mipangilio ya toleo la awali"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Ondoa data yako yote"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Badilisha temino"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Data itafutwa"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Thibitisha"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Data itaondolewa"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Weka upya"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Acha"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Hifadhi nakala ya data kwenye <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Haikurejesha kwa sababu imeshindwa kuhifadhi nakala"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Imeshindwa kurejesha kutokana na hitilafu ya kuhifadhi nakala"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Haikurejesha"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Imeshindwa kuondoa faili yenye hifadhi nakala"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Imeshindwa kuondoa data ya kuhifadhi nakala"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Ondoa data ya nakala"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Safisha <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Hitilafu Inayozuia Kurejesha"</string>
- <string name="error_desc" msgid="1939028888570920661">"Imeshindwa kurejea kutoka hali ya hitilafu.\nUnaweza kujaribu kufungua programu upya au ujaribu mojawapo ya chaguo za urejeshaji."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Ondoa <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Hitilafu inayozuia kurejesha"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Imeshindwa kurejesha data kutokana na hitilafu.\nUnaweza kujaribu kufunga temino kisha uifungue au ujaribu mojawapo ya chaguo za kurejesha."</string>
<string name="error_code" msgid="3585291676855383649">"Msimbo wa hitilafu: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Mipangilio"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Temino inatumika"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Bofya ili ufungue temino"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Bofya ili ufungue temino"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Funga"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> imewashwa"</string>
</resources>
diff --git a/android/TerminalApp/res/values-sw720dp/config.xml b/android/TerminalApp/res/values-sw720dp/config.xml
new file mode 100644
index 0000000..be731da
--- /dev/null
+++ b/android/TerminalApp/res/values-sw720dp/config.xml
@@ -0,0 +1,19 @@
+<?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">
+ <bool name="terminal_portrait_only">false</bool>
+</resources>
diff --git a/android/TerminalApp/res/values-ta/strings.xml b/android/TerminalApp/res/values-ta/strings.xml
index e99b837..6a6e1a8 100644
--- a/android/TerminalApp/res/values-ta/strings.xml
+++ b/android/TerminalApp/res/values-ta/strings.xml
@@ -20,55 +20,72 @@
<string name="terminal_display" msgid="4810127497644015237">"டெர்மினல் டிஸ்ப்ளே"</string>
<string name="terminal_input" msgid="4602512831433433551">"கர்சர்"</string>
<string name="empty_line" msgid="5012067143408427178">"வெற்று வரி"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
+ <skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux டெர்மினலை நிறுவுதல்"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux டெர்மினலைத் தொடங்க, நெட்வொர்க் மூலம் நீங்கள் சுமார் <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> தரவைப் பதிவிறக்க வேண்டும்.\nதொடர விரும்புகிறீர்களா?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"வைஃபை கிடைக்கும்போது பதிவிறக்கு"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux டெர்மினலைத் தொடங்க, நெட்வொர்க் மூலம் நீங்கள் சுமார் <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> தரவைப் பதிவிறக்க வேண்டும்.\nதொடர விரும்புகிறீர்களா?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"வைஃபையைப் பயன்படுத்தி மட்டும் பதிவிறக்கு"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"நிறுவு"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"நிறுவுகிறது"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"நெட்வொர்க் பிழை. இணைப்பைச் சரிபார்த்து மீண்டும் முயலவும்."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"நெட்வொர்க்கில் பிழை காரணமாக நிறுவ முடியவில்லை. இணைய இணைப்பைச் சரிபார்த்துவிட்டு மீண்டும் முயலவும்."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux டெர்மினலை நிறுவுகிறது"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"நிறைவடைந்ததும் Linux டெர்மினல் தொடங்கப்படும்"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"நெட்வொர்க் சிக்கல் இருப்பதால் நிறுவ முடியவில்லை"</string>
- <string name="installer_error_no_wifi" msgid="8631584648989718121">"வைஃபை கிடைக்காததால் நிறுவ முடியவில்லை"</string>
- <string name="installer_error_unknown" msgid="1991780204241177455">"நிறுவ முடியவில்லை. மீண்டும் முயலவும்."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"நிறுவப்பட்டதும் Linux டெர்மினல் தொடங்கும்"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"நெட்வொர்க் சிக்கல் காரணமாக நிறுவ முடியவில்லை"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"வைஃபை கிடைக்காததால் நிறுவ முடியவில்லை"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"நிறுவ முடியவில்லை. மீண்டும் முயலவும்."</string>
<string name="action_settings" msgid="5729342767795123227">"அமைப்புகள்"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"டெர்மினலைத் தயார்செய்கிறது"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"டெர்மினல் நிறுத்தப்படுகிறது"</string>
<string name="vm_error_message" msgid="5231867246177661525">"டெர்மினல் சிதைவடைந்தது"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"டிஸ்க் அளவை மாற்றுதல்"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"அளவை மாற்று / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"டிஸ்க் அளவை மாற்றுதல்"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"ரூட் பார்டிஷன் அளவை மாற்றுதல்"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"டிஸ்க் அளவு அமைக்கப்பட்டது"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> ஒதுக்கப்பட்டது"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"அதிகபட்சம் <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"ரத்துசெய்"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"பயன்படுத்த தொடங்குக"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"போர்ட் அனுப்புதல்"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"போர்ட் அனுப்புதலை உள்ளமைத்தல்"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"டெர்மினல் புதிய போர்ட்டைத் திறக்க முயல்கிறது"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"திறக்கும்படி கேட்கப்பட்டுள்ள போர்ட்: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"பயன்படுத்து"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"டிஸ்க் அளவை மாற்ற டெர்மினல் மீண்டும் தொடங்கப்படும்"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"உறுதிசெய்"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"டெர்மினல் புதிய போர்ட்டைத் திறக்குமாறு கேட்கிறது"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"போர்ட் கேட்கப்பட்டுள்ளது: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"ஏற்கிறேன்"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"நிராகரி"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"மீட்டெடுத்தல்"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"பார்டிஷன் மீட்டெடுப்பு விருப்பங்கள்"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"முதல் பதிப்பிற்கு மாற்று"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"அனைத்தையும் அகற்றும்"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"பார்டிஷன் மீட்டெடுப்பு விருப்பங்கள்"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"தொடக்கப் பதிப்பிற்கு மீட்டமைத்தல்"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"அனைத்துத் தரவையும் அகற்றுதல்"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"டெர்மினலை மீட்டமைத்தல்"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"தரவு நீக்கப்படும்"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"உறுதிசெய்"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"தரவு அகற்றப்படும்"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"மீட்டமை"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"ரத்துசெய்"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g> இல் உள்ள தரவைக் காப்புப் பிரதி எடுத்தல்"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"காப்புப் பிரதி எடுத்தல் தோல்வியடைந்ததால் மீட்டெடுக்க முடியவில்லை"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"காப்புப் பிரதி எடுப்பதில் பிழை ஏற்பட்டதால் மீட்டெடுக்க முடியவில்லை"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"மீட்டெடுக்க முடியவில்லை"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"காப்புப் பிரதி ஃபைலை அகற்ற முடியவில்லை"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"காப்புப் பிரதி எடுக்கப்பட்ட தரவை அகற்ற முடியவில்லை"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"காப்புப் பிரதித் தரவை அகற்றுதல்"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> ஐக் காலியாக்குதல்"</string>
- <string name="error_title" msgid="7196464038692913778">"சரிசெய்ய முடியாத பிழை"</string>
- <string name="error_desc" msgid="1939028888570920661">"பிழையைச் சரிசெய்ய முடியவில்லை.\nநீங்கள் ஆப்ஸை மீண்டும் தொடங்க முயலலாம் அல்லது மீட்டெடுப்பு விருப்பங்களில் ஒன்றைப் பயன்படுத்திப் பார்க்கலாம்."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> ஐ அகற்றுதல்"</string>
+ <string name="error_title" msgid="405150657301906598">"சரிசெய்ய முடியாத பிழை"</string>
+ <string name="error_desc" msgid="1984714179775053347">"பிழையில் இருந்து மீட்டெடுக்க முடியவில்லை.\nநீங்கள் டெர்மினலை மீண்டும் தொடங்கி முயன்று பார்க்கலாம் அல்லது மீட்டெடுப்பு விருப்பங்களில் ஒன்றைப் பயன்படுத்திப் பார்க்கலாம்."</string>
<string name="error_code" msgid="3585291676855383649">"பிழைக் குறியீடு: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"அமைப்புகள்"</string>
<string name="service_notification_title" msgid="2918088850910713393">"டெர்மினல் இயக்கத்தில் உள்ளது"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"டெர்மினலைத் திறக்க கிளிக் செய்யுங்கள்"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"டெர்மினலைத் திறக்க கிளிக் செய்யுங்கள்"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"மூடு"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> இயக்கப்பட்டது"</string>
</resources>
diff --git a/android/TerminalApp/res/values-te/strings.xml b/android/TerminalApp/res/values-te/strings.xml
index e13f2dc..77db188 100644
--- a/android/TerminalApp/res/values-te/strings.xml
+++ b/android/TerminalApp/res/values-te/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"టెర్మినల్"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Terminal డిస్ప్లే"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"కర్సర్"</string>
+ <string name="empty_line" msgid="5012067143408427178">"ఖాళీ లైన్"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux టెర్మినల్ను ఇన్స్టాల్ చేయండి"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux టెర్మినల్ను ప్రారంభించడానికి, మీరు నెట్వర్క్ ద్వారా దాదాపు <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> డేటాను డౌన్లోడ్ చేసుకోవాలి.\nమీరు కొనసాగిస్తారా?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Wi-Fi అందుబాటులో ఉన్నప్పుడు డౌన్లోడ్ చేయండి"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux టెర్మినల్ను ప్రారంభించడానికి, మీరు నెట్వర్క్ ద్వారా దాదాపు <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> డేటాను డౌన్లోడ్ చేసుకోవాలి.\nమీరు కొనసాగించాలనుకుంటున్నారా?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Wi-Fiని ఉపయోగించి మాత్రమే డౌన్లోడ్ చేయండి"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ఇన్స్టాల్ చేయి"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"ఇన్స్టాల్ చేస్తోంది"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"నెట్వర్క్ ఎర్రర్. కనెక్షన్ను చెక్ చేసి, మళ్లీ ట్రై చేయండి."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"నెట్వర్క్ ఎర్రర్ కారణంగా ఇన్స్టాల్ చేయడం విఫలమైంది. మీ కనెక్షన్ను చెక్ చేసి మళ్లీ ట్రై చేయండి."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux టెర్మినల్ను ఇన్స్టాల్ చేస్తోంది"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"పూర్తయిన తర్వాత Linux టెర్మినల్ ప్రారంభమవుతుంది"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"నెట్వర్క్ సమస్య కారణంగా ఇన్స్టాల్ చేయడం విఫలమైంది"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"ఇన్స్టాల్ చేయడం విఫలమైంది. మళ్లీ ట్రై చేయండి."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"ఇన్స్టాలేషన్ పూర్తయిన తర్వాత Linux టెర్మినల్ ప్రారంభమవుతుంది"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"నెట్వర్క్ సమస్య కారణంగా ఇన్స్టాల్ చేయడం విఫలమైంది"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Wi-Fi అందుబాటులో లేని కారణంగా ఇన్స్టాల్ చేయడం విఫలమైంది"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"ఇన్స్టాల్ చేయడం విఫలమైంది. దయచేసి మళ్లీ ట్రై చేయండి"</string>
<string name="action_settings" msgid="5729342767795123227">"సెట్టింగ్లు"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"టెర్మినల్ను సిద్ధం చేస్తోంది"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"టెర్మినల్ను ఆపివేస్తోంది"</string>
<string name="vm_error_message" msgid="5231867246177661525">"టెర్మినల్ క్రాష్ అయింది"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"డిస్క్ సైజ్ మార్చడం"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"సైజ్ మార్చండి / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"డిస్క్ సైజ్ మార్చడం"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"రూట్ పార్టిషన్ సైజ్ను మార్చండి"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"డిస్క్ సైజ్ సెట్ చేయబడింది"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> కేటాయించబడింది"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"గరిష్ఠంగా <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"రద్దు చేయండి"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"వర్తించేందుకు రీస్టార్ట్ చేయండి"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"పోర్ట్ ఫార్వర్డింగ్"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"పోర్ట్ ఫార్వర్డింగ్ను కాన్ఫిగర్ చేయండి"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"టెర్మినల్ ఒక కొత్త పోర్ట్ను తెరవడానికి ట్రై చేస్తోంది"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"పోర్ట్ తెరవాలని రిక్వెస్ట్ చేశారు: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"వర్తింపజేయండి"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"డిస్క్ సైజ్ను మార్చడానికి టెర్మినల్ రీస్టార్ట్ అవుతుంది"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"నిర్ధారించండి"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"టెర్మినల్ ఒక కొత్త పోర్ట్ను తెరవడానికి రిక్వెస్ట్ చేస్తోంది"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"పోర్ట్ రిక్వెస్ట్ చేయబడింది: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"ఆమోదించండి"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"తిరస్కరించండి"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"రికవరీ"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"పార్టిషన్ రికవరీ ఆప్షన్లు"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"మొదటి వెర్షన్కు మార్చండి"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"అన్నీ తీసివేయండి"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"పార్టిషన్ రికవరీ ఆప్షన్లు"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"మొదటి వెర్షన్కు రీసెట్ చేయండి"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"మొత్తం డేటాను తీసివేయండి"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"టెర్మినల్ను రీసెట్ చేయండి"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"డేటా తొలగించబడుతుంది"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"నిర్ధారించండి"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"డేటా తీసివేయబడుతుంది"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"రీసెట్ చేయండి"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"రద్దు చేయండి"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g>లో డేటాను బ్యాకప్ చేయండి"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"బ్యాకప్ విఫలమైనందున రికవరీ విఫలమైంది"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"బ్యాకప్ ఎర్రర్ కారణంగా రికవర్ చేయడం విఫలమైంది"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"రికవరీ విఫలమైంది"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"బ్యాకప్ ఫైల్ను తీసివేయడం సాధ్యపడదు"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"బ్యాకప్ డేటాను తీసివేయడం విఫలమైంది"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"బ్యాకప్ డేటాను తీసివేయండి"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"క్లీనప్ <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"రికవరీని అసాధ్యం చేసే ఎర్రర్"</string>
- <string name="error_desc" msgid="1939028888570920661">"ఎర్రర్ను రికవర్ చేయడంలో విఫలమైంది.\nమీరు యాప్ను రీస్టార్ట్ చేసి ట్రై చేయవచ్చు లేదా రికవరీ ఆప్షన్లలో ఒకదాన్ని ట్రై చేయవచ్చు."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g>ను తీసివేయండి"</string>
+ <string name="error_title" msgid="405150657301906598">"రికవరీని అసాధ్యం చేసే ఎర్రర్"</string>
+ <string name="error_desc" msgid="1984714179775053347">"ఎర్రర్ను రికవర్ చేయడంలో విఫలమైంది.\nమీరు టెర్మినల్ను రీస్టార్ట్ చేసి ట్రై చేయవచ్చు లేదా రికవరీ ఆప్షన్లలో ఒకదాన్ని ట్రై చేయవచ్చు."</string>
<string name="error_code" msgid="3585291676855383649">"ఎర్రర్ కోడ్: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"సెట్టింగ్లు"</string>
<string name="service_notification_title" msgid="2918088850910713393">"టెర్మినల్ రన్ అవుతోంది"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"టెర్మినల్ను తెరవడానికి క్లిక్ చేయండి"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"టెర్మినల్ను తెరవడానికి క్లిక్ చేయండి"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"మూసివేయండి"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> ప్రారంభించబడింది"</string>
</resources>
diff --git a/android/TerminalApp/res/values-th/strings.xml b/android/TerminalApp/res/values-th/strings.xml
index 0a96ca3..7c2f6a7 100644
--- a/android/TerminalApp/res/values-th/strings.xml
+++ b/android/TerminalApp/res/values-th/strings.xml
@@ -20,55 +20,72 @@
<string name="terminal_display" msgid="4810127497644015237">"จอแสดงผลของเทอร์มินัล"</string>
<string name="terminal_input" msgid="4602512831433433551">"เคอร์เซอร์"</string>
<string name="empty_line" msgid="5012067143408427178">"บรรทัดว่างเปล่า"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
+ <skip />
<string name="installer_title_text" msgid="500663060973466805">"ติดตั้งเทอร์มินัล Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"หากต้องการเปิดเทอร์มินัล Linux คุณจะต้องดาวน์โหลดข้อมูลประมาณ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ผ่านเครือข่าย\nคุณต้องการดำเนินการต่อไหม"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"ดาวน์โหลดเมื่อมีการเชื่อมต่อ Wi-Fi"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"หากต้องการเปิดเทอร์มินัล Linux คุณจะต้องดาวน์โหลดข้อมูลประมาณ <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ผ่านเครือข่าย\nคุณต้องการดำเนินการต่อไหม"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"ดาวน์โหลดโดยใช้ Wi-Fi เท่านั้น"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"ติดตั้ง"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"กำลังติดตั้ง"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"ข้อผิดพลาดเกี่ยวกับเครือข่าย ตรวจสอบการเชื่อมต่อแล้วลองอีกครั้ง"</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"ติดตั้งไม่สำเร็จเนื่องจากมีข้อผิดพลาดเกี่ยวกับเครือข่าย โปรดตรวจสอบการเชื่อมต่อแล้วลองอีกครั้ง"</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"กำลังติดตั้งเทอร์มินัล Linux"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"เทอร์มินัล Linux จะเริ่มต้นหลังจากติดตั้งเสร็จ"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"ติดตั้งไม่สำเร็จเนื่องจากมีปัญหาเครือข่าย"</string>
- <string name="installer_error_no_wifi" msgid="8631584648989718121">"ติดตั้งไม่สำเร็จเนื่องจากไม่มี Wi-Fi"</string>
- <string name="installer_error_unknown" msgid="1991780204241177455">"ติดตั้งไม่สำเร็จ โปรดลองอีกครั้ง"</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"เทอร์มินัล Linux จะเริ่มต้นหลังจากติดตั้งเสร็จแล้ว"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"ติดตั้งไม่สำเร็จเนื่องจากมีปัญหาเครือข่าย"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"ติดตั้งไม่สำเร็จเนื่องจากไม่มี Wi-Fi"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"ติดตั้งไม่สำเร็จ โปรดลองอีกครั้ง"</string>
<string name="action_settings" msgid="5729342767795123227">"การตั้งค่า"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"กำลังเตรียมเทอร์มินัล"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"กำลังหยุดเทอร์มินัล"</string>
<string name="vm_error_message" msgid="5231867246177661525">"เทอร์มินัลขัดข้อง"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"การปรับขนาดดิสก์"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"ปรับขนาด/Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"การปรับขนาดดิสก์"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"ปรับขนาดรูทพาร์ติชัน"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"ตั้งค่าขนาดดิสก์แล้ว"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"กำหนดขนาด <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> แล้ว"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"สูงสุด <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"ยกเลิก"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"รีสตาร์ทเพื่อใช้"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"การส่งต่อพอร์ต"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"กำหนดค่าการส่งต่อพอร์ต"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"เทอร์มินัลกำลังพยายามเปิดพอร์ตใหม่"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"พอร์ตที่ขอให้เปิด: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"ใช้"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ระบบจะรีสตาร์ทเทอร์มินัลเพื่อปรับขนาดดิสก์"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"ยืนยัน"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"เทอร์มินัลกำลังส่งคำขอเปิดพอร์ตใหม่"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"พอร์ตที่ขอ: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"ยอมรับ"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"ปฏิเสธ"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"การกู้คืน"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"ตัวเลือกการกู้คืนพาร์ติชัน"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"เปลี่ยนเป็นเวอร์ชันเริ่มต้น"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"นำออกทั้งหมด"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"ตัวเลือกการกู้คืนพาร์ติชัน"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"รีเซ็ตเป็นเวอร์ชันเริ่มต้น"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"นำข้อมูลทั้งหมดออก"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"รีเซ็ตเทอร์มินัล"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ระบบจะลบข้อมูล"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"ยืนยัน"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ระบบจะนําข้อมูลออก"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"รีเซ็ต"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"ยกเลิก"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"สำรองข้อมูลไปยัง <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"กู้คืนไม่สำเร็จเนื่องจากสำรองข้อมูลไม่สำเร็จ"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"กู้คืนไม่สำเร็จเนื่องจากเกิดข้อผิดพลาดในการสำรองข้อมูล"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"การกู้คืนไม่สำเร็จ"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"นำไฟล์ข้อมูลสำรองออกไม่ได้"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"นําข้อมูลสํารองออกไม่สําเร็จ"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"นําข้อมูลสํารองออก"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"ล้าง <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"ข้อผิดพลาดที่กู้คืนไม่ได้"</string>
- <string name="error_desc" msgid="1939028888570920661">"กู้คืนจากข้อผิดพลาดไม่สำเร็จ\nคุณสามารถลองรีสตาร์ทแอปหรือลองใช้ตัวเลือกการกู้คืนได้"</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"นำ <xliff:g id="PATH">/mnt/backup</xliff:g> ออก"</string>
+ <string name="error_title" msgid="405150657301906598">"ข้อผิดพลาดที่กู้คืนไม่ได้"</string>
+ <string name="error_desc" msgid="1984714179775053347">"กู้คืนจากข้อผิดพลาดไม่สำเร็จ\nคุณสามารถลองรีสตาร์ทเทอร์มินัลหรือลองใช้ตัวเลือกการกู้คืนได้"</string>
<string name="error_code" msgid="3585291676855383649">"รหัสข้อผิดพลาด: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"การตั้งค่า"</string>
<string name="service_notification_title" msgid="2918088850910713393">"เทอร์มินัลกำลังทำงาน"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"คลิกเพื่อเปิดเทอร์มินัล"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"คลิกเพื่อเปิดเทอร์มินัล"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"ปิด"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"เปิดใช้งาน <xliff:g id="ID_1">VirGL</xliff:g> แล้ว"</string>
</resources>
diff --git a/android/TerminalApp/res/values-tl/strings.xml b/android/TerminalApp/res/values-tl/strings.xml
index 29f316e..9de5893 100644
--- a/android/TerminalApp/res/values-tl/strings.xml
+++ b/android/TerminalApp/res/values-tl/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Display ng terminal"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Cursor"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Walang lamang linya"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"I-install ang terminal ng Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Para ilunsad ang terminal ng Linux, kailangan mong mag-download ng humigit-kumulang <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> na data sa network.\nGusto mo bang magpatuloy?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"I-download kapag available ang Wi-Fi"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Para ilunsad ang terminal ng Linux, kailangan mong mag-download ng humigit-kumulang <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> na data sa network.\nGusto mo bang magpatuloy?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Mag-download sa pamamagitan lang ng Wi-Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"I-install"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Ini-install"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Error sa network. Tingnan ang koneksyon at subukan ulit."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Hindi na-install dahil sa error sa network. Suriin ang iyong koneksyon at subukan ulit."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Ini-install ang terminal ng Linux"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Magsisimula ang terminal ng Linux pagkatapos mag-install"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Hindi na-install dahil sa isyu sa network"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Hindi na-install. Subukan ulit."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Magsisimula ang terminal ng Linux pagkatapos ng pag-install"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Hindi na-install dahil sa isyu sa network"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Hindi na-install dahil walang Wi-Fi"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Hindi na-install. Pakisubukan ulit"</string>
<string name="action_settings" msgid="5729342767795123227">"Mga Setting"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Inihahanda ang terminal"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Hinihinto ang terminal"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Nag-crash ang terminal"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"I-resize ang Disk"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"I-resize / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Pag-resize ng disk"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"I-resize ang laki ng root partition"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Nakatakda na ang laki ng disk"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> ang nakatalaga"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> ang max"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Kanselahin"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"I-restart para gawin"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Pag-forward ng Port"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"I-configure ang pag-forward ng port"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Sinusubukan ng terminal na magbukas ng bagong port"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port na na-request na maging bukas: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Ilapat"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Ire-restart ang terminal para i-resize ang disk"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Kumpirmahin"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Nag-request ang terminal na magbukas ng bagong port"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Ni-request na port: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Tanggapin"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Tanggihan"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Pag-recover"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Mga opsyon sa Pag-recover ng Partition"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Baguhin sa inisyal na bersyon"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Alisin lahat"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Mga opsyon sa pag-recover ng partition"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"I-reset sa inisyal na bersyon"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Alisin ang lahat ng data"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"I-reset ang terminal"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Made-delete ang data"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Kumpirmahin"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Aalisin ang data"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"I-reset"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Kanselahin"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Mag-back up ng data sa <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Hindi na-recover dahil hindi gumana ang backup"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Hindi na-recover dahil sa error sa backup"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Hindi na-recover"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Hindi maalis ang backup file"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Hindi naalis ang backup na data"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Alisin ang backup data"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"I-clean up ang <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Hindi nare-recover na error"</string>
- <string name="error_desc" msgid="1939028888570920661">"Hindi naka-recover mula sa isang error.\nPuwede mong subukang i-restart ang app, o subukan ang isa sa mga opsyon sa pag-recover."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Alisin ang <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Hindi nare-recover na error"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Hindi naka-recover mula sa isang error.\nPuwede mong subukang i-restart ang terminal o subukan ang isa sa mga opsyon sa pag-recover"</string>
<string name="error_code" msgid="3585291676855383649">"Code ng error: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Mga Setting"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Gumagana ang terminal"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"I-click para buksan ang terminal"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"I-click para buksan ang terminal"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Isara"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"Na-enable ang <xliff:g id="ID_1">VirGL</xliff:g>"</string>
</resources>
diff --git a/android/TerminalApp/res/values-tr/strings.xml b/android/TerminalApp/res/values-tr/strings.xml
index 5ad93ae..b7717c9 100644
--- a/android/TerminalApp/res/values-tr/strings.xml
+++ b/android/TerminalApp/res/values-tr/strings.xml
@@ -17,65 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Terminal ekranı"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"İmleç"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Boş satır"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux terminalini yükleyin"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux terminalini başlatmak için ağ üzerinden yaklaşık <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> veri indirmeniz gerekir.\nDevam etmek istiyor musunuz?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Kablosuz bağlantı olduğunda indir"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux terminalini başlatmak için ağ üzerinden yaklaşık <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> veri indirmeniz gerekir.\nDevam etmek istiyor musunuz?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Yalnızca kablosuz bağlantıyla indir"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Yükle"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Yükleniyor"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Ağ hatası. Bağlantıyı kontrol edip tekrar deneyin."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Bir ağ hatası nedeniyle yüklenemedi. Bağlantınızı kontrol edip tekrar deneyin."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux terminali yükleniyor"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux terminali, işlem tamamlandıktan sonra başlatılacak"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Ağ sorunu nedeniyle yüklenemedi."</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Yüklenemedi. Tekrar deneyin."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Linux terminali, yükleme işlemi tamamlandıktan sonra başlatılacak"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Ağ sorunu nedeniyle yüklenemedi"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Kablosuz bağlantı olmadığından yükleme işlemi başarısız oldu"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Yüklenemedi. Lütfen tekrar deneyin"</string>
<string name="action_settings" msgid="5729342767795123227">"Ayarlar"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Terminal hazırlanıyor"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Terminal durduruluyor"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminal kilitlendi"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Diski yeniden boyutlandır"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Yeniden boyutlandır/Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Diski yeniden boyutlandır"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Kök bölüm boyutunu yeniden ayarlayın"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Disk boyutu ayarlandı"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> atandı"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"<xliff:g id="MAX_SIZE">%1$s</xliff:g> maks."</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"İptal"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Uygulamak için yeniden başlatın"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Bağlantı noktası yönlendirme"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Bağlantı noktası yönlendirmeyi yapılandır"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal yeni bir bağlantı noktası açmaya çalışıyor"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Açılması istenen bağlantı noktası: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Uygula"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Terminal, diski yeniden boyutlandırmak için yeniden başlatılacak"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Onayla"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal yeni bir bağlantı noktası açmak istiyor"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"İstenilen bağlantı noktası: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Kabul et"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Reddet"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Kurtarma"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Bölüm kurtarma seçenekleri"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"İlk sürüme geç"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Tümünü kaldır"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Bölüm kurtarma seçenekleri"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"İlk sürüme sıfırla"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Verilerin tümünü kaldır"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Terminali sıfırla"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Veriler silinecek"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Onayla"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Veriler kaldırılacak"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Sıfırla"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"İptal"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Verileri <xliff:g id="PATH">/mnt/backup</xliff:g> konumuna yedekle"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Yedekleme işlemi başarısız olduğu için kurtarma işlemi tamamlanamadı"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Yedekleme hatası nedeniyle kurtarılamadı"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Kurtarma işlemi başarısız oldu"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Yedek dosyası kaldırılamıyor"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Yedek veriler kaldırılamadı"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Yedek verileri kaldır"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> konumundaki verileri temizle"</string>
- <!-- no translation found for error_title (7196464038692913778) -->
- <skip />
- <!-- no translation found for error_desc (1939028888570920661) -->
- <skip />
- <!-- no translation found for error_code (3585291676855383649) -->
- <skip />
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> etiketini kaldır"</string>
+ <string name="error_title" msgid="405150657301906598">"Düzeltilemeyen hata"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Bir hatayı düzeltme işlemi başarısız oldu.\nTerminali yeniden başlatmayı veya kurtarma seçeneklerinden birini uygulamayı deneyebilirsiniz."</string>
+ <string name="error_code" msgid="3585291676855383649">"Hata kodu: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Ayarlar"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminal çalışıyor"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Terminali açmak için tıklayın"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Terminali açmak için tıklayın"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Kapat"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> etkinleştirildi"</string>
</resources>
diff --git a/android/TerminalApp/res/values-uk/strings.xml b/android/TerminalApp/res/values-uk/strings.xml
index c883d3a..22278cf 100644
--- a/android/TerminalApp/res/values-uk/strings.xml
+++ b/android/TerminalApp/res/values-uk/strings.xml
@@ -17,65 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Термінал"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Дисплей термінала"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Курсор"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Пустий рядок"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Установити термінал Linux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Щоб запустити термінал Linux, потрібно завантажити приблизно <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> даних через мережу.\nПродовжити?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Завантажити через Wi-Fi, коли буде доступно"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Щоб запустити термінал Linux, потрібно завантажити приблизно <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> даних через мережу.\nПродовжити?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Завантажувати лише через Wi-Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Установити"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Встановлення"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Помилка мережі. Перевірте з’єднання й повторіть спробу."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Не вдалося встановити через помилку мережі. Перевірте з’єднання й повторіть спробу."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Встановлення термінала Linux"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Після завершення буде запущено термінал Linux"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Не вдалося встановити через проблему з мережею"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Не вдалося встановити. Повторіть спробу."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Термінал Linux запуститься після встановлення"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Не вдалося встановити через проблему з мережею"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Не вдалося встановити, оскільки немає Wi-Fi-з’єднання"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Не вдалося встановити. Повторіть спробу."</string>
<string name="action_settings" msgid="5729342767795123227">"Налаштування"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Підготовка термінала"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Зупинка термінала"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Збій термінала"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Зміна розміру диска"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Змінити розмір/Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Зміна розміру диска"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Змінити розмір кореневого розділу"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Розмір диска вказано"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Виділено <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Максимальний розмір: <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Скасувати"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Перезапустити, щоб застосувати"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Переадресація порту"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Налаштувати переадресацію порту"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Термінал намагається відкрити новий порт"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Порт, який потрібно відкрити: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Застосувати"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Термінал буде перезапущено, щоб змінити розмір диска"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Підтвердити"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Термінал просить відкрити новий порт"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Порт, указаний у запиті: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Прийняти"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Відхилити"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Відновлення"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Способи відновлення розділів"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Змінити на початкову версію"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Видалити все"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Способи відновлення розділів"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Відновити початкову версію"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Видалити всі дані"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Скинути налаштування термінала"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Дані буде видалено"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Підтвердити"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Дані буде видалено"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Скинути"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Скасувати"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Створити резервну копію даних у <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Не вдалося відновити, оскільки резервну копію не створено"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Не вдалося відновити через помилку резервного копіювання"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Не вдалося відновити"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Не вдалося вилучити файл резервної копії"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Не вдалося видалити резервну копію даних"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Видалити резервну копію даних"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Очистити <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <!-- no translation found for error_title (7196464038692913778) -->
- <skip />
- <!-- no translation found for error_desc (1939028888570920661) -->
- <skip />
- <!-- no translation found for error_code (3585291676855383649) -->
- <skip />
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Видалити <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Помилка з неможливістю відновлення"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Не вдалося виконати відновлення після помилки.\nСпробуйте перезапустити термінал або скористатися одним зі способів відновлення."</string>
+ <string name="error_code" msgid="3585291676855383649">"Код помилки: <xliff:g id="ERROR_CODE">%s</xliff:g>."</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Налаштування"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Термінал запущено"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Натисніть, щоб відкрити термінал"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Натисніть, щоб відкрити термінал"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Закрити"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> увімкнено"</string>
</resources>
diff --git a/android/TerminalApp/res/values-ur/strings.xml b/android/TerminalApp/res/values-ur/strings.xml
index 81c051f..33b6014 100644
--- a/android/TerminalApp/res/values-ur/strings.xml
+++ b/android/TerminalApp/res/values-ur/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"ٹرمینل"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"ٹرمینل ڈسپلے"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"کرسر"</string>
+ <string name="empty_line" msgid="5012067143408427178">"خالی لائن"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux ٹرمینل انسٹال کریں"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux ٹرمینل کو شروع کرنے کے لیے، آپ کو نیٹ ورک پر تقریباً <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ڈیٹا ڈاؤن لوڈ کرنا ہوگا۔\nکیا آپ آگے بڑھیں گے؟"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Wi-Fi دستیاب ہونے پر ڈاؤن لوڈ کریں"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux ٹرمینل شروع کرنے کے لیے، آپ کو نیٹ ورک پر تقریباً <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> ڈیٹا ڈاؤن لوڈ کرنا ہوگا۔\nکیا آپ آگے بڑھنا چاہیں گے؟"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"صرف Wi-Fi کا استعمال کر کے ڈاؤن لوڈ کریں"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"انسٹال کریں"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"انسٹال کیا جا رہا ہے"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"نیٹ ورک کی خرابی۔ کنکشن چیک کریں اور دوبارہ کوشش کریں۔"</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"نیٹ ورک کی خرابی کی وجہ سے انسٹال نہیں کیا جا سکا۔ اپنا کنکشن چیک کریں اور دوبارہ کوشش کریں۔"</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux ٹرمینل انسٹال ہو رہا ہے"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"مکمل ہونے کے بعد Linux ٹرمینل شروع کیا جا سکے گا"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"نیٹ ورک میں خرابی کی وجہ سے انسٹال نہیں کیا جا سکا"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"انسٹال نہیں کیا جا سکا۔ دوبارہ کوشش کریں۔"</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"انسٹالیشن مکمل ہونے کے بعد Linux ٹرمینل شروع ہو جائے گا"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"نیٹ ورک کے مسئلے کی وجہ سے انسٹال نہیں کیا جا سکا"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Wi-Fi دستیاب نہ ہونے کی وجہ سے انسٹال نہیں کیا جا سکا"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"انسٹال نہیں کیا جا سکا۔ براہ کرم دوبارہ کوشش کریں"</string>
<string name="action_settings" msgid="5729342767795123227">"ترتیبات"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"ٹرمینل تیار ہو رہا ہے"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"ٹرمینل کو روکا جا رہا ہے"</string>
<string name="vm_error_message" msgid="5231867246177661525">"ٹرمینل کریش ہو گیا"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"ڈسک کا سائز تبدیل کریں"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"سائز تبدیل کریں / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"ڈسک کا سائز تبدیل کریں"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"روٹ پارٹیشن کا سائز تبدیل کریں"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"ڈسک کے سائز کا سیٹ"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> تفویض کردہ"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"زیادہ سے زیادہ <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"منسوخ کریں"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"لاگو کرنے کے لیے ری سٹارٹ کریں"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"پورٹ فارورڈنگ"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"پورٹ فارورڈنگ کو کنفیگر کریں"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"ٹرمینل ایک نیا پورٹ کھولنے کی کوشش کر رہا ہے"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"پورٹ کو کھولنے کی درخواست کی گئی ہے: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"لاگو کریں"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"ڈسک کا سائز تبدیل کرنے کے لیے ٹرمینل کو ری سٹارٹ کیا جائے گا"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"تصدیق کریں"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"ٹرمینل ایک نیا پورٹ کھولنے کی درخواست کر رہا ہے"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"پورٹ کی درخواست کی گئی: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"قبول کریں"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"مسترد کریں"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"بازیابی"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"پارٹیشن کی بازیابی کے اختیارات"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"ابتدائی ورژن میں تبدیلی"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"سبھی ہٹائیں"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"پارٹیشن کی بازیابی کے اختیارات"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"ابتدائی ورژن پر ری سیٹ کریں"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"سبھی ڈیٹا ہٹائیں"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"ٹرمینل ری سیٹ کریں"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"ڈیٹا حذف کر دیا جائے گا"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"تصدیق کریں"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"ڈیٹا ہٹا دیا جائے گا"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"ری سیٹ کریں"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"منسوخ کریں"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"<xliff:g id="PATH">/mnt/backup</xliff:g> پر ڈیٹا کا بیک اپ لیں"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"بیک اپ ناکام ہونے کی وجہ سے بازیابی ناکام ہو گئی"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"بیک اپ کی خرابی کی وجہ سے بازیاب نہیں کیا جا سکا"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"بازیابی ناکام ہو گئی"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"بیک اپ فائل کو ہٹایا نہیں جا سکتا"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"بیک اپ ڈیٹا نہیں ہٹایا جا سکا"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"بیک اپ ڈیٹا ہٹائیں"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"<xliff:g id="PATH">/mnt/backup</xliff:g> کو ہٹائیں"</string>
- <string name="error_title" msgid="7196464038692913778">"نا قابل بازیابی کی خرابی"</string>
- <string name="error_desc" msgid="1939028888570920661">"ایک خرابی سے بازیافت کرنے میں ناکام۔\nآپ ایپ کو ری اسٹارٹ کرنے کی کوشش کر سکتے ہیں یا بازیابی کے اختیارات میں سے ایک کو آزما سکتے ہیں۔"</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"<xliff:g id="PATH">/mnt/backup</xliff:g> ہٹائیں"</string>
+ <string name="error_title" msgid="405150657301906598">"نا قابل بازیابی کی خرابی"</string>
+ <string name="error_desc" msgid="1984714179775053347">"ایک خرابی سے بازیافت کرنے میں ناکام۔\nآپ ٹرمینل کو ری اسٹارٹ کرنے کی کوشش کر سکتے ہیں یا بازیابی کے اختیارات میں سے ایک کو آزما سکتے ہیں۔"</string>
<string name="error_code" msgid="3585291676855383649">"خرابی کا کوڈ: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"ترتیبات"</string>
<string name="service_notification_title" msgid="2918088850910713393">"ٹرمینل چل رہا ہے"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"ٹرمینل کھولنے کے لیے کلک کریں"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"ٹرمینل کھولنے کے لیے کلک کریں"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"بند کریں"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> فعال ہے"</string>
</resources>
diff --git a/android/TerminalApp/res/values-uz/strings.xml b/android/TerminalApp/res/values-uz/strings.xml
index 8093ef1..b1acf66 100644
--- a/android/TerminalApp/res/values-uz/strings.xml
+++ b/android/TerminalApp/res/values-uz/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Terminal displeyi"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Kursor"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Boʻsh qator"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Linux terminalini oʻrnatish"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Linux terminalini ishga tushirish uchun tarmoq orqali taxminan <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> axborot yuklab olish kerak.\nDavom etilsinmi?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Wi-Fi tarmoqqa ulanganda yuklab olish"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Linux terminalini ishga tushirish uchun tarmoq orqali taxminan <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> axborot yuklab olish kerak.\nDavom etilsinmi?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Faqat Wi-Fi orqali yuklab olish"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Oʻrnatish"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Oʻrnatilmoqda"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Tarmoq xatosi. Aloqani tekshirib, qayta urining."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Tarmoq xatosi tufayli oʻrnatilmadi. Ulanishni tekshirib, qaytadan urining."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Linux terminali oʻrnatilmoqda"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux terminali oʻrnatilganidan keyin ishga tushadi"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Tarmoq xatosi sababli oʻrnatilmadi"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Oʻrnatilmadi. Qayta urining."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Oʻrnatish yakunlangach, Linux terminali ishga tushadi"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Tarmoq xatosi sababli oʻrnatilmadi"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Wi-Fi mavjud emasligi sababli oʻrnatilmadi"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Oʻrnatilmadi. Qayta urining"</string>
<string name="action_settings" msgid="5729342767795123227">"Sozlamalar"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Terminal tayyorlanmoqda"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Terminal toʻxtatilmoqda"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminal ishdan chiqdi"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Disk hajmini oʻzgartirish"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Hajmini oʻzgartirish / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Disk hajmini oʻzgartirish"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Root boʻlimi hajmini oʻzgartirish"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Disk hajmi belgilandi"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> ajratilgan"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Maks <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Bekor qilish"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Qoʻllash uchun qayta yoqing"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Portni uzatish"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Portni uzatish sozlamalari"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal yangi port ochishga urinmoqda"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Port ochishga ruxsat soʻraldi: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Tatbiq etish"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Disk hajmini oʻzgartirish uchun terminal qayta ishga tushiriladi"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Tasdiqlash"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Terminal yangi port ochishni talab qilmoqda"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Talab qilingan port: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Qabul qilish"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Rad etish"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Tiklash"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Disk boʻlimini tiklash opsiyalari"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Dastlabki versiyaga oʻzgartirish"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Hammasini tozalash"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Disk boʻlimini tiklash usullari"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Dastlabki versiyaga qaytarish"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Barcha maʼlumotlarni tozalash"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Terminalni asliga qaytarish"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Maʼlumotlar oʻchib ketadi"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Tasdiqlash"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Maʼlumotlar olib tashlanadi"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Tiklash"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Bekor qilish"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Maʼlumotlarni bu yerga zaxiralash: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Zaxiralash amalga oshmagani uchun tiklanmadi"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Zaxiralash xatosi tufayli tiklanmadi"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Tiklanmadi"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Zaxira fayli olib tashlanmadi"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Zaxira maʼlumotlari olib tashlanmadi"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Zaxira maʼlumotlarini olib tashlash"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Tozalash: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Qayta tiklanmaydigan xato"</string>
- <string name="error_desc" msgid="1939028888570920661">"Xatolikdan tiklanmadi.\nIlovani qayta ishga tushirishingiz yoki tiklash usullaridan birini sinashingiz mumkin."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Olib tashlash: <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Qayta tiklanmaydigan xato"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Xatolikdan tiklanmadi.\nTerminalni qayta ishga tushirishingiz yoki tiklash variantlaridan birini bajarishingiz mumkin."</string>
<string name="error_code" msgid="3585291676855383649">"Xatolik kodi: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Sozlamalar"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminal ishga tushgan"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Terminalni ochish uchun bosing"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Terminalni ochish uchun bosing"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Yopish"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> yoniq"</string>
</resources>
diff --git a/android/TerminalApp/res/values-vi/strings.xml b/android/TerminalApp/res/values-vi/strings.xml
index dd6c5f5..9e9ea74 100644
--- a/android/TerminalApp/res/values-vi/strings.xml
+++ b/android/TerminalApp/res/values-vi/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Terminal"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Màn hình cửa sổ dòng lệnh"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Con trỏ"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Dòng trống"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Cài đặt Linux terminal"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Để chạy Linux terminal, bạn cần tải khoảng <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> dữ liệu xuống qua mạng.\nBạn có muốn tiếp tục không?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Tải xuống khi có Wi-Fi"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Để chạy ứng dụng Terminal trên Linux, bạn cần tải khoảng <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> dữ liệu xuống qua mạng.\nBạn có muốn tiếp tục không?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Chỉ tải xuống qua Wi-Fi"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Cài đặt"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Đang cài đặt"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Lỗi mạng. Hãy kiểm tra trạng thái kết nối rồi thử lại."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Không cài đặt được do lỗi mạng. Hãy kiểm tra kết nối của bạn rồi thử lại."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Đang cài đặt Linux terminal"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux terminal sẽ khởi động sau khi cài đặt xong"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Không cài đặt được do sự cố mạng"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Không cài đặt được. Hãy thử lại."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Ứng dụng Terminal trên Linux sẽ khởi động sau khi quá trình cài đặt hoàn tất"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Không cài đặt được do sự cố mạng"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Không cài đặt được do không có Wi-Fi"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Không cài đặt được. Vui lòng thử lại"</string>
<string name="action_settings" msgid="5729342767795123227">"Cài đặt"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Đang chuẩn bị Terminal"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Đang dừng Terminal"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Terminal gặp sự cố"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Đổi kích thước ổ đĩa"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Đổi kích thước/Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Đổi kích thước ổ đĩa"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Đổi kích thước phân vùng gốc"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Đã đặt dung lượng ổ đĩa"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"Ðã phân bổ <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Tối đa <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Huỷ"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Chạy lại để áp dụng"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Chuyển tiếp cổng"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Định cấu hình tính năng chuyển tiếp cổng"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Terminal đang cố mở một cổng mới"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Cổng được yêu cầu mở: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Áp dụng"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Ứng dụng Terminal sẽ khởi động lại để đổi kích thước ổ đĩa"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Xác nhận"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Ứng dụng Terminal đang yêu cầu mở một cổng mới"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Cổng được yêu cầu: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Chấp nhận"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Từ chối"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Khôi phục"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Tuỳ chọn khôi phục phân vùng"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Chuyển về phiên bản ban đầu"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Xoá tất cả"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Tuỳ chọn khôi phục phân vùng"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Đặt lại về phiên bản ban đầu"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Xoá mọi dữ liệu"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Đặt lại cửa sổ dòng lệnh"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Dữ liệu sẽ bị xoá"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Xác nhận"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Dữ liệu sẽ bị xoá"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Đặt lại"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Huỷ"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Sao lưu dữ liệu vào <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Không khôi phục được vì không sao lưu được"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Không khôi phục được do lỗi sao lưu"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Không khôi phục được"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Không xoá được tệp sao lưu"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Không xoá được dữ liệu sao lưu"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Xoá dữ liệu sao lưu"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Dọn dẹp <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Lỗi không thể khôi phục"</string>
- <string name="error_desc" msgid="1939028888570920661">"Không khôi phục được dữ liệu sau khi xảy ra lỗi.\nBạn có thể thử khởi động lại ứng dụng hoặc thử một trong các tuỳ chọn khôi phục."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Xoá <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Lỗi không thể khôi phục"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Không khôi phục được dữ liệu sau khi xảy ra lỗi.\nBạn có thể thử khởi động lại ứng dụng Terminal hoặc thử một trong các tuỳ chọn khôi phục."</string>
<string name="error_code" msgid="3585291676855383649">"Mã lỗi: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Cài đặt"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Terminal đang chạy"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Nhấp để mở cửa sổ dòng lệnh"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Nhấp để mở ứng dụng Terminal"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Đóng"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> đã được bật"</string>
</resources>
diff --git a/android/TerminalApp/res/values-zh-rCN/strings.xml b/android/TerminalApp/res/values-zh-rCN/strings.xml
index 266e4b5..df1feb8 100644
--- a/android/TerminalApp/res/values-zh-rCN/strings.xml
+++ b/android/TerminalApp/res/values-zh-rCN/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"终端"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"终端显示内容"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"光标"</string>
+ <string name="empty_line" msgid="5012067143408427178">"空行"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"安装 Linux 终端"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"如需启动 Linux 终端,您需要联网下载大约 <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> 的数据。\n要继续吗?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"连接到 WLAN 时下载"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"如需启动 Linux 终端,您需要联网下载大约 <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> 的数据。\n要继续吗?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"仅通过 WLAN 下载"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"安装"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"正在安装"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"网络错误。请检查网络连接,然后重试。"</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"由于网络连接错误,安装失败。请检查网络连接状态,然后重试。"</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"正在安装 Linux 终端"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"完成后将启动 Linux 终端"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"由于网络问题,安装失败"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"安装失败。请重试。"</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"安装完成后将启动 Linux 终端"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"由于网络问题,安装失败"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"由于 WLAN 不可用,安装失败"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"安装失败,请重试"</string>
<string name="action_settings" msgid="5729342767795123227">"设置"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"正在准备终端"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"正在停止终端"</string>
<string name="vm_error_message" msgid="5231867246177661525">"终端已崩溃"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"调整磁盘大小"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"调整大小/Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"调整磁盘大小"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"调整根分区的大小"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"已设置磁盘大小"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"已分配 <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"最大为 <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"取消"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"重启以应用"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"端口转发"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"配置端口转发"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"终端正在尝试打开新端口"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"请求打开的端口:<xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"应用"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"终端将重启以调整磁盘大小"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"确认"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"终端正在请求打开新端口"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"请求的端口:<xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"接受"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"拒绝"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"恢复"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"分区恢复选项"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"更改为初始版本"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"全部移除"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"分区恢复选项"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"重置为初始版本"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"移除所有数据"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"重置终端"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"数据将被删除"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"确认"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"数据将被移除"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"重置"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"取消"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"将数据备份到 <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"备份失败,因此无法恢复"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"由于备份错误,无法恢复"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"恢复失败"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"无法移除备份文件"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"未能移除备份数据"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"移除备份数据"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"清理 <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"不可恢复的错误"</string>
- <string name="error_desc" msgid="1939028888570920661">"未能从错误中恢复。\n您可以尝试重新启动该应用,或尝试某一恢复选项。"</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"移除 <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"不可恢复的错误"</string>
+ <string name="error_desc" msgid="1984714179775053347">"未能从错误中恢复。\n您可以尝试重启终端,或尝试某一恢复选项。"</string>
<string name="error_code" msgid="3585291676855383649">"错误代码:<xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"设置"</string>
<string name="service_notification_title" msgid="2918088850910713393">"终端正在运行"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"点按即可打开终端"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"点击即可打开终端"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"关闭"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> 已启用"</string>
</resources>
diff --git a/android/TerminalApp/res/values-zh-rHK/strings.xml b/android/TerminalApp/res/values-zh-rHK/strings.xml
index 463b221..11acfb7 100644
--- a/android/TerminalApp/res/values-zh-rHK/strings.xml
+++ b/android/TerminalApp/res/values-zh-rHK/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"終端機"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"終端機顯示畫面"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"游標"</string>
+ <string name="empty_line" msgid="5012067143408427178">"空白行"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"安裝 Linux 終端機"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"如要啟動 Linux 終端機,你需要透過網絡下載約 <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> 資料。\n要繼續嗎?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"連接 Wi-Fi 時下載"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"如要啟動 Linux 終端機,你需要透過網絡下載約 <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> 資料。\n要繼續嗎?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"只透過 Wi-Fi 下載"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"安裝"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"正在安裝"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"網絡錯誤。請檢查網絡連線,然後重試。"</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"發生網絡錯誤,因此無法安裝。請檢查連線,然後再試一次。"</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"正在安裝 Linux 終端機"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Linux 將於安裝完成後開啟"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"由於網絡發生問題,因此無法安裝"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"無法安裝,請再試一次。"</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"安裝完成後,Linux 終端機將會啟動"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"由於網絡發生問題,因此無法安裝"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"由於沒有可用的 Wi-Fi,因此無法安裝"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"無法安裝,請再試一次"</string>
<string name="action_settings" msgid="5729342767795123227">"設定"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"正在準備終端機"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"正在停止終端機"</string>
<string name="vm_error_message" msgid="5231867246177661525">"終端機當機"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"調整磁碟大小"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"調整大小 / Rootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"調整磁碟大小"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"調整 root 分區大小"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"已設定磁碟大小"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"已指派 <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"最多 <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"取消"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"重新啟動即可套用"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"連接埠轉送"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"設定連接埠轉送"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"終端機正在嘗試開啟新的連接埠"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"要求開啟的連接埠:<xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"套用"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"終端機將會重新開機以調整磁碟大小"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"確認"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"終端機正在要求開啟新的連接埠"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"已要求連接埠:<xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"接受"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"拒絕"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"復原"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"分區復原選項"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"變更至初始版本"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"全部移除"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"分區復原選項"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"重設至初始版本"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"移除所有資料"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"重設終端機"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"資料將被刪除"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"確認"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"系統將會移除資料"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"重設"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"取消"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"將資料備份至 <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"由於備份失敗,因此無法復原"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"由於出現備份錯誤,因此無法復原"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"無法復原"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"無法移除備份檔案"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"無法移除備份資料"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"移除備份資料"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"清理 <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"無法復原的錯誤"</string>
- <string name="error_desc" msgid="1939028888570920661">"無法從錯誤中復原。\n你可嘗試重新啟動應用程式,或使用其中一個復原選項。"</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"移除 <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"無法復原的錯誤"</string>
+ <string name="error_desc" msgid="1984714179775053347">"無法從錯誤中復原。\n你可嘗試重新啟動終端機,或使用其中一個復原選項。"</string>
<string name="error_code" msgid="3585291676855383649">"錯誤代碼:<xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"設定"</string>
<string name="service_notification_title" msgid="2918088850910713393">"終端機執行中"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"按一下即可開啟終端機"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"按一下以開啟終端機"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"關閉"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"已啟用 <xliff:g id="ID_1">VirGL</xliff:g>"</string>
</resources>
diff --git a/android/TerminalApp/res/values-zh-rTW/strings.xml b/android/TerminalApp/res/values-zh-rTW/strings.xml
index 83a667b..67cbe79 100644
--- a/android/TerminalApp/res/values-zh-rTW/strings.xml
+++ b/android/TerminalApp/res/values-zh-rTW/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"終端機"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"終端機顯示畫面"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"游標"</string>
+ <string name="empty_line" msgid="5012067143408427178">"空白行"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"安裝 Linux 終端機"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"如要啟動 Linux 終端機,必須透過網路下載大約 <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> 的資料。\n要繼續嗎?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"連上 Wi-Fi 網路時下載"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"如要啟動 Linux 終端機,必須透過網路下載大約 <xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> 的資料。\n要繼續嗎?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"僅透過 Wi-Fi 下載"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"安裝"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"安裝中"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"網路發生錯誤。請檢查連線狀況,然後再試一次。"</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"網路發生錯誤,因此無法安裝。請檢查連線狀態,然後再試一次。"</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"正在安裝 Linux 終端機"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"完成後將啟動 Linux 終端機"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"網路發生問題,因此無法安裝"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"無法安裝,請再試一次。"</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"安裝完成後將啟動 Linux 終端機"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"網路發生問題,因此無法安裝"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"無法連上 Wi-Fi,因此無法安裝"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"無法安裝,請再試一次"</string>
<string name="action_settings" msgid="5729342767795123227">"設定"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"正在準備終端機"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"正在停止終端機"</string>
<string name="vm_error_message" msgid="5231867246177661525">"終端機當機"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"調整磁碟大小"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"調整 Rootfs 大小"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"調整磁碟大小"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"調整根分區大小"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"已設定磁碟大小"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"已指派 <xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"最多 <xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"取消"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"重新啟動即可套用"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"通訊埠轉送"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"設定通訊埠轉送"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"終端機正在嘗試開啟新的通訊埠"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"要求開啟的通訊埠:<xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"套用"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"終端機將重新啟動,以調整磁碟大小"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"確認"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"終端機正在要求開啟新的通訊埠"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"要求的通訊埠:<xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"接受"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"拒絕"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"復原"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"分區復原選項"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"變更為初始版本"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"全部移除"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"分區復原選項"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"重設為初始版本"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"移除所有資料"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"重設終端機"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"資料將刪除"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"確認"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"資料將移除"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"重設"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"取消"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"將資料備份至 <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"備份失敗,因此無法復原"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"備份發生錯誤,因此無法復原"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"無法復原"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"無法移除備份檔案"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"無法移除備份資料"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"移除備份資料"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"清除 <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"無法復原的錯誤"</string>
- <string name="error_desc" msgid="1939028888570920661">"無法從錯誤中復原。\n你可以嘗試重新啟動應用程式,或使用其中一個復原選項。"</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"移除 <xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"無法復原的錯誤"</string>
+ <string name="error_desc" msgid="1984714179775053347">"無法從錯誤中復原。\n你可以試著重新啟動終端機,也可以使用其中一個復原選項。"</string>
<string name="error_code" msgid="3585291676855383649">"錯誤代碼:<xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"設定"</string>
<string name="service_notification_title" msgid="2918088850910713393">"終端機運作中"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"點選即可開啟終端機"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"點選即可開啟終端機"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"關閉"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"<xliff:g id="ID_1">VirGL</xliff:g> 已啟用"</string>
</resources>
diff --git a/android/TerminalApp/res/values-zu/strings.xml b/android/TerminalApp/res/values-zu/strings.xml
index a15dcda..327833c 100644
--- a/android/TerminalApp/res/values-zu/strings.xml
+++ b/android/TerminalApp/res/values-zu/strings.xml
@@ -17,62 +17,75 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="5597111707986572208">"Itheminali"</string>
- <!-- no translation found for terminal_display (4810127497644015237) -->
- <skip />
- <!-- no translation found for terminal_input (4602512831433433551) -->
- <skip />
- <!-- no translation found for empty_line (5012067143408427178) -->
+ <string name="terminal_display" msgid="4810127497644015237">"Isibonisi setheminali"</string>
+ <string name="terminal_input" msgid="4602512831433433551">"Icursor"</string>
+ <string name="empty_line" msgid="5012067143408427178">"Umugqa ongenalutho"</string>
+ <!-- no translation found for double_tap_to_edit_text (2344363097580051316) -->
<skip />
<string name="installer_title_text" msgid="500663060973466805">"Faka itheminali yeLinux"</string>
- <string name="installer_desc_text_format" msgid="2734224805682171826">"Ukuze uqalise itheminali yeLinux, udinga ukudawuniloda cishe idatha u-<xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> kunethiwekhi.\nUngathanda ukuqhubeka?"</string>
- <string name="installer_wait_for_wifi_checkbox_text" msgid="487720664098014506">"Dawuniloda lapho i-Wi-Fi itholakala"</string>
+ <string name="installer_desc_text_format" msgid="5935117404303982823">"Ukuze uqalise itheminali yeLinux, udinga ukudawuniloda cishe idatha engaba ngu-<xliff:g id="EXPECTED_SIZE">%1$s</xliff:g> kunethiwekhi.\nUngathanda yini ukuqhubeka?"</string>
+ <string name="installer_wait_for_wifi_checkbox_text" msgid="5812378362605046639">"Dawuniloda usebenzisa i-Wi-Fi kuphela"</string>
<string name="installer_install_button_enabled_text" msgid="6142090640081511103">"Faka"</string>
<string name="installer_install_button_disabled_text" msgid="8651445004125422467">"Iyafaka"</string>
- <string name="installer_install_network_error_message" msgid="2450409107529774410">"Iphutha lenethiwekhi. Hlola uxhumo bese uyazama futhi."</string>
+ <string name="installer_install_network_error_message" msgid="6483202005746623398">"Yehlulekile ukufaka ngenxa yephutha lenethiwekhi. Hlola uxhumo lwakho uphinde uzame futhi."</string>
<string name="installer_notif_title_text" msgid="471160690081159042">"Ifaka itheminali yeLinux"</string>
- <string name="installer_notif_desc_text" msgid="6746098106305899060">"Itheminali yeLinux izoqalwa ngemva kokuqeda"</string>
- <string name="installer_error_network" msgid="3265100678310833813">"Yehlulekile ukufaka ngenxa yenkinga yenethiwekhi"</string>
- <!-- no translation found for installer_error_no_wifi (8631584648989718121) -->
- <skip />
- <string name="installer_error_unknown" msgid="1991780204241177455">"Yehlulekile ukufaka. Zama futhi."</string>
+ <string name="installer_notif_desc_text" msgid="2353770076549425837">"Itheminali yeLinux izoqala ngemva kokuqedwa kokufakwa"</string>
+ <string name="installer_error_network" msgid="5627330072955876676">"Yehlulekile ukufaka ngenxa yenkinga yenethiwekhi"</string>
+ <string name="installer_error_no_wifi" msgid="1180164894845030969">"Yehlulekile ukufaka ngoba i-Wi-Fi ayitholakali"</string>
+ <string name="installer_error_unknown" msgid="5657920711470180224">"Yehlulekile ukufaka. Sicela uzame futhi"</string>
<string name="action_settings" msgid="5729342767795123227">"Amasethingi"</string>
<string name="vm_creation_message" msgid="6594953532721367502">"Ilungiselela itheminali"</string>
<string name="vm_stop_message" msgid="3978349856095529255">"Itheminali yokumisa"</string>
<string name="vm_error_message" msgid="5231867246177661525">"Itheminali iphahlazekile"</string>
- <string name="settings_disk_resize_title" msgid="1545791169419914600">"Shintsha Usayizi Wediski"</string>
- <string name="settings_disk_resize_sub_title" msgid="149418971610906138">"Shintsha usayizi / IRootfs"</string>
+ <string name="settings_disk_resize_title" msgid="8648082439414122069">"Shintsha usayizi wediski"</string>
+ <string name="settings_disk_resize_sub_title" msgid="568100064927028058">"Shintsha usayizi kasayizi wokuhlukanisa umsuka"</string>
<string name="settings_disk_resize_resize_message" msgid="5990475712303845087">"Usayizi wediski usethiwe"</string>
<string name="settings_disk_resize_resize_gb_assigned_format" msgid="109301857555401579">"U-<xliff:g id="ASSIGNED_SIZE">%1$s</xliff:g> wabiwe"</string>
<string name="settings_disk_resize_resize_gb_max_format" msgid="6221210151688630371">"Umkhawulo ka-<xliff:g id="MAX_SIZE">%1$s</xliff:g>"</string>
<string name="settings_disk_resize_resize_cancel" msgid="2182388126941686562">"Khansela"</string>
- <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="83303619015991908">"Qala kabusha ukusebenzisa"</string>
- <string name="settings_port_forwarding_title" msgid="4867439149919324784">"Ukudlulisela Ngembobo"</string>
- <string name="settings_port_forwarding_sub_title" msgid="6848040752531535488">"Lungiselela ukudlulisela ngembobo"</string>
- <string name="settings_port_forwarding_notification_title" msgid="2822798067500254704">"Itheminali izama ukuvula imbobo entsha"</string>
- <string name="settings_port_forwarding_notification_content" msgid="2167103177775323330">"Imbobo icelwe ukuba ivulwe: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
+ <string name="settings_disk_resize_resize_restart_vm_to_apply" msgid="6651018335906339973">"Faka"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_message" msgid="6906352501525496328">"Itheminali izoqalwa kabusha ukuze ishintshe usayizi wediski"</string>
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm" msgid="7347432999245803583">"Qinisekisa"</string>
+ <!-- no translation found for settings_port_forwarding_title (4971368519093858377) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_sub_title (6547942778715654953) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_active_ports_title (1841436780635889858) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_other_enabled_ports_title (2644381842623436676) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_title (2734992099990516463) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_textview_hint (3514035855169269600) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_save (1097831033824718393) -->
+ <skip />
+ <!-- no translation found for settings_port_forwarding_dialog_cancel (1972597831318470889) -->
+ <skip />
+ <string name="settings_port_forwarding_notification_title" msgid="6950621555592547524">"Itheminali icela ukuvula imbobo entsha"</string>
+ <string name="settings_port_forwarding_notification_content" msgid="5072621159244211971">"Imbobo iceliwe: <xliff:g id="PORT_NUMBER">%d</xliff:g>"</string>
<string name="settings_port_forwarding_notification_accept" msgid="3571520986524038185">"Yamukela"</string>
<string name="settings_port_forwarding_notification_deny" msgid="636848749634710403">"Yenqaba"</string>
<string name="settings_recovery_title" msgid="6586840079226383285">"Ukuthola"</string>
- <string name="settings_recovery_sub_title" msgid="1067782421529340576">"Okukhethwa kukho kokubuyisela ukwahlukanisa"</string>
- <string name="settings_recovery_reset_title" msgid="8785305518694186025">"Shintshela Ohlotsheni lokuqala"</string>
- <string name="settings_recovery_reset_sub_title" msgid="5656572074090728544">"Susa konke"</string>
+ <string name="settings_recovery_sub_title" msgid="3906996270508262595">"Okungakhethwa kukho kokutakula ukwahlukanisa"</string>
+ <string name="settings_recovery_reset_title" msgid="5388842560910568731">"Setha kabusha ohlotsheni lokuqala"</string>
+ <string name="settings_recovery_reset_sub_title" msgid="1079896907344675995">"Susa yonke idatha"</string>
<string name="settings_recovery_reset_dialog_title" msgid="874946981716251094">"Setha kabusha itheminali"</string>
- <string name="settings_recovery_reset_dialog_message" msgid="6392681199895696206">"Idatha izosulwa"</string>
- <string name="settings_recovery_reset_dialog_confirm" msgid="431718610013947861">"Qinisekisa"</string>
+ <string name="settings_recovery_reset_dialog_message" msgid="851530339815113000">"Idatha izosuswa"</string>
+ <string name="settings_recovery_reset_dialog_confirm" msgid="6916237820754131902">"Setha kabusha"</string>
<string name="settings_recovery_reset_dialog_cancel" msgid="1666264288208459725">"Khansela"</string>
<string name="settings_recovery_reset_dialog_backup_option" msgid="2079431035205584614">"Yenza ikhophi yedatha ku-<xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="settings_recovery_error_due_to_backup" msgid="2129959464075410607">"Ukuthola kuhlulekile ngoba ukwenza isipele kuhlulekile"</string>
+ <string name="settings_recovery_error_due_to_backup" msgid="9034741074141274096">"Yehlulekile ukuphinda ithole ngenxa yephutha lesipele"</string>
<string name="settings_recovery_error" msgid="2451912941535666379">"Ukuthola kwehlulekile"</string>
- <string name="settings_recovery_error_during_removing_backup" msgid="6515615177661212463">"Ayikwazi ukususa ifayela eliyisipele"</string>
+ <string name="settings_recovery_error_during_removing_backup" msgid="2447990797766248691">"Yehlulekile ukususa isipele"</string>
<string name="settings_recovery_remove_backup_title" msgid="1540850288876158899">"Susa idatha eyisipele"</string>
- <string name="settings_recovery_remove_backup_sub_title" msgid="212161719832573475">"Hlanza i-<xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
- <string name="error_title" msgid="7196464038692913778">"Iphutha Elingabuyiseki"</string>
- <string name="error_desc" msgid="1939028888570920661">"Yehlulekile ukutakula ephutheni.\nUngazama ukuqala kabusha i-app, noma uzame okungakhethwa kukho kokukodwa kokutakula."</string>
+ <string name="settings_recovery_remove_backup_sub_title" msgid="7791375988320242059">"Susa i-<xliff:g id="PATH">/mnt/backup</xliff:g>"</string>
+ <string name="error_title" msgid="405150657301906598">"Iphutha elingabuyiseki"</string>
+ <string name="error_desc" msgid="1984714179775053347">"Yehlulekile ukululama ephutheni.\nUngazama ukuqala kabusha itheminali noma uzame okunye kokungakhethwa kukho okuthola kabusha."</string>
<string name="error_code" msgid="3585291676855383649">"Ikhodi yephutha: <xliff:g id="ERROR_CODE">%s</xliff:g>"</string>
<string name="service_notification_settings" msgid="1437365721184401135">"Amasethingi"</string>
<string name="service_notification_title" msgid="2918088850910713393">"Itheminali iyasebenza"</string>
- <string name="service_notification_content" msgid="3579923802797824545">"Chofoza ukuze uvule itheminali"</string>
+ <string name="service_notification_content" msgid="5772901142342308273">"Chofoza ukuze uvule itheminali"</string>
<string name="service_notification_quit_action" msgid="4888327875869277455">"Vala"</string>
- <!-- no translation found for virgl_enabled (5466273280705345122) -->
- <skip />
+ <string name="virgl_enabled" msgid="5242525588039698086">"I-<xliff:g id="ID_1">VirGL</xliff:g> inikwe amandla."</string>
</resources>
diff --git a/android/TerminalApp/res/values/config.xml b/android/TerminalApp/res/values/config.xml
index ea762fc..7f0b5e6 100644
--- a/android/TerminalApp/res/values/config.xml
+++ b/android/TerminalApp/res/values/config.xml
@@ -15,8 +15,5 @@
-->
<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_forwarding_ports" translatable="false">PREFERENCE_FORWARDING_PORTS</string>
- <string name="preference_forwarding_port_is_enabled" translatable="false">PREFERENCE_FORWARDING_PORT_IS_ENABLED_</string>
+ <bool name="terminal_portrait_only">true</bool>
</resources>
diff --git a/android/TerminalApp/res/values/strings.xml b/android/TerminalApp/res/values/strings.xml
index da8ca84..20fd95d 100644
--- a/android/TerminalApp/res/values/strings.xml
+++ b/android/TerminalApp/res/values/strings.xml
@@ -26,29 +26,31 @@
<string name="terminal_input">Cursor</string>
<!-- Description of an empty line in the terminal. This is read by talkback. [CHAR LIMIT=none] -->
<string name="empty_line">Empty line</string>
+ <!-- Description of the hint supported by the terminal UI elements. This is read by talkback. [CHAR LIMIT=none] -->
+ <string name="double_tap_to_edit_text">Double-tap to type input</string>
<!-- Installer activity title [CHAR LIMIT=none] -->
<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>
+ <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 the network.\nWould you like to proceed?</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>
+ <string name="installer_wait_for_wifi_checkbox_text">Download using Wi-Fi only</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] -->
<string name="installer_install_button_disabled_text">Installing</string>
<!-- Toast message at installer activity when network doesn't meet[CHAR LIMIT=none] -->
- <string name="installer_install_network_error_message">Network error. Check connection and retry.</string>
+ <string name="installer_install_network_error_message">Failed to install due to a network error. Check your connection and try again.</string>
<!-- Notification title for installer [CHAR LIMIT=64] -->
<string name="installer_notif_title_text">Installing Linux terminal</string>
<!-- Notification description for installer [CHAR LIMIT=none] -->
- <string name="installer_notif_desc_text">Linux terminal will be started after finish</string>
+ <string name="installer_notif_desc_text">Linux terminal will start after the installation is finished</string>
<!-- Toast error message for install failure due to the network issue [CHAR LIMIT=none] -->
- <string name="installer_error_network">Failed to install due to the network issue</string>
+ <string name="installer_error_network">Failed to install due to a network issue</string>
<!-- Toast error message for install failure because Wi-Fi isn't available although required [CHAR LIMIT=none] -->
- <string name="installer_error_no_wifi">Failed to install because Wi-Fi isn\'t available</string>
+ <string name="installer_error_no_wifi">Failed to install because Wi-Fi is not available</string>
<!-- Toast error message for install failure due to the unidentified issue [CHAR LIMIT=none] -->
- <string name="installer_error_unknown">Failed to install. Try again.</string>
+ <string name="installer_error_unknown">Failed to install. Please try again</string>
<!-- Action bar icon name for the settings view CHAR LIMIT=none] -->
<string name="action_settings">Settings</string>
@@ -61,9 +63,9 @@
<string name="vm_error_message">Terminal crashed</string>
<!-- Settings memu title for resizing disk of the virtual machine. [CHAR LIMIT=none] -->
- <string name="settings_disk_resize_title">Disk Resize</string>
+ <string name="settings_disk_resize_title">Disk resize</string>
<!-- Settings memu subtitle for resizing disk of the virtual machine. [CHAR LIMIT=none] -->
- <string name="settings_disk_resize_sub_title">Resize / Rootfs</string>
+ <string name="settings_disk_resize_sub_title">Resize the root partition size</string>
<!-- Toast message after new disk size is set. [CHAR LIMIT=none] -->
<string name="settings_disk_resize_resize_message">Disk size set</string>
<!-- Settings menu option description format of the current disk size. [CHAR LIMIT=none] -->
@@ -72,55 +74,73 @@
<string name="settings_disk_resize_resize_gb_max_format"><xliff:g id="max_size" example="256GB">%1$s</xliff:g> max</string>
<!-- Settings menu button to cancel disk resize. [CHAR LIMIT=16] -->
<string name="settings_disk_resize_resize_cancel">Cancel</string>
- <!-- Settings menu button to apply change that requires to restart Terminal app. [CHAR LIMIT=20] -->
- <string name="settings_disk_resize_resize_restart_vm_to_apply">Restart to apply</string>
+ <!-- Settings menu button to apply change Terminal app. This will launch a confirmation dialog [CHAR LIMIT=16] -->
+ <string name="settings_disk_resize_resize_restart_vm_to_apply">Apply</string>
+ <!-- Dialog description for applying disk resize Terminal app, which requires to restart the terminal [CHAR LIMIT=none] -->
+ <string name="settings_disk_resize_resize_confirm_dialog_message">Terminal will be restarted to resize disk</string>
+ <!-- Dialog confirmation button for restarting the terminal [CHAR LIMIT=16] -->
+ <string name="settings_disk_resize_resize_confirm_dialog_confirm">Confirm</string>
- <!-- Settings menu title for 'port forwarding' [CHAR LIMIT=none] -->
- <string name="settings_port_forwarding_title">Port Forwarding</string>
- <!-- Settings menu subtitle for 'port forwarding' [CHAR LIMIT=none] -->
- <string name="settings_port_forwarding_sub_title">Configure port forwarding</string>
- <!-- Notification title for new port forwarding [CHAR LIMIT=none] -->
- <string name="settings_port_forwarding_notification_title">Terminal is trying to open a new port</string>
- <!-- Notification content for new port forwarding [CHAR LIMIT=none] -->
- <string name="settings_port_forwarding_notification_content">Port requested to be open: <xliff:g id="port_number" example="8080">%d</xliff:g></string>
- <!-- Notification action accept [CHAR LIMIT=none] -->
+ <!-- Settings menu title for port forwarding [CHAR LIMIT=none] -->
+ <string name="settings_port_forwarding_title">Port control</string>
+ <!-- Settings menu subtitle for port forwarding [CHAR LIMIT=none] -->
+ <string name="settings_port_forwarding_sub_title">Allow/deny listening ports</string>
+ <!-- Title for active ports setting in port forwarding [CHAR LIMIT=none] -->
+ <string name="settings_port_forwarding_active_ports_title">Listening ports</string>
+ <!-- Title for other enabled ports setting in port forwarding [CHAR LIMIT=none] -->
+ <string name="settings_port_forwarding_other_enabled_ports_title">Saved allowed ports</string>
+
+ <!-- Dialog title for enabling a new port [CHAR LIMIT=none] -->
+ <string name="settings_port_forwarding_dialog_title">Allow a new port</string>
+ <!-- Dialog hint for enabling a new port [CHAR LIMIT=none] -->
+ <string name="settings_port_forwarding_dialog_textview_hint">Enter a new port number</string>
+ <!-- Dialog save action for enabling a new port [CHAR LIMIT=16] -->
+ <string name="settings_port_forwarding_dialog_save">Save</string>
+ <!-- Dialog cancel action for enabling a new port [CHAR LIMIT=16] -->
+ <string name="settings_port_forwarding_dialog_cancel">Cancel</string>
+
+ <!-- Notification title for a new active port [CHAR LIMIT=none] -->
+ <string name="settings_port_forwarding_notification_title">Terminal is requesting to open a new port</string>
+ <!-- Notification content for a new active port [CHAR LIMIT=none] -->
+ <string name="settings_port_forwarding_notification_content">Port requested: <xliff:g id="port_number" example="8080">%d</xliff:g></string>
+ <!-- Notification action accept [CHAR LIMIT=16] -->
<string name="settings_port_forwarding_notification_accept">Accept</string>
- <!-- Notification action deny [CHAR LIMIT=none] -->
+ <!-- Notification action deny [CHAR LIMIT=16] -->
<string name="settings_port_forwarding_notification_deny">Deny</string>
<!-- Settings menu title for recoverying image [CHAR LIMIT=none] -->
<string name="settings_recovery_title">Recovery</string>
<!-- Settings menu subtitle for recoverying image [CHAR LIMIT=none] -->
- <string name="settings_recovery_sub_title">Partition Recovery options</string>
+ <string name="settings_recovery_sub_title">Partition recovery options</string>
<!-- Settings menu title for resetting the terminal [CHAR LIMIT=none] -->
- <string name="settings_recovery_reset_title">Change to Initial version</string>
+ <string name="settings_recovery_reset_title">Reset to initial version</string>
<!-- Settings menu subtitle for resetting the terminal [CHAR LIMIT=none] -->
- <string name="settings_recovery_reset_sub_title">Remove all</string>
+ <string name="settings_recovery_reset_sub_title">Remove all data</string>
<!-- Dialog title for resetting the terminal [CHAR LIMIT=none] -->
<string name="settings_recovery_reset_dialog_title">Reset terminal</string>
<!-- Dialog message for resetting the terminal [CHAR LIMIT=none] -->
- <string name="settings_recovery_reset_dialog_message">Data will be deleted</string>
+ <string name="settings_recovery_reset_dialog_message">Data will be removed</string>
<!-- Dialog button confirm for resetting the terminal [CHAR LIMIT=16] -->
- <string name="settings_recovery_reset_dialog_confirm">Confirm</string>
+ <string name="settings_recovery_reset_dialog_confirm">Reset</string>
<!-- Dialog button cancel for resetting the terminal [CHAR LIMIT=16] -->
<string name="settings_recovery_reset_dialog_cancel">Cancel</string>
<!-- Dialog option to back up previous image(/mnt/backup is the path which is supposed not to be translated) [CHAR LIMIT=none] -->
<string name="settings_recovery_reset_dialog_backup_option">Back up data to <xliff:g id="path" example="/mnt/backup">/mnt/backup</xliff:g></string>
<!-- Snankbar to indicate recovery error due to backup [CHAR LIMIT=none] -->
- <string name="settings_recovery_error_due_to_backup">Recovery failed because backup failed</string>
+ <string name="settings_recovery_error_due_to_backup">Failed to recover due to a backup error</string>
<!-- Snankbar to indicate recovery error [CHAR LIMIT=none] -->
<string name="settings_recovery_error">Recovery failed</string>
<!-- Snankbar to indicate recovery error during removing backup [CHAR LIMIT=none] -->
- <string name="settings_recovery_error_during_removing_backup">Cannot remove backup file</string>
+ <string name="settings_recovery_error_during_removing_backup">Failed to remove backup data</string>
<!-- Settings menu title for removing backup data [CHAR LIMIT=none] -->
<string name="settings_recovery_remove_backup_title">Remove backup data</string>
<!-- Settings menu sub title for removing backup data(/mnt/backup is the path which is supposed not to be translated) [CHAR LIMIT=none] -->
- <string name="settings_recovery_remove_backup_sub_title">Clean up <xliff:g id="path" example="/mnt/backup">/mnt/backup</xliff:g></string>
+ <string name="settings_recovery_remove_backup_sub_title">Remove <xliff:g id="path" example="/mnt/backup">/mnt/backup</xliff:g></string>
<!-- Error page that shows error page [CHAR LIMIT=none] -->
- <string name="error_title">Unrecoverable Error</string>
+ <string name="error_title">Unrecoverable error</string>
<!-- Error page that shows error page [CHAR LIMIT=none] -->
- <string name="error_desc">Failed to recover from an error.\nYou can try restart the app, or try one of recovery option.</string>
+ <string name="error_desc">Failed to recover from an error.\nYou can try restarting terminal or try one of the recovery options.</string>
<!-- Error page that shows detailed error code (error reason) for bugreport. [CHAR LIMIT=none] -->
<string name="error_code">Error code: <xliff:g id="error_code" example="ACCESS_DENIED">%s</xliff:g></string>
@@ -129,10 +149,10 @@
<!-- Notification title for foreground service notification [CHAR LIMIT=none] -->
<string name="service_notification_title">Terminal is running</string>
<!-- Notification content for foreground service notification [CHAR LIMIT=none] -->
- <string name="service_notification_content">Click to open the terminal</string>
+ <string name="service_notification_content">Click to open terminal</string>
<!-- Notification action button for closing the virtual machine [CHAR LIMIT=20] -->
<string name="service_notification_quit_action">Close</string>
- <!-- VirGL is the name of hardware acceleration for VM, the name is supposed not to be translated. [CHAR LIMIT=20] -->
- <string name="virgl_enabled">VirGL is enabled</string>
+ <!-- This string is for toast message to notify that VirGL is enabled. [CHAR LIMIT=40] -->
+ <string name="virgl_enabled"><xliff:g>VirGL</xliff:g> is enabled</string>
</resources>
diff --git a/android/TerminalApp/res/values/styles.xml b/android/TerminalApp/res/values/styles.xml
index ee80862..3fb8e7d 100644
--- a/android/TerminalApp/res/values/styles.xml
+++ b/android/TerminalApp/res/values/styles.xml
@@ -14,7 +14,7 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<resources>
+<resources xmlns:tools="http://schemas.android.com/tools">
<style name="ModifierKeyStyle" parent="@style/Widget.Material3.Button.TextButton">
<item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
<item name="android:textColor">?android:attr/textColorPrimary</item>
@@ -24,4 +24,7 @@
<item name="android:paddingHorizontal">0dp</item>
<item name="android:hapticFeedbackEnabled">true</item>
</style>
-</resources>
\ No newline at end of file
+ <style name="VmTerminalAppTheme" parent="@style/Theme.Material3.DayNight.NoActionBar">
+ <item name="android:windowLightStatusBar" tools:targetApi="m">?android:attr/isLightTheme</item>
+ </style>
+</resources>
diff --git a/android/TerminalApp/res/xml/main_split_config.xml b/android/TerminalApp/res/xml/main_split_config.xml
index c2da907..437e75a 100644
--- a/android/TerminalApp/res/xml/main_split_config.xml
+++ b/android/TerminalApp/res/xml/main_split_config.xml
@@ -45,7 +45,7 @@
window:splitLayoutDirection="locale"
window:splitMaxAspectRatioInPortrait="alwaysAllow"
window:splitMinWidthDp="@integer/split_min_width"
- window:splitRatio="@dimen/activity_split_ratio">
+ window:splitRatio="@dimen/activity_split_ratio"
window:stickyPlaceholder="false">
<ActivityFilter
window:activityName="com.android.virtualization.terminal.SettingsActivity"/>
diff --git a/android/composd/src/instance_manager.rs b/android/composd/src/instance_manager.rs
index cb1f7e4..d1b0b99 100644
--- a/android/composd/src/instance_manager.rs
+++ b/android/composd/src/instance_manager.rs
@@ -84,7 +84,8 @@
// number of dex2oat threads.
let cpu_topology = VmCpuTopology::MatchHost;
let memory_mib = Some(compos_memory_mib()?);
- Ok(VmParameters { cpu_topology, memory_mib, ..Default::default() })
+ let os = "microdroid".to_owned();
+ Ok(VmParameters { cpu_topology, memory_mib, os, ..Default::default() })
}
fn compos_memory_mib() -> Result<i32> {
diff --git a/android/virtmgr/src/aidl.rs b/android/virtmgr/src/aidl.rs
index 9a733b6..e9074c6 100644
--- a/android/virtmgr/src/aidl.rs
+++ b/android/virtmgr/src/aidl.rs
@@ -53,6 +53,7 @@
};
use android_hardware_security_secretkeeper::aidl::android::hardware::security::secretkeeper::ISecretkeeper::{BnSecretkeeper, ISecretkeeper};
use android_hardware_security_secretkeeper::aidl::android::hardware::security::secretkeeper::SecretId::SecretId;
+use android_hardware_security_secretkeeper::aidl::android::hardware::security::secretkeeper::PublicKey::PublicKey;
use android_hardware_security_authgraph::aidl::android::hardware::security::authgraph::{
Arc::Arc as AuthgraphArc, IAuthGraphKeyExchange::IAuthGraphKeyExchange,
IAuthGraphKeyExchange::BnAuthGraphKeyExchange, Identity::Identity, KeInitResult::KeInitResult,
@@ -445,20 +446,25 @@
let context = EarlyVmContext::new(cid, temp_dir.clone())
.context(format!("Can't create early vm contexts for {cid}"))
.or_service_specific_exception(-1)?;
- let service = VirtualMachineService::new_binder(self.state.clone(), cid).as_binder();
- // Start VM service listening for connections from the new CID on port=CID.
- let port = cid;
- let (vm_server, _) = RpcServer::new_vsock(service, cid, port)
- .context(format!("Could not start RpcServer on port {port}"))
- .or_service_specific_exception(-1)?;
- vm_server.start();
- Ok((VmContext::new(Strong::new(Box::new(context)), vm_server), cid, temp_dir))
+ if requires_vm_service(config) {
+ // Start VM service listening for connections from the new CID on port=CID.
+ let service = VirtualMachineService::new_binder(self.state.clone(), cid).as_binder();
+ let port = cid;
+ let (vm_server, _) = RpcServer::new_vsock(service, cid, port)
+ .context(format!("Could not start RpcServer on port {port}"))
+ .or_service_specific_exception(-1)?;
+ vm_server.start();
+ Ok((VmContext::new(Strong::new(Box::new(context)), Some(vm_server)), cid, temp_dir))
+ } else {
+ Ok((VmContext::new(Strong::new(Box::new(context)), None), cid, temp_dir))
+ }
}
fn create_vm_context(
&self,
requester_debug_pid: pid_t,
+ config: &VirtualMachineConfig,
) -> binder::Result<(VmContext, Cid, PathBuf)> {
const NUM_ATTEMPTS: usize = 5;
@@ -466,6 +472,12 @@
let vm_context = GLOBAL_SERVICE.allocateGlobalVmContext(requester_debug_pid)?;
let cid = vm_context.getCid()? as Cid;
let temp_dir: PathBuf = vm_context.getTemporaryDirectory()?.into();
+
+ // We don't need to start the VM service for custom VMs.
+ if !requires_vm_service(config) {
+ return Ok((VmContext::new(vm_context, None), cid, temp_dir));
+ }
+
let service = VirtualMachineService::new_binder(self.state.clone(), cid).as_binder();
// Start VM service listening for connections from the new CID on port=CID.
@@ -473,7 +485,7 @@
match RpcServer::new_vsock(service, cid, port) {
Ok((vm_server, _)) => {
vm_server.start();
- return Ok((VmContext::new(vm_context, vm_server), cid, temp_dir));
+ return Ok((VmContext::new(vm_context, Some(vm_server)), cid, temp_dir));
}
Err(err) => {
warn!("Could not start RpcServer on port {}: {}", port, err);
@@ -509,7 +521,7 @@
let (vm_context, cid, temporary_directory) = if cfg!(early) {
self.create_early_vm_context(config)?
} else {
- self.create_vm_context(requester_debug_pid)?
+ self.create_vm_context(requester_debug_pid, config)?
};
if is_custom_config(config) {
@@ -820,6 +832,17 @@
}
}
+/// Returns whether a VM config requires VirtualMachineService running on the host. Only Microdroid
+/// VM (i.e. AppConfig) requires it. However, a few Microdroid tests use RawConfig for Microdroid
+/// VM. To handle the exceptional case, we use name as a second criteria; if the name is
+/// "microdroid" we run VirtualMachineService
+fn requires_vm_service(config: &VirtualMachineConfig) -> bool {
+ match config {
+ VirtualMachineConfig::AppConfig(_) => true,
+ VirtualMachineConfig::RawConfig(config) => config.name == "microdroid",
+ }
+}
+
fn extract_vendor_hashtree_digest(config: &VirtualMachineConfig) -> Result<Option<Vec<u8>>> {
let VirtualMachineConfig::AppConfig(config) = config else {
return Ok(None);
@@ -866,7 +889,7 @@
.context("Failed to extract vendor hashtree digest")
.or_service_specific_exception(-1)?;
- let trusted_props = if let Some(ref vendor_hashtree_digest) = vendor_hashtree_digest {
+ let mut trusted_props = if let Some(ref vendor_hashtree_digest) = vendor_hashtree_digest {
info!(
"Passing vendor hashtree digest to pvmfw. This will be rejected if it doesn't \
match the trusted digest in the pvmfw config, causing the VM to fail to start."
@@ -877,6 +900,7 @@
};
let instance_id;
+ let key_material;
let mut untrusted_props = Vec::with_capacity(2);
if cfg!(llpvm_changes) {
instance_id = extract_instance_id(config);
@@ -885,7 +909,14 @@
if want_updatable && is_secretkeeper_supported() {
// Let guest know that it can defer rollback protection to Secretkeeper by setting
// an empty property in untrusted node in DT. This enables Updatable VMs.
- untrusted_props.push((cstr!("defer-rollback-protection"), &[]))
+ untrusted_props.push((cstr!("defer-rollback-protection"), &[]));
+ let sk: Strong<dyn ISecretkeeper> =
+ binder::wait_for_interface(SECRETKEEPER_IDENTIFIER)?;
+ if sk.getInterfaceVersion()? >= 2 {
+ let PublicKey { keyMaterial } = sk.getSecretkeeperIdentity()?;
+ key_material = keyMaterial;
+ trusted_props.push((cstr!("secretkeeper_public_key"), key_material.as_slice()));
+ }
}
}
@@ -996,7 +1027,12 @@
guest_gid: path.guestGid,
mask: path.mask,
tag: path.tag.clone(),
- socket_path: temporary_directory.join(&path.socket).to_string_lossy().to_string(),
+ socket_path: temporary_directory
+ .join(&path.socketPath)
+ .to_string_lossy()
+ .to_string(),
+ socket_fd: maybe_clone_file(&path.socketFd)?,
+ app_domain: path.appDomain,
})
})
.collect()
@@ -2015,6 +2051,14 @@
fn deleteAll(&self) -> binder::Result<()> {
self.0.deleteAll()
}
+
+ fn getSecretkeeperIdentity(&self) -> binder::Result<PublicKey> {
+ // SecretkeeperProxy is really a RPC binder service for PVM (It is called by
+ // MicrodroidManager). PVMs do not & must not (for security reason) rely on
+ // getSecretKeeperIdentity, so we throw an exception if someone attempts to
+ // use this API from the proxy.
+ Err(ExceptionCode::SECURITY.into())
+ }
}
struct AuthGraphKeyExchangeProxy(Strong<dyn IAuthGraphKeyExchange>);
diff --git a/android/virtmgr/src/crosvm.rs b/android/virtmgr/src/crosvm.rs
index 46f4e80..a385b82 100644
--- a/android/virtmgr/src/crosvm.rs
+++ b/android/virtmgr/src/crosvm.rs
@@ -235,6 +235,8 @@
pub mask: i32,
pub tag: String,
pub socket_path: String,
+ pub socket_fd: Option<File>,
+ pub app_domain: bool,
}
/// virtio-input device configuration from `external/crosvm/src/crosvm/config.rs`
@@ -360,12 +362,15 @@
#[allow(dead_code)] // Keeps the global context alive
pub(crate) global_context: Strong<dyn IGlobalVmContext>,
#[allow(dead_code)] // Keeps the server alive
- vm_server: RpcServer,
+ vm_server: Option<RpcServer>,
}
impl VmContext {
/// Construct new VmContext.
- pub fn new(global_context: Strong<dyn IGlobalVmContext>, vm_server: RpcServer) -> VmContext {
+ pub fn new(
+ global_context: Strong<dyn IGlobalVmContext>,
+ vm_server: Option<RpcServer>,
+ ) -> VmContext {
VmContext { global_context, vm_server }
}
}
@@ -655,7 +660,9 @@
// Now that the VM has been killed, shut down the VirtualMachineService
// server to eagerly free up the server threads.
- self.vm_context.vm_server.shutdown()?;
+ if let Some(vm_server) = &self.vm_context.vm_server {
+ vm_server.shutdown()?;
+ }
Ok(())
}
@@ -907,6 +914,9 @@
fn run_virtiofs(config: &CrosvmConfig) -> io::Result<()> {
for shared_path in &config.shared_paths {
+ if shared_path.app_domain {
+ continue;
+ }
let ugid_map_value = format!(
"{} {} {} {} {} /",
shared_path.guest_uid,
@@ -1262,12 +1272,23 @@
}
for shared_path in &config.shared_paths {
- if let Err(e) = wait_for_file(&shared_path.socket_path, 5) {
- bail!("Error waiting for file: {}", e);
+ if shared_path.app_domain {
+ if let Some(socket_fd) = &shared_path.socket_fd {
+ let socket_path =
+ add_preserved_fd(&mut preserved_fds, socket_fd.try_clone().unwrap());
+ let raw_fd: i32 = socket_path.rsplit_once('/').unwrap().1.parse().unwrap();
+ command
+ .arg("--vhost-user-fs")
+ .arg(format!("tag={},socket-fd={}", &shared_path.tag, raw_fd));
+ }
+ } else {
+ if let Err(e) = wait_for_file(&shared_path.socket_path, 5) {
+ bail!("Error waiting for file: {}", e);
+ }
+ command
+ .arg("--vhost-user-fs")
+ .arg(format!("{},tag={}", &shared_path.socket_path, &shared_path.tag));
}
- command
- .arg("--vhost-user-fs")
- .arg(format!("{},tag={}", &shared_path.socket_path, &shared_path.tag));
}
debug!("Preserving FDs {:?}", preserved_fds);
diff --git a/android/virtualizationservice/aidl/Android.bp b/android/virtualizationservice/aidl/Android.bp
index 79a9d40..db7be71 100644
--- a/android/virtualizationservice/aidl/Android.bp
+++ b/android/virtualizationservice/aidl/Android.bp
@@ -111,7 +111,7 @@
name: "android.system.virtualmachineservice",
srcs: ["android/system/virtualmachineservice/**/*.aidl"],
imports: [
- "android.hardware.security.secretkeeper-V1",
+ "android.hardware.security.secretkeeper-V2",
"android.system.virtualizationcommon",
],
unstable: true,
diff --git a/android/virtualizationservice/aidl/android/system/virtualizationservice/SharedPath.aidl b/android/virtualizationservice/aidl/android/system/virtualizationservice/SharedPath.aidl
index 7be7a5f..71ec02c 100644
--- a/android/virtualizationservice/aidl/android/system/virtualizationservice/SharedPath.aidl
+++ b/android/virtualizationservice/aidl/android/system/virtualizationservice/SharedPath.aidl
@@ -39,5 +39,11 @@
String tag;
/** socket name for vhost-user-fs */
- String socket;
+ String socketPath;
+
+ /** socket fd for crosvm to connect */
+ @nullable ParcelFileDescriptor socketFd;
+
+ /** crosvm started from appDomain */
+ boolean appDomain;
}
diff --git a/android/virtualizationservice/src/maintenance.rs b/android/virtualizationservice/src/maintenance.rs
index 8e04075..87ba412 100644
--- a/android/virtualizationservice/src/maintenance.rs
+++ b/android/virtualizationservice/src/maintenance.rs
@@ -297,7 +297,9 @@
mod tests {
use super::*;
use android_hardware_security_authgraph::aidl::android::hardware::security::authgraph;
- use android_hardware_security_secretkeeper::aidl::android::hardware::security::secretkeeper;
+ use android_hardware_security_secretkeeper::aidl::android::hardware::security::secretkeeper::{
+ self, PublicKey::PublicKey,
+ };
use authgraph::IAuthGraphKeyExchange::IAuthGraphKeyExchange;
use secretkeeper::ISecretkeeper::BnSecretkeeper;
use std::sync::{Arc, Mutex};
@@ -335,6 +337,10 @@
self.history.lock().unwrap().push(SkOp::DeleteAll);
Ok(())
}
+
+ fn getSecretkeeperIdentity(&self) -> binder::Result<PublicKey> {
+ unimplemented!()
+ }
}
impl binder::Interface for FakeSk {}
diff --git a/android/vm/vm_shell.sh b/android/vm/vm_shell.sh
index b73a9dc..60d9329 100755
--- a/android/vm/vm_shell.sh
+++ b/android/vm/vm_shell.sh
@@ -30,7 +30,7 @@
echo " /apex/com.android.virt/bin/vm run-microdroid binary."
echo ""
echo " E.g.:"
- echo " vm_shell start-microdroid -- --cpu 5"
+ echo " vm_shell start-microdroid -- --protected --debug full"
echo ""
echo " --auto-connect - automatically connects to the started VMs"
echo ""
diff --git a/android/vm_demo_native/main.cpp b/android/vm_demo_native/main.cpp
index d7ff02e..e1acc05 100644
--- a/android/vm_demo_native/main.cpp
+++ b/android/vm_demo_native/main.cpp
@@ -361,8 +361,10 @@
// This is the main routine that follows the steps in order
Result<void> inner_main() {
- TemporaryDir work_dir;
- std::string work_dir_path(work_dir.path);
+ std::string work_dir_path("/data/local/tmp/vm_demo/");
+ if (mkdir(work_dir_path.c_str(), 0700) == -1 && errno != EEXIST) {
+ return ErrnoError() << "failed to create working directory " << work_dir_path.c_str();
+ }
// Step 1: connect to the virtualizationservice
unique_fd fd = OR_RETURN(get_service_fd());
diff --git a/build/apex/Android.bp b/build/apex/Android.bp
index 6541764..946bc8c 100644
--- a/build/apex/Android.bp
+++ b/build/apex/Android.bp
@@ -108,6 +108,7 @@
"rialto_bin",
"android_bootloader_crosvm_aarch64",
],
+ native_shared_libs: ["libavf"],
},
x86_64: {
binaries: [
@@ -128,6 +129,7 @@
prebuilts: [
"android_bootloader_crosvm_x86_64",
],
+ native_shared_libs: ["libavf"],
},
},
binaries: [
diff --git a/build/debian/build.sh b/build/debian/build.sh
index 1e43b60..19894c2 100755
--- a/build/debian/build.sh
+++ b/build/debian/build.sh
@@ -10,50 +10,67 @@
echo "Builds a debian image and save it to FILE. [sudo is required]"
echo "Options:"
echo "-h Print usage and this help message and exit."
- echo "-a ARCH Architecture of the image [default is aarch64]"
+ echo "-a ARCH Architecture of the image [default is host arch: $(uname -m)]"
echo "-r Release mode build"
+ echo "-w Save temp work directory [for debugging]"
}
check_sudo() {
if [ "$EUID" -ne 0 ]; then
- echo "Please run as root."
- exit
+ echo "Please run as root." ; exit 1
fi
}
parse_options() {
- while getopts "hra:" option; do
+ while getopts "a:hrw" option; do
case ${option} in
h)
- show_help
- exit;;
+ show_help ; exit
+ ;;
a)
- if [[ "$OPTARG" != "aarch64" && "$OPTARG" != "x86_64" ]]; then
- echo "Invalid architecture: $OPTARG"
- exit
- fi
arch="$OPTARG"
- if [[ "$arch" == "x86_64" ]]; then
- debian_arch="amd64"
- fi
;;
r)
mode=release
;;
+ w)
+ save_workdir=1
+ ;;
*)
- echo "Invalid option: $OPTARG"
- exit
+ echo "Invalid option: $OPTARG" ; exit 1
;;
esac
done
+ case "$arch" in
+ aarch64)
+ debian_arch="arm64"
+ ;;
+ x86_64)
+ debian_arch="amd64"
+ ;;
+ *)
+ echo "Invalid architecture: $arch" ; exit 1
+ ;;
+ esac
if [[ "${*:$OPTIND:1}" ]]; then
built_image="${*:$OPTIND:1}"
fi
}
+prepare_build_id() {
+ local filename=build_id
+ if [ -z "${KOKORO_BUILD_NUMBER}" ]; then
+ echo eng-$(hostname)-$(date --utc) > ${filename}
+ else
+ echo ${KOKORO_BUILD_NUMBER} > ${filename}
+ fi
+ echo ${filename}
+}
+
install_prerequisites() {
apt update
packages=(
+ apt-utils
automake
binfmt-support
build-essential
@@ -170,10 +187,12 @@
cp -R "${src}"/* "${dst}"
cp "$(dirname "$0")/image.yaml" "${resources_dir}"
+ cp -R "$(dirname "$0")/localdebs/" "${debian_cloud_image}/"
build_ttyd
build_rust_binary_and_copy forwarder_guest
build_rust_binary_and_copy forwarder_guest_launcher
build_rust_binary_and_copy ip_addr_reporter
+ build_rust_binary_and_copy shutdown_runner
}
run_fai() {
@@ -203,7 +222,7 @@
}
clean_up() {
- rm -rf "${workdir}"
+ [ "$save_workdir" -eq 1 ] || rm -rf "${workdir}"
}
set -e
@@ -211,13 +230,15 @@
built_image=image.raw
workdir=$(mktemp -d)
+build_id=$(prepare_build_id)
debian_cloud_image=${workdir}/debian_cloud_image
debian_version=bookworm
config_space=${debian_cloud_image}/config_space/${debian_version}
resources_dir=${debian_cloud_image}/src/debian_cloud_images/resources
-arch=aarch64
-debian_arch=arm64
+arch="$(uname -m)"
mode=debug
+save_workdir=0
+
parse_options "$@"
check_sudo
install_prerequisites
@@ -238,6 +259,7 @@
)
# TODO(b/365955006): remove these lines when uboot supports x86_64 EFI application
elif [[ "$arch" == "x86_64" ]]; then
+ rm -f vmlinuz initrd.img
virt-get-kernel -a "${built_image}"
mv vmlinuz* vmlinuz
mv initrd.img* initrd.img
@@ -251,4 +273,4 @@
fi
# --sparse option isn't supported in apache-commons-compress
-tar czv -f images.tar.gz "${images[@]}" vm_config.json
+tar czv -f images.tar.gz ${build_id} "${images[@]}" vm_config.json
diff --git a/build/debian/build_in_container.sh b/build/debian/build_in_container.sh
index d5680e0..5028b74 100755
--- a/build/debian/build_in_container.sh
+++ b/build/debian/build_in_container.sh
@@ -1,28 +1,56 @@
#!/bin/bash
-if [ -z "$ANDROID_BUILD_TOP" ]; then echo "forgot to source build/envsetup.sh?" && exit 1; fi
+show_help() {
+ echo "Usage: sudo $0 [OPTION]..."
+ echo "Builds a debian image and save it to image.raw."
+ echo "Options:"
+ echo "-h Print usage and this help message and exit."
+ echo "-a ARCH Architecture of the image [default is host arch: $(uname -m)]"
+ echo "-r Release mode build"
+ echo "-s Leave a shell open [default: only if the build fails]"
+ echo "-w Save temp work directory in the container [for debugging]"
+}
-arch=aarch64
+arch="$(uname -m)"
release_flag=
-while getopts "ra:" option; do
+save_workdir_flag=
+shell_condition="||"
+
+while getopts "a:rsw" option; do
case ${option} in
a)
- if [[ "$OPTARG" != "aarch64" && "$OPTARG" != "x86_64" ]]; then
- echo "Invalid architecture: $OPTARG"
- exit
- fi
arch="$OPTARG"
;;
+ h)
+ show_help ; exit
+ ;;
r)
release_flag="-r"
;;
+ s)
+ shell_condition=";"
+ ;;
+ w)
+ save_workdir_flag="-w"
+ ;;
*)
- echo "Invalid option: $OPTARG"
- exit
+ echo "Invalid option: $OPTARG" ; exit 1
;;
esac
done
-docker run --privileged -it --workdir /root/Virtualization/build/debian -v \
- "$ANDROID_BUILD_TOP/packages/modules/Virtualization:/root/Virtualization" -v \
- /dev:/dev ubuntu:22.04 /root/Virtualization/build/debian/build.sh -a "$arch" $release_flag
+if [[ "$arch" != "aarch64" && "$arch" != "x86_64" ]]; then
+ echo "Invalid architecture: $arch" ; exit 1
+fi
+
+if [ -z "$ANDROID_BUILD_TOP" ] ; then
+ echo '`ANDROID_BUILD_TOP` is undefined.'
+ echo 'Please `lunch` an Android target, or manually set the variable.'
+ exit 1
+fi
+
+docker run --privileged -it -v /dev:/dev \
+ -v "$ANDROID_BUILD_TOP/packages/modules/Virtualization:/root/Virtualization" \
+ --workdir /root/Virtualization/build/debian \
+ ubuntu:22.04 \
+ bash -c "/root/Virtualization/build/debian/build.sh -a $arch $release_flag $save_workdir_flag $shell_condition bash"
diff --git a/build/debian/fai_config/files/etc/systemd/system/shutdown_runner.service/AVF b/build/debian/fai_config/files/etc/systemd/system/shutdown_runner.service/AVF
new file mode 100644
index 0000000..bfb8afb
--- /dev/null
+++ b/build/debian/fai_config/files/etc/systemd/system/shutdown_runner.service/AVF
@@ -0,0 +1,11 @@
+[Unit]
+After=syslog.target
+After=network.target
+After=virtiofs_internal.service
+[Service]
+ExecStart=/usr/bin/bash -c '/usr/local/bin/shutdown_runner --grpc_port $(cat /mnt/internal/debian_service_port)'
+Type=simple
+User=root
+Group=root
+[Install]
+WantedBy=multi-user.target
diff --git a/build/debian/fai_config/scripts/AVF/10-systemd b/build/debian/fai_config/scripts/AVF/10-systemd
index 94838bc..119bec7 100755
--- a/build/debian/fai_config/scripts/AVF/10-systemd
+++ b/build/debian/fai_config/scripts/AVF/10-systemd
@@ -3,6 +3,7 @@
chmod +x $target/usr/local/bin/forwarder_guest
chmod +x $target/usr/local/bin/forwarder_guest_launcher
chmod +x $target/usr/local/bin/ip_addr_reporter
+chmod +x $target/usr/local/bin/shutdown_runner
chmod +x $target/usr/local/bin/ttyd
ln -s /etc/systemd/system/ttyd.service $target/etc/systemd/system/multi-user.target.wants/ttyd.service
ln -s /etc/systemd/system/ip_addr_reporter.service $target/etc/systemd/system/multi-user.target.wants/ip_addr_reporter.service
@@ -10,5 +11,6 @@
ln -s /etc/systemd/system/forwarder_guest_launcher.service $target/etc/systemd/system/multi-user.target.wants/forwarder_guest_launcher.service
ln -s /etc/systemd/system/virtiofs_internal.service $target/etc/systemd/system/multi-user.target.wants/virtiofs_internal.service
ln -s /etc/systemd/system/backup_mount.service $target/etc/systemd/system/multi-user.target.wants/backup_mount.service
+ln -s /etc/systemd/system/shutdown_runner.service $target/etc/systemd/system/multi-user.target.wants/shutdown_runner.service
sed -i 's/#LLMNR=yes/LLMNR=no/' $target/etc/systemd/resolved.conf
diff --git a/build/debian/kokoro/gcp_ubuntu_docker/aarch64/build.sh b/build/debian/kokoro/gcp_ubuntu_docker/aarch64/build.sh
index 130e691..43f0338 100644
--- a/build/debian/kokoro/gcp_ubuntu_docker/aarch64/build.sh
+++ b/build/debian/kokoro/gcp_ubuntu_docker/aarch64/build.sh
@@ -5,7 +5,7 @@
cd "${KOKORO_ARTIFACTS_DIR}/git/avf/build/debian/"
sudo losetup -D
grep vmx /proc/cpuinfo || true
-sudo ./build.sh -r
+sudo ./build.sh -r -a aarch64
sudo mv images.tar.gz ${KOKORO_ARTIFACTS_DIR} || true
mkdir -p ${KOKORO_ARTIFACTS_DIR}/logs
sudo cp -r /var/log/fai/* ${KOKORO_ARTIFACTS_DIR}/logs || true
diff --git a/build/debian/kokoro/gcp_ubuntu_docker/x86_64/build.sh b/build/debian/kokoro/gcp_ubuntu_docker/x86_64/build.sh
index 50ded7b..22ac595 100644
--- a/build/debian/kokoro/gcp_ubuntu_docker/x86_64/build.sh
+++ b/build/debian/kokoro/gcp_ubuntu_docker/x86_64/build.sh
@@ -5,8 +5,7 @@
cd "${KOKORO_ARTIFACTS_DIR}/git/avf/build/debian/"
sudo losetup -D
grep vmx /proc/cpuinfo || true
-sudo ./build.sh -a x86_64 -r
+sudo ./build.sh -r -a x86_64
sudo mv images.tar.gz ${KOKORO_ARTIFACTS_DIR} || true
-
mkdir -p ${KOKORO_ARTIFACTS_DIR}/logs
sudo cp -r /var/log/fai/* ${KOKORO_ARTIFACTS_DIR}/logs || true
diff --git a/build/debian/localdebs/.gitkeep b/build/debian/localdebs/.gitkeep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/build/debian/localdebs/.gitkeep
diff --git a/build/debian/release.sh b/build/debian/release.sh
new file mode 100755
index 0000000..8f89e21
--- /dev/null
+++ b/build/debian/release.sh
@@ -0,0 +1,101 @@
+#!/bin/bash
+
+# This is a script to release the Debian image built by Kokoro to Lorry.
+
+set -e
+
+show_help() {
+ echo "Usage: $0 [OPTION]..."
+ echo "Fetches a debian image from Placer and releases it to /android/ferrochrome/ARCH/TAG"
+ echo "Options:"
+ echo "-h Print usage and this help message and exit."
+ echo "-a ARCH Architecture of the image. Defaults to all supported architectures."
+ echo "-b BUILD_ID Build ID to fetch. If omitted, latest build ID is selected."
+ echo "-t TAG Tag name to attach to the release. Defaults to BUILD_ID."
+}
+
+parse_opt() {
+ while getopts "ha:b:t:" option; do
+ case ${option} in
+ h)
+ show_help
+ exit;;
+ a)
+ if [[ "$OPTARG" != "aarch64" && "$OPTARG" != "x86_64" ]]; then
+ echo "Invalid architecture: $OPTARG"
+ exit
+ fi
+ arch="$OPTARG"
+ ;;
+ b)
+ build_id="$OPTARG"
+ ;;
+ t)
+ tag="$OPTARG"
+ ;;
+ *)
+ echo "Invalid option: $OPTARG"
+ exit
+ ;;
+ esac
+ done
+
+ if [ "${build_id}" != "latest" ]; then
+ echo "Build ID is ambiguous when architecture is not set"
+ exit
+ fi
+}
+
+arch=all
+build_id=latest
+tag=
+placer_url="/placer/test/home/kokoro-dedicated-qa/build_artifacts/qa/android-ferrochrome"
+image_filename="images.tar.gz"
+
+get_build_id() {
+ local arch=$1
+ local build_id=$2
+ if [ "${build_id}" == "latest" ]; then
+ local pattern=${placer_url}/${arch}/continuous
+ build_id=$(basename $(fileutil ls ${pattern} | sort -V | tail -1))
+ fi
+ echo ${build_id}
+}
+
+get_image_path() {
+ local arch=$1
+ local build_id=$2
+ local pattern=${placer_url}/${arch}/continuous/${build_id}/*/${image_filename}
+ image=$(fileutil ls ${pattern} | tail -1)
+ if [ $? -ne 0 ]; then
+ echo "Cannot find image"
+ exit
+ fi
+ echo ${image}
+}
+
+do_release() {
+ local arch=$1
+ local build_id=$2
+
+ build_id=$(get_build_id ${arch} ${build_id})
+ echo "Using build ID ${build_id} for ${arch}"
+ local image=$(get_image_path ${arch} ${build_id})
+
+ local tag=${tag:-${build_id}}
+ local serving_url=/android/ferrochrome/${tag}/${arch}/${image_filename}
+ echo "Releasing ${image} to ${serving_url}"
+
+ local request='payload : { url_path: '"\"${serving_url}\""' source_path : '"\"${image}\""' }'
+ local id=$(stubby call blade:download-lorry-api LorryService.CreatePayloads "${request}" | cut -d\ -f2)
+ echo "Done. Visit https://lorry.corp.google.com/view/${id} to get an approval for the release."
+}
+
+parse_opt "$@"
+
+if [ "${arch}" == "all" ]; then
+ do_release aarch64 ${build_id}
+ do_release x86_64 ${build_id}
+else
+ do_release ${arch} ${build_id}
+fi
diff --git a/build/microdroid/Android.bp b/build/microdroid/Android.bp
index 7f23ae6..68b715d 100644
--- a/build/microdroid/Android.bp
+++ b/build/microdroid/Android.bp
@@ -50,6 +50,7 @@
avb_private_key: ":microdroid_sign_key",
avb_algorithm: "SHA256_RSA4096",
avb_hash_algorithm: "sha256",
+ use_fec: false,
partition_name: "system",
deps: [
"init_second_stage.microdroid",
@@ -245,6 +246,7 @@
avb_private_key: ":microdroid_sign_key",
avb_algorithm: "SHA256_RSA4096",
avb_hash_algorithm: "sha256",
+ use_fec: false,
file_contexts: ":microdroid_vendor_file_contexts.gen",
// For deterministic output, use fake_timestamp, hard-coded uuid
fake_timestamp: "1611569676",
@@ -485,7 +487,7 @@
],
}
-flag_aware_avb_add_hash_footer_defaults {
+avb_add_hash_footer_defaults {
name: "microdroid_kernel_signed_defaults",
src: ":empty_file",
partition_name: "boot",
@@ -500,10 +502,16 @@
enabled: true,
},
},
+}
+
+MICRODROID_GKI_ROLLBACK_INDEX = 1
+
+flag_aware_avb_add_hash_footer_defaults {
+ name: "microdroid_kernel_cap_defaults",
// Below are properties that are conditionally set depending on value of build flags.
soong_config_variables: {
release_avf_enable_llpvm_changes: {
- rollback_index: 1,
+ rollback_index: MICRODROID_GKI_ROLLBACK_INDEX,
props: [
{
name: "com.android.virt.cap",
@@ -514,9 +522,36 @@
},
}
+flag_aware_avb_add_hash_footer_defaults {
+ name: "microdroid_kernel_cap_with_uefi_defaults",
+ // Below are properties that are conditionally set depending on value of build flags.
+ soong_config_variables: {
+ release_avf_enable_llpvm_changes: {
+ rollback_index: MICRODROID_GKI_ROLLBACK_INDEX,
+ props: [
+ {
+ name: "com.android.virt.cap",
+ value: "secretkeeper_protection|supports_uefi_boot",
+ },
+ ],
+ conditions_default: {
+ props: [
+ {
+ name: "com.android.virt.cap",
+ value: "supports_uefi_boot",
+ },
+ ],
+ },
+ },
+ },
+}
+
avb_add_hash_footer {
name: "microdroid_kernel_signed",
- defaults: ["microdroid_kernel_signed_defaults"],
+ defaults: [
+ "microdroid_kernel_signed_defaults",
+ "microdroid_kernel_cap_defaults",
+ ],
filename: "microdroid_kernel",
arch: {
arm64: {
@@ -548,7 +583,10 @@
avb_add_hash_footer {
name: "microdroid_kernel_16k_signed",
- defaults: ["microdroid_kernel_signed_defaults"],
+ defaults: [
+ "microdroid_kernel_signed_defaults",
+ "microdroid_kernel_cap_defaults",
+ ],
filename: "microdroid_kernel_16k",
arch: {
arm64: {
@@ -588,10 +626,9 @@
src: "microdroid_gki-android15-6.6.json",
}
-avb_add_hash_footer {
- name: "microdroid_gki-android15-6.6_kernel_signed",
+avb_add_hash_footer_defaults {
+ name: "microdroid_gki_kernel_signed_defaults",
defaults: ["microdroid_kernel_signed_defaults"],
- filename: "microdroid_gki-android15-6.6_kernel_signed",
arch: {
arm64: {
src: ":microdroid_gki_kernel_prebuilts-android15-6.6-arm64",
@@ -606,6 +643,24 @@
],
}
+avb_add_hash_footer {
+ name: "microdroid_gki-android15-6.6_kernel_signed",
+ defaults: [
+ "microdroid_gki_kernel_signed_defaults",
+ "microdroid_kernel_cap_defaults",
+ ],
+ filename: "microdroid_gki-android15-6.6_kernel_signed",
+}
+
+avb_add_hash_footer {
+ name: "microdroid_gki-android15-6.6_kernel_signed_supports_uefi_boot",
+ defaults: [
+ "microdroid_gki_kernel_signed_defaults",
+ "microdroid_kernel_cap_with_uefi_defaults",
+ ],
+ filename: "microdroid_gki-android15-6.6_kernel_signed_supports_uefi_boot",
+}
+
// HACK: use cc_genrule for arch-specific properties
cc_genrule {
name: "microdroid_gki-android15-6.6_kernel_signed-lz4",
diff --git a/guest/pvmfw/src/entry.rs b/guest/pvmfw/src/entry.rs
index 2463984..e987dfd 100644
--- a/guest/pvmfw/src/entry.rs
+++ b/guest/pvmfw/src/entry.rs
@@ -81,7 +81,9 @@
// - can't access MMIO (except the console, already configured by vmbase)
match main_wrapper(fdt_address as usize, payload_start as usize, payload_size as usize) {
- Ok((entry, bcc)) => jump_to_payload(fdt_address, entry.try_into().unwrap(), bcc),
+ Ok((entry, bcc, keep_uart)) => {
+ jump_to_payload(fdt_address, entry.try_into().unwrap(), bcc, keep_uart)
+ }
Err(e) => {
const REBOOT_REASON_CONSOLE: usize = 1;
console_writeln!(REBOOT_REASON_CONSOLE, "{}", e.as_avf_reboot_string());
@@ -100,7 +102,7 @@
fdt: usize,
payload: usize,
payload_size: usize,
-) -> Result<(usize, Range<usize>), RebootReason> {
+) -> Result<(usize, Range<usize>, bool), RebootReason> {
// Limitations in this function:
// - only access MMIO once (and while) it has been mapped and configured
// - only perform logging once the logger has been initialized
@@ -132,6 +134,8 @@
config_entries.vm_dtbo,
config_entries.vm_ref_dt,
)?;
+ // Keep UART MMIO_GUARD-ed for debuggable payloads, to enable earlycon.
+ let keep_uart = cfg!(debuggable_vms_improvements) && debuggable_payload;
// Writable-dirty regions will be flushed when MemoryTracker is dropped.
config_entries.bcc.zeroize();
@@ -140,24 +144,18 @@
error!("Failed to unshare MMIO ranges: {e}");
RebootReason::InternalError
})?;
- // Call unshare_all_memory here (instead of relying on the dtor) while UART is still mapped.
unshare_all_memory();
- if cfg!(debuggable_vms_improvements) && debuggable_payload {
- // Keep UART MMIO_GUARD-ed for debuggable payloads, to enable earlycon.
- } else {
- unshare_uart().map_err(|e| {
- error!("Failed to unshare the UART: {e}");
- RebootReason::InternalError
- })?;
+ Ok((slices.kernel.as_ptr() as usize, next_bcc, keep_uart))
+}
+
+fn jump_to_payload(fdt_address: u64, payload_start: u64, bcc: Range<usize>, keep_uart: bool) -> ! {
+ if !keep_uart {
+ unshare_uart().unwrap();
}
deactivate_dynamic_page_tables();
- Ok((slices.kernel.as_ptr() as usize, next_bcc))
-}
-
-fn jump_to_payload(fdt_address: u64, payload_start: u64, bcc: Range<usize>) -> ! {
const ASM_STP_ALIGN: usize = size_of::<u64>() * 2;
const SCTLR_EL1_RES1: u64 = (0b11 << 28) | (0b101 << 20) | (0b1 << 11);
// Stage 1 instruction access cacheability is unaffected.
diff --git a/guest/shutdown_runner/.gitignore b/guest/shutdown_runner/.gitignore
new file mode 100644
index 0000000..ea8c4bf
--- /dev/null
+++ b/guest/shutdown_runner/.gitignore
@@ -0,0 +1 @@
+/target
diff --git a/guest/shutdown_runner/Cargo.toml b/guest/shutdown_runner/Cargo.toml
new file mode 100644
index 0000000..b74e7ee
--- /dev/null
+++ b/guest/shutdown_runner/Cargo.toml
@@ -0,0 +1,17 @@
+[package]
+name = "shutdown_runner"
+version = "0.1.0"
+edition = "2021"
+license = "Apache-2.0"
+
+[dependencies]
+anyhow = "1.0.94"
+clap = { version = "4.5.20", features = ["derive"] }
+log = "0.4.22"
+netdev = "0.31.0"
+prost = "0.13.3"
+tokio = { version = "1.40.0", features = ["rt-multi-thread"] }
+tonic = "0.12.3"
+
+[build-dependencies]
+tonic-build = "0.12.3"
diff --git a/guest/shutdown_runner/build.rs b/guest/shutdown_runner/build.rs
new file mode 100644
index 0000000..e3939d4
--- /dev/null
+++ b/guest/shutdown_runner/build.rs
@@ -0,0 +1,7 @@
+fn main() -> Result<(), Box<dyn std::error::Error>> {
+ let proto_file = "../../libs/debian_service/proto/DebianService.proto";
+
+ tonic_build::compile_protos(proto_file).unwrap();
+
+ Ok(())
+}
diff --git a/guest/shutdown_runner/src/main.rs b/guest/shutdown_runner/src/main.rs
new file mode 100644
index 0000000..19e9883
--- /dev/null
+++ b/guest/shutdown_runner/src/main.rs
@@ -0,0 +1,46 @@
+use api::debian_service_client::DebianServiceClient;
+use api::ShutdownQueueOpeningRequest;
+use std::process::Command;
+
+use anyhow::anyhow;
+use clap::Parser;
+use log::debug;
+pub mod api {
+ tonic::include_proto!("com.android.virtualization.terminal.proto");
+}
+
+#[derive(Parser)]
+/// Flags for running command
+pub struct Args {
+ /// grpc port number
+ #[arg(long)]
+ #[arg(alias = "grpc_port")]
+ grpc_port: String,
+}
+
+#[tokio::main]
+async fn main() -> Result<(), Box<dyn std::error::Error>> {
+ let args = Args::parse();
+ let gateway_ip_addr = netdev::get_default_gateway()?.ipv4[0];
+
+ let server_addr = format!("http://{}:{}", gateway_ip_addr.to_string(), args.grpc_port);
+
+ debug!("connect to grpc server {}", server_addr);
+
+ let mut client = DebianServiceClient::connect(server_addr).await.map_err(|e| e.to_string())?;
+
+ let mut res_stream = client
+ .open_shutdown_request_queue(tonic::Request::new(ShutdownQueueOpeningRequest {}))
+ .await?
+ .into_inner();
+
+ while let Some(_response) = res_stream.message().await? {
+ let status = Command::new("poweroff").status().expect("power off");
+ if !status.success() {
+ return Err(anyhow!("Failed to power off: {status}").into());
+ }
+ debug!("poweroff");
+ break;
+ }
+ Ok(())
+}
diff --git a/guest/trusty/security_vm/TEST_MAPPING b/guest/trusty/security_vm/TEST_MAPPING
new file mode 100644
index 0000000..ad7b899
--- /dev/null
+++ b/guest/trusty/security_vm/TEST_MAPPING
@@ -0,0 +1,15 @@
+{
+ "trusty-security_vm-presubmit": [
+ ],
+ "trusty-security_vm-postsubmit": [
+ {
+ "name": "VtsAidlKeyMintTargetTest"
+ },
+ {
+ "name": "VtsAidlSharedSecretTargetTest"
+ },
+ {
+ "name": "VtsHalRemotelyProvisionedComponentTargetTest"
+ }
+ ]
+}
diff --git a/guest/trusty/test_vm/Android.bp b/guest/trusty/test_vm/Android.bp
new file mode 100644
index 0000000..d10bf6e
--- /dev/null
+++ b/guest/trusty/test_vm/Android.bp
@@ -0,0 +1,76 @@
+// 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.
+
+package {
+ default_applicable_licenses: ["Android-Apache-2.0"],
+ default_team: "trendy_team_trusty",
+}
+
+// python -c "import hashlib; print(hashlib.sha256(b'trusty_test_vm_salt').hexdigest())"
+trusty_test_vm_salt = "5ce3eab1a08540e1334c83f54b8608aa6c23feee6939693cac41441449c5a51f"
+
+TRUSTY_TEST_VM_VERSION = 1
+
+avb_add_hash_footer {
+ name: "trusty_test_vm_signed",
+ filename: "trusty_test_vm_signed",
+ partition_name: "boot",
+ private_key: ":trusty_vm_sign_key",
+ salt: trusty_test_vm_salt,
+ rollback_index: TRUSTY_TEST_VM_VERSION,
+ src: ":empty_file",
+ enabled: false,
+ arch: {
+ x86_64: {
+ src: ":trusty-test-lk.elf",
+ enabled: true,
+ },
+ },
+}
+
+prebuilt_etc {
+ name: "trusty_test_vm_config",
+ enabled: false,
+ arch: {
+ x86_64: {
+ src: "vm_config_lk_x86_64.json",
+ enabled: true,
+ },
+ },
+ filename: "trusty-test_vm-config.json",
+}
+
+sh_test {
+ name: "TrustyTestVM_UnitTests",
+ src: "trusty-ut-ctrl.sh",
+ filename_from_src: true,
+ data: [
+ ":trusty_test_vm_signed",
+ ":trusty_test_vm_config",
+ "trusty-vm-launcher.sh",
+ "trusty-wait-ready.sh",
+ ],
+ // TODO(b/378367793) use the AndroidTest.xml generated from the trusty
+ // test-map for test_vm payload
+ test_config_template: "AndroidTest.xml",
+ test_suites: [
+ "general-tests",
+ ],
+ enabled: false,
+ arch: {
+ x86_64: {
+ enabled: true,
+ },
+ },
+}
diff --git a/guest/trusty/test_vm/AndroidTest.xml b/guest/trusty/test_vm/AndroidTest.xml
new file mode 100644
index 0000000..d8710ab
--- /dev/null
+++ b/guest/trusty/test_vm/AndroidTest.xml
@@ -0,0 +1,109 @@
+<?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.
+ -->
+ <configuration description="Runs {MODULE}">
+ <!-- object type="module_controller" class="com.android.tradefed.testtype.suite.module.CommandSuccessModuleController" -->
+ <!--Skip the test when trusty VM is not enabled. -->
+ <!--option name="run-command" value="getprop trusty.test_vm.nonsecure_vm_ready | grep 1" /-->
+ <!--/object-->
+ <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer" />
+ <!-- Target Preparers - Run Shell Commands -->
+ <target_preparer class="com.android.tradefed.targetprep.PushFilePreparer">
+ <option name="cleanup" value="true" />
+ <option name="push-file" key="trusty-ut-ctrl.sh" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh" />
+ <option name="push-file" key="trusty-vm-launcher.sh" value="/data/local/tmp/trusty_test_vm/trusty-vm-launcher.sh" />
+ <option name="push-file" key="trusty-wait-ready.sh" value="/data/local/tmp/trusty_test_vm/trusty-wait-ready.sh" />
+ <option name="push-file" key="trusty-test_vm-config.json" value="/data/local/tmp/trusty_test_vm/trusty-test_vm-config.json" />
+ <option name="push-file" key="trusty_test_vm_signed" value="/data/local/tmp/trusty_test_vm/trusty_test_vm_signed" />
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
+ <option name="throw-if-cmd-fail" value="true" />
+ <!--Note: the first run-command shall not expect the background command to have started -->
+ <option name="run-bg-command" value="sh /data/local/tmp/trusty_test_vm/trusty-vm-launcher.sh" />
+ <option name="run-command" value="sh /data/local/tmp/trusty_test_vm/trusty-wait-ready.sh" />
+ <option name="run-command" value="start storageproxyd_test_system" />
+ <option name="teardown-command" value="stop storageproxyd_test_system" />
+ <option name="teardown-command" value="killall storageproxyd_test_system || true" />
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.binary.ExecutableTargetTest" >
+ <option name="parse-gtest" value="true" />
+ <option name="abort-if-device-lost" value="true"/>
+ <option name="abort-if-root-lost" value="true" />
+ <option name="per-binary-timeout" value="10m" />
+ <option name="test-command-line" key="com.android.kernel.mmutest" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.kernel.mmutest"/>
+ <option name="test-command-line" key="com.android.kernel.threadtest" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.kernel.threadtest"/>
+ <option name="test-command-line" key="com.android.kernel.iovectest" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.kernel.iovectest"/>
+ <option name="test-command-line" key="com.android.kernel.timertest" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.kernel.timertest"/>
+ <option name="test-command-line" key="com.android.kernel.btitest" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.kernel.btitest"/>
+ <option name="test-command-line" key="com.android.kernel.cachetest" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.kernel.cachetest"/>
+ <option name="test-command-line" key="com.android.kernel.console-unittest" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.kernel.console-unittest"/>
+ <option name="test-command-line" key="com.android.kernel.dpc-unittest" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.kernel.dpc-unittest"/>
+ <option name="test-command-line" key="com.android.kernel.iovectest" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.kernel.iovectest"/>
+ <option name="test-command-line" key="com.android.kernel.ktipc.test" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.kernel.ktipc.test"/>
+ <option name="test-command-line" key="com.android.kernel.memorytest" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.kernel.memorytest"/>
+ <option name="test-command-line" key="com.android.kernel.pactest" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.kernel.pactest"/>
+ <option name="test-command-line" key="com.android.kernel.uirq-unittest" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.kernel.uirq-unittest"/>
+ <option name="test-command-line" key="com.android.kernel.usercopy-unittest" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.kernel.usercopy-unittest"/>
+ <option name="test-command-line" key="com.android.kernel.userscstest" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.kernel.userscstest"/>
+ <option name="test-command-line" key="com.android.trusty.rust.keymint.test" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.trusty.rust.keymint.test"/>
+ <option name="test-command-line" key="com.android.manifesttest" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.manifesttest"/>
+ <option name="test-command-line" key="com.android.memref.test" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.memref.test"/>
+ <option name="test-command-line" key="com.android.trusty.rust.memref.test" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.trusty.rust.memref.test"/>
+ <option name="test-command-line" key="com.android.timer-unittest" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.timer-unittest"/>
+ <option name="test-command-line" key="com.android.ipc-unittest.ctrl" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.ipc-unittest.ctrl"/>
+ <!--option name="test-command-line" key="com.android.trusty.cfitest" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.trusty.cfitest"/-->
+ <option name="test-command-line" key="com.android.trusty.crashtest" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.trusty.crashtest"/>
+ <option name="test-command-line" key="com.android.trusty.dlmalloctest" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.trusty.dlmalloctest"/>
+ <option name="test-command-line" key="com.android.trusty.hwaes.test" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.trusty.hwaes.test"/>
+ <option name="test-command-line" key="com.android.trusty.hwbcc.test" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.trusty.hwbcc.test"/>
+ <option name="test-command-line" key="com.android.trusty.rust.tipc.test" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.trusty.rust.tipc.test"/>
+ <option name="test-command-line" key="com.android.trusty.rust.hwkey.test" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.trusty.rust.hwkey.test"/>
+ <option name="test-command-line" key="com.android.trusty.rust.hwbcc.test" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.trusty.rust.hwbcc.test"/>
+ <option name="test-command-line" key="com.android.trusty.rust.hwwsk.test" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.trusty.rust.hwwsk.test"/>
+ <option name="test-command-line" key="com.android.trusty.rust.storage.test" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.trusty.rust.storage.test"/>
+ <option name="test-command-line" key="com.android.trusty.smc.test" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.trusty.smc.test"/>
+ <option name="test-command-line" key="com.android.uirq-unittest" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.uirq-unittest"/>
+ <!-- Unit tests for legacy hwcrypto services - these hwcrypto services are used by hwcryptohal /-->
+ <option name="test-command-line" key="com.android.trusty.hwcrypto.test" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.trusty.hwcrypto.test"/>
+ <option name="test-command-line" key="com.android.trusty.hwrng.test" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.trusty.hwrng.test"/>
+ <!-- Unit tests for hwcryptohal (exposing IHWCryptoKey/IHWCryptoOperations AIDL) - Note: VTS tests are defined alongside the interface /-->
+ <option name="test-command-line" key="com.android.trusty.rust.hwcryptohalserver.test" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.trusty.rust.hwcryptohalserver.test"/>
+ <option name="test-command-line" key="com.android.trusty.rust.hwcryptohal_common.test" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.trusty.rust.hwcryptohal_common.test"/>
+ <option name="test-command-line" key="com.android.trusty.rust.hwcryptokey_test.test" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.trusty.rust.hwcryptokey_test.test"/>
+ </test>
+ <!-- disabling storage test as they are redundant with the VTS -->
+ <!--test class="com.android.tradefed.testtype.binary.ExecutableTargetTest" >
+ <option name="parse-gtest" value="true" />
+ <option name="abort-if-device-lost" value="true" />
+ <option name="abort-if-root-lost" value="true" />
+ <option name="per-binary-timeout" value="40m" />
+ <option name="test-command-line" key="com.android.trusty.rust.storage_unittest_aidl.test" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.trusty.rust.storage_unittest_aidl.test"/>
+ <option name="test-command-line" key="com.android.trusty.rust.storage_unittest_aidl_ns.test" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.trusty.rust.storage_unittest_aidl_ns.test"/>
+ <option name="test-command-line" key="com.android.storage-unittest.tp" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.storage-unittest.tp"/>
+ <option name="test-command-line" key="com.android.storage-unittest.tdea" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.storage-unittest.tdea"/>
+ <option name="test-command-line" key="com.android.storage-unittest.nsp" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.storage-unittest.nsp"/>
+ <option name="test-command-line" key="com.android.storage-unittest.td" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.storage-unittest.td"/>
+ <option name="test-command-line" key="com.android.storage-unittest.tdp" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.storage-unittest.tdp"/>
+ </test-->
+ <test class="com.android.tradefed.testtype.binary.ExecutableTargetTest" >
+ <option name="parse-gtest" value="true" />
+ <!--option name="abort-if-device-lost" value="true" /-->
+ <!--option name="abort-if-root-lost" value="true" /-->
+ <option name="per-binary-timeout" value="40m" />
+ <option name="test-command-line" key="com.android.trusty.rust.binder_rpc_test.test" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.trusty.rust.binder_rpc_test.test"/>
+ <option name="test-command-line" key="com.android.trusty.binder.test" value="/data/local/tmp/trusty_test_vm/trusty-ut-ctrl.sh com.android.trusty.binder.test"/>
+ </test>
+ </configuration>
diff --git a/guest/trusty/test_vm/README.md b/guest/trusty/test_vm/README.md
new file mode 100644
index 0000000..1673844
--- /dev/null
+++ b/guest/trusty/test_vm/README.md
@@ -0,0 +1,7 @@
+## Trusty test_vm
+
+The Trusty test_vm ought to include the test TAs for different test types:
+- Trusty kernel OS test
+- Trusty IPC tests
+- Trusty user-space tests for service TAs (DT tree for example)
+- and most importantly the VTS tests TA for the trusted HALs.
diff --git a/guest/trusty/test_vm/TEST_MAPPING b/guest/trusty/test_vm/TEST_MAPPING
new file mode 100644
index 0000000..6f2b56e
--- /dev/null
+++ b/guest/trusty/test_vm/TEST_MAPPING
@@ -0,0 +1,9 @@
+{
+ "trusty-test_vm-presubmit": [
+ ],
+ "trusty-test_vm-postsubmit": [
+ {
+ "name": "TrustyTestVM_UnitTests"
+ }
+ ]
+}
diff --git a/guest/trusty/test_vm/trusty-ut-ctrl.sh b/guest/trusty/test_vm/trusty-ut-ctrl.sh
new file mode 100644
index 0000000..77a9459
--- /dev/null
+++ b/guest/trusty/test_vm/trusty-ut-ctrl.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+#
+# 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.
+
+/system_ext/bin/trusty-ut-ctrl.system -D VSOCK:${2:-$(getprop trusty.test_vm.vm_cid)}:1 $1
diff --git a/guest/trusty/test_vm/trusty-vm-launcher.sh b/guest/trusty/test_vm/trusty-vm-launcher.sh
new file mode 100755
index 0000000..cb8661f
--- /dev/null
+++ b/guest/trusty/test_vm/trusty-vm-launcher.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+# Copyright 2024 Google Inc. All rights reserved.
+#
+# 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.
+
+/apex/com.android.virt/bin/vm run /data/local/tmp/trusty_test_vm/trusty-test_vm-config.json
diff --git a/guest/trusty/test_vm/trusty-wait-ready.sh b/guest/trusty/test_vm/trusty-wait-ready.sh
new file mode 100755
index 0000000..842853c
--- /dev/null
+++ b/guest/trusty/test_vm/trusty-wait-ready.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+set -euo pipefail
+
+function get_cid {
+ local max_cid
+ max_cid=$(/apex/com.android.virt/bin/vm list | awk 'BEGIN { FS="[:,]" } /cid/ { print $2; }' | sort -n | tail -1)
+
+ # return the value trimmed from whitespaces
+ echo "${max_cid}" | xargs
+}
+
+function wait_for_cid {
+ TIMES=${1:-20}
+ X=0
+ local init_cid
+ init_cid=$(get_cid)
+ while [ "$TIMES" -eq 0 ] || [ "$TIMES" -gt "$X" ]
+ do
+ local cid
+ cid=$(get_cid)
+ echo "wait_for_cid: retry $(( X++ )) / $TIMES : init_cid=$init_cid cid=$cid";
+ if [ "$cid" -gt "$init_cid" ]
+ then
+ break
+ else
+ sleep 2
+ fi
+ done
+ setprop trusty.test_vm.vm_cid "$cid"
+}
+
+# This script is expected to be started before the trusty_test_vm is started
+# wait_for_cid gets the max cid and wait for it to be updated as an indication
+# that the trusty_test_vm has properly started.
+# wait_for_cid polls for the CID change at 2 seconds intervals
+# the input argument is the max number of retries (20 by default)
+wait_for_cid "$@"
+
+echo trusty.test_vm.vm_cid="$(getprop trusty.test_vm.vm_cid)"
diff --git a/guest/trusty/test_vm/vm_config_lk_x86_64.json b/guest/trusty/test_vm/vm_config_lk_x86_64.json
new file mode 100644
index 0000000..5effca5
--- /dev/null
+++ b/guest/trusty/test_vm/vm_config_lk_x86_64.json
@@ -0,0 +1,6 @@
+{
+ "name": "trusty_test_vm",
+ "kernel": "/data/local/tmp/trusty_test_vm/trusty_test_vm_signed",
+ "platform_version": "1.0",
+ "memory_mib": 112
+}
diff --git a/libs/debian_service/proto/DebianService.proto b/libs/debian_service/proto/DebianService.proto
index 61bcece..739f0ac 100644
--- a/libs/debian_service/proto/DebianService.proto
+++ b/libs/debian_service/proto/DebianService.proto
@@ -25,6 +25,7 @@
rpc ReportVmActivePorts (ReportVmActivePortsRequest) returns (ReportVmActivePortsResponse) {}
rpc ReportVmIpAddr (IpAddr) returns (ReportVmIpAddrResponse) {}
rpc OpenForwardingRequestQueue (QueueOpeningRequest) returns (stream ForwardingRequestItem) {}
+ rpc OpenShutdownRequestQueue (ShutdownQueueOpeningRequest) returns (stream ShutdownRequestItem) {}
}
message QueueOpeningRequest {
@@ -51,3 +52,7 @@
int32 guest_tcp_port = 1;
int32 vsock_port = 2;
}
+
+message ShutdownQueueOpeningRequest {}
+
+message ShutdownRequestItem {}
\ No newline at end of file
diff --git a/libs/dice/open_dice/Android.bp b/libs/dice/open_dice/Android.bp
index 4241c47..f799fb1 100644
--- a/libs/dice/open_dice/Android.bp
+++ b/libs/dice/open_dice/Android.bp
@@ -156,7 +156,7 @@
"--allowlist-var=DICE_INLINE_CONFIG_SIZE",
"--allowlist-var=DICE_PRIVATE_KEY_SEED_SIZE",
"--allowlist-var=DICE_ID_SIZE",
- "--allowlist-var=DICE_PRIVATE_KEY_SIZE",
+ "--allowlist-var=DICE_PRIVATE_KEY_BUFFER_SIZE",
],
}
diff --git a/libs/dice/open_dice/src/dice.rs b/libs/dice/open_dice/src/dice.rs
index 206769c..6c7d48d 100644
--- a/libs/dice/open_dice/src/dice.rs
+++ b/libs/dice/open_dice/src/dice.rs
@@ -21,7 +21,7 @@
use open_dice_cbor_bindgen::{
DiceConfigType, DiceDeriveCdiCertificateId, DiceDeriveCdiPrivateKeySeed, DiceInputValues,
DiceMainFlow, DICE_CDI_SIZE, DICE_HASH_SIZE, DICE_HIDDEN_SIZE, DICE_ID_SIZE,
- DICE_INLINE_CONFIG_SIZE, DICE_PRIVATE_KEY_SEED_SIZE, DICE_PRIVATE_KEY_SIZE,
+ DICE_INLINE_CONFIG_SIZE, DICE_PRIVATE_KEY_BUFFER_SIZE, DICE_PRIVATE_KEY_SEED_SIZE,
};
#[cfg(feature = "multialg")]
use open_dice_cbor_bindgen::{DiceContext_, DiceKeyAlgorithm};
@@ -41,7 +41,7 @@
/// The size of a private key seed.
pub const PRIVATE_KEY_SEED_SIZE: usize = DICE_PRIVATE_KEY_SEED_SIZE as usize;
/// The size of a private key.
-pub const PRIVATE_KEY_SIZE: usize = DICE_PRIVATE_KEY_SIZE as usize;
+pub const PRIVATE_KEY_SIZE: usize = DICE_PRIVATE_KEY_BUFFER_SIZE as usize;
/// The size of an ID.
pub const ID_SIZE: usize = DICE_ID_SIZE as usize;
diff --git a/libs/framework-virtualization/src/android/system/virtualmachine/VirtualMachineConfig.java b/libs/framework-virtualization/src/android/system/virtualmachine/VirtualMachineConfig.java
index 8230166..3829f9f 100644
--- a/libs/framework-virtualization/src/android/system/virtualmachine/VirtualMachineConfig.java
+++ b/libs/framework-virtualization/src/android/system/virtualmachine/VirtualMachineConfig.java
@@ -33,6 +33,8 @@
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
+import android.net.LocalSocket;
+import android.net.LocalSocketAddress;
import android.os.Build;
import android.os.ParcelFileDescriptor;
import android.os.PersistableBundle;
@@ -56,6 +58,8 @@
import java.io.OutputStream;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
+import java.nio.file.Files;
+import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -635,6 +639,34 @@
}
}
+ private void startCrosvmVirtiofs(
+ String sharedPath,
+ int host_uid,
+ int guest_uid,
+ int guest_gid,
+ String tagName,
+ int mask,
+ String socketPath)
+ throws IOException {
+ String ugidMapValue =
+ String.format("%d %d %d %d %d /", guest_uid, guest_gid, host_uid, host_uid, mask);
+ String cfgArg = String.format("ugid_map='%s'", ugidMapValue);
+ ProcessBuilder pb =
+ new ProcessBuilder(
+ "/apex/com.android.virt/bin/crosvm",
+ "device",
+ "fs",
+ "--socket=" + socketPath,
+ "--tag=" + tagName,
+ "--shared-dir=" + sharedPath,
+ "--cfg",
+ cfgArg,
+ "--disable-sandbox",
+ "--skip-pivot-root=true");
+
+ pb.start();
+ }
+
VirtualMachineRawConfig toVsRawConfig() throws IllegalStateException, IOException {
VirtualMachineRawConfig config = new VirtualMachineRawConfig();
VirtualMachineCustomImageConfig customImageConfig = getCustomImageConfig();
@@ -714,6 +746,38 @@
.orElse(0)];
for (int i = 0; i < config.sharedPaths.length; i++) {
config.sharedPaths[i] = customImageConfig.getSharedPaths()[i].toParcelable();
+ if (config.sharedPaths[i].appDomain) {
+ try {
+ String socketPath = customImageConfig.getSharedPaths()[i].getSocketPath();
+ startCrosvmVirtiofs(
+ config.sharedPaths[i].sharedPath,
+ config.sharedPaths[i].hostUid,
+ config.sharedPaths[i].guestUid,
+ config.sharedPaths[i].guestGid,
+ config.sharedPaths[i].tag,
+ config.sharedPaths[i].mask,
+ socketPath);
+ long startTime = System.currentTimeMillis();
+ long deadline = startTime + 5000;
+ // TODO: use socketpair instead of crosvm creating the named sockets.
+ while (!Files.exists(Path.of(socketPath))
+ && System.currentTimeMillis() < deadline) {
+ Thread.sleep(200);
+ }
+ if (!Files.exists(Path.of(socketPath))) {
+ throw new IOException("Timeout waiting for socket: " + socketPath);
+ }
+ LocalSocket socket = new LocalSocket();
+ socket.connect(
+ new LocalSocketAddress(
+ socketPath, LocalSocketAddress.Namespace.FILESYSTEM));
+ config.sharedPaths[i].socketFd =
+ ParcelFileDescriptor.dup(socket.getFileDescriptor());
+ } catch (IOException | InterruptedException e) {
+ Log.e(TAG, "startCrosvmVirtiofs failed", e);
+ throw new RuntimeException(e);
+ }
+ }
}
config.displayConfig =
diff --git a/libs/framework-virtualization/src/android/system/virtualmachine/VirtualMachineCustomImageConfig.java b/libs/framework-virtualization/src/android/system/virtualmachine/VirtualMachineCustomImageConfig.java
index 9b0709d..93f29a9 100644
--- a/libs/framework-virtualization/src/android/system/virtualmachine/VirtualMachineCustomImageConfig.java
+++ b/libs/framework-virtualization/src/android/system/virtualmachine/VirtualMachineCustomImageConfig.java
@@ -317,6 +317,8 @@
private final int mask;
private final String tag;
private final String socket;
+ private final boolean appDomain;
+ private final String socketPath;
public SharedPath(
String path,
@@ -326,7 +328,9 @@
int guestGid,
int mask,
String tag,
- String socket) {
+ String socket,
+ boolean appDomain,
+ String socketPath) {
this.path = path;
this.hostUid = hostUid;
this.hostGid = hostGid;
@@ -335,6 +339,8 @@
this.mask = mask;
this.tag = tag;
this.socket = socket;
+ this.appDomain = appDomain;
+ this.socketPath = socketPath;
}
android.system.virtualizationservice.SharedPath toParcelable() {
@@ -347,7 +353,8 @@
parcelable.guestGid = this.guestGid;
parcelable.mask = this.mask;
parcelable.tag = this.tag;
- parcelable.socket = this.socket;
+ parcelable.socketPath = this.socket;
+ parcelable.appDomain = this.appDomain;
return parcelable;
}
@@ -390,6 +397,16 @@
public String getSocket() {
return socket;
}
+
+ /** @hide */
+ public boolean getAppDomain() {
+ return appDomain;
+ }
+
+ /** @hide */
+ public String getSocketPath() {
+ return socketPath;
+ }
}
/** @hide */
diff --git a/libs/libavf/Android.bp b/libs/libavf/Android.bp
new file mode 100644
index 0000000..e143709
--- /dev/null
+++ b/libs/libavf/Android.bp
@@ -0,0 +1,58 @@
+package {
+ default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+rust_bindgen {
+ name: "libavf_bindgen",
+ wrapper_src: "include/android/virtualization.h",
+ crate_name: "avf_bindgen",
+ defaults: ["avf_build_flags_rust"],
+ source_stem: "bindings",
+ bindgen_flags: ["--default-enum-style rust"],
+ apex_available: ["com.android.virt"],
+}
+
+rust_defaults {
+ name: "libavf.default",
+ crate_name: "avf",
+ defaults: ["avf_build_flags_rust"],
+ srcs: ["src/lib.rs"],
+ edition: "2021",
+ rustlibs: [
+ "libvmclient",
+ "android.system.virtualizationcommon-rust",
+ "android.system.virtualizationservice-rust",
+ "libavf_bindgen",
+ "libbinder_rs",
+ "liblibc",
+ "liblog_rust",
+ "librpcbinder_rs",
+ ],
+ apex_available: ["com.android.virt"],
+}
+
+rust_ffi_static {
+ name: "libavf_impl",
+ defaults: ["libavf.default"],
+ export_include_dirs: ["include"],
+}
+
+cc_library {
+ name: "libavf",
+ llndk: {
+ symbol_file: "libavf.map.txt",
+ moved_to_apex: true,
+ },
+ whole_static_libs: ["libavf_impl"],
+ shared_libs: [
+ "libbinder_ndk",
+ "libbinder_rpc_unstable",
+ "liblog",
+ ],
+ export_static_lib_headers: ["libavf_impl"],
+ apex_available: ["com.android.virt"],
+ version_script: "libavf.map.txt",
+ stubs: {
+ symbol_file: "libavf.map.txt",
+ },
+}
diff --git a/libs/libavf/include/android/virtualization.h b/libs/libavf/include/android/virtualization.h
new file mode 100644
index 0000000..f33ee75
--- /dev/null
+++ b/libs/libavf/include/android/virtualization.h
@@ -0,0 +1,326 @@
+/*
+ * 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.
+ */
+#pragma once
+
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdlib.h>
+
+__BEGIN_DECLS
+
+/**
+ * Represents a handle on a virtual machine raw config.
+ */
+typedef struct AVirtualMachineRawConfig AVirtualMachineRawConfig;
+
+/**
+ * Create a new virtual machine raw config object with no properties.
+ *
+ * This only creates the raw config object. `name` and `kernel` must be set with
+ * calls to {@link AVirtualMachineRawConfig_setName} and {@link AVirtualMachineRawConfig_setKernel}.
+ * Other properties, set by {@link AVirtualMachineRawConfig_setMemoryMib},
+ * {@link AVirtualMachineRawConfig_setInitRd}, {@link AVirtualMachineRawConfig_addDisk},
+ * {@link AVirtualMachineRawConfig_setProtectedVm}, and {@link AVirtualMachineRawConfig_setBalloon}
+ * are optional.
+ *
+ * The caller takes ownership of the returned raw config object, and is responsible for creating a
+ * VM by calling {@link AVirtualMachine_createRaw} or releasing it by calling
+ * {@link AVirtualMachineRawConfig_destroy}.
+ *
+ * \return A new virtual machine raw config object.
+ */
+AVirtualMachineRawConfig* AVirtualMachineRawConfig_create();
+
+/**
+ * Destroy a virtual machine config object.
+ *
+ * \param config a virtual machine config object.
+ *
+ * `AVirtualMachineRawConfig_destroy` does nothing if `config` is null. A destroyed config object
+ * must not be reused.
+ */
+void AVirtualMachineRawConfig_destroy(AVirtualMachineRawConfig* config);
+
+/**
+ * Set a name of a virtual machine.
+ *
+ * \param config a virtual machine config object.
+ * \param name a pointer to a null-terminated string for the name.
+ *
+ * \return If successful, it returns 0.
+ */
+int AVirtualMachineRawConfig_setName(AVirtualMachineRawConfig* config, const char* name);
+
+/**
+ * Set an instance ID of a virtual machine.
+ *
+ * \param config a virtual machine config object.
+ * \param instanceId a pointer to a 64-byte buffer for the instance ID.
+ *
+ * \return If successful, it returns 0.
+ */
+int AVirtualMachineRawConfig_setInstanceId(AVirtualMachineRawConfig* config,
+ const int8_t* instanceId);
+
+/**
+ * Set a kernel image of a virtual machine.
+ *
+ * \param config a virtual machine config object.
+ * \param fd a readable file descriptor containing the kernel image, or -1 to unset.
+ * `AVirtualMachineRawConfig_setKernel` takes ownership of `fd`.
+ *
+ * \return If successful, it returns 0.
+ */
+int AVirtualMachineRawConfig_setKernel(AVirtualMachineRawConfig* config, int fd);
+
+/**
+ * Set an init rd of a virtual machine.
+ *
+ * \param config a virtual machine config object.
+ * \param fd a readable file descriptor containing the kernel image, or -1 to unset.
+ * `AVirtualMachineRawConfig_setInitRd` takes ownership of `fd`.
+ *
+ * \return If successful, it returns 0.
+ */
+int AVirtualMachineRawConfig_setInitRd(AVirtualMachineRawConfig* config, int fd);
+
+/**
+ * Add a disk for a virtual machine.
+ *
+ * \param config a virtual machine config object.
+ * \param fd a readable file descriptor containing the disk image.
+ * `AVirtualMachineRawConfig_addDisk` takes ownership of `fd`.
+ *
+ * \return If successful, it returns 0. If `fd` is invalid, it returns -EINVAL.
+ */
+int AVirtualMachineRawConfig_addDisk(AVirtualMachineRawConfig* config, int fd);
+
+/**
+ * Set how much memory will be given to a virtual machine.
+ *
+ * \param config a virtual machine config object.
+ * \param memoryMib the amount of RAM to give the virtual machine, in MiB. 0 or negative to use the
+ * default.
+ *
+ * \return If successful, it returns 0.
+ */
+int AVirtualMachineRawConfig_setMemoryMib(AVirtualMachineRawConfig* config, int32_t memoryMib);
+
+/**
+ * Set whether a virtual machine is protected or not.
+ *
+ * \param config a virtual machine config object.
+ * \param protectedVm whether the virtual machine should be protected.
+ *
+ * \return If successful, it returns 0.
+ */
+int AVirtualMachineRawConfig_setProtectedVm(AVirtualMachineRawConfig* config, bool protectedVm);
+
+/**
+ * Set whether a virtual machine uses memory ballooning or not.
+ *
+ * \param config a virtual machine config object.
+ * \param balloon whether the virtual machine should use memory ballooning.
+ *
+ * \return If successful, it returns 0.
+ */
+int AVirtualMachineRawConfig_setBalloon(AVirtualMachineRawConfig* config, bool balloon);
+
+/**
+ * Set whether to use an alternate, hypervisor-specific authentication method
+ * for protected VMs. You don't want to use this.
+ *
+ * \return If successful, it returns 0. It returns `-ENOTSUP` if the hypervisor doesn't have an
+ * alternate auth mode.
+ */
+int AVirtualMachineRawConfig_setHypervisorSpecificAuthMethod(AVirtualMachineRawConfig* config,
+ bool enable);
+
+/**
+ * Use the specified fd as the backing memfd for a range of the guest
+ * physical memory.
+ *
+ * \param config a virtual machine config object.
+ * \param fd a memfd
+ * \param rangeStart range start IPA
+ * \param rangeEnd range end IPA
+ *
+ * \return If successful, it returns 0. It returns `-ENOTSUP` if the hypervisor doesn't support
+ * backing memfd.
+ */
+int AVirtualMachineRawConfig_addCustomMemoryBackingFile(AVirtualMachineRawConfig* config, int fd,
+ size_t rangeStart, size_t rangeEnd);
+
+/**
+ * Represents a handle on a virtualization service, responsible for managing virtual machines.
+ */
+typedef struct AVirtualizationService AVirtualizationService;
+
+/**
+ * Spawn a new instance of `virtmgr`, a child process that will host the `VirtualizationService`
+ * service, and connect to the child process.
+ *
+ * The caller takes ownership of the returned service object, and is responsible for releasing it
+ * by calling {@link AVirtualizationService_destroy}.
+ *
+ * \param early set to true when running a service for early virtual machines. See
+ * [`early_vm.md`](../../../../docs/early_vm.md) for more details on early virtual machines.
+ * \param service an out parameter that will be set to the service handle.
+ *
+ * \return
+ * - If successful, it sets `service` and returns 0.
+ * - If it fails to spawn `virtmgr`, it leaves `service` untouched and returns a negative value
+ * representing the OS error code.
+ * - If it fails to connect to the spawned `virtmgr`, it leaves `service` untouched and returns
+ * `-ECONNREFUSED`.
+ */
+int AVirtualizationService_create(AVirtualizationService** service, bool early);
+
+/**
+ * Destroy a VirtualizationService object.
+ *
+ * `AVirtualizationService_destroy` does nothing if `service` is null. A destroyed service object
+ * must not be reused.
+ *
+ * \param service a handle on a virtualization service.
+ */
+void AVirtualizationService_destroy(AVirtualizationService* service);
+
+/**
+ * Represents a handle on a virtual machine.
+ */
+typedef struct AVirtualMachine AVirtualMachine;
+
+/**
+ * The reason why a virtual machine stopped.
+ * @see AVirtualMachine_waitForStop
+ */
+enum StopReason : int32_t {
+ /**
+ * VirtualizationService died.
+ */
+ VIRTUALIZATION_SERVICE_DIED = 1,
+ /**
+ * There was an error waiting for the virtual machine.
+ */
+ INFRASTRUCTURE_ERROR = 2,
+ /**
+ * The virtual machine was killed.
+ */
+ KILLED = 3,
+ /**
+ * The virtual machine stopped for an unknown reason.
+ */
+ UNKNOWN = 4,
+ /**
+ * The virtual machine requested to shut down.
+ */
+ SHUTDOWN = 5,
+ /**
+ * crosvm had an error starting the virtual machine.
+ */
+ START_FAILED = 6,
+ /**
+ * The virtual machine requested to reboot, possibly as the result of a kernel panic.
+ */
+ REBOOT = 7,
+ /**
+ * The virtual machine or crosvm crashed.
+ */
+ CRASH = 8,
+ /**
+ * The pVM firmware failed to verify the VM because the public key doesn't match.
+ */
+ PVM_FIRMWARE_PUBLIC_KEY_MISMATCH = 9,
+ /**
+ * The pVM firmware failed to verify the VM because the instance image changed.
+ */
+ PVM_FIRMWARE_INSTANCE_IMAGE_CHANGED = 10,
+ /**
+ * The virtual machine was killed due to hangup.
+ */
+ HANGUP = 11,
+ /**
+ * VirtualizationService sent a stop reason which was not recognised by the client library.
+ */
+ UNRECOGNISED = 0,
+};
+
+/**
+ * Create a virtual machine with given raw `config`.
+ *
+ * The created virtual machine is in stopped state. To run the created virtual machine, call
+ * {@link AVirtualMachine_start}.
+ *
+ * The caller takes ownership of the returned virtual machine object, and is responsible for
+ * releasing it by calling {@link AVirtualMachine_destroy}.
+ *
+ * \param service a handle on a virtualization service.
+ * \param config a virtual machine config object. Ownership will always be transferred from the
+ * caller, even if unsuccessful. `config` must not be reused.
+ * \param consoleOutFd a writable file descriptor for the console output, or -1. Ownership will
+ * always be transferred from the caller, even if unsuccessful.
+ * \param consoleInFd a readable file descriptor for the console input, or -1. Ownership will always
+ * be transferred from the caller, even if unsuccessful.
+ * \param logFd a writable file descriptor for the log output, or -1. Ownership will always be
+ * transferred from the caller, even if unsuccessful.
+ * \param vm an out parameter that will be set to the virtual machine handle.
+ *
+ * \return If successful, it sets `vm` and returns 0. Otherwise, it leaves `vm` untouched and
+ * returns `-EIO`.
+ */
+int AVirtualMachine_createRaw(const AVirtualizationService* service,
+ AVirtualMachineRawConfig* config, int consoleOutFd, int consoleInFd,
+ int logFd, AVirtualMachine** vm);
+
+/**
+ * Start a virtual machine.
+ *
+ * \param vm a handle on a virtual machine.
+ *
+ * \return If successful, it returns 0. Otherwise, it returns `-EIO`.
+ */
+int AVirtualMachine_start(AVirtualMachine* vm);
+
+/**
+ * Stop a virtual machine.
+ *
+ * \param vm a handle on a virtual machine.
+ *
+ * \return If successful, it returns 0. Otherwise, it returns `-EIO`.
+ */
+int AVirtualMachine_stop(AVirtualMachine* vm);
+
+/**
+ * Wait until a virtual machine stops.
+ *
+ * \param vm a handle on a virtual machine.
+ *
+ * \return The reason why the virtual machine stopped.
+ */
+enum StopReason AVirtualMachine_waitForStop(AVirtualMachine* vm);
+
+/**
+ * Destroy a virtual machine.
+ *
+ * `AVirtualMachine_destroy` does nothing if `vm` is null. A destroyed virtual machine must not be
+ * reused.
+ *
+ * \param vm a handle on a virtual machine.
+ */
+void AVirtualMachine_destroy(AVirtualMachine* vm);
+
+__END_DECLS
diff --git a/libs/libavf/libavf.map.txt b/libs/libavf/libavf.map.txt
new file mode 100644
index 0000000..ecb4cc9
--- /dev/null
+++ b/libs/libavf/libavf.map.txt
@@ -0,0 +1,24 @@
+LIBAVF {
+ global:
+ AVirtualMachineRawConfig_create; # apex llndk
+ AVirtualMachineRawConfig_destroy; # apex llndk
+ AVirtualMachineRawConfig_setName; # apex llndk
+ AVirtualMachineRawConfig_setInstanceId; # apex llndk
+ AVirtualMachineRawConfig_setKernel; # apex llndk
+ AVirtualMachineRawConfig_setInitRd; # apex llndk
+ AVirtualMachineRawConfig_addDisk; # apex llndk
+ AVirtualMachineRawConfig_setMemoryMib; # apex llndk
+ AVirtualMachineRawConfig_setProtectedVm; # apex llndk
+ AVirtualMachineRawConfig_setBalloon; # apex llndk
+ AVirtualMachineRawConfig_setHypervisorSpecificAuthMethod; # apex llndk
+ AVirtualMachineRawConfig_addCustomMemoryBackingFile; # apex llndk
+ AVirtualizationService_create; # apex llndk
+ AVirtualizationService_destroy; # apex llndk
+ AVirtualMachine_createRaw; # apex llndk
+ AVirtualMachine_start; # apex llndk
+ AVirtualMachine_stop; # apex llndk
+ AVirtualMachine_waitForStop; # apex llndk
+ AVirtualMachine_destroy; # apex llndk
+ local:
+ *;
+};
diff --git a/libs/libavf/src/lib.rs b/libs/libavf/src/lib.rs
new file mode 100644
index 0000000..0a8f891
--- /dev/null
+++ b/libs/libavf/src/lib.rs
@@ -0,0 +1,413 @@
+// 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.
+
+//! Stable C library for AVF.
+
+use std::ffi::CStr;
+use std::fs::File;
+use std::os::fd::FromRawFd;
+use std::os::raw::{c_char, c_int};
+use std::ptr;
+
+use android_system_virtualizationservice::{
+ aidl::android::system::virtualizationservice::{
+ DiskImage::DiskImage, IVirtualizationService::IVirtualizationService,
+ VirtualMachineConfig::VirtualMachineConfig,
+ VirtualMachineRawConfig::VirtualMachineRawConfig,
+ },
+ binder::{ParcelFileDescriptor, Strong},
+};
+use avf_bindgen::StopReason;
+use vmclient::{DeathReason, VirtualizationService, VmInstance};
+
+/// Create a new virtual machine config object with no properties.
+#[no_mangle]
+pub extern "C" fn AVirtualMachineRawConfig_create() -> *mut VirtualMachineRawConfig {
+ let config = Box::new(VirtualMachineRawConfig {
+ platformVersion: "~1.0".to_owned(),
+ ..Default::default()
+ });
+ Box::into_raw(config)
+}
+
+/// Destroy a virtual machine config object.
+///
+/// # Safety
+/// `config` must be a pointer returned by `AVirtualMachineRawConfig_create`. `config` must not be
+/// used after deletion.
+#[no_mangle]
+pub unsafe extern "C" fn AVirtualMachineRawConfig_destroy(config: *mut VirtualMachineRawConfig) {
+ if !config.is_null() {
+ // SAFETY: `config` is assumed to be a valid, non-null pointer returned by
+ // AVirtualMachineRawConfig_create. It's the only reference to the object.
+ unsafe {
+ let _ = Box::from_raw(config);
+ }
+ }
+}
+
+/// Set a name of a virtual machine.
+///
+/// # Safety
+/// `config` must be a pointer returned by `AVirtualMachineRawConfig_create`.
+#[no_mangle]
+pub unsafe extern "C" fn AVirtualMachineRawConfig_setName(
+ config: *mut VirtualMachineRawConfig,
+ name: *const c_char,
+) -> c_int {
+ // SAFETY: `config` is assumed to be a valid, non-null pointer returned by
+ // AVirtualMachineRawConfig_create. It's the only reference to the object.
+ let config = unsafe { &mut *config };
+ // SAFETY: `name` is assumed to be a pointer to a valid C string.
+ config.name = unsafe { CStr::from_ptr(name) }.to_string_lossy().into_owned();
+ 0
+}
+
+/// Set an instance ID of a virtual machine.
+///
+/// # Safety
+/// `config` must be a pointer returned by `AVirtualMachineRawConfig_create`. `instanceId` must be a
+/// valid, non-null pointer to 64-byte data.
+#[no_mangle]
+pub unsafe extern "C" fn AVirtualMachineRawConfig_setInstanceId(
+ config: *mut VirtualMachineRawConfig,
+ instance_id: *const u8,
+) -> c_int {
+ // SAFETY: `config` is assumed to be a valid, non-null pointer returned by
+ // AVirtualMachineRawConfig_create. It's the only reference to the object.
+ let config = unsafe { &mut *config };
+ // SAFETY: `instanceId` is assumed to be a valid pointer to 64 bytes of memory. `config`
+ // is assumed to be a valid object returned by AVirtuaMachineConfig_create.
+ // Both never overlap.
+ unsafe {
+ ptr::copy_nonoverlapping(instance_id, config.instanceId.as_mut_ptr(), 64);
+ }
+ 0
+}
+
+/// Set a kernel image of a virtual machine.
+///
+/// # Safety
+/// `config` must be a pointer returned by `AVirtualMachineRawConfig_create`. `fd` must be a valid
+/// file descriptor or -1. `AVirtualMachineRawConfig_setKernel` takes ownership of `fd` and `fd`
+/// will be closed upon `AVirtualMachineRawConfig_delete`.
+#[no_mangle]
+pub unsafe extern "C" fn AVirtualMachineRawConfig_setKernel(
+ config: *mut VirtualMachineRawConfig,
+ fd: c_int,
+) -> c_int {
+ let file = get_file_from_fd(fd);
+ // SAFETY: `config` is assumed to be a valid, non-null pointer returned by
+ // AVirtualMachineRawConfig_create. It's the only reference to the object.
+ let config = unsafe { &mut *config };
+ config.kernel = file.map(ParcelFileDescriptor::new);
+ 0
+}
+
+/// Set an init rd of a virtual machine.
+///
+/// # Safety
+/// `config` must be a pointer returned by `AVirtualMachineRawConfig_create`. `fd` must be a valid
+/// file descriptor or -1. `AVirtualMachineRawConfig_setInitRd` takes ownership of `fd` and `fd`
+/// will be closed upon `AVirtualMachineRawConfig_delete`.
+#[no_mangle]
+pub unsafe extern "C" fn AVirtualMachineRawConfig_setInitRd(
+ config: *mut VirtualMachineRawConfig,
+ fd: c_int,
+) -> c_int {
+ let file = get_file_from_fd(fd);
+ // SAFETY: `config` is assumed to be a valid, non-null pointer returned by
+ // AVirtualMachineRawConfig_create. It's the only reference to the object.
+ let config = unsafe { &mut *config };
+ config.initrd = file.map(ParcelFileDescriptor::new);
+ 0
+}
+
+/// Add a disk for a virtual machine.
+///
+/// # Safety
+/// `config` must be a pointer returned by `AVirtualMachineRawConfig_create`. `fd` must be a valid
+/// file descriptor. `AVirtualMachineRawConfig_addDisk` takes ownership of `fd` and `fd` will be
+/// closed upon `AVirtualMachineRawConfig_delete`.
+#[no_mangle]
+pub unsafe extern "C" fn AVirtualMachineRawConfig_addDisk(
+ config: *mut VirtualMachineRawConfig,
+ fd: c_int,
+ writable: bool,
+) -> c_int {
+ let file = get_file_from_fd(fd);
+ // SAFETY: `config` is assumed to be a valid, non-null pointer returned by
+ // AVirtualMachineRawConfig_create. It's the only reference to the object.
+ let config = unsafe { &mut *config };
+ match file {
+ // partition not supported yet
+ None => -libc::EINVAL,
+ Some(file) => {
+ config.disks.push(DiskImage {
+ image: Some(ParcelFileDescriptor::new(file)),
+ writable,
+ ..Default::default()
+ });
+ 0
+ }
+ }
+}
+
+/// Set how much memory will be given to a virtual machine.
+///
+/// # Safety
+/// `config` must be a pointer returned by `AVirtualMachineRawConfig_create`.
+#[no_mangle]
+pub unsafe extern "C" fn AVirtualMachineRawConfig_setMemoryMib(
+ config: *mut VirtualMachineRawConfig,
+ memory_mib: i32,
+) -> c_int {
+ // SAFETY: `config` is assumed to be a valid, non-null pointer returned by
+ // AVirtualMachineRawConfig_create. It's the only reference to the object.
+ let config = unsafe { &mut *config };
+ config.memoryMib = memory_mib;
+ 0
+}
+
+/// Set whether a virtual machine is protected or not.
+///
+/// # Safety
+/// `config` must be a pointer returned by `AVirtualMachineRawConfig_create`.
+#[no_mangle]
+pub unsafe extern "C" fn AVirtualMachineRawConfig_setProtectedVm(
+ config: *mut VirtualMachineRawConfig,
+ protected_vm: bool,
+) -> c_int {
+ // SAFETY: `config` is assumed to be a valid, non-null pointer returned by
+ // AVirtualMachineRawConfig_create. It's the only reference to the object.
+ let config = unsafe { &mut *config };
+ config.protectedVm = protected_vm;
+ 0
+}
+
+/// Set whether a virtual machine uses memory ballooning or not.
+///
+/// # Safety
+/// `config` must be a pointer returned by `AVirtualMachineRawConfig_create`.
+#[no_mangle]
+pub unsafe extern "C" fn AVirtualMachineRawConfig_setBalloon(
+ config: *mut VirtualMachineRawConfig,
+ balloon: bool,
+) -> c_int {
+ // SAFETY: `config` is assumed to be a valid, non-null pointer returned by
+ // AVirtualMachineRawConfig_create. It's the only reference to the object.
+ let config = unsafe { &mut *config };
+ config.noBalloon = !balloon;
+ 0
+}
+
+/// NOT IMPLEMENTED.
+///
+/// # Returns
+/// It always returns `-ENOTSUP`.
+#[no_mangle]
+pub extern "C" fn AVirtualMachineRawConfig_setHypervisorSpecificAuthMethod(
+ _config: *mut VirtualMachineRawConfig,
+ _enable: bool,
+) -> c_int {
+ -libc::ENOTSUP
+}
+
+/// NOT IMPLEMENTED.
+///
+/// # Returns
+/// It always returns `-ENOTSUP`.
+#[no_mangle]
+pub extern "C" fn AVirtualMachineRawConfig_addCustomMemoryBackingFile(
+ _config: *mut VirtualMachineRawConfig,
+ _fd: c_int,
+ _range_start: usize,
+ _range_end: usize,
+) -> c_int {
+ -libc::ENOTSUP
+}
+
+/// Spawn a new instance of `virtmgr`, a child process that will host the `VirtualizationService`
+/// AIDL service, and connect to the child process.
+///
+/// # Safety
+/// `service_ptr` must be a valid, non-null pointer to a mutable raw pointer.
+#[no_mangle]
+pub unsafe extern "C" fn AVirtualizationService_create(
+ service_ptr: *mut *mut Strong<dyn IVirtualizationService>,
+ early: bool,
+) -> c_int {
+ let virtmgr =
+ if early { VirtualizationService::new_early() } else { VirtualizationService::new() };
+ let virtmgr = match virtmgr {
+ Ok(virtmgr) => virtmgr,
+ Err(e) => return -e.raw_os_error().unwrap_or(libc::EIO),
+ };
+ match virtmgr.connect() {
+ Ok(service) => {
+ // SAFETY: `service` is assumed to be a valid, non-null pointer to a mutable raw
+ // pointer. `service` is the only reference here and `config` takes
+ // ownership.
+ unsafe {
+ *service_ptr = Box::into_raw(Box::new(service));
+ }
+ 0
+ }
+ Err(_) => -libc::ECONNREFUSED,
+ }
+}
+
+/// Destroy a VirtualizationService object.
+///
+/// # Safety
+/// `service` must be a pointer returned by `AVirtualizationService_create` or
+/// `AVirtualizationService_create_early`. `service` must not be reused after deletion.
+#[no_mangle]
+pub unsafe extern "C" fn AVirtualizationService_destroy(
+ service: *mut Strong<dyn IVirtualizationService>,
+) {
+ if !service.is_null() {
+ // SAFETY: `service` is assumed to be a valid, non-null pointer returned by
+ // `AVirtualizationService_create`. It's the only reference to the object.
+ unsafe {
+ let _ = Box::from_raw(service);
+ }
+ }
+}
+
+/// Create a virtual machine with given `config`.
+///
+/// # Safety
+/// `config` must be a pointer returned by `AVirtualMachineRawConfig_create`. `service` must be a
+/// pointer returned by `AVirtualMachineRawConfig_create`. `vm_ptr` must be a valid, non-null
+/// pointer to a mutable raw pointer. `console_out_fd`, `console_in_fd`, and `log_fd` must be a
+/// valid file descriptor or -1. `AVirtualMachine_create` takes ownership of `console_out_fd`,
+/// `console_in_fd`, and `log_fd`, and taken file descriptors must not be reused.
+#[no_mangle]
+pub unsafe extern "C" fn AVirtualMachine_createRaw(
+ service: *const Strong<dyn IVirtualizationService>,
+ config: *mut VirtualMachineRawConfig,
+ console_out_fd: c_int,
+ console_in_fd: c_int,
+ log_fd: c_int,
+ vm_ptr: *mut *mut VmInstance,
+) -> c_int {
+ // SAFETY: `service` is assumed to be a valid, non-null pointer returned by
+ // `AVirtualizationService_create` or `AVirtualizationService_create_early`. It's the only
+ // reference to the object.
+ let service = unsafe { &*service };
+
+ // SAFETY: `config` is assumed to be a valid, non-null pointer returned by
+ // `AVirtualMachineRawConfig_create`. It's the only reference to the object.
+ let config = unsafe { *Box::from_raw(config) };
+ let config = VirtualMachineConfig::RawConfig(config);
+
+ let console_out = get_file_from_fd(console_out_fd);
+ let console_in = get_file_from_fd(console_in_fd);
+ let log = get_file_from_fd(log_fd);
+
+ match VmInstance::create(service.as_ref(), &config, console_out, console_in, log, None, None) {
+ Ok(vm) => {
+ // SAFETY: `vm_ptr` is assumed to be a valid, non-null pointer to a mutable raw pointer.
+ // `vm` is the only reference here and `vm_ptr` takes ownership.
+ unsafe {
+ *vm_ptr = Box::into_raw(Box::new(vm));
+ }
+ 0
+ }
+ Err(_) => -libc::EIO,
+ }
+}
+
+/// Start a virtual machine.
+///
+/// # Safety
+/// `vm` must be a pointer returned by `AVirtualMachine_createRaw`.
+#[no_mangle]
+pub unsafe extern "C" fn AVirtualMachine_start(vm: *const VmInstance) -> c_int {
+ // SAFETY: `vm` is assumed to be a valid, non-null pointer returned by
+ // `AVirtualMachine_createRaw`. It's the only reference to the object.
+ let vm = unsafe { &*vm };
+ match vm.start() {
+ Ok(_) => 0,
+ Err(_) => -libc::EIO,
+ }
+}
+
+/// Stop a virtual machine.
+///
+/// # Safety
+/// `vm` must be a pointer returned by `AVirtualMachine_create`.
+#[no_mangle]
+pub unsafe extern "C" fn AVirtualMachine_stop(vm: *const VmInstance) -> c_int {
+ // SAFETY: `vm` is assumed to be a valid, non-null pointer returned by
+ // `AVirtualMachine_createRaw`. It's the only reference to the object.
+ let vm = unsafe { &*vm };
+ match vm.stop() {
+ Ok(_) => 0,
+ Err(_) => -libc::EIO,
+ }
+}
+
+/// Wait until a virtual machine stops.
+///
+/// # Safety
+/// `vm` must be a pointer returned by `AVirtualMachine_createRaw`.
+#[no_mangle]
+pub unsafe extern "C" fn AVirtualMachine_waitForStop(vm: *const VmInstance) -> StopReason {
+ // SAFETY: `vm` is assumed to be a valid, non-null pointer returned by
+ // AVirtualMachine_create. It's the only reference to the object.
+ let vm = unsafe { &*vm };
+ match vm.wait_for_death() {
+ DeathReason::VirtualizationServiceDied => StopReason::VIRTUALIZATION_SERVICE_DIED,
+ DeathReason::InfrastructureError => StopReason::INFRASTRUCTURE_ERROR,
+ DeathReason::Killed => StopReason::KILLED,
+ DeathReason::Unknown => StopReason::UNKNOWN,
+ DeathReason::Shutdown => StopReason::SHUTDOWN,
+ DeathReason::StartFailed => StopReason::START_FAILED,
+ DeathReason::Reboot => StopReason::REBOOT,
+ DeathReason::Crash => StopReason::CRASH,
+ DeathReason::PvmFirmwarePublicKeyMismatch => StopReason::PVM_FIRMWARE_PUBLIC_KEY_MISMATCH,
+ DeathReason::PvmFirmwareInstanceImageChanged => {
+ StopReason::PVM_FIRMWARE_INSTANCE_IMAGE_CHANGED
+ }
+ DeathReason::Hangup => StopReason::HANGUP,
+ _ => StopReason::UNRECOGNISED,
+ }
+}
+
+/// Destroy a virtual machine.
+///
+/// # Safety
+/// `vm` must be a pointer returned by `AVirtualMachine_createRaw`. `vm` must not be reused after
+/// deletion.
+#[no_mangle]
+pub unsafe extern "C" fn AVirtualMachine_destroy(vm: *mut VmInstance) {
+ if !vm.is_null() {
+ // SAFETY: `vm` is assumed to be a valid, non-null pointer returned by
+ // AVirtualMachine_create. It's the only reference to the object.
+ unsafe {
+ let _ = Box::from_raw(vm);
+ }
+ }
+}
+
+fn get_file_from_fd(fd: i32) -> Option<File> {
+ if fd == -1 {
+ None
+ } else {
+ // SAFETY: transferring ownership of `fd` from the caller
+ Some(unsafe { File::from_raw_fd(fd) })
+ }
+}
diff --git a/libs/libvmbase/src/bionic.rs b/libs/libvmbase/src/bionic.rs
index 8b40dae..3c0cd6f 100644
--- a/libs/libvmbase/src/bionic.rs
+++ b/libs/libvmbase/src/bionic.rs
@@ -72,6 +72,7 @@
pub static mut ERRNO: c_int = 0;
#[no_mangle]
+#[allow(unused_unsafe)]
unsafe extern "C" fn __errno() -> *mut c_int {
// SAFETY: C functions which call this are only called from the main thread, not from exception
// handlers.
diff --git a/libs/libvmbase/src/layout.rs b/libs/libvmbase/src/layout.rs
index 9a702b0..cf3a8fc 100644
--- a/libs/libvmbase/src/layout.rs
+++ b/libs/libvmbase/src/layout.rs
@@ -14,6 +14,8 @@
//! Memory layout.
+#![allow(unused_unsafe)]
+
pub mod crosvm;
use crate::linker::__stack_chk_guard;
diff --git a/libs/libvmbase/src/memory.rs b/libs/libvmbase/src/memory.rs
index fd4706f..9153706 100644
--- a/libs/libvmbase/src/memory.rs
+++ b/libs/libvmbase/src/memory.rs
@@ -26,9 +26,9 @@
pub use page_table::PageTable;
pub use shared::MemoryRange;
pub use tracker::{
- deactivate_dynamic_page_tables, init_shared_pool, map_data, map_device, map_image_footer,
- map_rodata, map_rodata_outside_main_memory, resize_available_memory, unshare_all_memory,
- unshare_all_mmio_except_uart, unshare_uart,
+ deactivate_dynamic_page_tables, init_shared_pool, map_data, map_data_noflush, map_device,
+ map_image_footer, map_rodata, map_rodata_outside_main_memory, resize_available_memory,
+ unshare_all_memory, unshare_all_mmio_except_uart, unshare_uart,
};
pub use util::{
flush, flushed_zeroize, page_4kb_of, PAGE_SIZE, SIZE_128KB, SIZE_16KB, SIZE_2MB, SIZE_4KB,
diff --git a/libs/libvmbase/src/memory/tracker.rs b/libs/libvmbase/src/memory/tracker.rs
index 3416dc6..bbff254 100644
--- a/libs/libvmbase/src/memory/tracker.rs
+++ b/libs/libvmbase/src/memory/tracker.rs
@@ -132,6 +132,18 @@
Ok(())
}
+/// Map the provided range as normal memory, with R/W permissions.
+///
+/// Unlike `map_data()`, `deactivate_dynamic_page_tables()` will not flush caches for the range.
+///
+/// This fails if the range has already been (partially) mapped.
+pub fn map_data_noflush(addr: usize, size: NonZeroUsize) -> Result<()> {
+ let mut locked_tracker = try_lock_memory_tracker()?;
+ let tracker = locked_tracker.as_mut().ok_or(MemoryTrackerError::Unavailable)?;
+ let _ = tracker.alloc_mut_noflush(addr, size)?;
+ Ok(())
+}
+
/// Map the region potentially holding data appended to the image, with read-write permissions.
///
/// This fails if the footer has already been mapped.
@@ -294,7 +306,17 @@
self.add(region)
}
- /// Maps the image footer read-write, with permissions.
+ fn alloc_range_mut_noflush(&mut self, range: &MemoryRange) -> Result<MemoryRange> {
+ let region = MemoryRegion { range: range.clone(), mem_type: MemoryType::ReadWrite };
+ self.check_allocatable(®ion)?;
+ self.page_table.map_data(&get_va_range(range)).map_err(|e| {
+ error!("Error during non-flushed mutable range allocation: {e}");
+ MemoryTrackerError::FailedToMap
+ })?;
+ self.add(region)
+ }
+
+ /// Maps the image footer, with read-write permissions.
fn map_image_footer(&mut self) -> Result<MemoryRange> {
if self.image_footer_mapped {
return Err(MemoryTrackerError::FooterAlreadyMapped);
@@ -318,6 +340,10 @@
self.alloc_range_mut(&(base..(base + size.get())))
}
+ fn alloc_mut_noflush(&mut self, base: usize, size: NonZeroUsize) -> Result<MemoryRange> {
+ self.alloc_range_mut_noflush(&(base..(base + size.get())))
+ }
+
/// Checks that the given range of addresses is within the MMIO region, and then maps it
/// appropriately.
fn map_mmio_range(&mut self, range: MemoryRange) -> Result<()> {
diff --git a/libs/libvmclient/src/lib.rs b/libs/libvmclient/src/lib.rs
index 13630c0..c0baea5 100644
--- a/libs/libvmclient/src/lib.rs
+++ b/libs/libvmclient/src/lib.rs
@@ -243,6 +243,11 @@
self.vm.start()
}
+ /// Stops the VM.
+ pub fn stop(&self) -> BinderResult<()> {
+ self.vm.stop()
+ }
+
/// Returns the CID used for vsock connections to the VM.
pub fn cid(&self) -> i32 {
self.cid
diff --git a/libs/nested_virt/src/lib.rs b/libs/nested_virt/src/lib.rs
index b43fcb7..b2aea88 100644
--- a/libs/nested_virt/src/lib.rs
+++ b/libs/nested_virt/src/lib.rs
@@ -21,12 +21,21 @@
/// Return whether we will be running our VM in a VM, which causes the nested VM to run very slowly.
pub fn is_nested_virtualization() -> Result<bool> {
- // Currently nested virtualization only occurs when we run KVM inside the cuttlefish VM.
- // So we just need to check for vsoc.
- if let Some(value) = system_properties::read("ro.product.vendor.device")? {
- // Fuzzy matching to allow for vsoc_x86, vsoc_x86_64, vsoc_x86_64_only, ...
- Ok(value.starts_with("vsoc_"))
- } else {
- Ok(false)
+ // Nested virtualization occurs when we run KVM inside the cuttlefish VM or when
+ // we run trusty within qemu.
+ let checks = [
+ ("ro.product.vendor.device", "vsoc_"), // vsoc_x86, vsoc_x86_64, vsoc_x86_64_only, ...
+ ("ro.hardware", "qemu_"), // qemu_trusty, ...
+ ];
+
+ for (property, prefix) in checks {
+ if let Some(value) = system_properties::read(property)? {
+ if value.starts_with(prefix) {
+ return Ok(true);
+ }
+ }
}
+
+ // No match -> not nested
+ Ok(false)
}
diff --git a/tests/hostside/java/com/android/microdroid/test/MicrodroidHostTests.java b/tests/hostside/java/com/android/microdroid/test/MicrodroidHostTests.java
index fefedc9..630df87 100644
--- a/tests/hostside/java/com/android/microdroid/test/MicrodroidHostTests.java
+++ b/tests/hostside/java/com/android/microdroid/test/MicrodroidHostTests.java
@@ -405,6 +405,7 @@
VIRT_APEX + "bin/vm run",
"--console " + CONSOLE_PATH,
"--log " + LOG_PATH,
+ "--name " + "microdroid", // to still be seen as microdroid vm
configPath);
PipedInputStream pis = new PipedInputStream();
diff --git a/tests/pvmfw/java/com/android/pvmfw/test/CustomPvmfwHostTestCaseBase.java b/tests/pvmfw/java/com/android/pvmfw/test/CustomPvmfwHostTestCaseBase.java
index 3116cc5..296604b 100644
--- a/tests/pvmfw/java/com/android/pvmfw/test/CustomPvmfwHostTestCaseBase.java
+++ b/tests/pvmfw/java/com/android/pvmfw/test/CustomPvmfwHostTestCaseBase.java
@@ -52,6 +52,7 @@
public static final String VM_REFERENCE_DT_PATH = "/data/local/tmp/pvmfw/reference_dt.dtb";
@NonNull public static final String MICRODROID_LOG_PATH = TEST_ROOT + "log.txt";
+ @NonNull public static final String MICRODROID_CONSOLE_PATH = TEST_ROOT + "console.txt";
public static final int BOOT_COMPLETE_TIMEOUT_MS = 30000; // 30 seconds
public static final int BOOT_FAILURE_WAIT_TIME_MS = 10000; // 10 seconds
public static final int CONSOLE_OUTPUT_WAIT_MS = 5000; // 5 seconds
diff --git a/tests/pvmfw/java/com/android/pvmfw/test/DebugPolicyHostTests.java b/tests/pvmfw/java/com/android/pvmfw/test/DebugPolicyHostTests.java
index 7efbbc7..6a28d5e 100644
--- a/tests/pvmfw/java/com/android/pvmfw/test/DebugPolicyHostTests.java
+++ b/tests/pvmfw/java/com/android/pvmfw/test/DebugPolicyHostTests.java
@@ -248,6 +248,8 @@
"run-app",
"--log",
MICRODROID_LOG_PATH,
+ "--console",
+ MICRODROID_CONSOLE_PATH,
"--protected",
getPathForPackage(PACKAGE_NAME),
TEST_ROOT + "idsig",