Compare commits
80 Commits
lineage-19
...
lineage-22
Author | SHA1 | Date | |
---|---|---|---|
|
88f35f1c0b | ||
|
a689cb3c27 | ||
|
c77f449096 | ||
|
587cf0bd02 | ||
|
04ec48021e | ||
|
061bee818c | ||
|
568d99a58d | ||
|
0342bb3121 | ||
|
33d63d627d | ||
|
9918f7ef91 | ||
|
fbdb5570a5 | ||
|
e28d157a8c | ||
|
a9d7673d1d | ||
|
ec85854518 | ||
|
e92031f1ec | ||
|
c9159bf47b | ||
|
5ab3076f91 | ||
|
6fafcc4e7f | ||
|
e670f6e8cd | ||
|
d044ba1dee | ||
|
b551ebc472 | ||
|
d8e73e380c | ||
|
a2e31f1f2d | ||
|
b31dd16806 | ||
|
a07c2fc48e | ||
|
1d33cc3135 | ||
|
ed36157049 | ||
|
a72dadf7e3 | ||
|
3cb130d40a | ||
|
e6edfaab94 | ||
|
34535a83fb | ||
|
8d0b616fec | ||
|
6ef2ee7a34 | ||
|
7c5230326f | ||
|
0d1c94fe5a | ||
|
8b6c6728ac | ||
|
4a536da4be | ||
|
a6ce04aefc | ||
|
36c5333f2d | ||
|
93adf96d12 | ||
|
ddbb843309 | ||
|
d1d28de8e7 | ||
|
c9eada5848 | ||
|
76c126c8af | ||
|
27af047c21 | ||
|
7d9b6c0c64 | ||
|
0b1821c9dc | ||
|
a804504378 | ||
|
7f43b5b628 | ||
|
3f365d5feb | ||
|
64261f1321 | ||
|
5c17826dcd | ||
|
919a15e270 | ||
|
5a212ca159 | ||
|
5ff552fa43 | ||
|
185b5de51d | ||
|
613fbacdbf | ||
|
c3093cb4cc | ||
|
bf1646fa93 | ||
|
755560bbcd | ||
|
ae11300ff0 | ||
|
3852db1751 | ||
|
1ec0b8d1de | ||
|
0b5e925013 | ||
|
cdcb51197b | ||
|
e32b81fb3a | ||
|
9ddb4f10e0 | ||
|
85347e77d1 | ||
|
bfbc440118 | ||
|
e83f74ace7 | ||
|
304b45b3eb | ||
|
468ff36885 | ||
|
dfe9efc180 | ||
|
79845a7f0b | ||
|
baf2238f5b | ||
|
59c5c5ff21 | ||
|
cb6281e7f0 | ||
|
9ff0a26243 | ||
|
8c2d4337b8 | ||
|
257a80e351 |
8
.gitignore
vendored
8
.gitignore
vendored
@@ -1,13 +1,13 @@
|
|||||||
*.iml
|
*.iml
|
||||||
.gradle
|
.gradle
|
||||||
/local.properties
|
/local.properties
|
||||||
.idea
|
/.idea
|
||||||
.DS_Store
|
.DS_Store
|
||||||
/build
|
/build
|
||||||
/captures
|
/captures
|
||||||
/gradle
|
|
||||||
/gradlew
|
|
||||||
/gradlew.bat
|
|
||||||
/system_libs/*.jar
|
/system_libs/*.jar
|
||||||
/keystore.properties
|
/keystore.properties
|
||||||
|
.externalNativeBuild
|
||||||
|
.cxx
|
||||||
*.jks
|
*.jks
|
||||||
|
local.properties
|
||||||
|
55
Android.bp
55
Android.bp
@@ -1,55 +0,0 @@
|
|||||||
//
|
|
||||||
// Copyright (C) 2022 The LineageOS 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.
|
|
||||||
//
|
|
||||||
|
|
||||||
android_app {
|
|
||||||
name: "Updater",
|
|
||||||
|
|
||||||
// Include SettingsLib and its dependencies
|
|
||||||
defaults: ["SettingsLibDefaults"],
|
|
||||||
|
|
||||||
srcs: ["src/**/*.java"],
|
|
||||||
resource_dirs: ["res"],
|
|
||||||
|
|
||||||
static_libs: [
|
|
||||||
"com.google.android.material_material",
|
|
||||||
"androidx.core_core",
|
|
||||||
"androidx.appcompat_appcompat",
|
|
||||||
"androidx.cardview_cardview",
|
|
||||||
"androidx.localbroadcastmanager_localbroadcastmanager",
|
|
||||||
"androidx.preference_preference",
|
|
||||||
"androidx.recyclerview_recyclerview",
|
|
||||||
],
|
|
||||||
|
|
||||||
platform_apis: true,
|
|
||||||
privileged: true,
|
|
||||||
certificate: "platform",
|
|
||||||
system_ext_specific: true,
|
|
||||||
optimize: {
|
|
||||||
proguard_flags_files: ["proguard.flags"],
|
|
||||||
},
|
|
||||||
|
|
||||||
required: ["privapp_whitelist_org.lineageos.updater.xml"],
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
prebuilt_etc {
|
|
||||||
name: "privapp_whitelist_org.lineageos.updater.xml",
|
|
||||||
|
|
||||||
system_ext_specific: true,
|
|
||||||
src: "privapp_whitelist_org.lineageos.updater.xml",
|
|
||||||
sub_dir: "permissions",
|
|
||||||
|
|
||||||
}
|
|
1
app/.gitignore
vendored
Normal file
1
app/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/build
|
62
app/Android.bp
Normal file
62
app/Android.bp
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
//
|
||||||
|
// Copyright (C) 2022-2024 The LineageOS Project
|
||||||
|
//
|
||||||
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
//
|
||||||
|
|
||||||
|
android_app {
|
||||||
|
name: "Updater",
|
||||||
|
|
||||||
|
// Include SettingsLib and its dependencies
|
||||||
|
defaults: ["SettingsLibDefaults"],
|
||||||
|
|
||||||
|
srcs: ["src/main/java/**/*.java"],
|
||||||
|
resource_dirs: ["src/main/res"],
|
||||||
|
manifest: "src/main/AndroidManifest.xml",
|
||||||
|
|
||||||
|
platform_apis: true,
|
||||||
|
privileged: true,
|
||||||
|
certificate: "platform",
|
||||||
|
system_ext_specific: true,
|
||||||
|
|
||||||
|
overrides: [
|
||||||
|
"SystemUpdater",
|
||||||
|
],
|
||||||
|
|
||||||
|
static_libs: [
|
||||||
|
// DO NOT EDIT THIS SECTION MANUALLY
|
||||||
|
"androidx.core_core-ktx",
|
||||||
|
"androidx.appcompat_appcompat",
|
||||||
|
"androidx.cardview_cardview",
|
||||||
|
"androidx.lifecycle_lifecycle-viewmodel-ktx",
|
||||||
|
"androidx.localbroadcastmanager_localbroadcastmanager",
|
||||||
|
"androidx.preference_preference",
|
||||||
|
"androidx.recyclerview_recyclerview",
|
||||||
|
"com.google.android.material_material",
|
||||||
|
],
|
||||||
|
|
||||||
|
optimize: {
|
||||||
|
proguard_flags_files: ["proguard.flags"],
|
||||||
|
},
|
||||||
|
|
||||||
|
required: [
|
||||||
|
"privapp_whitelist_org.lineageos.updater",
|
||||||
|
"default-permissions_org.lineageos.updater"
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
|
prebuilt_etc {
|
||||||
|
name: "privapp_whitelist_org.lineageos.updater",
|
||||||
|
system_ext_specific: true,
|
||||||
|
sub_dir: "permissions",
|
||||||
|
src: "privapp_whitelist_org.lineageos.updater.xml",
|
||||||
|
filename_from_src: true,
|
||||||
|
}
|
||||||
|
|
||||||
|
prebuilt_etc {
|
||||||
|
name: "default-permissions_org.lineageos.updater",
|
||||||
|
system_ext_specific: true,
|
||||||
|
sub_dir: "default-permissions",
|
||||||
|
src: "default-permissions_org.lineageos.updater.xml",
|
||||||
|
filename_from_src: true,
|
||||||
|
}
|
113
app/build.gradle.kts
Normal file
113
app/build.gradle.kts
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
import java.util.Properties
|
||||||
|
import org.lineageos.generatebp.GenerateBpPlugin
|
||||||
|
import org.lineageos.generatebp.GenerateBpPluginExtension
|
||||||
|
import org.lineageos.generatebp.models.Module
|
||||||
|
|
||||||
|
plugins {
|
||||||
|
id("com.android.application")
|
||||||
|
id("kotlin-android")
|
||||||
|
}
|
||||||
|
|
||||||
|
apply {
|
||||||
|
plugin<GenerateBpPlugin>()
|
||||||
|
}
|
||||||
|
|
||||||
|
buildscript {
|
||||||
|
repositories {
|
||||||
|
maven("https://raw.githubusercontent.com/lineage-next/gradle-generatebp/v1.2/.m2")
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
classpath("org.lineageos:gradle-generatebp:+")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
val keystorePropertiesFile = rootProject.file("keystore.properties")
|
||||||
|
val keystoreProperties = Properties().apply {
|
||||||
|
if (keystorePropertiesFile.exists()) {
|
||||||
|
load(keystorePropertiesFile.inputStream())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
android {
|
||||||
|
compileSdk = 33
|
||||||
|
|
||||||
|
defaultConfig {
|
||||||
|
applicationId = "org.lineageos.updater"
|
||||||
|
minSdk = 32
|
||||||
|
targetSdk = 33
|
||||||
|
versionCode = 1
|
||||||
|
versionName = "1.0"
|
||||||
|
}
|
||||||
|
|
||||||
|
buildTypes {
|
||||||
|
getByName("release") {
|
||||||
|
// Includes the default ProGuard rules files.
|
||||||
|
setProguardFiles(
|
||||||
|
listOf(
|
||||||
|
getDefaultProguardFile("proguard-android-optimize.txt"),
|
||||||
|
"proguard-rules.pro"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
getByName("debug") {
|
||||||
|
// Append .dev to package name so we won't conflict with AOSP build.
|
||||||
|
applicationIdSuffix = ".dev"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
compileOptions {
|
||||||
|
sourceCompatibility = JavaVersion.VERSION_11
|
||||||
|
targetCompatibility = JavaVersion.VERSION_11
|
||||||
|
}
|
||||||
|
|
||||||
|
kotlinOptions {
|
||||||
|
jvmTarget = "11"
|
||||||
|
}
|
||||||
|
|
||||||
|
signingConfigs {
|
||||||
|
create("release") {
|
||||||
|
(keystoreProperties["keyAlias"] as String?)?.let {
|
||||||
|
keyAlias = it
|
||||||
|
}
|
||||||
|
(keystoreProperties["keyPassword"] as String?)?.let {
|
||||||
|
keyPassword = it
|
||||||
|
}
|
||||||
|
(keystoreProperties["storeFile"] as String?)?.let {
|
||||||
|
storeFile = file(it)
|
||||||
|
}
|
||||||
|
(keystoreProperties["storePassword"] as String?)?.let {
|
||||||
|
storePassword = it
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
namespace = "org.lineageos.updater"
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
compileOnly(fileTree(mapOf("dir" to "../system_libs", "include" to listOf("*.jar"))))
|
||||||
|
|
||||||
|
implementation("androidx.core:core-ktx:1.9.0")
|
||||||
|
implementation("androidx.appcompat:appcompat:1.6.1")
|
||||||
|
implementation("androidx.cardview:cardview:1.0.0")
|
||||||
|
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1")
|
||||||
|
implementation("androidx.localbroadcastmanager:localbroadcastmanager:1.1.0")
|
||||||
|
implementation("androidx.preference:preference:1.2.0")
|
||||||
|
implementation("androidx.recyclerview:recyclerview:1.2.1")
|
||||||
|
implementation("com.google.android.material:material:1.9.0-alpha01")
|
||||||
|
}
|
||||||
|
|
||||||
|
configure<GenerateBpPluginExtension> {
|
||||||
|
targetSdk.set(android.defaultConfig.targetSdk!!)
|
||||||
|
availableInAOSP.set { module: Module ->
|
||||||
|
when {
|
||||||
|
module.group.startsWith("androidx") -> true
|
||||||
|
module.group.startsWith("org.jetbrains") -> true
|
||||||
|
module.group == "com.google.android.material" -> true
|
||||||
|
module.group == "com.google.errorprone" -> true
|
||||||
|
module.group == "com.google.guava" -> true
|
||||||
|
module.group == "junit" -> true
|
||||||
|
else -> false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
22
app/default-permissions_org.lineageos.updater.xml
Normal file
22
app/default-permissions_org.lineageos.updater.xml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2022 The LineageOS 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.
|
||||||
|
-->
|
||||||
|
<exceptions>
|
||||||
|
<exception package="org.lineageos.updater">
|
||||||
|
<!-- Notifications -->
|
||||||
|
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
|
||||||
|
</exception>
|
||||||
|
</exceptions>
|
@@ -5,7 +5,9 @@
|
|||||||
<uses-permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM" />
|
<uses-permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM" />
|
||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||||
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" />
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
|
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||||
<uses-permission android:name="android.permission.REBOOT" />
|
<uses-permission android:name="android.permission.REBOOT" />
|
||||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||||
<uses-permission android:name="android.permission.RECOVERY" />
|
<uses-permission android:name="android.permission.RECOVERY" />
|
||||||
@@ -28,7 +30,7 @@
|
|||||||
android:exported="true"
|
android:exported="true"
|
||||||
android:theme="@style/AppTheme.NoActionBar"
|
android:theme="@style/AppTheme.NoActionBar"
|
||||||
android:launchMode="singleTop">
|
android:launchMode="singleTop">
|
||||||
<intent-filter android:priority="1">
|
<intent-filter android:priority="2">
|
||||||
<action android:name="android.settings.SYSTEM_UPDATE_SETTINGS" />
|
<action android:name="android.settings.SYSTEM_UPDATE_SETTINGS" />
|
||||||
|
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
@@ -42,8 +44,18 @@
|
|||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
<service android:name=".controller.UpdaterService" />
|
<service
|
||||||
<service android:name=".ExportUpdateService" />
|
android:name=".controller.UpdaterService"
|
||||||
|
android:foregroundServiceType="specialUse">
|
||||||
|
<property android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
|
||||||
|
android:value="updater"/>
|
||||||
|
</service>
|
||||||
|
<service
|
||||||
|
android:name=".ExportUpdateService"
|
||||||
|
android:foregroundServiceType="specialUse">
|
||||||
|
<property android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
|
||||||
|
android:value="updater"/>
|
||||||
|
</service>
|
||||||
|
|
||||||
<receiver android:name=".UpdaterReceiver" android:exported="false">
|
<receiver android:name=".UpdaterReceiver" android:exported="false">
|
||||||
<intent-filter>
|
<intent-filter>
|
@@ -20,6 +20,7 @@ import android.app.NotificationManager;
|
|||||||
import android.app.Service;
|
import android.app.Service;
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.content.pm.ServiceInfo;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
import android.os.SystemClock;
|
import android.os.SystemClock;
|
||||||
@@ -156,7 +157,8 @@ public class ExportUpdateService extends Service {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
startForeground(NOTIFICATION_ID, notificationBuilder.build());
|
startForeground(NOTIFICATION_ID, notificationBuilder.build(),
|
||||||
|
ServiceInfo.FOREGROUND_SERVICE_TYPE_SPECIAL_USE);
|
||||||
notificationManager.notify(NOTIFICATION_ID, notificationBuilder.build());
|
notificationManager.notify(NOTIFICATION_ID, notificationBuilder.build());
|
||||||
|
|
||||||
Runnable runnableComplete = () -> {
|
Runnable runnableComplete = () -> {
|
245
app/src/main/java/org/lineageos/updater/UpdateImporter.java
Normal file
245
app/src/main/java/org/lineageos/updater/UpdateImporter.java
Normal file
@@ -0,0 +1,245 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2017-2025 The LineageOS Project
|
||||||
|
* Copyright (C) 2020-2022 SHIFT GmbH
|
||||||
|
*
|
||||||
|
* 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 org.lineageos.updater;
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint;
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.net.Uri;
|
||||||
|
import android.os.ParcelFileDescriptor;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import org.lineageos.updater.controller.UpdaterController;
|
||||||
|
import org.lineageos.updater.misc.StringGenerator;
|
||||||
|
import org.lineageos.updater.misc.Utils;
|
||||||
|
import org.lineageos.updater.model.Update;
|
||||||
|
import org.lineageos.updater.model.UpdateStatus;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.text.DateFormat;
|
||||||
|
import java.util.Enumeration;
|
||||||
|
import java.util.zip.ZipEntry;
|
||||||
|
import java.util.zip.ZipFile;
|
||||||
|
|
||||||
|
public class UpdateImporter {
|
||||||
|
private static final int REQUEST_PICK = 9061;
|
||||||
|
private static final String TAG = "UpdateImporter";
|
||||||
|
private static final String MIME_ZIP = "application/zip";
|
||||||
|
private static final String FILE_NAME = "localUpdate.zip";
|
||||||
|
private static final String METADATA_PATH = "META-INF/com/android/metadata";
|
||||||
|
private static final String METADATA_TIMESTAMP_KEY = "post-timestamp=";
|
||||||
|
|
||||||
|
private final Activity activity;
|
||||||
|
private final Callbacks callbacks;
|
||||||
|
|
||||||
|
private Thread workingThread;
|
||||||
|
|
||||||
|
public UpdateImporter(Activity activity, Callbacks callbacks) {
|
||||||
|
this.activity = activity;
|
||||||
|
this.callbacks = callbacks;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void stopImport() {
|
||||||
|
if (workingThread != null && workingThread.isAlive()) {
|
||||||
|
workingThread.interrupt();
|
||||||
|
workingThread = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void openImportPicker() {
|
||||||
|
final Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT)
|
||||||
|
.addCategory(Intent.CATEGORY_OPENABLE)
|
||||||
|
.setType(MIME_ZIP);
|
||||||
|
activity.startActivityForResult(intent, REQUEST_PICK);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean onResult(int requestCode, int resultCode, Intent data) {
|
||||||
|
if (resultCode != Activity.RESULT_OK || requestCode != REQUEST_PICK) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return onPicked(data.getData());
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("ResultOfMethodCallIgnored")
|
||||||
|
private boolean onPicked(Uri uri) {
|
||||||
|
callbacks.onImportStarted();
|
||||||
|
|
||||||
|
workingThread = new Thread(() -> {
|
||||||
|
File importedFile = null;
|
||||||
|
try {
|
||||||
|
importedFile = importFile(uri);
|
||||||
|
verifyPackage(importedFile);
|
||||||
|
|
||||||
|
final Update update = buildLocalUpdate(importedFile);
|
||||||
|
addUpdate(update);
|
||||||
|
activity.runOnUiThread(() -> callbacks.onImportCompleted(update));
|
||||||
|
} catch (Exception e) {
|
||||||
|
Log.e(TAG, "Failed to import update package", e);
|
||||||
|
// Do not store invalid update
|
||||||
|
if (importedFile != null) {
|
||||||
|
importedFile.delete();
|
||||||
|
}
|
||||||
|
|
||||||
|
activity.runOnUiThread(() -> callbacks.onImportCompleted(null));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
workingThread.start();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressLint("SetWorldReadable")
|
||||||
|
@SuppressWarnings("ResultOfMethodCallIgnored")
|
||||||
|
private File importFile(Uri uri) throws IOException {
|
||||||
|
final ParcelFileDescriptor parcelDescriptor = activity.getContentResolver()
|
||||||
|
.openFileDescriptor(uri, "r");
|
||||||
|
if (parcelDescriptor == null) {
|
||||||
|
throw new IOException("Failed to obtain fileDescriptor");
|
||||||
|
}
|
||||||
|
|
||||||
|
final FileInputStream iStream = new FileInputStream(parcelDescriptor
|
||||||
|
.getFileDescriptor());
|
||||||
|
final File downloadDir = Utils.getDownloadPath(activity);
|
||||||
|
final File outFile = new File(downloadDir, FILE_NAME);
|
||||||
|
if (outFile.exists()) {
|
||||||
|
outFile.delete();
|
||||||
|
}
|
||||||
|
final FileOutputStream oStream = new FileOutputStream(outFile);
|
||||||
|
|
||||||
|
int read;
|
||||||
|
final byte[] buffer = new byte[4096];
|
||||||
|
while ((read = iStream.read(buffer)) > 0) {
|
||||||
|
oStream.write(buffer, 0, read);
|
||||||
|
}
|
||||||
|
oStream.flush();
|
||||||
|
oStream.close();
|
||||||
|
iStream.close();
|
||||||
|
parcelDescriptor.close();
|
||||||
|
|
||||||
|
outFile.setReadable(true, false);
|
||||||
|
|
||||||
|
return outFile;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Update buildLocalUpdate(File file) {
|
||||||
|
final long timeStamp = getTimeStamp(file);
|
||||||
|
final String buildDate = StringGenerator.getDateLocalizedUTC(
|
||||||
|
activity, DateFormat.MEDIUM, timeStamp);
|
||||||
|
final String name = activity.getString(R.string.local_update_name);
|
||||||
|
final Update update = new Update();
|
||||||
|
update.setAvailableOnline(false);
|
||||||
|
update.setName(name);
|
||||||
|
update.setFile(file);
|
||||||
|
update.setFileSize(file.length());
|
||||||
|
update.setDownloadId(Update.LOCAL_ID);
|
||||||
|
update.setTimestamp(timeStamp);
|
||||||
|
update.setStatus(UpdateStatus.VERIFIED);
|
||||||
|
update.setPersistentStatus(UpdateStatus.Persistent.VERIFIED);
|
||||||
|
update.setVersion(String.format("%s (%s)", name, buildDate));
|
||||||
|
return update;
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("ResultOfMethodCallIgnored")
|
||||||
|
private void verifyPackage(File file) throws Exception {
|
||||||
|
try {
|
||||||
|
android.os.RecoverySystem.verifyPackage(file, null, null);
|
||||||
|
} catch (Exception e) {
|
||||||
|
if (file.exists()) {
|
||||||
|
file.delete();
|
||||||
|
throw new Exception("Verification failed, file has been deleted");
|
||||||
|
} else {
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addUpdate(Update update) {
|
||||||
|
UpdaterController controller = UpdaterController.getInstance(activity);
|
||||||
|
controller.addUpdate(update, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
private long getTimeStamp(File file) {
|
||||||
|
try {
|
||||||
|
final String metadataContent = readZippedFile(file, METADATA_PATH);
|
||||||
|
final String[] lines = metadataContent.split("\n");
|
||||||
|
for (String line : lines) {
|
||||||
|
if (!line.startsWith(METADATA_TIMESTAMP_KEY)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
final String timeStampStr = line.replace(METADATA_TIMESTAMP_KEY, "");
|
||||||
|
return Long.parseLong(timeStampStr);
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
Log.e(TAG, "Failed to read date from local update zip package", e);
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
Log.e(TAG, "Failed to parse timestamp number from zip metadata file", e);
|
||||||
|
}
|
||||||
|
|
||||||
|
Log.e(TAG, "Couldn't find timestamp in zip file, falling back to $now");
|
||||||
|
return System.currentTimeMillis();
|
||||||
|
}
|
||||||
|
|
||||||
|
private String readZippedFile(File file, String path) throws IOException {
|
||||||
|
final StringBuilder sb = new StringBuilder();
|
||||||
|
InputStream iStream = null;
|
||||||
|
|
||||||
|
try (final ZipFile zip = new ZipFile(file)) {
|
||||||
|
final Enumeration<? extends ZipEntry> iterator = zip.entries();
|
||||||
|
while (iterator.hasMoreElements()) {
|
||||||
|
final ZipEntry entry = iterator.nextElement();
|
||||||
|
if (!METADATA_PATH.equals(entry.getName())) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
iStream = zip.getInputStream(entry);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (iStream == null) {
|
||||||
|
throw new FileNotFoundException("Couldn't find " + path + " in " + file.getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
final byte[] buffer = new byte[1024];
|
||||||
|
int read;
|
||||||
|
while ((read = iStream.read(buffer)) > 0) {
|
||||||
|
sb.append(new String(buffer, 0, read, StandardCharsets.UTF_8));
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
Log.e(TAG, "Failed to read file from zip package", e);
|
||||||
|
throw e;
|
||||||
|
} finally {
|
||||||
|
if (iStream != null) {
|
||||||
|
iStream.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface Callbacks {
|
||||||
|
void onImportStarted();
|
||||||
|
|
||||||
|
void onImportCompleted(Update update);
|
||||||
|
}
|
||||||
|
}
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2017-2022 The LineageOS Project
|
* Copyright (C) 2017-2023 The LineageOS Project
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -33,6 +33,7 @@ import android.os.Bundle;
|
|||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
import android.os.SystemProperties;
|
import android.os.SystemProperties;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
import android.util.TypedValue;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
@@ -41,16 +42,19 @@ import android.view.View;
|
|||||||
import android.view.animation.Animation;
|
import android.view.animation.Animation;
|
||||||
import android.view.animation.LinearInterpolator;
|
import android.view.animation.LinearInterpolator;
|
||||||
import android.view.animation.RotateAnimation;
|
import android.view.animation.RotateAnimation;
|
||||||
|
import android.widget.RelativeLayout;
|
||||||
import android.widget.Spinner;
|
import android.widget.Spinner;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import androidx.activity.result.ActivityResultLauncher;
|
import androidx.activity.result.ActivityResultLauncher;
|
||||||
import androidx.activity.result.contract.ActivityResultContracts;
|
import androidx.activity.result.contract.ActivityResultContracts;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
import androidx.appcompat.app.ActionBar;
|
import androidx.appcompat.app.ActionBar;
|
||||||
import androidx.appcompat.app.AlertDialog;
|
import androidx.appcompat.app.AlertDialog;
|
||||||
import androidx.appcompat.widget.SwitchCompat;
|
import androidx.appcompat.widget.SwitchCompat;
|
||||||
import androidx.appcompat.widget.Toolbar;
|
import androidx.appcompat.widget.Toolbar;
|
||||||
|
import androidx.core.view.WindowInsetsCompat;
|
||||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||||
import androidx.preference.PreferenceManager;
|
import androidx.preference.PreferenceManager;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
@@ -69,6 +73,7 @@ import org.lineageos.updater.misc.BuildInfoUtils;
|
|||||||
import org.lineageos.updater.misc.Constants;
|
import org.lineageos.updater.misc.Constants;
|
||||||
import org.lineageos.updater.misc.StringGenerator;
|
import org.lineageos.updater.misc.StringGenerator;
|
||||||
import org.lineageos.updater.misc.Utils;
|
import org.lineageos.updater.misc.Utils;
|
||||||
|
import org.lineageos.updater.model.Update;
|
||||||
import org.lineageos.updater.model.UpdateInfo;
|
import org.lineageos.updater.model.UpdateInfo;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -77,7 +82,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
public class UpdatesActivity extends UpdatesListActivity {
|
public class UpdatesActivity extends UpdatesListActivity implements UpdateImporter.Callbacks {
|
||||||
|
|
||||||
private static final String TAG = "UpdatesActivity";
|
private static final String TAG = "UpdatesActivity";
|
||||||
private UpdaterService mUpdaterService;
|
private UpdaterService mUpdaterService;
|
||||||
@@ -103,11 +108,16 @@ public class UpdatesActivity extends UpdatesListActivity {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
private UpdateImporter mUpdateImporter;
|
||||||
|
private AlertDialog importDialog;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_updates);
|
setContentView(R.layout.activity_updates);
|
||||||
|
|
||||||
|
mUpdateImporter = new UpdateImporter(this, this);
|
||||||
|
|
||||||
UiModeManager uiModeManager = getSystemService(UiModeManager.class);
|
UiModeManager uiModeManager = getSystemService(UiModeManager.class);
|
||||||
mIsTV = uiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_TELEVISION;
|
mIsTV = uiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_TELEVISION;
|
||||||
|
|
||||||
@@ -135,6 +145,12 @@ public class UpdatesActivity extends UpdatesListActivity {
|
|||||||
} else if (UpdaterController.ACTION_UPDATE_REMOVED.equals(intent.getAction())) {
|
} else if (UpdaterController.ACTION_UPDATE_REMOVED.equals(intent.getAction())) {
|
||||||
String downloadId = intent.getStringExtra(UpdaterController.EXTRA_DOWNLOAD_ID);
|
String downloadId = intent.getStringExtra(UpdaterController.EXTRA_DOWNLOAD_ID);
|
||||||
mAdapter.removeItem(downloadId);
|
mAdapter.removeItem(downloadId);
|
||||||
|
List<UpdateInfo> sortedUpdates =
|
||||||
|
mUpdaterService.getUpdaterController().getUpdates();
|
||||||
|
if (sortedUpdates.isEmpty()) {
|
||||||
|
findViewById(R.id.no_new_updates_view).setVisibility(View.VISIBLE);
|
||||||
|
findViewById(R.id.recycler_view).setVisibility(View.GONE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -146,6 +162,24 @@ public class UpdatesActivity extends UpdatesListActivity {
|
|||||||
if (actionBar != null) {
|
if (actionBar != null) {
|
||||||
actionBar.setDisplayShowTitleEnabled(false);
|
actionBar.setDisplayShowTitleEnabled(false);
|
||||||
actionBar.setDisplayHomeAsUpEnabled(true);
|
actionBar.setDisplayHomeAsUpEnabled(true);
|
||||||
|
final int statusBarHeight;
|
||||||
|
TypedValue tv = new TypedValue();
|
||||||
|
if (getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) {
|
||||||
|
statusBarHeight = TypedValue.complexToDimensionPixelSize(
|
||||||
|
tv.data, getResources().getDisplayMetrics());
|
||||||
|
} else {
|
||||||
|
statusBarHeight = 0;
|
||||||
|
}
|
||||||
|
RelativeLayout headerContainer = findViewById(R.id.header_container);
|
||||||
|
recyclerView.setOnApplyWindowInsetsListener((view, insets) -> {
|
||||||
|
int top = insets.getInsets(WindowInsetsCompat.Type.statusBars()).top;
|
||||||
|
CollapsingToolbarLayout.LayoutParams lp =
|
||||||
|
(CollapsingToolbarLayout.LayoutParams)
|
||||||
|
headerContainer.getLayoutParams();
|
||||||
|
lp.topMargin = top + statusBarHeight;
|
||||||
|
headerContainer.setLayoutParams(lp);
|
||||||
|
return insets;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -196,6 +230,8 @@ public class UpdatesActivity extends UpdatesListActivity {
|
|||||||
findViewById(R.id.refresh).setOnClickListener(v -> downloadUpdatesList(true));
|
findViewById(R.id.refresh).setOnClickListener(v -> downloadUpdatesList(true));
|
||||||
findViewById(R.id.preferences).setOnClickListener(v -> showPreferencesDialog());
|
findViewById(R.id.preferences).setOnClickListener(v -> showPreferencesDialog());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
maybeShowWelcomeMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -213,6 +249,17 @@ public class UpdatesActivity extends UpdatesListActivity {
|
|||||||
LocalBroadcastManager.getInstance(this).registerReceiver(mBroadcastReceiver, intentFilter);
|
LocalBroadcastManager.getInstance(this).registerReceiver(mBroadcastReceiver, intentFilter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onPause() {
|
||||||
|
if (importDialog != null) {
|
||||||
|
importDialog.dismiss();
|
||||||
|
importDialog = null;
|
||||||
|
mUpdateImporter.stopImport();
|
||||||
|
}
|
||||||
|
|
||||||
|
super.onPause();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onStop() {
|
public void onStop() {
|
||||||
LocalBroadcastManager.getInstance(this).unregisterReceiver(mBroadcastReceiver);
|
LocalBroadcastManager.getInstance(this).unregisterReceiver(mBroadcastReceiver);
|
||||||
@@ -242,6 +289,9 @@ public class UpdatesActivity extends UpdatesListActivity {
|
|||||||
Uri.parse(Utils.getChangelogURL(this)));
|
Uri.parse(Utils.getChangelogURL(this)));
|
||||||
startActivity(openUrl);
|
startActivity(openUrl);
|
||||||
return true;
|
return true;
|
||||||
|
} else if (itemId == R.id.menu_local_update) {
|
||||||
|
mUpdateImporter.openImportPicker();
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
return super.onOptionsItemSelected(item);
|
return super.onOptionsItemSelected(item);
|
||||||
}
|
}
|
||||||
@@ -252,8 +302,64 @@ public class UpdatesActivity extends UpdatesListActivity {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private final ServiceConnection mConnection = new ServiceConnection() {
|
@Override
|
||||||
|
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
|
||||||
|
if (!mUpdateImporter.onResult(requestCode, resultCode, data)) {
|
||||||
|
super.onActivityResult(requestCode, resultCode, data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onImportStarted() {
|
||||||
|
if (importDialog != null && importDialog.isShowing()) {
|
||||||
|
importDialog.dismiss();
|
||||||
|
}
|
||||||
|
|
||||||
|
importDialog = new AlertDialog.Builder(this)
|
||||||
|
.setTitle(R.string.local_update_import)
|
||||||
|
.setView(R.layout.progress_dialog)
|
||||||
|
.setCancelable(false)
|
||||||
|
.create();
|
||||||
|
|
||||||
|
importDialog.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onImportCompleted(Update update) {
|
||||||
|
if (importDialog != null) {
|
||||||
|
importDialog.dismiss();
|
||||||
|
importDialog = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (update == null) {
|
||||||
|
new AlertDialog.Builder(this)
|
||||||
|
.setTitle(R.string.local_update_import)
|
||||||
|
.setMessage(R.string.local_update_import_failure)
|
||||||
|
.setPositiveButton(android.R.string.ok, null)
|
||||||
|
.show();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
mAdapter.notifyDataSetChanged();
|
||||||
|
|
||||||
|
final Runnable deleteUpdate = () -> UpdaterController.getInstance(this)
|
||||||
|
.deleteUpdate(update.getDownloadId());
|
||||||
|
|
||||||
|
new AlertDialog.Builder(this)
|
||||||
|
.setTitle(R.string.local_update_import)
|
||||||
|
.setMessage(getString(R.string.local_update_import_success, update.getVersion()))
|
||||||
|
.setPositiveButton(R.string.local_update_import_install, (dialog, which) -> {
|
||||||
|
mAdapter.addItem(update.getDownloadId());
|
||||||
|
// Update UI
|
||||||
|
getUpdatesList();
|
||||||
|
Utils.triggerUpdate(this, update.getDownloadId());
|
||||||
|
})
|
||||||
|
.setNegativeButton(android.R.string.cancel, (dialog, which) -> deleteUpdate.run())
|
||||||
|
.setOnCancelListener((dialog) -> deleteUpdate.run())
|
||||||
|
.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
private final ServiceConnection mConnection = new ServiceConnection() {
|
||||||
@Override
|
@Override
|
||||||
public void onServiceConnected(ComponentName className,
|
public void onServiceConnected(ComponentName className,
|
||||||
IBinder service) {
|
IBinder service) {
|
||||||
@@ -404,6 +510,10 @@ public class UpdatesActivity extends UpdatesListActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void handleDownloadStatusChange(String downloadId) {
|
private void handleDownloadStatusChange(String downloadId) {
|
||||||
|
if (Update.LOCAL_ID.equals(downloadId)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
UpdateInfo update = mUpdaterService.getUpdaterController().getUpdate(downloadId);
|
UpdateInfo update = mUpdaterService.getUpdaterController().getUpdate(downloadId);
|
||||||
switch (update.getStatus()) {
|
switch (update.getStatus()) {
|
||||||
case PAUSED_ERROR:
|
case PAUSED_ERROR:
|
||||||
@@ -481,7 +591,8 @@ public class UpdatesActivity extends UpdatesListActivity {
|
|||||||
View view = LayoutInflater.from(this).inflate(R.layout.preferences_dialog, null);
|
View view = LayoutInflater.from(this).inflate(R.layout.preferences_dialog, null);
|
||||||
Spinner autoCheckInterval = view.findViewById(R.id.preferences_auto_updates_check_interval);
|
Spinner autoCheckInterval = view.findViewById(R.id.preferences_auto_updates_check_interval);
|
||||||
SwitchCompat autoDelete = view.findViewById(R.id.preferences_auto_delete_updates);
|
SwitchCompat autoDelete = view.findViewById(R.id.preferences_auto_delete_updates);
|
||||||
SwitchCompat dataWarning = view.findViewById(R.id.preferences_mobile_data_warning);
|
SwitchCompat meteredNetworkWarning = view.findViewById(
|
||||||
|
R.id.preferences_metered_network_warning);
|
||||||
SwitchCompat abPerfMode = view.findViewById(R.id.preferences_ab_perf_mode);
|
SwitchCompat abPerfMode = view.findViewById(R.id.preferences_ab_perf_mode);
|
||||||
SwitchCompat updateRecovery = view.findViewById(R.id.preferences_update_recovery);
|
SwitchCompat updateRecovery = view.findViewById(R.id.preferences_update_recovery);
|
||||||
|
|
||||||
@@ -492,7 +603,8 @@ public class UpdatesActivity extends UpdatesListActivity {
|
|||||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
||||||
autoCheckInterval.setSelection(Utils.getUpdateCheckSetting(this));
|
autoCheckInterval.setSelection(Utils.getUpdateCheckSetting(this));
|
||||||
autoDelete.setChecked(prefs.getBoolean(Constants.PREF_AUTO_DELETE_UPDATES, false));
|
autoDelete.setChecked(prefs.getBoolean(Constants.PREF_AUTO_DELETE_UPDATES, false));
|
||||||
dataWarning.setChecked(prefs.getBoolean(Constants.PREF_MOBILE_DATA_WARNING, true));
|
meteredNetworkWarning.setChecked(prefs.getBoolean(Constants.PREF_METERED_NETWORK_WARNING,
|
||||||
|
prefs.getBoolean(Constants.PREF_MOBILE_DATA_WARNING, true)));
|
||||||
abPerfMode.setChecked(prefs.getBoolean(Constants.PREF_AB_PERF_MODE, false));
|
abPerfMode.setChecked(prefs.getBoolean(Constants.PREF_AB_PERF_MODE, false));
|
||||||
|
|
||||||
if (getResources().getBoolean(R.bool.config_hideRecoveryUpdate)) {
|
if (getResources().getBoolean(R.bool.config_hideRecoveryUpdate)) {
|
||||||
@@ -531,7 +643,8 @@ public class UpdatesActivity extends UpdatesListActivity {
|
|||||||
.putInt(Constants.PREF_AUTO_UPDATES_CHECK_INTERVAL,
|
.putInt(Constants.PREF_AUTO_UPDATES_CHECK_INTERVAL,
|
||||||
autoCheckInterval.getSelectedItemPosition())
|
autoCheckInterval.getSelectedItemPosition())
|
||||||
.putBoolean(Constants.PREF_AUTO_DELETE_UPDATES, autoDelete.isChecked())
|
.putBoolean(Constants.PREF_AUTO_DELETE_UPDATES, autoDelete.isChecked())
|
||||||
.putBoolean(Constants.PREF_MOBILE_DATA_WARNING, dataWarning.isChecked())
|
.putBoolean(Constants.PREF_METERED_NETWORK_WARNING,
|
||||||
|
meteredNetworkWarning.isChecked())
|
||||||
.putBoolean(Constants.PREF_AB_PERF_MODE, abPerfMode.isChecked())
|
.putBoolean(Constants.PREF_AB_PERF_MODE, abPerfMode.isChecked())
|
||||||
.apply();
|
.apply();
|
||||||
|
|
||||||
@@ -554,4 +667,19 @@ public class UpdatesActivity extends UpdatesListActivity {
|
|||||||
})
|
})
|
||||||
.show();
|
.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void maybeShowWelcomeMessage() {
|
||||||
|
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
|
||||||
|
boolean alreadySeen = preferences.getBoolean(Constants.HAS_SEEN_WELCOME_MESSAGE, false);
|
||||||
|
if (alreadySeen) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
new AlertDialog.Builder(this)
|
||||||
|
.setTitle(R.string.welcome_title)
|
||||||
|
.setMessage(R.string.welcome_message)
|
||||||
|
.setPositiveButton(R.string.info_dialog_ok, (dialog, which) -> preferences.edit()
|
||||||
|
.putBoolean(Constants.HAS_SEEN_WELCOME_MESSAGE, true)
|
||||||
|
.apply())
|
||||||
|
.show();
|
||||||
|
}
|
||||||
}
|
}
|
@@ -24,10 +24,10 @@ import android.content.Context;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.os.SystemClock;
|
import android.os.SystemClock;
|
||||||
import android.preference.PreferenceManager;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import androidx.core.app.NotificationCompat;
|
import androidx.core.app.NotificationCompat;
|
||||||
|
import androidx.preference.PreferenceManager;
|
||||||
|
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
import org.lineageos.updater.download.DownloadClient;
|
import org.lineageos.updater.download.DownloadClient;
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2017-2022 The LineageOS Project
|
* Copyright (C) 2017-2025 The LineageOS Project
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -15,15 +15,12 @@
|
|||||||
*/
|
*/
|
||||||
package org.lineageos.updater;
|
package org.lineageos.updater;
|
||||||
|
|
||||||
import android.app.Activity;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.net.Uri;
|
|
||||||
import android.os.BatteryManager;
|
import android.os.BatteryManager;
|
||||||
import android.os.PowerManager;
|
import android.os.PowerManager;
|
||||||
import android.preference.PreferenceManager;
|
|
||||||
import android.text.SpannableString;
|
import android.text.SpannableString;
|
||||||
import android.text.format.Formatter;
|
import android.text.format.Formatter;
|
||||||
import android.text.method.LinkMovementMethod;
|
import android.text.method.LinkMovementMethod;
|
||||||
@@ -41,21 +38,19 @@ import android.widget.LinearLayout;
|
|||||||
import android.widget.ProgressBar;
|
import android.widget.ProgressBar;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import androidx.activity.result.ActivityResultLauncher;
|
|
||||||
import androidx.activity.result.contract.ActivityResultContracts;
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.appcompat.app.AlertDialog;
|
import androidx.appcompat.app.AlertDialog;
|
||||||
import androidx.appcompat.view.ContextThemeWrapper;
|
import androidx.appcompat.view.ContextThemeWrapper;
|
||||||
import androidx.appcompat.view.menu.MenuBuilder;
|
import androidx.appcompat.view.menu.MenuBuilder;
|
||||||
import androidx.appcompat.view.menu.MenuPopupHelper;
|
import androidx.appcompat.view.menu.MenuPopupHelper;
|
||||||
import androidx.appcompat.widget.PopupMenu;
|
import androidx.appcompat.widget.PopupMenu;
|
||||||
|
import androidx.preference.PreferenceManager;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
import com.google.android.material.snackbar.Snackbar;
|
import com.google.android.material.snackbar.Snackbar;
|
||||||
|
|
||||||
import org.lineageos.updater.controller.UpdaterController;
|
import org.lineageos.updater.controller.UpdaterController;
|
||||||
import org.lineageos.updater.controller.UpdaterService;
|
import org.lineageos.updater.controller.UpdaterService;
|
||||||
import org.lineageos.updater.misc.BuildInfoUtils;
|
|
||||||
import org.lineageos.updater.misc.Constants;
|
import org.lineageos.updater.misc.Constants;
|
||||||
import org.lineageos.updater.misc.StringGenerator;
|
import org.lineageos.updater.misc.StringGenerator;
|
||||||
import org.lineageos.updater.misc.Utils;
|
import org.lineageos.updater.misc.Utils;
|
||||||
@@ -63,9 +58,13 @@ import org.lineageos.updater.model.UpdateInfo;
|
|||||||
import org.lineageos.updater.model.UpdateStatus;
|
import org.lineageos.updater.model.UpdateStatus;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.NumberFormat;
|
import java.text.NumberFormat;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
public class UpdatesListAdapter extends RecyclerView.Adapter<UpdatesListAdapter.ViewHolder> {
|
public class UpdatesListAdapter extends RecyclerView.Adapter<UpdatesListAdapter.ViewHolder> {
|
||||||
|
|
||||||
@@ -185,6 +184,9 @@ public class UpdatesListAdapter extends RecyclerView.Adapter<UpdatesListAdapter.
|
|||||||
update.getFinalizing() ?
|
update.getFinalizing() ?
|
||||||
R.string.finalizing_package :
|
R.string.finalizing_package :
|
||||||
R.string.preparing_ota_first_boot);
|
R.string.preparing_ota_first_boot);
|
||||||
|
String percentage = NumberFormat.getPercentInstance().format(
|
||||||
|
update.getInstallProgress() / 100.f);
|
||||||
|
viewHolder.mPercentage.setText(percentage);
|
||||||
viewHolder.mProgressBar.setIndeterminate(false);
|
viewHolder.mProgressBar.setIndeterminate(false);
|
||||||
viewHolder.mProgressBar.setProgress(update.getInstallProgress());
|
viewHolder.mProgressBar.setProgress(update.getInstallProgress());
|
||||||
} else if (mUpdaterController.isVerifyingUpdate(downloadId)) {
|
} else if (mUpdaterController.isVerifyingUpdate(downloadId)) {
|
||||||
@@ -294,6 +296,14 @@ public class UpdatesListAdapter extends RecyclerView.Adapter<UpdatesListAdapter.
|
|||||||
mDownloadIds = downloadIds;
|
mDownloadIds = downloadIds;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void addItem(String downloadId) {
|
||||||
|
if (mDownloadIds == null) {
|
||||||
|
mDownloadIds = new ArrayList<>();
|
||||||
|
}
|
||||||
|
mDownloadIds.add(0, downloadId);
|
||||||
|
notifyItemInserted(0);
|
||||||
|
}
|
||||||
|
|
||||||
public void notifyItemChanged(String downloadId) {
|
public void notifyItemChanged(String downloadId) {
|
||||||
if (mDownloadIds == null) {
|
if (mDownloadIds == null) {
|
||||||
return;
|
return;
|
||||||
@@ -313,25 +323,25 @@ public class UpdatesListAdapter extends RecyclerView.Adapter<UpdatesListAdapter.
|
|||||||
|
|
||||||
private void startDownloadWithWarning(final String downloadId) {
|
private void startDownloadWithWarning(final String downloadId) {
|
||||||
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(mActivity);
|
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(mActivity);
|
||||||
boolean warn = preferences.getBoolean(Constants.PREF_MOBILE_DATA_WARNING, true);
|
boolean warn = preferences.getBoolean(Constants.PREF_METERED_NETWORK_WARNING, true);
|
||||||
if (Utils.isOnWifiOrEthernet(mActivity) || !warn) {
|
if (!(Utils.isNetworkMetered(mActivity) && warn)) {
|
||||||
mUpdaterController.startDownload(downloadId);
|
mUpdaterController.startDownload(downloadId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
View checkboxView = LayoutInflater.from(mActivity).inflate(R.layout.checkbox_view, null);
|
View checkboxView = LayoutInflater.from(mActivity).inflate(R.layout.checkbox_view, null);
|
||||||
CheckBox checkbox = checkboxView.findViewById(R.id.checkbox);
|
CheckBox checkbox = checkboxView.findViewById(R.id.checkbox);
|
||||||
checkbox.setText(R.string.checkbox_mobile_data_warning);
|
checkbox.setText(R.string.checkbox_metered_network_warning);
|
||||||
|
|
||||||
new AlertDialog.Builder(mActivity)
|
new AlertDialog.Builder(mActivity)
|
||||||
.setTitle(R.string.update_on_mobile_data_title)
|
.setTitle(R.string.update_over_metered_network_title)
|
||||||
.setMessage(R.string.update_on_mobile_data_message)
|
.setMessage(R.string.update_over_metered_network_message)
|
||||||
.setView(checkboxView)
|
.setView(checkboxView)
|
||||||
.setPositiveButton(R.string.action_download,
|
.setPositiveButton(R.string.action_download,
|
||||||
(dialog, which) -> {
|
(dialog, which) -> {
|
||||||
if (checkbox.isChecked()) {
|
if (checkbox.isChecked()) {
|
||||||
preferences.edit()
|
preferences.edit()
|
||||||
.putBoolean(Constants.PREF_MOBILE_DATA_WARNING, false)
|
.putBoolean(Constants.PREF_METERED_NETWORK_WARNING, false)
|
||||||
.apply();
|
.apply();
|
||||||
mActivity.supportInvalidateOptionsMenu();
|
mActivity.supportInvalidateOptionsMenu();
|
||||||
}
|
}
|
||||||
@@ -463,6 +473,12 @@ public class UpdatesListAdapter extends RecyclerView.Adapter<UpdatesListAdapter.
|
|||||||
.setMessage(message)
|
.setMessage(message)
|
||||||
.setPositiveButton(android.R.string.ok, null);
|
.setPositiveButton(android.R.string.ok, null);
|
||||||
}
|
}
|
||||||
|
if (isScratchMounted()) {
|
||||||
|
return new AlertDialog.Builder(mActivity)
|
||||||
|
.setTitle(R.string.dialog_scratch_mounted_title)
|
||||||
|
.setMessage(R.string.dialog_scratch_mounted_message)
|
||||||
|
.setPositiveButton(android.R.string.ok, null);
|
||||||
|
}
|
||||||
UpdateInfo update = mUpdaterController.getUpdate(downloadId);
|
UpdateInfo update = mUpdaterController.getUpdate(downloadId);
|
||||||
int resId;
|
int resId;
|
||||||
try {
|
try {
|
||||||
@@ -529,11 +545,15 @@ public class UpdatesListAdapter extends RecyclerView.Adapter<UpdatesListAdapter.
|
|||||||
R.attr.actionOverflowMenuStyle, 0);
|
R.attr.actionOverflowMenuStyle, 0);
|
||||||
popupMenu.inflate(R.menu.menu_action_mode);
|
popupMenu.inflate(R.menu.menu_action_mode);
|
||||||
|
|
||||||
|
boolean shouldShowDelete = canDelete;
|
||||||
|
boolean isVerified = update.getPersistentStatus() == UpdateStatus.Persistent.VERIFIED;
|
||||||
|
if (isVerified && !Utils.canInstall(update) && !update.getAvailableOnline()) {
|
||||||
|
shouldShowDelete = false;
|
||||||
|
}
|
||||||
MenuBuilder menu = (MenuBuilder) popupMenu.getMenu();
|
MenuBuilder menu = (MenuBuilder) popupMenu.getMenu();
|
||||||
menu.findItem(R.id.menu_delete_action).setVisible(canDelete);
|
menu.findItem(R.id.menu_delete_action).setVisible(shouldShowDelete);
|
||||||
menu.findItem(R.id.menu_copy_url).setVisible(update.getAvailableOnline());
|
menu.findItem(R.id.menu_copy_url).setVisible(update.getAvailableOnline());
|
||||||
menu.findItem(R.id.menu_export_update).setVisible(
|
menu.findItem(R.id.menu_export_update).setVisible(isVerified);
|
||||||
update.getPersistentStatus() == UpdateStatus.Persistent.VERIFIED);
|
|
||||||
|
|
||||||
popupMenu.setOnMenuItemClickListener(item -> {
|
popupMenu.setOnMenuItemClickListener(item -> {
|
||||||
int itemId = item.getItemId();
|
int itemId = item.getItemId();
|
||||||
@@ -582,7 +602,7 @@ public class UpdatesListAdapter extends RecyclerView.Adapter<UpdatesListAdapter.
|
|||||||
private boolean isBatteryLevelOk() {
|
private boolean isBatteryLevelOk() {
|
||||||
Intent intent = mActivity.registerReceiver(null,
|
Intent intent = mActivity.registerReceiver(null,
|
||||||
new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
|
new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
|
||||||
if (!intent.getBooleanExtra(BatteryManager.EXTRA_PRESENT, false)) {
|
if (intent == null || !intent.getBooleanExtra(BatteryManager.EXTRA_PRESENT, false)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
int percent = Math.round(100.f * intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 100) /
|
int percent = Math.round(100.f * intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 100) /
|
||||||
@@ -593,4 +613,12 @@ public class UpdatesListAdapter extends RecyclerView.Adapter<UpdatesListAdapter.
|
|||||||
mActivity.getResources().getInteger(R.integer.battery_ok_percentage_discharging);
|
mActivity.getResources().getInteger(R.integer.battery_ok_percentage_discharging);
|
||||||
return percent >= required;
|
return percent >= required;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static boolean isScratchMounted() {
|
||||||
|
try (Stream<String> lines = Files.lines(Path.of("/proc/mounts"))) {
|
||||||
|
return lines.anyMatch(x -> x.split(" ")[1].equals("/mnt/scratch"));
|
||||||
|
} catch (IOException e) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2017-2022 The LineageOS Project
|
* Copyright (C) 2017-2024 The LineageOS Project
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -17,6 +17,7 @@ package org.lineageos.updater.controller;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
|
import android.os.ServiceSpecificException;
|
||||||
import android.os.UpdateEngine;
|
import android.os.UpdateEngine;
|
||||||
import android.os.UpdateEngineCallback;
|
import android.os.UpdateEngineCallback;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
@@ -159,6 +160,10 @@ class ABUpdateInstaller {
|
|||||||
mDownloadId = downloadId;
|
mDownloadId = downloadId;
|
||||||
|
|
||||||
File file = mUpdaterController.getActualUpdate(mDownloadId).getFile();
|
File file = mUpdaterController.getActualUpdate(mDownloadId).getFile();
|
||||||
|
install(file, downloadId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void install(File file, String downloadId) {
|
||||||
if (!file.exists()) {
|
if (!file.exists()) {
|
||||||
Log.e(TAG, "The given update doesn't exist");
|
Log.e(TAG, "The given update doesn't exist");
|
||||||
mUpdaterController.getActualUpdate(downloadId)
|
mUpdaterController.getActualUpdate(downloadId)
|
||||||
@@ -208,7 +213,17 @@ class ABUpdateInstaller {
|
|||||||
mUpdateEngine.setPerformanceMode(enableABPerfMode);
|
mUpdateEngine.setPerformanceMode(enableABPerfMode);
|
||||||
|
|
||||||
String zipFileUri = "file://" + file.getAbsolutePath();
|
String zipFileUri = "file://" + file.getAbsolutePath();
|
||||||
mUpdateEngine.applyPayload(zipFileUri, offset, 0, headerKeyValuePairs);
|
try {
|
||||||
|
mUpdateEngine.applyPayload(zipFileUri, offset, 0, headerKeyValuePairs);
|
||||||
|
} catch (ServiceSpecificException e) {
|
||||||
|
if (e.errorCode == 66 /* kUpdateAlreadyInstalled */) {
|
||||||
|
installationDone(true);
|
||||||
|
mUpdaterController.getActualUpdate(mDownloadId).setStatus(UpdateStatus.INSTALLED);
|
||||||
|
mUpdaterController.notifyUpdateChange(mDownloadId);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
|
||||||
mUpdaterController.getActualUpdate(mDownloadId).setStatus(UpdateStatus.INSTALLING);
|
mUpdaterController.getActualUpdate(mDownloadId).setStatus(UpdateStatus.INSTALLING);
|
||||||
mUpdaterController.notifyUpdateChange(mDownloadId);
|
mUpdaterController.notifyUpdateChange(mDownloadId);
|
||||||
@@ -241,8 +256,7 @@ class ABUpdateInstaller {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void installationDone(boolean needsReboot) {
|
private void installationDone(boolean needsReboot) {
|
||||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext);
|
String id = needsReboot ? mDownloadId : null;
|
||||||
String id = needsReboot ? prefs.getString(PREF_INSTALLING_AB_ID, null) : null;
|
|
||||||
PreferenceManager.getDefaultSharedPreferences(mContext).edit()
|
PreferenceManager.getDefaultSharedPreferences(mContext).edit()
|
||||||
.putString(Constants.PREF_NEEDS_REBOOT_ID, id)
|
.putString(Constants.PREF_NEEDS_REBOOT_ID, id)
|
||||||
.remove(PREF_INSTALLING_AB_ID)
|
.remove(PREF_INSTALLING_AB_ID)
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2017-2022 The LineageOS Project
|
* Copyright (C) 2017-2025 The LineageOS Project
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -66,7 +66,7 @@ public class UpdaterController {
|
|||||||
private int mActiveDownloads = 0;
|
private int mActiveDownloads = 0;
|
||||||
private final Set<String> mVerifyingUpdates = new HashSet<>();
|
private final Set<String> mVerifyingUpdates = new HashSet<>();
|
||||||
|
|
||||||
protected static synchronized UpdaterController getInstance(Context context) {
|
public static synchronized UpdaterController getInstance(Context context) {
|
||||||
if (sUpdaterController == null) {
|
if (sUpdaterController == null) {
|
||||||
sUpdaterController = new UpdaterController(context);
|
sUpdaterController = new UpdaterController(context);
|
||||||
}
|
}
|
||||||
@@ -330,7 +330,7 @@ public class UpdaterController {
|
|||||||
return addUpdate(update, true);
|
return addUpdate(update, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean addUpdate(final UpdateInfo updateInfo, boolean availableOnline) {
|
public boolean addUpdate(final UpdateInfo updateInfo, boolean availableOnline) {
|
||||||
Log.d(TAG, "Adding download: " + updateInfo.getDownloadId());
|
Log.d(TAG, "Adding download: " + updateInfo.getDownloadId());
|
||||||
if (mDownloads.containsKey(updateInfo.getDownloadId())) {
|
if (mDownloads.containsKey(updateInfo.getDownloadId())) {
|
||||||
Log.d(TAG, "Download (" + updateInfo.getDownloadId() + ") already added");
|
Log.d(TAG, "Download (" + updateInfo.getDownloadId() + ") already added");
|
||||||
@@ -470,7 +470,7 @@ public class UpdaterController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void deleteUpdate(String downloadId) {
|
public void deleteUpdate(String downloadId) {
|
||||||
Log.d(TAG, "Cancelling " + downloadId);
|
Log.d(TAG, "Deleting update: " + downloadId);
|
||||||
if (!mDownloads.containsKey(downloadId) || isDownloading(downloadId)) {
|
if (!mDownloads.containsKey(downloadId) || isDownloading(downloadId)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -482,7 +482,8 @@ public class UpdaterController {
|
|||||||
update.setPersistentStatus(UpdateStatus.Persistent.UNKNOWN);
|
update.setPersistentStatus(UpdateStatus.Persistent.UNKNOWN);
|
||||||
deleteUpdateAsync(update);
|
deleteUpdateAsync(update);
|
||||||
|
|
||||||
if (!update.getAvailableOnline()) {
|
final boolean isLocalUpdate = Update.LOCAL_ID.equals(downloadId);
|
||||||
|
if (!isLocalUpdate && !update.getAvailableOnline()) {
|
||||||
Log.d(TAG, "Download no longer available online, removing");
|
Log.d(TAG, "Download no longer available online, removing");
|
||||||
mDownloads.remove(downloadId);
|
mDownloads.remove(downloadId);
|
||||||
notifyUpdateDelete(downloadId);
|
notifyUpdateDelete(downloadId);
|
||||||
@@ -521,7 +522,7 @@ public class UpdaterController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean isVerifyingUpdate() {
|
public boolean isVerifyingUpdate() {
|
||||||
return mVerifyingUpdates.size() > 0;
|
return !mVerifyingUpdates.isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isVerifyingUpdate(String downloadId) {
|
public boolean isVerifyingUpdate(String downloadId) {
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2017-2022 The LineageOS Project
|
* Copyright (C) 2017-2025 The LineageOS Project
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -24,6 +24,7 @@ import android.content.Context;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
|
import android.content.pm.ServiceInfo;
|
||||||
import android.os.Binder;
|
import android.os.Binder;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
@@ -37,10 +38,10 @@ import androidx.preference.PreferenceManager;
|
|||||||
import org.lineageos.updater.R;
|
import org.lineageos.updater.R;
|
||||||
import org.lineageos.updater.UpdaterReceiver;
|
import org.lineageos.updater.UpdaterReceiver;
|
||||||
import org.lineageos.updater.UpdatesActivity;
|
import org.lineageos.updater.UpdatesActivity;
|
||||||
import org.lineageos.updater.misc.BuildInfoUtils;
|
|
||||||
import org.lineageos.updater.misc.Constants;
|
import org.lineageos.updater.misc.Constants;
|
||||||
import org.lineageos.updater.misc.StringGenerator;
|
import org.lineageos.updater.misc.StringGenerator;
|
||||||
import org.lineageos.updater.misc.Utils;
|
import org.lineageos.updater.misc.Utils;
|
||||||
|
import org.lineageos.updater.model.Update;
|
||||||
import org.lineageos.updater.model.UpdateInfo;
|
import org.lineageos.updater.model.UpdateInfo;
|
||||||
import org.lineageos.updater.model.UpdateStatus;
|
import org.lineageos.updater.model.UpdateStatus;
|
||||||
|
|
||||||
@@ -122,8 +123,10 @@ public class UpdaterService extends Service {
|
|||||||
setNotificationTitle(update);
|
setNotificationTitle(update);
|
||||||
handleInstallProgress(update);
|
handleInstallProgress(update);
|
||||||
} else if (UpdaterController.ACTION_UPDATE_REMOVED.equals(intent.getAction())) {
|
} else if (UpdaterController.ACTION_UPDATE_REMOVED.equals(intent.getAction())) {
|
||||||
|
final boolean isLocalUpdate = Update.LOCAL_ID.equals(downloadId);
|
||||||
Bundle extras = mNotificationBuilder.getExtras();
|
Bundle extras = mNotificationBuilder.getExtras();
|
||||||
if (downloadId.equals(extras.getString(UpdaterController.EXTRA_DOWNLOAD_ID))) {
|
if (!isLocalUpdate && downloadId != null && downloadId.equals(
|
||||||
|
extras.getString(UpdaterController.EXTRA_DOWNLOAD_ID))) {
|
||||||
mNotificationBuilder.setExtras(null);
|
mNotificationBuilder.setExtras(null);
|
||||||
UpdateInfo update = mUpdaterController.getUpdate(downloadId);
|
UpdateInfo update = mUpdaterController.getUpdate(downloadId);
|
||||||
if (update.getStatus() != UpdateStatus.INSTALLED) {
|
if (update.getStatus() != UpdateStatus.INSTALLED) {
|
||||||
@@ -271,7 +274,8 @@ public class UpdaterService extends Service {
|
|||||||
mNotificationBuilder.setTicker(text);
|
mNotificationBuilder.setTicker(text);
|
||||||
mNotificationBuilder.setOngoing(true);
|
mNotificationBuilder.setOngoing(true);
|
||||||
mNotificationBuilder.setAutoCancel(false);
|
mNotificationBuilder.setAutoCancel(false);
|
||||||
startForeground(NOTIFICATION_ID, mNotificationBuilder.build());
|
startForeground(NOTIFICATION_ID, mNotificationBuilder.build(),
|
||||||
|
ServiceInfo.FOREGROUND_SERVICE_TYPE_SPECIAL_USE);
|
||||||
mNotificationManager.notify(NOTIFICATION_ID, mNotificationBuilder.build());
|
mNotificationManager.notify(NOTIFICATION_ID, mNotificationBuilder.build());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -386,7 +390,8 @@ public class UpdaterService extends Service {
|
|||||||
mNotificationBuilder.setTicker(text);
|
mNotificationBuilder.setTicker(text);
|
||||||
mNotificationBuilder.setOngoing(true);
|
mNotificationBuilder.setOngoing(true);
|
||||||
mNotificationBuilder.setAutoCancel(false);
|
mNotificationBuilder.setAutoCancel(false);
|
||||||
startForeground(NOTIFICATION_ID, mNotificationBuilder.build());
|
startForeground(NOTIFICATION_ID, mNotificationBuilder.build(),
|
||||||
|
ServiceInfo.FOREGROUND_SERVICE_TYPE_SPECIAL_USE);
|
||||||
mNotificationManager.notify(NOTIFICATION_ID, mNotificationBuilder.build());
|
mNotificationManager.notify(NOTIFICATION_ID, mNotificationBuilder.build());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -408,7 +413,9 @@ public class UpdaterService extends Service {
|
|||||||
|
|
||||||
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);
|
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);
|
||||||
boolean deleteUpdate = pref.getBoolean(Constants.PREF_AUTO_DELETE_UPDATES, false);
|
boolean deleteUpdate = pref.getBoolean(Constants.PREF_AUTO_DELETE_UPDATES, false);
|
||||||
if (deleteUpdate) {
|
boolean isLocal = Update.LOCAL_ID.equals(update.getDownloadId());
|
||||||
|
// Always delete local updates
|
||||||
|
if (deleteUpdate || isLocal) {
|
||||||
mUpdaterController.deleteUpdate(update.getDownloadId());
|
mUpdaterController.deleteUpdate(update.getDownloadId());
|
||||||
}
|
}
|
||||||
|
|
@@ -282,7 +282,7 @@ public class HttpURLConnectionClient implements DownloadClient {
|
|||||||
InputStream inputStream = mClient.getInputStream();
|
InputStream inputStream = mClient.getInputStream();
|
||||||
OutputStream outputStream = new FileOutputStream(mDestination, mResume)
|
OutputStream outputStream = new FileOutputStream(mDestination, mResume)
|
||||||
) {
|
) {
|
||||||
mTotalBytes = mClient.getContentLength() + mTotalBytesRead;
|
mTotalBytes = mClient.getContentLengthLong() + mTotalBytesRead;
|
||||||
byte[] b = new byte[8192];
|
byte[] b = new byte[8192];
|
||||||
int count;
|
int count;
|
||||||
while (!isInterrupted() && (count = inputStream.read(b)) > 0) {
|
while (!isInterrupted() && (count = inputStream.read(b)) > 0) {
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2017-2020 The LineageOS Project
|
* Copyright (C) 2017-2023 The LineageOS Project
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -32,12 +32,14 @@ public final class Constants {
|
|||||||
public static final String PREF_AUTO_UPDATES_CHECK_INTERVAL = "auto_updates_check_interval";
|
public static final String PREF_AUTO_UPDATES_CHECK_INTERVAL = "auto_updates_check_interval";
|
||||||
public static final String PREF_AUTO_DELETE_UPDATES = "auto_delete_updates";
|
public static final String PREF_AUTO_DELETE_UPDATES = "auto_delete_updates";
|
||||||
public static final String PREF_AB_PERF_MODE = "ab_perf_mode";
|
public static final String PREF_AB_PERF_MODE = "ab_perf_mode";
|
||||||
|
public static final String PREF_METERED_NETWORK_WARNING = "pref_metered_network_warning";
|
||||||
public static final String PREF_MOBILE_DATA_WARNING = "pref_mobile_data_warning";
|
public static final String PREF_MOBILE_DATA_WARNING = "pref_mobile_data_warning";
|
||||||
public static final String PREF_NEEDS_REBOOT_ID = "needs_reboot_id";
|
public static final String PREF_NEEDS_REBOOT_ID = "needs_reboot_id";
|
||||||
|
|
||||||
public static final String UNCRYPT_FILE_EXT = ".uncrypt";
|
public static final String UNCRYPT_FILE_EXT = ".uncrypt";
|
||||||
|
|
||||||
public static final String PROP_AB_DEVICE = "ro.build.ab_update";
|
public static final String PROP_AB_DEVICE = "ro.build.ab_update";
|
||||||
|
public static final String PROP_ALLOW_MAJOR_UPGRADES = "lineage.updater.allow_major_upgrades";
|
||||||
public static final String PROP_BUILD_DATE = "ro.build.date.utc";
|
public static final String PROP_BUILD_DATE = "ro.build.date.utc";
|
||||||
public static final String PROP_BUILD_VERSION = "ro.lineage.build.version";
|
public static final String PROP_BUILD_VERSION = "ro.lineage.build.version";
|
||||||
public static final String PROP_BUILD_VERSION_INCREMENTAL = "ro.build.version.incremental";
|
public static final String PROP_BUILD_VERSION_INCREMENTAL = "ro.build.version.incremental";
|
||||||
@@ -57,4 +59,5 @@ public final class Constants {
|
|||||||
public static final String UPDATE_RECOVERY_PROPERTY = "persist.vendor.recovery_update";
|
public static final String UPDATE_RECOVERY_PROPERTY = "persist.vendor.recovery_update";
|
||||||
|
|
||||||
public static final String HAS_SEEN_INFO_DIALOG = "has_seen_info_dialog";
|
public static final String HAS_SEEN_INFO_DIALOG = "has_seen_info_dialog";
|
||||||
|
public static final String HAS_SEEN_WELCOME_MESSAGE = "has_seen_welcome_message";
|
||||||
}
|
}
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2017-2022 The LineageOS Project
|
* Copyright (C) 2017-2025 The LineageOS Project
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -23,13 +23,15 @@ import android.content.Intent;
|
|||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.net.ConnectivityManager;
|
import android.net.ConnectivityManager;
|
||||||
import android.net.NetworkInfo;
|
import android.net.Network;
|
||||||
|
import android.net.NetworkCapabilities;
|
||||||
import android.os.SystemProperties;
|
import android.os.SystemProperties;
|
||||||
import android.os.storage.StorageManager;
|
import android.os.storage.StorageManager;
|
||||||
import android.preference.PreferenceManager;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import androidx.preference.PreferenceManager;
|
||||||
|
|
||||||
import org.json.JSONArray;
|
import org.json.JSONArray;
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
@@ -64,17 +66,6 @@ public class Utils {
|
|||||||
return new File(context.getString(R.string.download_path));
|
return new File(context.getString(R.string.download_path));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static File getExportPath(Context context) {
|
|
||||||
File dir = new File(context.getExternalFilesDir(null),
|
|
||||||
context.getString(R.string.export_path));
|
|
||||||
if (!dir.isDirectory()) {
|
|
||||||
if (dir.exists() || !dir.mkdirs()) {
|
|
||||||
throw new RuntimeException("Could not create directory");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return dir;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static File getCachedUpdateList(Context context) {
|
public static File getCachedUpdateList(Context context) {
|
||||||
return new File(context.getCacheDir(), "updates.json");
|
return new File(context.getCacheDir(), "updates.json");
|
||||||
}
|
}
|
||||||
@@ -110,11 +101,32 @@ public class Utils {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static boolean compareVersions(String a, String b, boolean allowMajorUpgrades) {
|
||||||
|
try {
|
||||||
|
int majorA = Integer.parseInt(a.split("\\.")[0]);
|
||||||
|
int minorA = Integer.parseInt(a.split("\\.")[1]);
|
||||||
|
|
||||||
|
int majorB = Integer.parseInt(b.split("\\.")[0]);
|
||||||
|
int minorB = Integer.parseInt(b.split("\\.")[1]);
|
||||||
|
|
||||||
|
// Return early and allow if we allow major version upgrades
|
||||||
|
return (allowMajorUpgrades && majorA > majorB)
|
||||||
|
|| (majorA == majorB && minorA >= minorB);
|
||||||
|
} catch (ArrayIndexOutOfBoundsException | NumberFormatException e) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static boolean canInstall(UpdateBaseInfo update) {
|
public static boolean canInstall(UpdateBaseInfo update) {
|
||||||
|
boolean allowMajorUpgrades = SystemProperties.getBoolean(
|
||||||
|
Constants.PROP_ALLOW_MAJOR_UPGRADES, false);
|
||||||
|
|
||||||
return (SystemProperties.getBoolean(Constants.PROP_UPDATER_ALLOW_DOWNGRADING, false) ||
|
return (SystemProperties.getBoolean(Constants.PROP_UPDATER_ALLOW_DOWNGRADING, false) ||
|
||||||
update.getTimestamp() > SystemProperties.getLong(Constants.PROP_BUILD_DATE, 0)) &&
|
update.getTimestamp() > SystemProperties.getLong(Constants.PROP_BUILD_DATE, 0)) &&
|
||||||
update.getVersion().equalsIgnoreCase(
|
compareVersions(
|
||||||
SystemProperties.get(Constants.PROP_BUILD_VERSION));
|
update.getVersion(),
|
||||||
|
SystemProperties.get(Constants.PROP_BUILD_VERSION),
|
||||||
|
allowMajorUpgrades);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<UpdateInfo> parseJson(File file, boolean compatibleOnly)
|
public static List<UpdateInfo> parseJson(File file, boolean compatibleOnly)
|
||||||
@@ -186,15 +198,23 @@ public class Utils {
|
|||||||
|
|
||||||
public static boolean isNetworkAvailable(Context context) {
|
public static boolean isNetworkAvailable(Context context) {
|
||||||
ConnectivityManager cm = context.getSystemService(ConnectivityManager.class);
|
ConnectivityManager cm = context.getSystemService(ConnectivityManager.class);
|
||||||
NetworkInfo info = cm.getActiveNetworkInfo();
|
Network activeNetwork = cm.getActiveNetwork();
|
||||||
return !(info == null || !info.isConnected() || !info.isAvailable());
|
NetworkCapabilities networkCapabilities = cm.getNetworkCapabilities(activeNetwork);
|
||||||
|
if (networkCapabilities != null &&
|
||||||
|
networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) &&
|
||||||
|
networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED)) {
|
||||||
|
return networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)
|
||||||
|
|| networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET)
|
||||||
|
|| networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_USB)
|
||||||
|
|| networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_VPN)
|
||||||
|
|| networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isOnWifiOrEthernet(Context context) {
|
public static boolean isNetworkMetered(Context context) {
|
||||||
ConnectivityManager cm = context.getSystemService(ConnectivityManager.class);
|
ConnectivityManager cm = context.getSystemService(ConnectivityManager.class);
|
||||||
NetworkInfo info = cm.getActiveNetworkInfo();
|
return cm.isActiveNetworkMetered();
|
||||||
return (info != null && (info.getType() == ConnectivityManager.TYPE_ETHERNET
|
|
||||||
|| info.getType() == ConnectivityManager.TYPE_WIFI));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -307,10 +327,11 @@ public class Utils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Ideally the database is empty when we get here
|
// Ideally the database is empty when we get here
|
||||||
UpdatesDbHelper dbHelper = new UpdatesDbHelper(context);
|
|
||||||
List<String> knownPaths = new ArrayList<>();
|
List<String> knownPaths = new ArrayList<>();
|
||||||
for (UpdateInfo update : dbHelper.getUpdates()) {
|
try (UpdatesDbHelper dbHelper = new UpdatesDbHelper(context)) {
|
||||||
knownPaths.add(update.getFile().getAbsolutePath());
|
for (UpdateInfo update : dbHelper.getUpdates()) {
|
||||||
|
knownPaths.add(update.getFile().getAbsolutePath());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for (File file : files) {
|
for (File file : files) {
|
||||||
if (!knownPaths.contains(file.getAbsolutePath())) {
|
if (!knownPaths.contains(file.getAbsolutePath())) {
|
@@ -18,6 +18,7 @@ package org.lineageos.updater.model;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
public class Update extends UpdateBase implements UpdateInfo {
|
public class Update extends UpdateBase implements UpdateInfo {
|
||||||
|
public static final String LOCAL_ID = "local";
|
||||||
|
|
||||||
private UpdateStatus mStatus = UpdateStatus.UNKNOWN;
|
private UpdateStatus mStatus = UpdateStatus.UNKNOWN;
|
||||||
private int mPersistentStatus = UpdateStatus.Persistent.UNKNOWN;
|
private int mPersistentStatus = UpdateStatus.Persistent.UNKNOWN;
|
@@ -11,6 +11,7 @@
|
|||||||
android:baselineAligned="false">
|
android:baselineAligned="false">
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
|
android:id="@+id/header_container"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
@@ -31,7 +32,7 @@
|
|||||||
android:paddingBottom="16dp"
|
android:paddingBottom="16dp"
|
||||||
android:textColor="?android:attr/textColorPrimary"
|
android:textColor="?android:attr/textColorPrimary"
|
||||||
android:textSize="56sp"
|
android:textSize="56sp"
|
||||||
tools:text="LineageOS\n18.1" />
|
tools:text="LineageOS\n20" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/header_build_version"
|
android:id="@+id/header_build_version"
|
||||||
@@ -39,7 +40,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textColor="?android:attr/textColorPrimary"
|
android:textColor="?android:attr/textColorPrimary"
|
||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
tools:text="Android 11"/>
|
tools:text="Android 13"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/header_build_date"
|
android:id="@+id/header_build_date"
|
||||||
@@ -47,7 +48,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textColor="?android:attr/textColorPrimary"
|
android:textColor="?android:attr/textColorPrimary"
|
||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
tools:text="2022-01-01"/>
|
tools:text="1970-01-01"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/header_last_check"
|
android:id="@+id/header_last_check"
|
||||||
@@ -55,7 +56,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textColor="?android:attr/textColorPrimary"
|
android:textColor="?android:attr/textColorPrimary"
|
||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
tools:text="Last checked: 2022-01-01"/>
|
tools:text="Last checked: 1970-01-01"/>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
@@ -116,7 +117,8 @@
|
|||||||
android:clipToPadding="false"
|
android:clipToPadding="false"
|
||||||
android:paddingBottom="5dp"
|
android:paddingBottom="5dp"
|
||||||
android:scrollbars="vertical"
|
android:scrollbars="vertical"
|
||||||
android:layout_gravity="end" />
|
android:layout_gravity="end"
|
||||||
|
tools:listitem="@layout/update_item_view"/>
|
||||||
|
|
||||||
<ProgressBar
|
<ProgressBar
|
||||||
android:id="@+id/refresh_progress"
|
android:id="@+id/refresh_progress"
|
@@ -8,8 +8,11 @@
|
|||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
android:foreground="?attr/selectableItemBackground"
|
android:foreground="?attr/selectableItemBackground"
|
||||||
android:nextFocusRight="@+id/update_action"
|
android:nextFocusRight="@+id/update_action"
|
||||||
|
android:layout_marginTop="8dp"
|
||||||
|
android:layout_marginStart="8dp"
|
||||||
|
android:layout_marginEnd="8dp"
|
||||||
app:cardBackgroundColor="@color/tv_card_background"
|
app:cardBackgroundColor="@color/tv_card_background"
|
||||||
app:cardCornerRadius="0dp"
|
app:cardCornerRadius="16dp"
|
||||||
app:contentPadding="16dp">
|
app:contentPadding="16dp">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
@@ -82,7 +85,7 @@
|
|||||||
android:ellipsize="marquee"
|
android:ellipsize="marquee"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:visibility="invisible"
|
android:visibility="invisible"
|
||||||
tools:text="162 of 300 MB (3 minutes left)"
|
tools:text="162 of 1.1GB (3 minutes left)"
|
||||||
tools:visibility="visible" />
|
tools:visibility="visible" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
@@ -2,6 +2,7 @@
|
|||||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:id="@+id/main_container"
|
android:id="@+id/main_container"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
@@ -38,6 +39,7 @@
|
|||||||
app:toolbarId="@id/action_bar">
|
app:toolbarId="@id/action_bar">
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
|
android:id="@+id/header_container"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="86dp"
|
android:layout_marginTop="86dp"
|
||||||
@@ -53,7 +55,8 @@
|
|||||||
android:fontFamily="sans-serif-light"
|
android:fontFamily="sans-serif-light"
|
||||||
android:paddingBottom="16dp"
|
android:paddingBottom="16dp"
|
||||||
android:textColor="?android:attr/textColorPrimary"
|
android:textColor="?android:attr/textColorPrimary"
|
||||||
android:textSize="56sp" />
|
android:textSize="56sp"
|
||||||
|
tools:text="LineageOS\n20"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/header_build_version"
|
android:id="@+id/header_build_version"
|
||||||
@@ -61,7 +64,8 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_below="@id/header_title"
|
android:layout_below="@id/header_title"
|
||||||
android:textColor="?android:attr/textColorPrimary"
|
android:textColor="?android:attr/textColorPrimary"
|
||||||
android:textSize="12sp" />
|
android:textSize="12sp"
|
||||||
|
tools:text="Android 13"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/header_build_date"
|
android:id="@+id/header_build_date"
|
||||||
@@ -69,7 +73,8 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_below="@id/header_build_version"
|
android:layout_below="@id/header_build_version"
|
||||||
android:textColor="?android:attr/textColorPrimary"
|
android:textColor="?android:attr/textColorPrimary"
|
||||||
android:textSize="12sp" />
|
android:textSize="12sp"
|
||||||
|
tools:text="1970-01-01"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/header_last_check"
|
android:id="@+id/header_last_check"
|
||||||
@@ -78,7 +83,8 @@
|
|||||||
android:layout_below="@id/header_build_date"
|
android:layout_below="@id/header_build_date"
|
||||||
android:layout_marginTop="8dp"
|
android:layout_marginTop="8dp"
|
||||||
android:textColor="?android:attr/textColorPrimary"
|
android:textColor="?android:attr/textColorPrimary"
|
||||||
android:textSize="12sp" />
|
android:textSize="12sp"
|
||||||
|
tools:text="Last checked: 1970-01-01"/>
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
<androidx.appcompat.widget.Toolbar
|
<androidx.appcompat.widget.Toolbar
|
||||||
@@ -113,5 +119,6 @@
|
|||||||
android:clipToPadding="false"
|
android:clipToPadding="false"
|
||||||
android:paddingBottom="5dp"
|
android:paddingBottom="5dp"
|
||||||
android:scrollbars="vertical"
|
android:scrollbars="vertical"
|
||||||
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
|
app:layout_behavior="@string/appbar_scrolling_view_behavior"
|
||||||
|
tools:listitem="@layout/update_item_view" />
|
||||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
@@ -38,11 +38,11 @@
|
|||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.SwitchCompat
|
<androidx.appcompat.widget.SwitchCompat
|
||||||
android:id="@+id/preferences_mobile_data_warning"
|
android:id="@+id/preferences_metered_network_warning"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginBottom="16dp"
|
android:layout_marginBottom="16dp"
|
||||||
android:text="@string/menu_mobile_data_warning"
|
android:text="@string/menu_metered_network_warning"
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.SwitchCompat
|
<androidx.appcompat.widget.SwitchCompat
|
40
app/src/main/res/layout/progress_dialog.xml
Normal file
40
app/src/main/res/layout/progress_dialog.xml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2025 The LineageOS 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.
|
||||||
|
-->
|
||||||
|
<LinearLayout
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:padding="24dp">
|
||||||
|
|
||||||
|
<com.google.android.material.progressindicator.CircularProgressIndicator
|
||||||
|
android:id="@+id/progressBar"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:indeterminate="true"
|
||||||
|
app:indicatorColor="?android:attr/colorAccent"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:layout_marginStart="16dp"
|
||||||
|
android:text="@string/local_update_import_progress"
|
||||||
|
android:textColor="?android:attr/textColorPrimary"
|
||||||
|
android:textSize="16sp" />
|
||||||
|
</LinearLayout>
|
@@ -8,7 +8,10 @@
|
|||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
android:foreground="?attr/selectableItemBackground"
|
android:foreground="?attr/selectableItemBackground"
|
||||||
android:nextFocusRight="@+id/update_action"
|
android:nextFocusRight="@+id/update_action"
|
||||||
app:cardCornerRadius="0dp"
|
android:layout_marginTop="8dp"
|
||||||
|
android:layout_marginStart="8dp"
|
||||||
|
android:layout_marginEnd="8dp"
|
||||||
|
app:cardCornerRadius="16dp"
|
||||||
app:contentPadding="16dp">
|
app:contentPadding="16dp">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
@@ -34,7 +37,7 @@
|
|||||||
android:paddingBottom="8sp"
|
android:paddingBottom="8sp"
|
||||||
android:textColor="?android:attr/textColorPrimary"
|
android:textColor="?android:attr/textColorPrimary"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
tools:text="LineageOS 15.1" />
|
tools:text="LineageOS 20" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/build_date"
|
android:id="@+id/build_date"
|
||||||
@@ -42,7 +45,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
tools:text="29 February 2018" />
|
tools:text="18 June 2023" />
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
@@ -81,7 +84,7 @@
|
|||||||
android:ellipsize="marquee"
|
android:ellipsize="marquee"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:visibility="invisible"
|
android:visibility="invisible"
|
||||||
tools:text="162 of 300 MB (3 minutes left)"
|
tools:text="162 of 1.1 GB (3 minutes left)"
|
||||||
tools:visibility="visible" />
|
tools:visibility="visible" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
@@ -90,7 +93,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:paddingTop="8sp"
|
android:paddingTop="8sp"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
tools:text="300 MB"
|
tools:text="1.1 GB"
|
||||||
tools:visibility="invisible" />
|
tools:visibility="invisible" />
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
@@ -110,6 +113,7 @@
|
|||||||
<Button
|
<Button
|
||||||
android:id="@id/update_action"
|
android:id="@id/update_action"
|
||||||
style="@style/Widget.AppCompat.Button.Borderless.Colored"
|
style="@style/Widget.AppCompat.Button.Borderless.Colored"
|
||||||
|
android:background="?android:selectableItemBackgroundBorderless"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:padding="8dp"
|
android:padding="8dp"
|
@@ -6,6 +6,10 @@
|
|||||||
android:icon="@drawable/ic_menu_refresh"
|
android:icon="@drawable/ic_menu_refresh"
|
||||||
android:title="@string/menu_refresh"
|
android:title="@string/menu_refresh"
|
||||||
app:showAsAction="ifRoom" />
|
app:showAsAction="ifRoom" />
|
||||||
|
<item
|
||||||
|
android:id="@+id/menu_local_update"
|
||||||
|
android:title="@string/local_update_import"
|
||||||
|
app:showAsAction="never" />
|
||||||
<item
|
<item
|
||||||
android:id="@+id/menu_preferences"
|
android:id="@+id/menu_preferences"
|
||||||
android:title="@string/menu_preferences"
|
android:title="@string/menu_preferences"
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -67,6 +67,8 @@
|
|||||||
<string name="header_last_updates_check">آخر تحقق: <xliff:g id="date" example="1 January 1970">%1$s</xliff:g> (<xliff:g id="time" example="01:23">%2$s</xliff:g>)</string>
|
<string name="header_last_updates_check">آخر تحقق: <xliff:g id="date" example="1 January 1970">%1$s</xliff:g> (<xliff:g id="time" example="01:23">%2$s</xliff:g>)</string>
|
||||||
<string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
|
<string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
|
||||||
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> من <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_eta_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> من <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g> (<xliff:g id="eta" example="3 minutes left">%3$s</xliff:g>)</string>
|
||||||
<string name="list_verifying_update">جارٍ التحقق من التحديث</string>
|
<string name="list_verifying_update">جارٍ التحقق من التحديث</string>
|
||||||
<string name="list_no_updates">لا توجد تحديثات جديدة. للبحث عن تحديثات جديدة يدويًا، استخدم الزر تحديث.</string>
|
<string name="list_no_updates">لا توجد تحديثات جديدة. للبحث عن تحديثات جديدة يدويًا، استخدم الزر تحديث.</string>
|
||||||
<string name="action_download">تنزيل</string>
|
<string name="action_download">تنزيل</string>
|
||||||
@@ -79,6 +81,8 @@
|
|||||||
<string name="confirm_delete_dialog_title">حذف الملف</string>
|
<string name="confirm_delete_dialog_title">حذف الملف</string>
|
||||||
<string name="confirm_delete_dialog_message">حذف ملف التحديث المحدد؟</string>
|
<string name="confirm_delete_dialog_message">حذف ملف التحديث المحدد؟</string>
|
||||||
<string name="apply_update_dialog_title">تطبيق التحديث</string>
|
<string name="apply_update_dialog_title">تطبيق التحديث</string>
|
||||||
|
<string name="apply_update_dialog_message">أنت على وشك تثبيت <xliff:g id="update_name">%1$s</xliff:g>.\n\nإذا قمت بالضغط على <xliff:g id="ok">%2$s</xliff:g>، سيعاد تشغيل الجهاز بنفسه في وضع الاستعادة لتثبيت التحديث.\n\nملاحظة: هذه الميزة تتطلب مسترد متوافق أو سيلزم تثبيت التحديثات يدويًا.</string>
|
||||||
|
<string name="apply_update_dialog_message_ab">أنت على وشك تثبيت <xliff:g id="update_name">%1$s</xliff:g>.\n\nعند الضغط على <xliff:g id="ok">%2$s</xliff:g>، وسوف يبدأ الجهاز بالتثبيت في الخلفية.\n\nعندما ينتهي، ستُطالب بإعادة التشغيل.</string>
|
||||||
<string name="cancel_installation_dialog_message">إلغاء التثبيت؟</string>
|
<string name="cancel_installation_dialog_message">إلغاء التثبيت؟</string>
|
||||||
<string name="label_download_url">عنوان التنزيل</string>
|
<string name="label_download_url">عنوان التنزيل</string>
|
||||||
<string name="toast_download_url_copied">تم نسخ الرابط</string>
|
<string name="toast_download_url_copied">تم نسخ الرابط</string>
|
||||||
@@ -86,6 +90,7 @@
|
|||||||
<string name="notification_export_success">تم تصدير التحديث</string>
|
<string name="notification_export_success">تم تصدير التحديث</string>
|
||||||
<string name="notification_export_fail">خطأ في التصدير</string>
|
<string name="notification_export_fail">خطأ في التصدير</string>
|
||||||
<string name="toast_already_exporting">جاري تصدير تحديث بالفعل</string>
|
<string name="toast_already_exporting">جاري تصدير تحديث بالفعل</string>
|
||||||
|
<string name="toast_export_started">بدأ التصدير</string>
|
||||||
<plurals name="eta_seconds">
|
<plurals name="eta_seconds">
|
||||||
<item quantity="zero"><xliff:g id="count">%d</xliff:g> ثانية متبقية</item>
|
<item quantity="zero"><xliff:g id="count">%d</xliff:g> ثانية متبقية</item>
|
||||||
<item quantity="one"><xliff:g id="count">%d</xliff:g> ثانية متبقية</item>
|
<item quantity="one"><xliff:g id="count">%d</xliff:g> ثانية متبقية</item>
|
||||||
@@ -110,14 +115,17 @@
|
|||||||
<item quantity="many"><xliff:g id="count">%d</xliff:g> ساعات متبقية</item>
|
<item quantity="many"><xliff:g id="count">%d</xliff:g> ساعات متبقية</item>
|
||||||
<item quantity="other"><xliff:g id="count">%d</xliff:g> ساعات متبقية</item>
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> ساعات متبقية</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">تنبيه</string>
|
<string name="update_over_metered_network_title">تنبيه</string>
|
||||||
<string name="update_on_mobile_data_message">أنت على وشك أن تقوم بتنزيل حزمة تحديث باستخدام البيانات مما سيتسبب في استخدام عالي للبيانات. هل تريد المتابعة؟</string>
|
<string name="update_over_metered_network_message">أنت على وشك تنزيل حُزْمَة التحديث عبر شبكة مقيدة التي من المحتمل أن تسبب استخداما عاليا للبيانات. هل ترغب في المتابعة؟</string>
|
||||||
<string name="checkbox_mobile_data_warning">لا تظهر هذا مجدداً</string>
|
<string name="checkbox_metered_network_warning">لا تظهر هذا مجدداً</string>
|
||||||
<string name="menu_mobile_data_warning">تحذير البيانات</string>
|
<string name="menu_metered_network_warning">تحذير شبكة مقننة</string>
|
||||||
<string name="blocked_update_dialog_title">التحديث محظور</string>
|
<string name="blocked_update_dialog_title">التحديث محظور</string>
|
||||||
<string name="blocked_update_dialog_message">لا يمكن تثبيت التحديث باستخدام تطبيق المُحدث. برجاء قراءة <xliff:g id="info_url">%1$s </xliff:g> للحصول على مزيد من المعلومات.</string>
|
<string name="blocked_update_dialog_message">لا يمكن تثبيت التحديث باستخدام تطبيق المُحدث. برجاء قراءة <xliff:g id="info_url">%1$s </xliff:g> للحصول على مزيد من المعلومات.</string>
|
||||||
<string name="export_channel_title">اكتمال التصدير</string>
|
<string name="export_channel_title">اكتمال التصدير</string>
|
||||||
<string name="new_updates_channel_title">تحديثات جديدة</string>
|
<string name="new_updates_channel_title">تحديثات جديدة</string>
|
||||||
<string name="ongoing_channel_title">التنزيلات الحالية</string>
|
<string name="ongoing_channel_title">التنزيلات الحالية</string>
|
||||||
<string name="update_failed_channel_title">فشل التحديث</string>
|
<string name="update_failed_channel_title">فشل التحديث</string>
|
||||||
|
<string name="info_dialog_title">هل كنت تعلم؟ </string>
|
||||||
|
<string name="info_dialog_message">تحديثات LineageOS هي حزم تثبيت كاملة. وهذا يعني أنه يمكنك دائماً تثبيت أحدث إصدار فقط، حتى إذا كنت قد تخطيت بعض الإصدارات السابقة!</string>
|
||||||
|
<string name="info_dialog_ok">شكرًا على المعلومة!</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
<string name="verifying_download_notification">Verificando l\'anovamientu</string>
|
<string name="verifying_download_notification">Verificando l\'anovamientu</string>
|
||||||
<string name="downloading_notification">En descarga</string>
|
<string name="downloading_notification">En descarga</string>
|
||||||
<string name="download_paused_notification">La descarga ta en posa</string>
|
<string name="download_paused_notification">La descarga ta en posa</string>
|
||||||
<string name="download_paused_error_notification">Fallu de la descarga</string>
|
<string name="download_paused_error_notification">Error de la descarga</string>
|
||||||
<string name="download_completed_notification">Completóse la descarga</string>
|
<string name="download_completed_notification">Completóse la descarga</string>
|
||||||
<string name="download_starting_notification">Aniciando la descarga</string>
|
<string name="download_starting_notification">Aniciando la descarga</string>
|
||||||
<string name="update_failed_notification">L\'anovamientu falló</string>
|
<string name="update_failed_notification">L\'anovamientu falló</string>
|
||||||
@@ -32,20 +32,26 @@
|
|||||||
<string name="resume_button">Siguir</string>
|
<string name="resume_button">Siguir</string>
|
||||||
<string name="suspend_button">Suspender</string>
|
<string name="suspend_button">Suspender</string>
|
||||||
<string name="installing_update">Instalando\'l paquete d\'anovamientu</string>
|
<string name="installing_update">Instalando\'l paquete d\'anovamientu</string>
|
||||||
<string name="installing_update_error">Fallu d\'instalación</string>
|
<string name="installing_update_error">Error de la instalación</string>
|
||||||
<string name="installing_update_finished">Instalóse l\'anovamientu</string>
|
<string name="installing_update_finished">Instalóse l\'anovamientu</string>
|
||||||
<string name="finalizing_package">Finando la instalación del paquete</string>
|
<string name="finalizing_package">Finando la instalación del paquete</string>
|
||||||
<string name="preparing_ota_first_boot">Tresnando\'l primer arrinque</string>
|
<string name="preparing_ota_first_boot">Tresnando\'l primer arrinque</string>
|
||||||
<string name="dialog_prepare_zip_message">Tresnáu preliminar del anovamientu</string>
|
<string name="dialog_prepare_zip_message">Tresnáu preliminar del anovamientu</string>
|
||||||
<string name="dialog_battery_low_title">Queda poca batería</string>
|
<string name="dialog_battery_low_title">Queda poca batería</string>
|
||||||
<string name="dialog_battery_low_message_pct">El nivel de batería ye perbaxu, tien d\'haber polo menos un <xliff:g id="percent_discharging">%1$d</xliff:g>%% de batería pa siguir, <xliff:g id="percent_charging">%2$d</xliff:g>%% si ta en carga.</string>
|
<string name="dialog_battery_low_message_pct">El nivel de batería ye perbaxu, tien d\'haber polo menos un <xliff:g id="percent_discharging">%1$d</xliff:g>%% de batería pa siguir, <xliff:g id="percent_charging">%2$d</xliff:g>%% si ta en carga.</string>
|
||||||
|
<string name="dialog_scratch_mounted_message"><![CDATA[ Executa los comandos siguientes y volvi probar l\'anovamientu:\n
|
||||||
|
• adb root\n
|
||||||
|
• adb enable-verity\n
|
||||||
|
• adb reboot
|
||||||
|
]]></string>
|
||||||
|
<string name="dialog_scratch_mounted_title">Nun se pue instalar l\'anovamientu con OverlayFS montáu</string>
|
||||||
<string name="reboot">Reaniciar</string>
|
<string name="reboot">Reaniciar</string>
|
||||||
<string name="menu_refresh">Anovar</string>
|
<string name="menu_refresh">Anovar</string>
|
||||||
<string name="menu_preferences">Preferencies</string>
|
<string name="menu_preferences">Preferencies</string>
|
||||||
<string name="menu_auto_updates_check">Comprobación d\'anovamientos</string>
|
<string name="menu_auto_updates_check">Busca d\'anovamientos</string>
|
||||||
<string name="menu_auto_updates_check_interval_daily">Caldía</string>
|
<string name="menu_auto_updates_check_interval_daily">Diaria</string>
|
||||||
<string name="menu_auto_updates_check_interval_weekly">Selmanalmente</string>
|
<string name="menu_auto_updates_check_interval_weekly">Selmanal</string>
|
||||||
<string name="menu_auto_updates_check_interval_monthly">Mensualmente</string>
|
<string name="menu_auto_updates_check_interval_monthly">Mensual</string>
|
||||||
<string name="menu_auto_updates_check_interval_never">Enxamás</string>
|
<string name="menu_auto_updates_check_interval_never">Enxamás</string>
|
||||||
<string name="menu_auto_delete_updates">Desaniciar los anovamientos al instalalos</string>
|
<string name="menu_auto_delete_updates">Desaniciar los anovamientos al instalalos</string>
|
||||||
<string name="menu_delete_update">Desaniciar</string>
|
<string name="menu_delete_update">Desaniciar</string>
|
||||||
@@ -88,7 +94,7 @@
|
|||||||
<string name="toast_download_url_copied">Copióse la URL</string>
|
<string name="toast_download_url_copied">Copióse la URL</string>
|
||||||
<string name="dialog_export_title">Esportando l\'anovamientu</string>
|
<string name="dialog_export_title">Esportando l\'anovamientu</string>
|
||||||
<string name="notification_export_success">Esportóse l\'anovamientu</string>
|
<string name="notification_export_success">Esportóse l\'anovamientu</string>
|
||||||
<string name="notification_export_fail">Fallu de la esportación</string>
|
<string name="notification_export_fail">Error de la esportación</string>
|
||||||
<string name="toast_already_exporting">Yá ta esportándose un anovamientu</string>
|
<string name="toast_already_exporting">Yá ta esportándose un anovamientu</string>
|
||||||
<string name="toast_export_started">Anicióse la esportación</string>
|
<string name="toast_export_started">Anicióse la esportación</string>
|
||||||
<plurals name="eta_seconds">
|
<plurals name="eta_seconds">
|
||||||
@@ -103,10 +109,10 @@
|
|||||||
<item quantity="one">Queda 1 hora</item>
|
<item quantity="one">Queda 1 hora</item>
|
||||||
<item quantity="other">Queden <xliff:g id="count">%d</xliff:g> hores</item>
|
<item quantity="other">Queden <xliff:g id="count">%d</xliff:g> hores</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Alvertencia</string>
|
<string name="update_over_metered_network_title">Alvertencia</string>
|
||||||
<string name="update_on_mobile_data_message">Tas a piques de baxar un paquete d\'anovamientu colos datos móviles que pue xenerar un usu altu de datos. ¿Quies siguir?</string>
|
<string name="update_over_metered_network_message">Tas a piques de baxar un paquete d\'anovamientu pente una rede midida, lo que probablemente vaiga xenerar un usu altu de datos. ¿Quies siguir?</string>
|
||||||
<string name="checkbox_mobile_data_warning">Nun volver amosar</string>
|
<string name="checkbox_metered_network_warning">Nun volver amosar</string>
|
||||||
<string name="menu_mobile_data_warning">Alvertir al usar la rede móvil</string>
|
<string name="menu_metered_network_warning">Alvertir al tar nuna rede midida</string>
|
||||||
<string name="blocked_update_dialog_title">Bloquióse l\'anovamientu</string>
|
<string name="blocked_update_dialog_title">Bloquióse l\'anovamientu</string>
|
||||||
<string name="blocked_update_dialog_message">Esti anovamientu nun se pue instalar con «Anovador». Llei <xliff:g id="info_url">%1$s</xliff:g> pa consiguir más información.</string>
|
<string name="blocked_update_dialog_message">Esti anovamientu nun se pue instalar con «Anovador». Llei <xliff:g id="info_url">%1$s</xliff:g> pa consiguir más información.</string>
|
||||||
<string name="export_channel_title">Esportación completada</string>
|
<string name="export_channel_title">Esportación completada</string>
|
||||||
@@ -114,6 +120,14 @@
|
|||||||
<string name="ongoing_channel_title">Descargues en cursu</string>
|
<string name="ongoing_channel_title">Descargues en cursu</string>
|
||||||
<string name="update_failed_channel_title">Anovamientu fallíu</string>
|
<string name="update_failed_channel_title">Anovamientu fallíu</string>
|
||||||
<string name="info_dialog_title">¿Sabíeslo?</string>
|
<string name="info_dialog_title">¿Sabíeslo?</string>
|
||||||
<string name="info_dialog_message">Los anovamientos de LineageOS son paquetes d\'instalación completos. Esto significa que siempres pues instalar l\'últimu anovamientu, ¡magar que saltares dalgún intermediu!</string>
|
<string name="info_dialog_message">Los anovamientos de LineageOS son paquetes d\'instalación completos. Esto significa que siempre pues instalar l\'últimu anovamientu, ¡magar que saltares dalgún intermediu!</string>
|
||||||
<string name="info_dialog_ok">¡Gracies!</string>
|
<string name="info_dialog_ok">¡Gracies!</string>
|
||||||
|
<string name="local_update_import">Anovamientu llocal</string>
|
||||||
|
<string name="local_update_import_progress">Importando l\'anovamientu llocal\u2026</string>
|
||||||
|
<string name="local_update_import_success">Importóse «%1$s». ¿Quies instalar l\'anovamientu?</string>
|
||||||
|
<string name="local_update_import_failure">Hebo un fallu al importar l\'anovamientu llocal</string>
|
||||||
|
<string name="local_update_import_install">Instalar</string>
|
||||||
|
<string name="local_update_name">Anovamientu llocal</string>
|
||||||
|
<string name="welcome_title">Afáyate</string>
|
||||||
|
<string name="welcome_message">Decátate que cuando hai múltiples anovamientos disponibles nun ye necesario instalalos unu a unu, siempre pues instalar l\'últimu direutamente y desaniciar los antiguos pa lliberar espaciu d\'almacenamientu.</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -17,8 +17,8 @@
|
|||||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
<string name="app_name">Güncəlləyici</string>
|
<string name="app_name">Güncəlləyici</string>
|
||||||
<string name="display_name">Güncəlləyici</string>
|
<string name="display_name">Güncəlləyici</string>
|
||||||
<string name="verification_failed_notification">Təsdiqləmə uğursuz oldu</string>
|
<string name="verification_failed_notification">Doğrulama uğursuz oldu</string>
|
||||||
<string name="verifying_download_notification">Güncəlləmə təsdiqlənir</string>
|
<string name="verifying_download_notification">Güncəlləmə doğrulanır</string>
|
||||||
<string name="downloading_notification">Endirilir</string>
|
<string name="downloading_notification">Endirilir</string>
|
||||||
<string name="download_paused_notification">Endirməyə fasilə verildi</string>
|
<string name="download_paused_notification">Endirməyə fasilə verildi</string>
|
||||||
<string name="download_paused_error_notification">Endirmə xətası</string>
|
<string name="download_paused_error_notification">Endirmə xətası</string>
|
||||||
@@ -38,7 +38,13 @@
|
|||||||
<string name="preparing_ota_first_boot">İlk yükləmə üçün hazırlanır</string>
|
<string name="preparing_ota_first_boot">İlk yükləmə üçün hazırlanır</string>
|
||||||
<string name="dialog_prepare_zip_message">Güncəlləməyə ilkin hazırlıq</string>
|
<string name="dialog_prepare_zip_message">Güncəlləməyə ilkin hazırlıq</string>
|
||||||
<string name="dialog_battery_low_title">Zəif batareya</string>
|
<string name="dialog_battery_low_title">Zəif batareya</string>
|
||||||
<string name="dialog_battery_low_message_pct">Batereya səviyyəsi çox aşağıdır, davam etmək üçün ən az batereya səviyyəsi <xliff:g id="percent_discharging">%1$d</xliff:g>%% olmalıdır, <xliff:g id="percent_charging">%2$d</xliff:g>%% enerji yığır.</string>
|
<string name="dialog_battery_low_message_pct">Batareya səviyyəsi çox aşağıdır, davam etmək üçün ən az <xliff:g id="percent_discharging">%1$d</xliff:g>%% olmalıdır, <xliff:g id="percent_charging">%2$d</xliff:g>%% dolur.</string>
|
||||||
|
<string name="dialog_scratch_mounted_message"><![CDATA[ Lütfən aşağıdakı əmrləri işə salın və yenidən güncəlləməyə çalışın:\n
|
||||||
|
• adb root\n
|
||||||
|
• adb enable-verity\n
|
||||||
|
• adb reboot
|
||||||
|
]]></string>
|
||||||
|
<string name="dialog_scratch_mounted_title">OverlayFS taxılı ikən güncəlləmə quraşdırıla bilmir</string>
|
||||||
<string name="reboot">Yenidən başlat</string>
|
<string name="reboot">Yenidən başlat</string>
|
||||||
<string name="menu_refresh">Təzələ</string>
|
<string name="menu_refresh">Təzələ</string>
|
||||||
<string name="menu_preferences">Tərcihlər</string>
|
<string name="menu_preferences">Tərcihlər</string>
|
||||||
@@ -53,13 +59,13 @@
|
|||||||
<string name="menu_export_update">Güncəlləməni xaricə köçür</string>
|
<string name="menu_export_update">Güncəlləməni xaricə köçür</string>
|
||||||
<string name="menu_show_changelog">Dəyişiklik jurnalını göstər</string>
|
<string name="menu_show_changelog">Dəyişiklik jurnalını göstər</string>
|
||||||
<string name="menu_ab_perf_mode">Üstünlüyü güncəlləmə prosesinə ver</string>
|
<string name="menu_ab_perf_mode">Üstünlüyü güncəlləmə prosesinə ver</string>
|
||||||
<string name="menu_update_recovery">Bərpa rejimini güncəllə</string>
|
<string name="menu_update_recovery">Geri qaytarma rejimini güncəllə</string>
|
||||||
<string name="toast_forced_update_recovery">Bu cihazda Lineage Bərpa güncəlləmələrini sıradan çıxartmaq mümkün deyil.</string>
|
<string name="toast_forced_update_recovery">Bu cihazda Lineage Geri qaytarma güncəlləmələrini sıradan çıxartmaq mümkün deyil.</string>
|
||||||
<string name="snack_updates_found">Yeni güncəlləmə tapıldı</string>
|
<string name="snack_updates_found">Yeni güncəlləmə tapıldı</string>
|
||||||
<string name="snack_no_updates_found">Yeni güncəlləmə tapılmadı</string>
|
<string name="snack_no_updates_found">Yeni güncəlləmə tapılmadı</string>
|
||||||
<string name="snack_updates_check_failed">Güncəlləmə yoxlanışı uğursuz oldu. Zəhmət olmasa internet bağlantısını yoxlayın və daha sonra yenidən sınayın.</string>
|
<string name="snack_updates_check_failed">Güncəlləmə yoxlanışı uğursuz oldu. Lütfən internet bağlantınızı yoxlayıb daha sonra yenidən sınayın.</string>
|
||||||
<string name="snack_download_failed">Endirmə uğursuz oldu. Zəhmət olmasa internet bağlantısını yoxlayıb yenidən cəhd edin.</string>
|
<string name="snack_download_failed">Endirmə uğursuz oldu. Lütfən internet bağlantınızı yoxlayıb yenidən sınayın.</string>
|
||||||
<string name="snack_download_verification_failed">Güncəlləmə təsdiqləməsi uğursuz oldu.</string>
|
<string name="snack_download_verification_failed">Güncəlləmə doğrulaması uğursuz oldu.</string>
|
||||||
<string name="snack_download_verified">Endirmə tamamlandı.</string>
|
<string name="snack_download_verified">Endirmə tamamlandı.</string>
|
||||||
<string name="snack_update_not_installable">Bu güncəlləmə hazırkı quruluşun üzərinə quraşdırıla bilməz.</string>
|
<string name="snack_update_not_installable">Bu güncəlləmə hazırkı quruluşun üzərinə quraşdırıla bilməz.</string>
|
||||||
<string name="header_title_text">LineageOS\n%1$s</string>
|
<string name="header_title_text">LineageOS\n%1$s</string>
|
||||||
@@ -69,7 +75,7 @@
|
|||||||
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
||||||
<string name="list_download_progress_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> / <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g></string>
|
<string name="list_download_progress_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> / <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g></string>
|
||||||
<string name="list_download_progress_eta_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> / <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g> (<xliff:g id="eta" example="3 minutes left">%3$s</xliff:g>)</string>
|
<string name="list_download_progress_eta_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> / <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g> (<xliff:g id="eta" example="3 minutes left">%3$s</xliff:g>)</string>
|
||||||
<string name="list_verifying_update">Güncəlləmə təsdiqlənir</string>
|
<string name="list_verifying_update">Güncəlləmə doğrulanır</string>
|
||||||
<string name="list_no_updates">Yeni güncəlləmə tapılmadı. Yeni güncəlləmələri əllə yoxlamaq üçün Təzələ düyməsini istifadə edin.</string>
|
<string name="list_no_updates">Yeni güncəlləmə tapılmadı. Yeni güncəlləmələri əllə yoxlamaq üçün Təzələ düyməsini istifadə edin.</string>
|
||||||
<string name="action_download">Endir</string>
|
<string name="action_download">Endir</string>
|
||||||
<string name="action_pause">Fasilə ver</string>
|
<string name="action_pause">Fasilə ver</string>
|
||||||
@@ -81,7 +87,7 @@
|
|||||||
<string name="confirm_delete_dialog_title">Faylı sil</string>
|
<string name="confirm_delete_dialog_title">Faylı sil</string>
|
||||||
<string name="confirm_delete_dialog_message">Seçilmiş güncəlləmə faylı silinsin?</string>
|
<string name="confirm_delete_dialog_message">Seçilmiş güncəlləmə faylı silinsin?</string>
|
||||||
<string name="apply_update_dialog_title">Güncəlləməni tətbiq et</string>
|
<string name="apply_update_dialog_title">Güncəlləməni tətbiq et</string>
|
||||||
<string name="apply_update_dialog_message"><xliff:g id="update_name">%1$s</xliff:g> quraşdırırsınız.\n\n<xliff:g id="ok">%2$s</xliff:g> bassanız, cihaz yeniləməni quraşdırmaq üçün bərpa rejimində yenidən başlayacaq.\n\nQeyd: Bu özəlliyin uyğun bir Bərpa mühitinə ehtiyacı var və ya yeniləmələr əllə quraşdırılmalıdır.</string>
|
<string name="apply_update_dialog_message"><xliff:g id="update_name">%1$s</xliff:g> quraşdırırsınız.\n\n<xliff:g id="ok">%2$s</xliff:g> bassanız, cihaz güncəlləməni quraşdırmaq üçün geri qaytarma rejimində yenidən başlayacaq.\n\nQeyd: Bu özəlliyin uyumlu bir Geri qaytarma mühitinə ehtiyacı var və ya güncəlləmələr əllə quraşdırılmalıdır.</string>
|
||||||
<string name="apply_update_dialog_message_ab"><xliff:g id="update_name">%1$s</xliff:g> quraşdırırsınız.\n\n<xliff:g id="ok">%2$s</xliff:g> düyməsinə bassanız, cihaz arxaplanda quraşdırılmağa başlıyacaq.\n\nƏməliyyat bitəndə, yenidən başladılmalıdır.</string>
|
<string name="apply_update_dialog_message_ab"><xliff:g id="update_name">%1$s</xliff:g> quraşdırırsınız.\n\n<xliff:g id="ok">%2$s</xliff:g> düyməsinə bassanız, cihaz arxaplanda quraşdırılmağa başlıyacaq.\n\nƏməliyyat bitəndə, yenidən başladılmalıdır.</string>
|
||||||
<string name="cancel_installation_dialog_message">Quraşdırmadan imtina edilsin?</string>
|
<string name="cancel_installation_dialog_message">Quraşdırmadan imtina edilsin?</string>
|
||||||
<string name="label_download_url">Endirmə bağlantısı</string>
|
<string name="label_download_url">Endirmə bağlantısı</string>
|
||||||
@@ -103,17 +109,25 @@
|
|||||||
<item quantity="one">1 saat qaldı</item>
|
<item quantity="one">1 saat qaldı</item>
|
||||||
<item quantity="other"><xliff:g id="count">%d</xliff:g> saat qaldı</item>
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> saat qaldı</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Xəbərdarlıq</string>
|
<string name="update_over_metered_network_title">Xəbərdarlıq</string>
|
||||||
<string name="update_on_mobile_data_message">Böyük ehtimalla mobil internet istifadə edərək yüksək verilənlər istifadəsinə səbəb olacaq güncəlləmə paketi endirirsiniz. Davam etmək istəyirsiniz?</string>
|
<string name="update_over_metered_network_message">Ölçülən bir şəbəkə üzərindən böyük ehtimalla yüksək veri istifadəsinə səbəb olacaq bir güncəlləmə paketi endirmək üzrəsiniz. Davam etmək istəyirsiniz?</string>
|
||||||
<string name="checkbox_mobile_data_warning">Təkrar göstərmə</string>
|
<string name="checkbox_metered_network_warning">Təkrar göstərmə</string>
|
||||||
<string name="menu_mobile_data_warning">Mobil internet xəbərdarlığı</string>
|
<string name="menu_metered_network_warning">Ölçülən şəbəkə xəbərdarlığı</string>
|
||||||
<string name="blocked_update_dialog_title">Güncəlləmə əngəlləndi</string>
|
<string name="blocked_update_dialog_title">Güncəlləmə əngəlləndi</string>
|
||||||
<string name="blocked_update_dialog_message">Bu güncəlləmə, tətbiq güncəlləyici istifadə edilərək quraşdırıla bilməz. Ətraflı məlumat üçün zəhmət olmasa <xliff:g id="info_url">%1$s</xliff:g> ünvanını oxuyun.</string>
|
<string name="blocked_update_dialog_message">Bu güncəlləmə, tətbiq güncəlləyici istifadə edilərək quraşdırıla bilməz. Ətraflı məlumat üçün lütfən <xliff:g id="info_url">%1$s</xliff:g> ünvanını oxuyun.</string>
|
||||||
<string name="export_channel_title">Köçürmə tamamlandı</string>
|
<string name="export_channel_title">Köçürmə tamamlandı</string>
|
||||||
<string name="new_updates_channel_title">Yeni güncəlləmələr</string>
|
<string name="new_updates_channel_title">Yeni güncəlləmələr</string>
|
||||||
<string name="ongoing_channel_title">Davam edən endirmələr</string>
|
<string name="ongoing_channel_title">Davam edən endirmələr</string>
|
||||||
<string name="update_failed_channel_title">Güncəlləmə uğursuz oldu</string>
|
<string name="update_failed_channel_title">Güncəlləmə uğursuz oldu</string>
|
||||||
<string name="info_dialog_title">Bilirdiniz?</string>
|
<string name="info_dialog_title">Bilirdiniz?</string>
|
||||||
<string name="info_dialog_message">LineageOS yeniləmələri tam quraşdırma paketləridir. Yəni, yeniləməni ötürsəniz belə, hər zaman yalnız son yeniləməni quraşdıra bilərsiniz!</string>
|
<string name="info_dialog_message">LineageOS güncəlləmələri tam quraşdırma paketləridir. Yəni, güncəlləməni ötürsəniz belə, hər zaman yalnız son güncəlləməni quraşdıra bilərsiniz!</string>
|
||||||
<string name="info_dialog_ok">Məlumat üçün təşəkkürlər!</string>
|
<string name="info_dialog_ok">Məlumat üçün təşəkkürlər!</string>
|
||||||
|
<string name="local_update_import">Yerli güncəlləmə</string>
|
||||||
|
<string name="local_update_import_progress">Yerli güncəlləmə daxilə köçürülür\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s daxilə köçürüldü. Quraşdırmaq istəyirsiniz?</string>
|
||||||
|
<string name="local_update_import_failure">Yerli güncəlləmə daxilə köçürülmədi</string>
|
||||||
|
<string name="local_update_import_install">Quraşdır</string>
|
||||||
|
<string name="local_update_name">Yerli güncəlləmə</string>
|
||||||
|
<string name="welcome_title">Xoş gəlmisiniz</string>
|
||||||
|
<string name="welcome_message">Lütfən yadda saxlayın ki, bir neçə güncəlləmə mövcud olduqda, bunları tək-tək güncəlləməyə ehtiyac yoxdur. Həmişə birbaşa ən son versiyanı quraşdıra, daha sonra anbar sahəsini boşaltmaq üçün köhnə güncəlləmələri əminliklə silə bilərsiniz.</string>
|
||||||
</resources>
|
</resources>
|
57
app/src/main/res/values-be/strings.xml
Normal file
57
app/src/main/res/values-be/strings.xml
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<string name="download_paused_error_notification">Памылка спампоўвання</string>
|
||||||
|
<string name="installation_suspended_notification">Усталяванне прыпынена</string>
|
||||||
|
<string name="new_updates_found_title">Новыя абнаўленні</string>
|
||||||
|
<string name="text_download_speed">%1$s, %2$s/с</string>
|
||||||
|
<string name="installing_update">Усталяванне пакета з абнаўленнем</string>
|
||||||
|
<string name="installing_update_error">Памылка ўсталявання</string>
|
||||||
|
<string name="preparing_ota_first_boot">Падрыхтоўка да першага запуску</string>
|
||||||
|
<string name="dialog_prepare_zip_message">Падрыхтоўка абнаўлення</string>
|
||||||
|
<string name="menu_refresh">Абнавiць</string>
|
||||||
|
<string name="menu_auto_updates_check">Аўтаматычная праверка абнаўленняў</string>
|
||||||
|
<string name="menu_auto_updates_check_interval_monthly">Штомесяц</string>
|
||||||
|
<string name="menu_auto_updates_check_interval_never">Ніколі</string>
|
||||||
|
<string name="menu_auto_delete_updates">Выдаліць файлы абнаўлення пасля ўсталявання</string>
|
||||||
|
<string name="menu_delete_update">Выдаліць</string>
|
||||||
|
<string name="menu_copy_url">Скапіяваць URL-адрас</string>
|
||||||
|
<string name="menu_export_update">Экспартаванне абнаўлення</string>
|
||||||
|
<string name="menu_ab_perf_mode">Прыярытэт працэсу абнаўлення</string>
|
||||||
|
<string name="snack_no_updates_found">Абнаўленні не знойдзены</string>
|
||||||
|
<string name="header_title_text">LineageOS\n%1$s</string>
|
||||||
|
<string name="header_last_updates_check">Апошняя праверка: <xliff:g id="date" example="1 January 1970">%1$s</xliff:g> (<xliff:g id="time" example="01:23">%2$s</xliff:g>)</string>
|
||||||
|
<string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
|
||||||
|
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
||||||
|
<string name="action_download">Спампаваць</string>
|
||||||
|
<string name="action_install">Усталяваць</string>
|
||||||
|
<string name="action_delete">Выдаліць</string>
|
||||||
|
<string name="confirm_delete_dialog_title">Выдаліць файл</string>
|
||||||
|
<string name="confirm_delete_dialog_message">Выдаліць выбраны файл абнаўлення?</string>
|
||||||
|
<string name="apply_update_dialog_title">Ужыць абнаўленне</string>
|
||||||
|
<string name="label_download_url">URL-адрасы спамповак</string>
|
||||||
|
<string name="dialog_export_title">Экспартаванне абнаўлення</string>
|
||||||
|
<string name="toast_export_started">Пачалося экспартаванне</string>
|
||||||
|
<string name="checkbox_metered_network_warning">Больш не паказваць</string>
|
||||||
|
<string name="new_updates_channel_title">Новыя абнаўленні</string>
|
||||||
|
<string name="ongoing_channel_title">Бягучыя спампоўкі</string>
|
||||||
|
<string name="info_dialog_title">Ці ведалі вы што?</string>
|
||||||
|
<string name="local_update_import">Лакальнае абнаўленне</string>
|
||||||
|
<string name="local_update_import_failure">Не ўдалося імпартаваць лакальнае абнаўленне</string>
|
||||||
|
<string name="local_update_import_install">Усталяваць</string>
|
||||||
|
<string name="local_update_name">Лакальнае абнаўленне</string>
|
||||||
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -24,13 +24,13 @@
|
|||||||
<string name="download_paused_error_notification">Грешка при изтегляне</string>
|
<string name="download_paused_error_notification">Грешка при изтегляне</string>
|
||||||
<string name="download_completed_notification">Изтеглянето приключи</string>
|
<string name="download_completed_notification">Изтеглянето приключи</string>
|
||||||
<string name="download_starting_notification">Започни сваляне</string>
|
<string name="download_starting_notification">Започни сваляне</string>
|
||||||
<string name="update_failed_notification">Актуализацията прекратена</string>
|
<string name="update_failed_notification">Актуализацията е неуспешна</string>
|
||||||
<string name="installation_suspended_notification">Инсталацията е прекратена</string>
|
<string name="installation_suspended_notification">Инсталацията е прекратена</string>
|
||||||
<string name="new_updates_found_title">Нови актуализации</string>
|
<string name="new_updates_found_title">Нови актуализации</string>
|
||||||
<string name="text_download_speed">%1$s, %2$s/s</string>
|
<string name="text_download_speed">%1$s, %2$s/s</string>
|
||||||
<string name="pause_button">Пауза</string>
|
<string name="pause_button">Пауза</string>
|
||||||
<string name="resume_button">Възобнови</string>
|
<string name="resume_button">Възобнови</string>
|
||||||
<string name="suspend_button">Прекратено</string>
|
<string name="suspend_button">Прекрати</string>
|
||||||
<string name="installing_update">Инсталиране на пакета за актуализация</string>
|
<string name="installing_update">Инсталиране на пакета за актуализация</string>
|
||||||
<string name="installing_update_error">Грешка при инсталиране</string>
|
<string name="installing_update_error">Грешка при инсталиране</string>
|
||||||
<string name="installing_update_finished">Актуализацията е инсталирана</string>
|
<string name="installing_update_finished">Актуализацията е инсталирана</string>
|
||||||
@@ -39,10 +39,16 @@
|
|||||||
<string name="dialog_prepare_zip_message">Предварителна подготовка на актуализацията</string>
|
<string name="dialog_prepare_zip_message">Предварителна подготовка на актуализацията</string>
|
||||||
<string name="dialog_battery_low_title">Изтощена батерия</string>
|
<string name="dialog_battery_low_title">Изтощена батерия</string>
|
||||||
<string name="dialog_battery_low_message_pct">Нивото на батерията е прекалено ниско, необходимо е най-малко <xliff:g id="percent_discharging">%1$d</xliff:g>%% за да продължите, <xliff:g id="percent_charging">%2$d</xliff:g>%%.</string>
|
<string name="dialog_battery_low_message_pct">Нивото на батерията е прекалено ниско, необходимо е най-малко <xliff:g id="percent_discharging">%1$d</xliff:g>%% за да продължите, <xliff:g id="percent_charging">%2$d</xliff:g>%%.</string>
|
||||||
|
<string name="dialog_scratch_mounted_message"><![CDATA[ Моля, изпълнeте следните команди и опитайте отново\n
|
||||||
|
• adb root\n
|
||||||
|
• adb enable-verity\n
|
||||||
|
• adb reboot
|
||||||
|
]]></string>
|
||||||
|
<string name="dialog_scratch_mounted_title">Актулизацията не може да се инсталира с монтиран OverflayFS</string>
|
||||||
<string name="reboot">Рестартиране</string>
|
<string name="reboot">Рестартиране</string>
|
||||||
<string name="menu_refresh">Опресняване</string>
|
<string name="menu_refresh">Опресняване</string>
|
||||||
<string name="menu_preferences">Настройки</string>
|
<string name="menu_preferences">Настройки</string>
|
||||||
<string name="menu_auto_updates_check">Автоматична проверка за актуализациите</string>
|
<string name="menu_auto_updates_check">Автоматична проверка за актуализации</string>
|
||||||
<string name="menu_auto_updates_check_interval_daily">Ежедневно</string>
|
<string name="menu_auto_updates_check_interval_daily">Ежедневно</string>
|
||||||
<string name="menu_auto_updates_check_interval_weekly">Ежеседмично</string>
|
<string name="menu_auto_updates_check_interval_weekly">Ежеседмично</string>
|
||||||
<string name="menu_auto_updates_check_interval_monthly">Ежемесечно</string>
|
<string name="menu_auto_updates_check_interval_monthly">Ежемесечно</string>
|
||||||
@@ -67,6 +73,8 @@
|
|||||||
<string name="header_last_updates_check">Последна проверка: <xliff:g id="date" example="1 January 1970">%1$s</xliff:g> (<xliff:g id="time" example="01:23">%2$s</xliff:g>)</string>
|
<string name="header_last_updates_check">Последна проверка: <xliff:g id="date" example="1 January 1970">%1$s</xliff:g> (<xliff:g id="time" example="01:23">%2$s</xliff:g>)</string>
|
||||||
<string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
|
<string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
|
||||||
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> от <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_eta_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> от <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g> (<xliff:g id="eta" example="3 minutes left">%3$s</xliff:g>)</string>
|
||||||
<string name="list_verifying_update">Проверка на актуализацията</string>
|
<string name="list_verifying_update">Проверка на актуализацията</string>
|
||||||
<string name="list_no_updates">Не са намерени нови актуализации. За да проверите ръчно за нови актуализации, използвайте бутона за обновяване.</string>
|
<string name="list_no_updates">Не са намерени нови актуализации. За да проверите ръчно за нови актуализации, използвайте бутона за обновяване.</string>
|
||||||
<string name="action_download">Изтегли</string>
|
<string name="action_download">Изтегли</string>
|
||||||
@@ -79,6 +87,8 @@
|
|||||||
<string name="confirm_delete_dialog_title">Изтриване на файл</string>
|
<string name="confirm_delete_dialog_title">Изтриване на файл</string>
|
||||||
<string name="confirm_delete_dialog_message">Да бъде ли изтрит файлът на избраната актуализация?</string>
|
<string name="confirm_delete_dialog_message">Да бъде ли изтрит файлът на избраната актуализация?</string>
|
||||||
<string name="apply_update_dialog_title">Приложи актуализацията</string>
|
<string name="apply_update_dialog_title">Приложи актуализацията</string>
|
||||||
|
<string name="apply_update_dialog_message">На път сте да актуализирате до <xliff:g id="update_name">%1$s</xliff:g>.\n\nАко натиснете <xliff:g id="ok">%2$s</xliff:g>, устройството ще се рестартира в режим на възстановяване, за да инсталира актуализацията.\n\nЗабележка: Тази функция се нуждае от съвместим режим на възстановяване или актулизациите ще трябва да се инсталират ръчно.</string>
|
||||||
|
<string name="apply_update_dialog_message_ab">На път сте да актуализирате до <xliff:g id="update_name">%1$s</xliff:g>.\n\nАко натиснете <xliff:g id="ok">%2$s</xliff:g>, устройството ще започне инсталацията на заден фон.\n\nКогато е готово ще бъдете попитани за рестартиране.</string>
|
||||||
<string name="cancel_installation_dialog_message">Анулиране на инсталирането?</string>
|
<string name="cancel_installation_dialog_message">Анулиране на инсталирането?</string>
|
||||||
<string name="label_download_url">Изтеглете URL</string>
|
<string name="label_download_url">Изтеглете URL</string>
|
||||||
<string name="toast_download_url_copied">URL Копиран</string>
|
<string name="toast_download_url_copied">URL Копиран</string>
|
||||||
@@ -86,6 +96,7 @@
|
|||||||
<string name="notification_export_success">Актуализацията е експортирана</string>
|
<string name="notification_export_success">Актуализацията е експортирана</string>
|
||||||
<string name="notification_export_fail">Грешка при експортиране</string>
|
<string name="notification_export_fail">Грешка при експортиране</string>
|
||||||
<string name="toast_already_exporting">Вече изнася актуализация</string>
|
<string name="toast_already_exporting">Вече изнася актуализация</string>
|
||||||
|
<string name="toast_export_started">Експортирането започна</string>
|
||||||
<plurals name="eta_seconds">
|
<plurals name="eta_seconds">
|
||||||
<item quantity="one">остава 1 секунда</item>
|
<item quantity="one">остава 1 секунда</item>
|
||||||
<item quantity="other">остават <xliff:g id="count">%d</xliff:g> секунди</item>
|
<item quantity="other">остават <xliff:g id="count">%d</xliff:g> секунди</item>
|
||||||
@@ -98,14 +109,25 @@
|
|||||||
<item quantity="one">остава 1 час</item>
|
<item quantity="one">остава 1 час</item>
|
||||||
<item quantity="other">остават <xliff:g id="count">%d</xliff:g> часа</item>
|
<item quantity="other">остават <xliff:g id="count">%d</xliff:g> часа</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Внимание</string>
|
<string name="update_over_metered_network_title">Внимание</string>
|
||||||
<string name="update_on_mobile_data_message">На път сте да изтеглите пакет за актуализиране, използвайки мобилни данни, което вероятно ще доведе до високо използване на данните. Искате ли да продължите?</string>
|
<string name="update_over_metered_network_message">На път сте да изтеглите пакет за актуализиране, използвайки мобилна връзка, което може ще доведе до прекомерно използване на мобилни данни. Искате ли да продължите?</string>
|
||||||
<string name="checkbox_mobile_data_warning">Не показвай отново</string>
|
<string name="checkbox_metered_network_warning">Не показвай отново</string>
|
||||||
<string name="menu_mobile_data_warning">Предупреждение за мобилни данни</string>
|
<string name="menu_metered_network_warning">Платена / ограничена мрежа</string>
|
||||||
<string name="blocked_update_dialog_title">Актуализацията е блокирана</string>
|
<string name="blocked_update_dialog_title">Актуализацията е блокирана</string>
|
||||||
<string name="blocked_update_dialog_message">Тази актуализация не може да бъде инсталирана посредством приложението за актуализации. Моля прочетете <xliff:g id="info_url">%1$s</xliff:g> за повече информация.</string>
|
<string name="blocked_update_dialog_message">Тази актуализация не може да бъде инсталирана посредством приложението за актуализации. Моля прочетете <xliff:g id="info_url">%1$s</xliff:g> за повече информация.</string>
|
||||||
<string name="export_channel_title">Експортирането приключи</string>
|
<string name="export_channel_title">Експортирането приключи</string>
|
||||||
<string name="new_updates_channel_title">Нови актуализации</string>
|
<string name="new_updates_channel_title">Нови актуализации</string>
|
||||||
<string name="ongoing_channel_title">Текущи изтегляния</string>
|
<string name="ongoing_channel_title">Текущи изтегляния</string>
|
||||||
<string name="update_failed_channel_title">Актуализацията прекратена</string>
|
<string name="update_failed_channel_title">Актуализацията прекратена</string>
|
||||||
|
<string name="info_dialog_title">Знаете ли че?</string>
|
||||||
|
<string name="info_dialog_message">LineageOS актуализациите са цялостни инсталационни пакети, което означава че можеш да инсталираш само последната актулизация, дори ако си пропуснал някоя междувременно!</string>
|
||||||
|
<string name="info_dialog_ok">Благодаря Ви за информацията!</string>
|
||||||
|
<string name="local_update_import">Локална актуализация</string>
|
||||||
|
<string name="local_update_import_progress">Импортиране на локална актуализация</string>
|
||||||
|
<string name="local_update_import_success">%1$s беше импортирано. Искате ли да продължите с инсталацията?</string>
|
||||||
|
<string name="local_update_import_failure">Неуспешно импортиране на локална актуализация</string>
|
||||||
|
<string name="local_update_import_install">Инсталирай</string>
|
||||||
|
<string name="local_update_name">Локална актуализация</string>
|
||||||
|
<string name="welcome_title">Добре дошли</string>
|
||||||
|
<string name="welcome_message">Моля, имайте предвид, че когато са налични множество актуализации, няма нужда да инсталирате всяка една, а само най-скорошната и след това да можете да триете стари актуализации, за да пестите място</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -39,6 +39,12 @@
|
|||||||
<string name="dialog_prepare_zip_message">Preparació preliminar de l\'actualització</string>
|
<string name="dialog_prepare_zip_message">Preparació preliminar de l\'actualització</string>
|
||||||
<string name="dialog_battery_low_title">Bateria baixa</string>
|
<string name="dialog_battery_low_title">Bateria baixa</string>
|
||||||
<string name="dialog_battery_low_message_pct">El nivell de la bateria és massa baix, necessiteu com a mínim <xliff:g id="percent_discharging">%1$d</xliff:g>%% de bateria per continuar, <xliff:g id="percent_charging">%2$d</xliff:g>%% si el dispositiu s\'està carregant.</string>
|
<string name="dialog_battery_low_message_pct">El nivell de la bateria és massa baix, necessiteu com a mínim <xliff:g id="percent_discharging">%1$d</xliff:g>%% de bateria per continuar, <xliff:g id="percent_charging">%2$d</xliff:g>%% si el dispositiu s\'està carregant.</string>
|
||||||
|
<string name="dialog_scratch_mounted_message"><![CDATA[ Executeu les ordres següents i torneu a provar l\'actualització:\n
|
||||||
|
• adb root\n
|
||||||
|
• adb enable-verity\n
|
||||||
|
• adb reboot
|
||||||
|
]]></string>
|
||||||
|
<string name="dialog_scratch_mounted_title">No es pot instal·lar l\'actualització amb l\'OverlayFS muntat</string>
|
||||||
<string name="reboot">Reinicia</string>
|
<string name="reboot">Reinicia</string>
|
||||||
<string name="menu_refresh">Recarrega</string>
|
<string name="menu_refresh">Recarrega</string>
|
||||||
<string name="menu_preferences">Preferències</string>
|
<string name="menu_preferences">Preferències</string>
|
||||||
@@ -81,6 +87,8 @@
|
|||||||
<string name="confirm_delete_dialog_title">Esborra el fitxer</string>
|
<string name="confirm_delete_dialog_title">Esborra el fitxer</string>
|
||||||
<string name="confirm_delete_dialog_message">Vols esborrar el fitxer d\'actualització seleccionat?</string>
|
<string name="confirm_delete_dialog_message">Vols esborrar el fitxer d\'actualització seleccionat?</string>
|
||||||
<string name="apply_update_dialog_title">Aplica l\'actualització</string>
|
<string name="apply_update_dialog_title">Aplica l\'actualització</string>
|
||||||
|
<string name="apply_update_dialog_message">Esteu a punt d\'instal·lar <xliff:g id="update_name">%1$s</xliff:g>.\n\nSi premeu <xliff:g id="ok">%2$s</xliff:g>, el dispositiu es reiniciarà en el mode recuperació per a instal·lar l\'actualització.\n\nNota: Aquesta funció requereix un Recuperador compatible o les actualitzacions hauran de ser instal·lades manualment.</string>
|
||||||
|
<string name="apply_update_dialog_message_ab">Esteu a punt d\'instal·lar <xliff:g id="update_name">%1$s</xliff:g>.\n\nSi premeu <xliff:g id="ok">%2$s</xliff:g>, el dispositiu començarà a instal·lar-ho en segon pla.\n\nUna vegada completat, se us demanarà que el reinicieu.</string>
|
||||||
<string name="cancel_installation_dialog_message">Voleu cancel·lar la instal·lació?</string>
|
<string name="cancel_installation_dialog_message">Voleu cancel·lar la instal·lació?</string>
|
||||||
<string name="label_download_url">URL de baixada</string>
|
<string name="label_download_url">URL de baixada</string>
|
||||||
<string name="toast_download_url_copied">URL copiada</string>
|
<string name="toast_download_url_copied">URL copiada</string>
|
||||||
@@ -101,15 +109,25 @@
|
|||||||
<item quantity="one">Falta 1 hora</item>
|
<item quantity="one">Falta 1 hora</item>
|
||||||
<item quantity="other">Falten <xliff:g id="count">%d</xliff:g> hores</item>
|
<item quantity="other">Falten <xliff:g id="count">%d</xliff:g> hores</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Advertència</string>
|
<string name="update_over_metered_network_title">Advertència</string>
|
||||||
<string name="update_on_mobile_data_message">Estàs a punt de baixar un paquet d\'actualització amb dades mòbils que probablement generarà un alt ús de dades. Voleu continuar?</string>
|
<string name="update_over_metered_network_message">Esteu a punt de baixar un paquet d\'actualització a través d\'una xarxa mesurada que és probable que provoqui un ús elevat de dades. Voleu continuar?</string>
|
||||||
<string name="checkbox_mobile_data_warning">No ho tornis a mostrar</string>
|
<string name="checkbox_metered_network_warning">No ho tornis a mostrar</string>
|
||||||
<string name="menu_mobile_data_warning">Avís d\'ús de dades</string>
|
<string name="menu_metered_network_warning">Avís de xarxa mesurada</string>
|
||||||
<string name="blocked_update_dialog_title">Actualització bloquejada</string>
|
<string name="blocked_update_dialog_title">Actualització bloquejada</string>
|
||||||
<string name="blocked_update_dialog_message">Aquesta actualització no es pot instal·lar mitjançant l\'aplicació actualitzador. Per obtenir més informació, llegiu <xliff:g id="info_url">%1$s</xliff:g>.</string>
|
<string name="blocked_update_dialog_message">Aquesta actualització no es pot instal·lar mitjançant l\'aplicació actualitzador. Per obtenir més informació, llegiu <xliff:g id="info_url">%1$s</xliff:g>.</string>
|
||||||
<string name="export_channel_title">Exportació completada</string>
|
<string name="export_channel_title">Exportació completada</string>
|
||||||
<string name="new_updates_channel_title">Noves actualitzacions</string>
|
<string name="new_updates_channel_title">Noves actualitzacions</string>
|
||||||
<string name="ongoing_channel_title">Baixades en curs</string>
|
<string name="ongoing_channel_title">Baixades en curs</string>
|
||||||
<string name="update_failed_channel_title">Actualització fallida</string>
|
<string name="update_failed_channel_title">Actualització fallida</string>
|
||||||
|
<string name="info_dialog_title">Ho sabies?</string>
|
||||||
|
<string name="info_dialog_message">Les actualitzacions de LineageOS són paquets d\'instal·lació complets. Açò significa que sempre pots instal·lar únicament l\'última actualització, encara que t\'hagis saltat alguna actualització per entremig.</string>
|
||||||
<string name="info_dialog_ok">Gràcies per la informació!</string>
|
<string name="info_dialog_ok">Gràcies per la informació!</string>
|
||||||
|
<string name="local_update_import">Actualització local</string>
|
||||||
|
<string name="local_update_import_progress">S\'està important l\'actualització local\u2026</string>
|
||||||
|
<string name="local_update_import_success">S\'ha importat %1$s. Ho voleu instal·lar?</string>
|
||||||
|
<string name="local_update_import_failure">No s\'ha pogut importar l\'actualització local</string>
|
||||||
|
<string name="local_update_import_install">Instal·la</string>
|
||||||
|
<string name="local_update_name">Actualització local</string>
|
||||||
|
<string name="welcome_title">Us donem la benvinguda</string>
|
||||||
|
<string name="welcome_message">Tingueu en compte que quan hi ha diverses actualitzacions disponibles, no cal instal·lar actualització a actualització, sempre podeu instal·lar l\'última directament i a continuació, suprimir les actualitzacions antigues de manera segura per alliberar espai.</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -67,6 +67,8 @@
|
|||||||
<string name="header_last_updates_check">Poslední kontrola: <xliff:g id="date" example="1 January 1970">%1$s</xliff:g> (<xliff:g id="time" example="01:23">%2$s</xliff:g>)</string>
|
<string name="header_last_updates_check">Poslední kontrola: <xliff:g id="date" example="1 January 1970">%1$s</xliff:g> (<xliff:g id="time" example="01:23">%2$s</xliff:g>)</string>
|
||||||
<string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
|
<string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
|
||||||
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> z(e) <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_eta_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> z(e) <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g> (<xliff:g id="eta" example="3 minutes left">%3$s</xliff:g>)</string>
|
||||||
<string name="list_verifying_update">Ověření aktualizace</string>
|
<string name="list_verifying_update">Ověření aktualizace</string>
|
||||||
<string name="list_no_updates">Nebyly nalezeny žádné nové aktualizace. Chcete-li ručně vyhledat nové aktualizace, použijte tlačítko „Obnovit“.</string>
|
<string name="list_no_updates">Nebyly nalezeny žádné nové aktualizace. Chcete-li ručně vyhledat nové aktualizace, použijte tlačítko „Obnovit“.</string>
|
||||||
<string name="action_download">Stáhnout</string>
|
<string name="action_download">Stáhnout</string>
|
||||||
@@ -79,6 +81,8 @@
|
|||||||
<string name="confirm_delete_dialog_title">Smazat soubor</string>
|
<string name="confirm_delete_dialog_title">Smazat soubor</string>
|
||||||
<string name="confirm_delete_dialog_message">Smazat zvolený soubor aktualizace?</string>
|
<string name="confirm_delete_dialog_message">Smazat zvolený soubor aktualizace?</string>
|
||||||
<string name="apply_update_dialog_title">Použít aktualizaci</string>
|
<string name="apply_update_dialog_title">Použít aktualizaci</string>
|
||||||
|
<string name="apply_update_dialog_message">Chystáte se instalovat <xliff:g id="update_name">%1$s</xliff:g>.\n\nPokud stisknete <xliff:g id="ok">%2$s</xliff:g>, telefon se restartuje do režimu Recovery, kde budete pokračovat v instalaci aktualizace.\n\nPoznámka: tato funkce vyžaduje nainstalovaný kompatibilní režim Recovery nebo je nutné instalaci provést ručně.</string>
|
||||||
|
<string name="apply_update_dialog_message_ab">Chystáte se instalovat <xliff:g id="update_name">%1$s</xliff:g>.\n\nPokud stisknete <xliff:g id="ok">%2$s</xliff:g>, spustí se instalace na pozadí.\n\nPo dokončení budete vyzváni k restartu.</string>
|
||||||
<string name="cancel_installation_dialog_message">Zrušit instalaci?</string>
|
<string name="cancel_installation_dialog_message">Zrušit instalaci?</string>
|
||||||
<string name="label_download_url">URL stažení</string>
|
<string name="label_download_url">URL stažení</string>
|
||||||
<string name="toast_download_url_copied">URL zkopírována</string>
|
<string name="toast_download_url_copied">URL zkopírována</string>
|
||||||
@@ -86,6 +90,7 @@
|
|||||||
<string name="notification_export_success">Aktualizace exportována</string>
|
<string name="notification_export_success">Aktualizace exportována</string>
|
||||||
<string name="notification_export_fail">Chyba exportu</string>
|
<string name="notification_export_fail">Chyba exportu</string>
|
||||||
<string name="toast_already_exporting">Aktualizace se již exportuje</string>
|
<string name="toast_already_exporting">Aktualizace se již exportuje</string>
|
||||||
|
<string name="toast_export_started">Export byl zahájen</string>
|
||||||
<plurals name="eta_seconds">
|
<plurals name="eta_seconds">
|
||||||
<item quantity="one">Zbývá 1 sekunda</item>
|
<item quantity="one">Zbývá 1 sekunda</item>
|
||||||
<item quantity="few">Zbývají <xliff:g id="count">%d</xliff:g> sekundy</item>
|
<item quantity="few">Zbývají <xliff:g id="count">%d</xliff:g> sekundy</item>
|
||||||
@@ -104,14 +109,23 @@
|
|||||||
<item quantity="many">Zbývá <xliff:g id="count">%d</xliff:g> hodin</item>
|
<item quantity="many">Zbývá <xliff:g id="count">%d</xliff:g> hodin</item>
|
||||||
<item quantity="other">Zbývá <xliff:g id="count">%d</xliff:g> hodin</item>
|
<item quantity="other">Zbývá <xliff:g id="count">%d</xliff:g> hodin</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Varování</string>
|
<string name="update_over_metered_network_title">Varování</string>
|
||||||
<string name="update_on_mobile_data_message">Chystáte se stáhnout aktualizaci pomocí mobilních dat, což pravděpodobně zapříčiní vysoké využití dat. Přejete si pokračovat?</string>
|
<string name="update_over_metered_network_message">Chystáte se stáhnout aktualizaci skrze měřenou síť, což pravděpodobně zapříčiní vysoké využití dat. Chcete pokračovat?</string>
|
||||||
<string name="checkbox_mobile_data_warning">Znovu nezobrazovat</string>
|
<string name="checkbox_metered_network_warning">Znovu nezobrazovat</string>
|
||||||
<string name="menu_mobile_data_warning">Upozornění mobilních dat</string>
|
<string name="menu_metered_network_warning">Upozornění na měřenou síť</string>
|
||||||
<string name="blocked_update_dialog_title">Aktualizace zablokována</string>
|
<string name="blocked_update_dialog_title">Aktualizace zablokována</string>
|
||||||
<string name="blocked_update_dialog_message">Tuto aktualizaci nelze nainstalovat pomocí aplikace aktualizace. Přečtěte si <xliff:g id="info_url">%1$s </xliff:g> pro další informace.</string>
|
<string name="blocked_update_dialog_message">Tuto aktualizaci nelze nainstalovat pomocí aplikace aktualizace. Přečtěte si <xliff:g id="info_url">%1$s </xliff:g> pro další informace.</string>
|
||||||
<string name="export_channel_title">Dokončení exportu</string>
|
<string name="export_channel_title">Dokončení exportu</string>
|
||||||
<string name="new_updates_channel_title">Nové aktualizace</string>
|
<string name="new_updates_channel_title">Nové aktualizace</string>
|
||||||
<string name="ongoing_channel_title">Probíhající stahování</string>
|
<string name="ongoing_channel_title">Probíhající stahování</string>
|
||||||
<string name="update_failed_channel_title">Aktualizace se nezdařila</string>
|
<string name="update_failed_channel_title">Aktualizace se nezdařila</string>
|
||||||
|
<string name="info_dialog_title">Věděli jste, že…</string>
|
||||||
|
<string name="info_dialog_message">Aktualizace LineageOS jsou plné instalační balíčky. To znamená, že můžete vždy nainstalovat pouze nejnovější aktualizaci, a\u00a0je možné některé z\u00a0nich zcela přeskočit!</string>
|
||||||
|
<string name="info_dialog_ok">Děkujeme za informace!</string>
|
||||||
|
<string name="local_update_import">Místní aktualizace</string>
|
||||||
|
<string name="local_update_import_progress">Probíhá import místní aktualizace\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s byla importována. Chcete ji nainstalovat?</string>
|
||||||
|
<string name="local_update_import_failure">Nepodařilo se importovat místní aktualizaci</string>
|
||||||
|
<string name="local_update_import_install">Instalovat</string>
|
||||||
|
<string name="local_update_name">Místní aktualizace</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -67,6 +67,8 @@
|
|||||||
<string name="header_last_updates_check">Gwiriwyd diwethaf: <xliff:g id="date" example="1 January 1970">%1$s</xliff:g> (<xliff:g id="time" example="01:23">%2$s</xliff:g>)</string>
|
<string name="header_last_updates_check">Gwiriwyd diwethaf: <xliff:g id="date" example="1 January 1970">%1$s</xliff:g> (<xliff:g id="time" example="01:23">%2$s</xliff:g>)</string>
|
||||||
<string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
|
<string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
|
||||||
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> o <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_eta_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> o <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g> (<xliff:g id="eta" example="3 minutes left">%3$s</xliff:g>)</string>
|
||||||
<string name="list_verifying_update">Yn dilysu\'r diweddariad</string>
|
<string name="list_verifying_update">Yn dilysu\'r diweddariad</string>
|
||||||
<string name="list_no_updates">Ni chanfuwyd diweddariadau newydd. I wirio am ddiweddariadau newydd dy hun, defnyddia\'r botwm ail-lwytho.</string>
|
<string name="list_no_updates">Ni chanfuwyd diweddariadau newydd. I wirio am ddiweddariadau newydd dy hun, defnyddia\'r botwm ail-lwytho.</string>
|
||||||
<string name="action_download">Lawrlwytho</string>
|
<string name="action_download">Lawrlwytho</string>
|
||||||
@@ -79,6 +81,8 @@
|
|||||||
<string name="confirm_delete_dialog_title">Dileu ffeil</string>
|
<string name="confirm_delete_dialog_title">Dileu ffeil</string>
|
||||||
<string name="confirm_delete_dialog_message">Dileu\'r ffeil diweddariad a ddewiswyd?</string>
|
<string name="confirm_delete_dialog_message">Dileu\'r ffeil diweddariad a ddewiswyd?</string>
|
||||||
<string name="apply_update_dialog_title">Gosod diweddariad</string>
|
<string name="apply_update_dialog_title">Gosod diweddariad</string>
|
||||||
|
<string name="apply_update_dialog_message">Rwyt ar fin osod <xliff:g id="update_name">%1$s</xliff:g>.\n\nOs wyt yn gwasgu <xliff:g id="ok">%2$s</xliff:g>, bydd y ddyfais yn ail-ddechrau ei hun i\'r modd adfer er mwyn gosod y diweddariad.\n\nNodyn: Mae ar y nodwedd hon angen Modd Adfer (Recovery) cydnaws er mwyn gosod diweddariadau yn awtomatig.</string>
|
||||||
|
<string name="apply_update_dialog_message_ab">Rwyt ar fin osod <xliff:g id="update_name">%1$s</xliff:g>.\n\nOs wyt yn gwasgu <xliff:g id="ok">%2$s</xliff:g>, bydd y ddyfais yn dechrau\'r gosod yn y cefndir.\n\nPan fydd wedi\'i gwblhau, cei dy hysbysu i ailddechrau\'r system.</string>
|
||||||
<string name="cancel_installation_dialog_message">Diddymu\'r gosod?</string>
|
<string name="cancel_installation_dialog_message">Diddymu\'r gosod?</string>
|
||||||
<string name="label_download_url">URL lawrlwytho</string>
|
<string name="label_download_url">URL lawrlwytho</string>
|
||||||
<string name="toast_download_url_copied">Copïwyd yr URL</string>
|
<string name="toast_download_url_copied">Copïwyd yr URL</string>
|
||||||
@@ -86,6 +90,7 @@
|
|||||||
<string name="notification_export_success">Allforiwyd y diweddariad</string>
|
<string name="notification_export_success">Allforiwyd y diweddariad</string>
|
||||||
<string name="notification_export_fail">Gwall allforio</string>
|
<string name="notification_export_fail">Gwall allforio</string>
|
||||||
<string name="toast_already_exporting">Eisoes yn allforio diweddariad</string>
|
<string name="toast_already_exporting">Eisoes yn allforio diweddariad</string>
|
||||||
|
<string name="toast_export_started">Wedi dechrau allforio</string>
|
||||||
<plurals name="eta_seconds">
|
<plurals name="eta_seconds">
|
||||||
<item quantity="zero"><xliff:g id="count">%d</xliff:g> eiliadau yn weddill</item>
|
<item quantity="zero"><xliff:g id="count">%d</xliff:g> eiliadau yn weddill</item>
|
||||||
<item quantity="one"><xliff:g id="count">%d</xliff:g> eiliad yn weddill</item>
|
<item quantity="one"><xliff:g id="count">%d</xliff:g> eiliad yn weddill</item>
|
||||||
@@ -110,14 +115,23 @@
|
|||||||
<item quantity="many"><xliff:g id="count">%d</xliff:g> awr yn weddill</item>
|
<item quantity="many"><xliff:g id="count">%d</xliff:g> awr yn weddill</item>
|
||||||
<item quantity="other"><xliff:g id="count">%d</xliff:g> awr yn weddill</item>
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> awr yn weddill</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Rhybudd</string>
|
<string name="update_over_metered_network_title">Rhybudd</string>
|
||||||
<string name="update_on_mobile_data_message">Rwyt ar fin lawrlwytho pecyn diweddaru gyda llawer o ddata dros gysylltiad data symudol. Wyt ti am barhau?</string>
|
<string name="update_over_metered_network_message">Rwyt ar fin lawrlwytho pecyn diweddaru gyda llawer o ddata dros rwydwaith mesuredig. Wyt ti am barhau?</string>
|
||||||
<string name="checkbox_mobile_data_warning">Peidio â dangos eto</string>
|
<string name="checkbox_metered_network_warning">Peidio â dangos eto</string>
|
||||||
<string name="menu_mobile_data_warning">Rhybudd data symudol</string>
|
<string name="menu_metered_network_warning">Rhybudd rhwydwaith mesuredig</string>
|
||||||
<string name="blocked_update_dialog_title">Rhwystrwyd y diweddariad</string>
|
<string name="blocked_update_dialog_title">Rhwystrwyd y diweddariad</string>
|
||||||
<string name="blocked_update_dialog_message">Ni ellir gosod y diweddariad hwn gyda\'r ap diweddarydd. Gweler <xliff:g id="info_url">%1$s</xliff:g> am wybodaeth bellach.</string>
|
<string name="blocked_update_dialog_message">Ni ellir gosod y diweddariad hwn gyda\'r ap diweddarydd. Gweler <xliff:g id="info_url">%1$s</xliff:g> am wybodaeth bellach.</string>
|
||||||
<string name="export_channel_title">Cwblhawyd allforio</string>
|
<string name="export_channel_title">Cwblhawyd allforio</string>
|
||||||
<string name="new_updates_channel_title">Diweddariadau newydd</string>
|
<string name="new_updates_channel_title">Diweddariadau newydd</string>
|
||||||
<string name="ongoing_channel_title">Llwythi sy\'n parhau</string>
|
<string name="ongoing_channel_title">Llwythi sy\'n parhau</string>
|
||||||
<string name="update_failed_channel_title">Methodd y diweddariad</string>
|
<string name="update_failed_channel_title">Methodd y diweddariad</string>
|
||||||
|
<string name="info_dialog_title">A wyddet ti?</string>
|
||||||
|
<string name="info_dialog_message">Mae diweddariadau LineageOS yn becynnau gosod llawn, felly mae o hyd yn bosib gosod y diweddariad diweddaraf, hyd yn oed os wyt wedi neidio ambell ddiweddariad ers y diwethaf!</string>
|
||||||
|
<string name="info_dialog_ok">Diolch am y wybodaeth!</string>
|
||||||
|
<string name="local_update_import">Diweddariad lleol</string>
|
||||||
|
<string name="local_update_import_progress">Yn mewnforio diweddariad lleol\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s wedi ei fewnforio. Wyt ti am ei osod?</string>
|
||||||
|
<string name="local_update_import_failure">Methwyd â mewnforio diweddariad lleol</string>
|
||||||
|
<string name="local_update_import_install">Gosod</string>
|
||||||
|
<string name="local_update_name">Diweddariad lleol</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
<string name="text_download_speed">%1$s, %2$s/s</string>
|
<string name="text_download_speed">%1$s, %2$s/s</string>
|
||||||
<string name="pause_button">Pause</string>
|
<string name="pause_button">Pause</string>
|
||||||
<string name="resume_button">Genoptag</string>
|
<string name="resume_button">Genoptag</string>
|
||||||
<string name="suspend_button">Suspender</string>
|
<string name="suspend_button">Suspendér</string>
|
||||||
<string name="installing_update">Installerer opdateringspakke</string>
|
<string name="installing_update">Installerer opdateringspakke</string>
|
||||||
<string name="installing_update_error">Installeringsfejl</string>
|
<string name="installing_update_error">Installeringsfejl</string>
|
||||||
<string name="installing_update_finished">Opdatering installeret</string>
|
<string name="installing_update_finished">Opdatering installeret</string>
|
||||||
@@ -44,6 +44,8 @@
|
|||||||
<string name="menu_preferences">Præferencer</string>
|
<string name="menu_preferences">Præferencer</string>
|
||||||
<string name="menu_auto_updates_check">Auto-opdateringskontrol</string>
|
<string name="menu_auto_updates_check">Auto-opdateringskontrol</string>
|
||||||
<string name="menu_auto_updates_check_interval_daily">Én gang dagligt</string>
|
<string name="menu_auto_updates_check_interval_daily">Én gang dagligt</string>
|
||||||
|
<string name="menu_auto_updates_check_interval_weekly">En gang om ugen</string>
|
||||||
|
<string name="menu_auto_updates_check_interval_monthly">En gang om måneden</string>
|
||||||
<string name="menu_auto_updates_check_interval_never">Aldrig</string>
|
<string name="menu_auto_updates_check_interval_never">Aldrig</string>
|
||||||
<string name="menu_auto_delete_updates">Slet opdateringer, når installeret</string>
|
<string name="menu_auto_delete_updates">Slet opdateringer, når installeret</string>
|
||||||
<string name="menu_delete_update">Slet</string>
|
<string name="menu_delete_update">Slet</string>
|
||||||
@@ -101,10 +103,10 @@
|
|||||||
<item quantity="one">1 time tilbage</item>
|
<item quantity="one">1 time tilbage</item>
|
||||||
<item quantity="other"><xliff:g id="count">%d</xliff:g> timer tilbage</item>
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> timer tilbage</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Advarsel</string>
|
<string name="update_over_metered_network_title">Advarsel</string>
|
||||||
<string name="update_on_mobile_data_message">Du er ved at hente en opdateringspakke vha. mobildata, hvilket sandsynligvis vil forårsage højt dataforbrug. Ønsker du at fortsætte?</string>
|
<string name="update_over_metered_network_message">Du er ved at downloade en opdateringspakke over målingstilsluttet netværk, hvilket med stor sandsynlighed kan give højt data forbrug. Vil du gerne fortsætte?</string>
|
||||||
<string name="checkbox_mobile_data_warning">Vis ikke igen</string>
|
<string name="checkbox_metered_network_warning">Vis ikke igen</string>
|
||||||
<string name="menu_mobile_data_warning">Mobildata-advarsel</string>
|
<string name="menu_metered_network_warning">Målingstilsluttet netværks advarsel</string>
|
||||||
<string name="blocked_update_dialog_title">Opdatering blokeret</string>
|
<string name="blocked_update_dialog_title">Opdatering blokeret</string>
|
||||||
<string name="blocked_update_dialog_message">Denne opdatering kan ikke installeres over opdatering-app\'en. Læs venligst <xliff:g id="info_url">%1$s</xliff:g> for mere information.</string>
|
<string name="blocked_update_dialog_message">Denne opdatering kan ikke installeres over opdatering-app\'en. Læs venligst <xliff:g id="info_url">%1$s</xliff:g> for mere information.</string>
|
||||||
<string name="export_channel_title">Eksport fuldførelse</string>
|
<string name="export_channel_title">Eksport fuldførelse</string>
|
||||||
@@ -114,4 +116,10 @@
|
|||||||
<string name="info_dialog_title">Vidste du?</string>
|
<string name="info_dialog_title">Vidste du?</string>
|
||||||
<string name="info_dialog_message">LineageOS opdateringer er komplette installationspakker. Det betyder, at du altid kun kan installere den seneste opdatering, selv om du har sprunget nogle over!</string>
|
<string name="info_dialog_message">LineageOS opdateringer er komplette installationspakker. Det betyder, at du altid kun kan installere den seneste opdatering, selv om du har sprunget nogle over!</string>
|
||||||
<string name="info_dialog_ok">Tak for info!</string>
|
<string name="info_dialog_ok">Tak for info!</string>
|
||||||
|
<string name="local_update_import">Lokal opdatering</string>
|
||||||
|
<string name="local_update_import_progress">Importerer lokal opdatering\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s er blevet importeret. Vil du installere det?</string>
|
||||||
|
<string name="local_update_import_failure">Import af lokal opdatering mislykkedes</string>
|
||||||
|
<string name="local_update_import_install">Installér</string>
|
||||||
|
<string name="local_update_name">Lokal opdatering</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -39,6 +39,12 @@
|
|||||||
<string name="dialog_prepare_zip_message">Update wird vorbereitet</string>
|
<string name="dialog_prepare_zip_message">Update wird vorbereitet</string>
|
||||||
<string name="dialog_battery_low_title">Niedriger Akkustand</string>
|
<string name="dialog_battery_low_title">Niedriger Akkustand</string>
|
||||||
<string name="dialog_battery_low_message_pct">Dein Akkustand ist zu niedrig. Es werden mindestens <xliff:g id="percent_discharging">%1$d</xliff:g>%% Restkapazität (oder <xliff:g id="percent_charging">%2$d</xliff:g>%% mit angeschlossenem Ladegerät) benötigt, um fortzufahren.</string>
|
<string name="dialog_battery_low_message_pct">Dein Akkustand ist zu niedrig. Es werden mindestens <xliff:g id="percent_discharging">%1$d</xliff:g>%% Restkapazität (oder <xliff:g id="percent_charging">%2$d</xliff:g>%% mit angeschlossenem Ladegerät) benötigt, um fortzufahren.</string>
|
||||||
|
<string name="dialog_scratch_mounted_message"><![CDATA[ Bitte führe die folgenden Befehle aus und versuche anschließend das Update erneut durchzuführen:\n
|
||||||
|
• adb root\n
|
||||||
|
• adb enable-verity\n
|
||||||
|
• adb reboot
|
||||||
|
]]></string>
|
||||||
|
<string name="dialog_scratch_mounted_title">Update kann nicht installiert werden, wenn OverlayFS eingebunden ist</string>
|
||||||
<string name="reboot">Neustart</string>
|
<string name="reboot">Neustart</string>
|
||||||
<string name="menu_refresh">Aktualisieren</string>
|
<string name="menu_refresh">Aktualisieren</string>
|
||||||
<string name="menu_preferences">Einstellungen</string>
|
<string name="menu_preferences">Einstellungen</string>
|
||||||
@@ -103,10 +109,10 @@
|
|||||||
<item quantity="one">noch 1 Stunde</item>
|
<item quantity="one">noch 1 Stunde</item>
|
||||||
<item quantity="other">noch <xliff:g id="count">%d</xliff:g> Stunden</item>
|
<item quantity="other">noch <xliff:g id="count">%d</xliff:g> Stunden</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Achtung</string>
|
<string name="update_over_metered_network_title">Achtung</string>
|
||||||
<string name="update_on_mobile_data_message">Du bist dabei ein Software-Update über das Mobilfunknetz herunterzuladen, was zu einem hohen Datenverbrauch führen kann. Möchtest du fortfahren?</string>
|
<string name="update_over_metered_network_message">Du bist dabei ein Software-Update über ein getaktetes Netzwerk herunterzuladen, was zu einem hohen Datenverbrauch führen kann. Möchtest du fortfahren?</string>
|
||||||
<string name="checkbox_mobile_data_warning">Nicht wieder anzeigen</string>
|
<string name="checkbox_metered_network_warning">Nicht wieder anzeigen</string>
|
||||||
<string name="menu_mobile_data_warning">Mobildaten-Warnung</string>
|
<string name="menu_metered_network_warning">Warnen bei getakteter Verbindung</string>
|
||||||
<string name="blocked_update_dialog_title">Update blockiert</string>
|
<string name="blocked_update_dialog_title">Update blockiert</string>
|
||||||
<string name="blocked_update_dialog_message">Dieses Update kann mit der Updater-App nicht installiert werden. Für weitere Informationen lies bitte <xliff:g id="info_url">%1$s </xliff:g>.</string>
|
<string name="blocked_update_dialog_message">Dieses Update kann mit der Updater-App nicht installiert werden. Für weitere Informationen lies bitte <xliff:g id="info_url">%1$s </xliff:g>.</string>
|
||||||
<string name="export_channel_title">Export abgeschlossen</string>
|
<string name="export_channel_title">Export abgeschlossen</string>
|
||||||
@@ -116,4 +122,10 @@
|
|||||||
<string name="info_dialog_title">Schon gewusst?</string>
|
<string name="info_dialog_title">Schon gewusst?</string>
|
||||||
<string name="info_dialog_message">LineageOS-Updates sind vollständige Installationspakete. Das bedeutet, dass du immer nur das neueste Update installieren zu brauchst, auch wenn du zwischendurch welche übersprungen hast!</string>
|
<string name="info_dialog_message">LineageOS-Updates sind vollständige Installationspakete. Das bedeutet, dass du immer nur das neueste Update installieren zu brauchst, auch wenn du zwischendurch welche übersprungen hast!</string>
|
||||||
<string name="info_dialog_ok">Danke für die Information!</string>
|
<string name="info_dialog_ok">Danke für die Information!</string>
|
||||||
|
<string name="local_update_import">Lokales Update</string>
|
||||||
|
<string name="local_update_import_progress">Lokales Update wird importiert\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s wurde importiert. Möchtest du es installieren?</string>
|
||||||
|
<string name="local_update_import_failure">Fehler beim Importieren des lokalen Updates</string>
|
||||||
|
<string name="local_update_import_install">Installieren</string>
|
||||||
|
<string name="local_update_name">Lokales Update</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -39,6 +39,12 @@
|
|||||||
<string name="dialog_prepare_zip_message">Προκαταρκτική προετοιμασία ενημέρωσης</string>
|
<string name="dialog_prepare_zip_message">Προκαταρκτική προετοιμασία ενημέρωσης</string>
|
||||||
<string name="dialog_battery_low_title">Χαμηλή μπαταρία</string>
|
<string name="dialog_battery_low_title">Χαμηλή μπαταρία</string>
|
||||||
<string name="dialog_battery_low_message_pct">Η στάθμη της μπαταρίας είναι πολύ χαμηλή, χρειάζεστε τουλάχιστον <xliff:g id="percent_discharging">%1$d</xliff:g>%% της μπαταρίας για να συνεχίσετε ή <xliff:g id="percent_charging">%2$d</xliff:g>%% κατά την φόρτιση.</string>
|
<string name="dialog_battery_low_message_pct">Η στάθμη της μπαταρίας είναι πολύ χαμηλή, χρειάζεστε τουλάχιστον <xliff:g id="percent_discharging">%1$d</xliff:g>%% της μπαταρίας για να συνεχίσετε ή <xliff:g id="percent_charging">%2$d</xliff:g>%% κατά την φόρτιση.</string>
|
||||||
|
<string name="dialog_scratch_mounted_message"><![CDATA[ Παρακαλώ εκτελέστε τις ακόλουθες εντολές και δοκιμάστε ξανά την ενημέρωση:\n
|
||||||
|
• adb root\n
|
||||||
|
• adb enable-verity\n
|
||||||
|
• adb reboot
|
||||||
|
]]></string>
|
||||||
|
<string name="dialog_scratch_mounted_title">Αδυναμία εγκατάστασης ενημέρωσης με το OverlayFS προσαρτημένο</string>
|
||||||
<string name="reboot">Επανεκκίνηση</string>
|
<string name="reboot">Επανεκκίνηση</string>
|
||||||
<string name="menu_refresh">Ανανέωση</string>
|
<string name="menu_refresh">Ανανέωση</string>
|
||||||
<string name="menu_preferences">Προτιμήσεις</string>
|
<string name="menu_preferences">Προτιμήσεις</string>
|
||||||
@@ -103,10 +109,10 @@
|
|||||||
<item quantity="one">απομένει 1 ώρα</item>
|
<item quantity="one">απομένει 1 ώρα</item>
|
||||||
<item quantity="other">απομένουν <xliff:g id="count">%d</xliff:g> ώρες</item>
|
<item quantity="other">απομένουν <xliff:g id="count">%d</xliff:g> ώρες</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Προσοχή</string>
|
<string name="update_over_metered_network_title">Προσοχή</string>
|
||||||
<string name="update_on_mobile_data_message">Είστε έτοιμοι να κατεβάσετε ένα πακέτο ενημέρωσης χρησιμοποιώντας δεδομένα κινητής τηλεφωνίας το οποίο είναι πιθανό να προκαλέσει υψηλή χρήση δεδομένων. Θα θέλατε να συνεχίσετε;</string>
|
<string name="update_over_metered_network_message">Είστε έτοιμοι να κατεβάσετε ένα πακέτο ενημέρωσης χρησιμοποιώντας ένα δίκτυο με ογκοχρέωση δεδομένων το οποίο είναι πιθανό να προκαλέσει υψηλή χρήση δεδομένων. Θα θέλατε να συνεχίσετε;</string>
|
||||||
<string name="checkbox_mobile_data_warning">Να μην εμφανιστεί ξανά</string>
|
<string name="checkbox_metered_network_warning">Να μην εμφανιστεί ξανά</string>
|
||||||
<string name="menu_mobile_data_warning">Προειδοποίηση δεδομένων κινητής τηλ.</string>
|
<string name="menu_metered_network_warning">Προειδοποίηση ογκοχρέωσης δικτύου</string>
|
||||||
<string name="blocked_update_dialog_title">Η ενημέρωση μπλοκαρίστηκε</string>
|
<string name="blocked_update_dialog_title">Η ενημέρωση μπλοκαρίστηκε</string>
|
||||||
<string name="blocked_update_dialog_message">Αυτή η ενημέρωση δεν μπορεί να εγκατασταθεί χρησιμοποιώντας την εφαρμογή ενημέρωσης. Παρακαλούμε διαβάστε το <xliff:g id="info_url">%1$s </xliff:g> για περισσότερες πληροφορίες.</string>
|
<string name="blocked_update_dialog_message">Αυτή η ενημέρωση δεν μπορεί να εγκατασταθεί χρησιμοποιώντας την εφαρμογή ενημέρωσης. Παρακαλούμε διαβάστε το <xliff:g id="info_url">%1$s </xliff:g> για περισσότερες πληροφορίες.</string>
|
||||||
<string name="export_channel_title">Ολοκλήρωση εξαγωγής</string>
|
<string name="export_channel_title">Ολοκλήρωση εξαγωγής</string>
|
||||||
@@ -116,4 +122,10 @@
|
|||||||
<string name="info_dialog_title">Το γνωρίζατε;</string>
|
<string name="info_dialog_title">Το γνωρίζατε;</string>
|
||||||
<string name="info_dialog_message">Οι ενημερώσεις LineageOS είναι πλήρη πακέτα εγκατάστασης. Αυτό σημαίνει ότι μπορείτε πάντα να εγκαταστήσετε μόνο την πιο πρόσφατη ενημέρωση, ακόμα κι αν παραλείψατε κάποια ενδιάμεσα!</string>
|
<string name="info_dialog_message">Οι ενημερώσεις LineageOS είναι πλήρη πακέτα εγκατάστασης. Αυτό σημαίνει ότι μπορείτε πάντα να εγκαταστήσετε μόνο την πιο πρόσφατη ενημέρωση, ακόμα κι αν παραλείψατε κάποια ενδιάμεσα!</string>
|
||||||
<string name="info_dialog_ok">Ευχαριστώ για τις πληροφορίες!</string>
|
<string name="info_dialog_ok">Ευχαριστώ για τις πληροφορίες!</string>
|
||||||
|
<string name="local_update_import">Τοπική ενημέρωση</string>
|
||||||
|
<string name="local_update_import_progress">Εισαγωγή τοπικής ενημέρωσης\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s έχει εισαχθεί. Θέλετε να τo εγκαταστήσετε;</string>
|
||||||
|
<string name="local_update_import_failure">Αποτυχία εισαγωγής τοπικής ενημέρωσης</string>
|
||||||
|
<string name="local_update_import_install">Εγκατάσταση</string>
|
||||||
|
<string name="local_update_name">Τοπική ενημέρωση</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -39,6 +39,12 @@
|
|||||||
<string name="dialog_prepare_zip_message">Preliminary update preparation</string>
|
<string name="dialog_prepare_zip_message">Preliminary update preparation</string>
|
||||||
<string name="dialog_battery_low_title">Low battery</string>
|
<string name="dialog_battery_low_title">Low battery</string>
|
||||||
<string name="dialog_battery_low_message_pct">The battery level is too low, you need at least <xliff:g id="percent_discharging">%1$d</xliff:g>%% of the battery to continue, <xliff:g id="percent_charging">%2$d</xliff:g>%% if charging.</string>
|
<string name="dialog_battery_low_message_pct">The battery level is too low, you need at least <xliff:g id="percent_discharging">%1$d</xliff:g>%% of the battery to continue, <xliff:g id="percent_charging">%2$d</xliff:g>%% if charging.</string>
|
||||||
|
<string name="dialog_scratch_mounted_message"><![CDATA[ Please run the following commands and retry the update:\n
|
||||||
|
• adb root\n
|
||||||
|
• adb enable-verity\n
|
||||||
|
• adb reboot
|
||||||
|
]]></string>
|
||||||
|
<string name="dialog_scratch_mounted_title">Cannot install update with OverlayFS mounted</string>
|
||||||
<string name="reboot">Reboot</string>
|
<string name="reboot">Reboot</string>
|
||||||
<string name="menu_refresh">Refresh</string>
|
<string name="menu_refresh">Refresh</string>
|
||||||
<string name="menu_preferences">Preferences</string>
|
<string name="menu_preferences">Preferences</string>
|
||||||
@@ -103,10 +109,10 @@
|
|||||||
<item quantity="one">1 hour left</item>
|
<item quantity="one">1 hour left</item>
|
||||||
<item quantity="other"><xliff:g id="count">%d</xliff:g> hours left</item>
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> hours left</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Warning</string>
|
<string name="update_over_metered_network_title">Warning</string>
|
||||||
<string name="update_on_mobile_data_message">You\'re about to download an update package using mobile data which is likely going to cause high data usage. Would you like to proceed?</string>
|
<string name="update_over_metered_network_message">You\'re about to download an update package over a metered network which is likely going to cause high data usage. Would you like to proceed?</string>
|
||||||
<string name="checkbox_mobile_data_warning">Do not show again</string>
|
<string name="checkbox_metered_network_warning">Do not show again</string>
|
||||||
<string name="menu_mobile_data_warning">Mobile data warning</string>
|
<string name="menu_metered_network_warning">Metered network warning</string>
|
||||||
<string name="blocked_update_dialog_title">Update blocked</string>
|
<string name="blocked_update_dialog_title">Update blocked</string>
|
||||||
<string name="blocked_update_dialog_message">This update cannot be installed using the updater app. Please read <xliff:g id="info_url">%1$s</xliff:g> for more information.</string>
|
<string name="blocked_update_dialog_message">This update cannot be installed using the updater app. Please read <xliff:g id="info_url">%1$s</xliff:g> for more information.</string>
|
||||||
<string name="export_channel_title">Export completion</string>
|
<string name="export_channel_title">Export completion</string>
|
||||||
@@ -116,4 +122,12 @@
|
|||||||
<string name="info_dialog_title">Did you know?</string>
|
<string name="info_dialog_title">Did you know?</string>
|
||||||
<string name="info_dialog_message">LineageOS updates are full installation packages. That means you can always install only the latest update, even if you skipped some in between!</string>
|
<string name="info_dialog_message">LineageOS updates are full installation packages. That means you can always install only the latest update, even if you skipped some in between!</string>
|
||||||
<string name="info_dialog_ok">Thanks for the info!</string>
|
<string name="info_dialog_ok">Thanks for the info!</string>
|
||||||
|
<string name="local_update_import">Local update</string>
|
||||||
|
<string name="local_update_import_progress">Importing local update\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s has been imported. Do you want to install it?</string>
|
||||||
|
<string name="local_update_import_failure">Failed to import local update</string>
|
||||||
|
<string name="local_update_import_install">Install</string>
|
||||||
|
<string name="local_update_name">Local update</string>
|
||||||
|
<string name="welcome_title">Welcome</string>
|
||||||
|
<string name="welcome_message">Please note that when multiple updates are available, there is no need to go update-by-update, you can always install the latest one directly, and then safely delete old updates to free up storage space.</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -39,6 +39,12 @@
|
|||||||
<string name="dialog_prepare_zip_message">Preliminary update preparation</string>
|
<string name="dialog_prepare_zip_message">Preliminary update preparation</string>
|
||||||
<string name="dialog_battery_low_title">Low battery</string>
|
<string name="dialog_battery_low_title">Low battery</string>
|
||||||
<string name="dialog_battery_low_message_pct">The battery level is too low, you need at least <xliff:g id="percent_discharging">%1$d</xliff:g>%% of the battery to continue, <xliff:g id="percent_charging">%2$d</xliff:g>%% if charging.</string>
|
<string name="dialog_battery_low_message_pct">The battery level is too low, you need at least <xliff:g id="percent_discharging">%1$d</xliff:g>%% of the battery to continue, <xliff:g id="percent_charging">%2$d</xliff:g>%% if charging.</string>
|
||||||
|
<string name="dialog_scratch_mounted_message"><![CDATA[ Please run the following commands and retry the update:\n
|
||||||
|
• adb root\n
|
||||||
|
• adb enable-verity\n
|
||||||
|
• adb reboot
|
||||||
|
]]></string>
|
||||||
|
<string name="dialog_scratch_mounted_title">Cannot install update with OverlayFS mounted</string>
|
||||||
<string name="reboot">Reboot</string>
|
<string name="reboot">Reboot</string>
|
||||||
<string name="menu_refresh">Refresh</string>
|
<string name="menu_refresh">Refresh</string>
|
||||||
<string name="menu_preferences">Preferences</string>
|
<string name="menu_preferences">Preferences</string>
|
||||||
@@ -103,10 +109,10 @@
|
|||||||
<item quantity="one">1 hour left</item>
|
<item quantity="one">1 hour left</item>
|
||||||
<item quantity="other"><xliff:g id="count">%d</xliff:g> hours left</item>
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> hours left</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Warning</string>
|
<string name="update_over_metered_network_title">Warning</string>
|
||||||
<string name="update_on_mobile_data_message">You\'re about to download an update package using mobile data which is likely going to cause high data usage. Would you like to proceed?</string>
|
<string name="update_over_metered_network_message">You\'re about to download an update package over a metered network which is likely going to cause high data usage. Would you like to proceed?</string>
|
||||||
<string name="checkbox_mobile_data_warning">Do not show again</string>
|
<string name="checkbox_metered_network_warning">Do not show again</string>
|
||||||
<string name="menu_mobile_data_warning">Mobile data warning</string>
|
<string name="menu_metered_network_warning">Metered network warning</string>
|
||||||
<string name="blocked_update_dialog_title">Update blocked</string>
|
<string name="blocked_update_dialog_title">Update blocked</string>
|
||||||
<string name="blocked_update_dialog_message">This update cannot be installed using the updater app. Please read <xliff:g id="info_url">%1$s</xliff:g> for more information.</string>
|
<string name="blocked_update_dialog_message">This update cannot be installed using the updater app. Please read <xliff:g id="info_url">%1$s</xliff:g> for more information.</string>
|
||||||
<string name="export_channel_title">Export completion</string>
|
<string name="export_channel_title">Export completion</string>
|
||||||
@@ -116,4 +122,12 @@
|
|||||||
<string name="info_dialog_title">Did you know?</string>
|
<string name="info_dialog_title">Did you know?</string>
|
||||||
<string name="info_dialog_message">LineageOS updates are full installation packages. That means you can always install only the latest update, even if you skipped some in between!</string>
|
<string name="info_dialog_message">LineageOS updates are full installation packages. That means you can always install only the latest update, even if you skipped some in between!</string>
|
||||||
<string name="info_dialog_ok">Thanks for the info!</string>
|
<string name="info_dialog_ok">Thanks for the info!</string>
|
||||||
|
<string name="local_update_import">Local update</string>
|
||||||
|
<string name="local_update_import_progress">Importing local update\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s has been imported. Do you want to install it?</string>
|
||||||
|
<string name="local_update_import_failure">Failed to import local update</string>
|
||||||
|
<string name="local_update_import_install">Install</string>
|
||||||
|
<string name="local_update_name">Local update</string>
|
||||||
|
<string name="welcome_title">Welcome</string>
|
||||||
|
<string name="welcome_message">Please note that when multiple updates are available, there is no need to go update-by-update, you can always install the latest one directly, and then safely delete old updates to free up storage space.</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -39,6 +39,12 @@
|
|||||||
<string name="dialog_prepare_zip_message">Preliminary update preparation</string>
|
<string name="dialog_prepare_zip_message">Preliminary update preparation</string>
|
||||||
<string name="dialog_battery_low_title">Low battery</string>
|
<string name="dialog_battery_low_title">Low battery</string>
|
||||||
<string name="dialog_battery_low_message_pct">The battery level is too low, you need at least <xliff:g id="percent_discharging">%1$d</xliff:g>%% of the battery to continue, <xliff:g id="percent_charging">%2$d</xliff:g>%% if charging.</string>
|
<string name="dialog_battery_low_message_pct">The battery level is too low, you need at least <xliff:g id="percent_discharging">%1$d</xliff:g>%% of the battery to continue, <xliff:g id="percent_charging">%2$d</xliff:g>%% if charging.</string>
|
||||||
|
<string name="dialog_scratch_mounted_message"><![CDATA[ Please run the following commands and retry the update:\n
|
||||||
|
• adb root\n
|
||||||
|
• adb enable-verity\n
|
||||||
|
• adb reboot
|
||||||
|
]]></string>
|
||||||
|
<string name="dialog_scratch_mounted_title">Cannot install update with OverlayFS mounted</string>
|
||||||
<string name="reboot">Reboot</string>
|
<string name="reboot">Reboot</string>
|
||||||
<string name="menu_refresh">Refresh</string>
|
<string name="menu_refresh">Refresh</string>
|
||||||
<string name="menu_preferences">Preferences</string>
|
<string name="menu_preferences">Preferences</string>
|
||||||
@@ -103,10 +109,10 @@
|
|||||||
<item quantity="one">1 hour left</item>
|
<item quantity="one">1 hour left</item>
|
||||||
<item quantity="other"><xliff:g id="count">%d</xliff:g> hours left</item>
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> hours left</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Warning</string>
|
<string name="update_over_metered_network_title">Warning</string>
|
||||||
<string name="update_on_mobile_data_message">You\'re about to download an update package using mobile data which is likely going to cause high data usage. Would you like to proceed?</string>
|
<string name="update_over_metered_network_message">You\'re about to download an update package over a metered network which is likely going to cause high data usage. Would you like to proceed?</string>
|
||||||
<string name="checkbox_mobile_data_warning">Do not show again</string>
|
<string name="checkbox_metered_network_warning">Do not show again</string>
|
||||||
<string name="menu_mobile_data_warning">Mobile data warning</string>
|
<string name="menu_metered_network_warning">Metered network warning</string>
|
||||||
<string name="blocked_update_dialog_title">Update blocked</string>
|
<string name="blocked_update_dialog_title">Update blocked</string>
|
||||||
<string name="blocked_update_dialog_message">This update cannot be installed using the updater app. Please read <xliff:g id="info_url">%1$s</xliff:g> for more information.</string>
|
<string name="blocked_update_dialog_message">This update cannot be installed using the updater app. Please read <xliff:g id="info_url">%1$s</xliff:g> for more information.</string>
|
||||||
<string name="export_channel_title">Export completion</string>
|
<string name="export_channel_title">Export completion</string>
|
||||||
@@ -116,4 +122,12 @@
|
|||||||
<string name="info_dialog_title">Did you know?</string>
|
<string name="info_dialog_title">Did you know?</string>
|
||||||
<string name="info_dialog_message">LineageOS updates are full installation packages. That means you can always install only the latest update, even if you skipped some in between!</string>
|
<string name="info_dialog_message">LineageOS updates are full installation packages. That means you can always install only the latest update, even if you skipped some in between!</string>
|
||||||
<string name="info_dialog_ok">Thanks for the info!</string>
|
<string name="info_dialog_ok">Thanks for the info!</string>
|
||||||
|
<string name="local_update_import">Local update</string>
|
||||||
|
<string name="local_update_import_progress">Importing local update\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s has been imported. Do you want to install it?</string>
|
||||||
|
<string name="local_update_import_failure">Failed to import local update</string>
|
||||||
|
<string name="local_update_import_install">Install</string>
|
||||||
|
<string name="local_update_name">Local update</string>
|
||||||
|
<string name="welcome_title">Welcome</string>
|
||||||
|
<string name="welcome_message">Please note that when multiple updates are available, there is no need to go update-by-update, you can always install the latest one directly, and then safely delete old updates to free up storage space.</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -39,6 +39,12 @@
|
|||||||
<string name="dialog_prepare_zip_message">Preliminary update preparation</string>
|
<string name="dialog_prepare_zip_message">Preliminary update preparation</string>
|
||||||
<string name="dialog_battery_low_title">Low battery</string>
|
<string name="dialog_battery_low_title">Low battery</string>
|
||||||
<string name="dialog_battery_low_message_pct">The battery level is too low, you need at least <xliff:g id="percent_discharging">%1$d</xliff:g>%% of the battery to continue, <xliff:g id="percent_charging">%2$d</xliff:g>%% if charging.</string>
|
<string name="dialog_battery_low_message_pct">The battery level is too low, you need at least <xliff:g id="percent_discharging">%1$d</xliff:g>%% of the battery to continue, <xliff:g id="percent_charging">%2$d</xliff:g>%% if charging.</string>
|
||||||
|
<string name="dialog_scratch_mounted_message"><![CDATA[ Please run the following commands and retry the update:\n
|
||||||
|
• adb root\n
|
||||||
|
• adb enable-verity\n
|
||||||
|
• adb reboot
|
||||||
|
]]></string>
|
||||||
|
<string name="dialog_scratch_mounted_title">Cannot install update with OverlayFS mounted</string>
|
||||||
<string name="reboot">Reboot</string>
|
<string name="reboot">Reboot</string>
|
||||||
<string name="menu_refresh">Refresh</string>
|
<string name="menu_refresh">Refresh</string>
|
||||||
<string name="menu_preferences">Preferences</string>
|
<string name="menu_preferences">Preferences</string>
|
||||||
@@ -103,10 +109,10 @@
|
|||||||
<item quantity="one">1 hour left</item>
|
<item quantity="one">1 hour left</item>
|
||||||
<item quantity="other"><xliff:g id="count">%d</xliff:g> hours left</item>
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> hours left</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Warning</string>
|
<string name="update_over_metered_network_title">Warning</string>
|
||||||
<string name="update_on_mobile_data_message">You\'re about to download an update package using mobile data which is likely going to cause high data usage. Would you like to proceed?</string>
|
<string name="update_over_metered_network_message">You\'re about to download an update package over a metered network which is likely going to cause high data usage. Would you like to proceed?</string>
|
||||||
<string name="checkbox_mobile_data_warning">Do not show again</string>
|
<string name="checkbox_metered_network_warning">Do not show again</string>
|
||||||
<string name="menu_mobile_data_warning">Mobile data warning</string>
|
<string name="menu_metered_network_warning">Metered network warning</string>
|
||||||
<string name="blocked_update_dialog_title">Update blocked</string>
|
<string name="blocked_update_dialog_title">Update blocked</string>
|
||||||
<string name="blocked_update_dialog_message">This update cannot be installed using the updater app. Please read <xliff:g id="info_url">%1$s</xliff:g> for more information.</string>
|
<string name="blocked_update_dialog_message">This update cannot be installed using the updater app. Please read <xliff:g id="info_url">%1$s</xliff:g> for more information.</string>
|
||||||
<string name="export_channel_title">Export completion</string>
|
<string name="export_channel_title">Export completion</string>
|
||||||
@@ -116,4 +122,12 @@
|
|||||||
<string name="info_dialog_title">Did you know?</string>
|
<string name="info_dialog_title">Did you know?</string>
|
||||||
<string name="info_dialog_message">LineageOS updates are full installation packages. That means you can always install only the latest update, even if you skipped some in between!</string>
|
<string name="info_dialog_message">LineageOS updates are full installation packages. That means you can always install only the latest update, even if you skipped some in between!</string>
|
||||||
<string name="info_dialog_ok">Thanks for the info!</string>
|
<string name="info_dialog_ok">Thanks for the info!</string>
|
||||||
|
<string name="local_update_import">Local update</string>
|
||||||
|
<string name="local_update_import_progress">Importing local update\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s has been imported. Do you want to install it?</string>
|
||||||
|
<string name="local_update_import_failure">Failed to import local update</string>
|
||||||
|
<string name="local_update_import_install">Install</string>
|
||||||
|
<string name="local_update_name">Local update</string>
|
||||||
|
<string name="welcome_title">Welcome</string>
|
||||||
|
<string name="welcome_message">Please note that when multiple updates are available, there is no need to go update-by-update, you can always install the latest one directly, and then safely delete old updates to free up storage space.</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -95,10 +95,8 @@
|
|||||||
<item quantity="one">Queda 1 hora</item>
|
<item quantity="one">Queda 1 hora</item>
|
||||||
<item quantity="other">Quedan <xliff:g id="count">%d</xliff:g> horas</item>
|
<item quantity="other">Quedan <xliff:g id="count">%d</xliff:g> horas</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Advertencia</string>
|
<string name="update_over_metered_network_title">Advertencia</string>
|
||||||
<string name="update_on_mobile_data_message">Se descargará un paquete de actualización usando los datos móviles, que probablemente ocasione un alto consumo de datos. ¿Quieres continuar?</string>
|
<string name="checkbox_metered_network_warning">No mostrar de nuevo</string>
|
||||||
<string name="checkbox_mobile_data_warning">No mostrar de nuevo</string>
|
|
||||||
<string name="menu_mobile_data_warning">Advertencia de datos móviles</string>
|
|
||||||
<string name="blocked_update_dialog_title">Actualización bloqueada</string>
|
<string name="blocked_update_dialog_title">Actualización bloqueada</string>
|
||||||
<string name="blocked_update_dialog_message">Esta actualización no puede instalarse usando la aplicación «Actualizador». Lea <xliff:g id="info_url">%1$s</xliff:g> para más información.</string>
|
<string name="blocked_update_dialog_message">Esta actualización no puede instalarse usando la aplicación «Actualizador». Lea <xliff:g id="info_url">%1$s</xliff:g> para más información.</string>
|
||||||
<string name="export_channel_title">Exportación finalizada</string>
|
<string name="export_channel_title">Exportación finalizada</string>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -24,10 +24,13 @@
|
|||||||
<string name="download_paused_error_notification">Error de descarga</string>
|
<string name="download_paused_error_notification">Error de descarga</string>
|
||||||
<string name="download_completed_notification">Descarga completada</string>
|
<string name="download_completed_notification">Descarga completada</string>
|
||||||
<string name="download_starting_notification">Iniciando descarga</string>
|
<string name="download_starting_notification">Iniciando descarga</string>
|
||||||
|
<string name="update_failed_notification">Se produjo un error en la actualización</string>
|
||||||
|
<string name="installation_suspended_notification">Instalación suspendida</string>
|
||||||
<string name="new_updates_found_title">Nuevas actualizaciones</string>
|
<string name="new_updates_found_title">Nuevas actualizaciones</string>
|
||||||
<string name="text_download_speed">%1$s, %2$s/s</string>
|
<string name="text_download_speed">%1$s, %2$s/s</string>
|
||||||
<string name="pause_button">Pausar</string>
|
<string name="pause_button">Pausar</string>
|
||||||
<string name="resume_button">Reanudar</string>
|
<string name="resume_button">Reanudar</string>
|
||||||
|
<string name="suspend_button">Suspender</string>
|
||||||
<string name="installing_update">Instalando paquete de actualización</string>
|
<string name="installing_update">Instalando paquete de actualización</string>
|
||||||
<string name="installing_update_error">Error de instalación</string>
|
<string name="installing_update_error">Error de instalación</string>
|
||||||
<string name="installing_update_finished">Actualización instalada</string>
|
<string name="installing_update_finished">Actualización instalada</string>
|
||||||
@@ -35,28 +38,43 @@
|
|||||||
<string name="preparing_ota_first_boot">Preparando para el primer arranque</string>
|
<string name="preparing_ota_first_boot">Preparando para el primer arranque</string>
|
||||||
<string name="dialog_prepare_zip_message">Preparación preliminar de la actualización</string>
|
<string name="dialog_prepare_zip_message">Preparación preliminar de la actualización</string>
|
||||||
<string name="dialog_battery_low_title">Batería baja</string>
|
<string name="dialog_battery_low_title">Batería baja</string>
|
||||||
|
<string name="dialog_battery_low_message_pct">El nivel de la batería es demasiado bajo, se necesita al menos <xliff:g id="percent_discharging">%1$d</xliff:g>%% de batería para continuar, <xliff:g id="percent_charging">%2$d</xliff:g>%% si el dispositivo se está cargando.</string>
|
||||||
|
<string name="dialog_scratch_mounted_message"><![CDATA[ Por favor, ejecuta los siguientes comandos y vuelve a intentar la actualización:\n
|
||||||
|
• adb root\n
|
||||||
|
• adb enable-verity\n
|
||||||
|
• adb reboot
|
||||||
|
]]></string>
|
||||||
|
<string name="dialog_scratch_mounted_title">No se puede instalar la actualización con OverlayFS montado</string>
|
||||||
<string name="reboot">Reiniciar</string>
|
<string name="reboot">Reiniciar</string>
|
||||||
<string name="menu_refresh">Actualizar</string>
|
<string name="menu_refresh">Actualizar</string>
|
||||||
<string name="menu_preferences">Preferencias</string>
|
<string name="menu_preferences">Preferencias</string>
|
||||||
<string name="menu_auto_updates_check">Comprobación de actualizaciones automática</string>
|
<string name="menu_auto_updates_check">Comprobación automática de actualizaciones</string>
|
||||||
<string name="menu_auto_delete_updates">Borrar actualizaciones luego de instalar</string>
|
<string name="menu_auto_updates_check_interval_daily">Diaria</string>
|
||||||
|
<string name="menu_auto_updates_check_interval_weekly">Semanal</string>
|
||||||
|
<string name="menu_auto_updates_check_interval_monthly">Mensual</string>
|
||||||
|
<string name="menu_auto_updates_check_interval_never">Nunca</string>
|
||||||
|
<string name="menu_auto_delete_updates">Borrar las actualizaciones una vez instaladas</string>
|
||||||
<string name="menu_delete_update">Borrar</string>
|
<string name="menu_delete_update">Borrar</string>
|
||||||
<string name="menu_copy_url">Copiar URL</string>
|
<string name="menu_copy_url">Copiar URL</string>
|
||||||
<string name="menu_export_update">Exportar actualización</string>
|
<string name="menu_export_update">Exportar actualización</string>
|
||||||
<string name="menu_show_changelog">Mostrar registro de cambios</string>
|
<string name="menu_show_changelog">Mostrar registro de cambios</string>
|
||||||
<string name="toast_forced_update_recovery">Es imposible desactivar en este dispositivo las actualizaciones del Modo de Recuperación («Recovery») de Lineage.</string>
|
<string name="menu_ab_perf_mode">Priorizar el proceso de actualización</string>
|
||||||
|
<string name="menu_update_recovery">Actualizar partición de recuperación (recovery)</string>
|
||||||
|
<string name="toast_forced_update_recovery">Es imposible desactivar las actualizaciones del modo de recuperación («Recovery») de Lineage en este dispositivo.</string>
|
||||||
<string name="snack_updates_found">Se encontraron nuevas actualizaciones</string>
|
<string name="snack_updates_found">Se encontraron nuevas actualizaciones</string>
|
||||||
<string name="snack_no_updates_found">No se encontraron nuevas actualizaciones</string>
|
<string name="snack_no_updates_found">No se encontraron nuevas actualizaciones</string>
|
||||||
<string name="snack_updates_check_failed">Error en la comprobación de actualizaciones. Por favor, verifique la conexión a Internet e inténtalo nuevamente.</string>
|
<string name="snack_updates_check_failed">Error en la comprobación de actualizaciones. Por favor, verifica la conexión a Internet e inténtalo más tarde.</string>
|
||||||
<string name="snack_download_failed">Descarga fallida. Compruebe la conexión a Internet e inténtelo nuevamente.</string>
|
<string name="snack_download_failed">Descarga fallida. Compruebe la conexión a Internet e inténtelo nuevamente.</string>
|
||||||
<string name="snack_download_verification_failed">La verificación de la actualización falló.</string>
|
<string name="snack_download_verification_failed">Ha fallado la verificación de la actualización.</string>
|
||||||
<string name="snack_download_verified">Descarga completada.</string>
|
<string name="snack_download_verified">Descarga completada.</string>
|
||||||
<string name="snack_update_not_installable">Esta actualización no puede instalarse encima de la versión actual.</string>
|
<string name="snack_update_not_installable">Esta actualización no puede instalarse sobre la versión actual.</string>
|
||||||
<string name="header_title_text">LineageOS\n%1$s</string>
|
<string name="header_title_text">LineageOS\n%1$s</string>
|
||||||
<string name="header_android_version">Android <xliff:g id="version" example="7.1.2">%1$s</xliff:g></string>
|
<string name="header_android_version">Android <xliff:g id="version" example="7.1.2">%1$s</xliff:g></string>
|
||||||
<string name="header_last_updates_check">Última comprobación: <xliff:g id="date" example="1 January 1970">%1$s</xliff:g> (<xliff:g id="time" example="01:23">%2$s</xliff:g>)</string>
|
<string name="header_last_updates_check">Última comprobación: <xliff:g id="date" example="1 January 1970">%1$s</xliff:g> (<xliff:g id="time" example="01:23">%2$s</xliff:g>)</string>
|
||||||
<string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
|
<string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
|
||||||
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> de <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_eta_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> de <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g> (<xliff:g id="eta" example="3 minutes left">%3$s</xliff:g>)</string>
|
||||||
<string name="list_verifying_update">Verificando actualización</string>
|
<string name="list_verifying_update">Verificando actualización</string>
|
||||||
<string name="list_no_updates">Sin nuevas actualizaciones disponibles. Para comprobar manualmente, pulsa el botón «Actualizar».</string>
|
<string name="list_no_updates">Sin nuevas actualizaciones disponibles. Para comprobar manualmente, pulsa el botón «Actualizar».</string>
|
||||||
<string name="action_download">Descargar</string>
|
<string name="action_download">Descargar</string>
|
||||||
@@ -69,6 +87,8 @@
|
|||||||
<string name="confirm_delete_dialog_title">Borrar archivo</string>
|
<string name="confirm_delete_dialog_title">Borrar archivo</string>
|
||||||
<string name="confirm_delete_dialog_message">¿Borrar el archivo de actualización seleccionado?</string>
|
<string name="confirm_delete_dialog_message">¿Borrar el archivo de actualización seleccionado?</string>
|
||||||
<string name="apply_update_dialog_title">Aplicar actualización</string>
|
<string name="apply_update_dialog_title">Aplicar actualización</string>
|
||||||
|
<string name="apply_update_dialog_message">Estás a punto de instalar <xliff:g id="update_name">%1$s</xliff:g>.\n\nSi pulsas <xliff:g id="ok">%2$s</xliff:g>, el dispositivo se reiniciará en modo de recuperación para instalar la actualización.\n\nNota: esta característica requiere una partición de recuperación compatible o las actualizaciones tendrán que ser instaladas manualmente.</string>
|
||||||
|
<string name="apply_update_dialog_message_ab">Actualizarás a <xliff:g id="filename">%1$s</xliff:g>.\n\nAl pulsar en <xliff:g id="ok">%2$s</xliff:g>, el dispositivo comenzará a instalar en segundo plano.\n\nUna vez terminado el proceso, se te pedirá que reinicies.</string>
|
||||||
<string name="cancel_installation_dialog_message">¿Cancelar la instalación?</string>
|
<string name="cancel_installation_dialog_message">¿Cancelar la instalación?</string>
|
||||||
<string name="label_download_url">URL de descarga</string>
|
<string name="label_download_url">URL de descarga</string>
|
||||||
<string name="toast_download_url_copied">URL copiada</string>
|
<string name="toast_download_url_copied">URL copiada</string>
|
||||||
@@ -76,21 +96,38 @@
|
|||||||
<string name="notification_export_success">Actualización exportada</string>
|
<string name="notification_export_success">Actualización exportada</string>
|
||||||
<string name="notification_export_fail">Error de exportación</string>
|
<string name="notification_export_fail">Error de exportación</string>
|
||||||
<string name="toast_already_exporting">Ya se está exportando una actualización</string>
|
<string name="toast_already_exporting">Ya se está exportando una actualización</string>
|
||||||
|
<string name="toast_export_started">Exportación iniciada</string>
|
||||||
<plurals name="eta_seconds">
|
<plurals name="eta_seconds">
|
||||||
<item quantity="one">Falta 1 segundo</item>
|
<item quantity="one">Queda 1 segundo</item>
|
||||||
<item quantity="other">Faltan <xliff:g id="count">%d</xliff:g> segundos</item>
|
<item quantity="other">Quedan <xliff:g id="count">%d</xliff:g> segundos</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<plurals name="eta_minutes">
|
<plurals name="eta_minutes">
|
||||||
<item quantity="one">Falta 1 minuto</item>
|
<item quantity="one">Queda 1 minuto</item>
|
||||||
<item quantity="other">Faltan <xliff:g id="count">%d</xliff:g> minutos</item>
|
<item quantity="other">Quedan <xliff:g id="count">%d</xliff:g> minutos</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Advertencia</string>
|
<plurals name="eta_hours">
|
||||||
<string name="update_on_mobile_data_message">Se descargará un paquete de actualización usando los datos móviles, que probablemente ocasione un alto consumo de datos. ¿Quieres continuar?</string>
|
<item quantity="one">Queda 1 hora</item>
|
||||||
<string name="checkbox_mobile_data_warning">No mostrar de nuevo</string>
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> horas restantes</item>
|
||||||
<string name="menu_mobile_data_warning">Advertencia de datos móviles</string>
|
</plurals>
|
||||||
|
<string name="update_over_metered_network_title">Advertencia</string>
|
||||||
|
<string name="update_over_metered_network_message">Estás a punto de descargar un paquete de actualización utilizando datos móviles, lo que probablemente va a causar un alto consumo de datos. ¿Deseas continuar?</string>
|
||||||
|
<string name="checkbox_metered_network_warning">No mostrar de nuevo</string>
|
||||||
|
<string name="menu_metered_network_warning">Aviso de consumo de datos</string>
|
||||||
<string name="blocked_update_dialog_title">Actualización bloqueada</string>
|
<string name="blocked_update_dialog_title">Actualización bloqueada</string>
|
||||||
<string name="blocked_update_dialog_message">Esta actualización no puede instalarse usando la aplicación «Actualizador». Lea <xliff:g id="info_url">%1$s</xliff:g> para más información.</string>
|
<string name="blocked_update_dialog_message">Esta actualización no puede instalarse usando la aplicación «Actualizador». Lee <xliff:g id="info_url">%1$s</xliff:g> para más información.</string>
|
||||||
<string name="export_channel_title">Exportación finalizada</string>
|
<string name="export_channel_title">Exportación finalizada</string>
|
||||||
<string name="new_updates_channel_title">Nuevas actualizaciones</string>
|
<string name="new_updates_channel_title">Nuevas actualizaciones</string>
|
||||||
<string name="ongoing_channel_title">Descargas en curso</string>
|
<string name="ongoing_channel_title">Descargas en curso</string>
|
||||||
|
<string name="update_failed_channel_title">Se produjo un error en la actualización</string>
|
||||||
|
<string name="info_dialog_title">¿Sabías que...</string>
|
||||||
|
<string name="info_dialog_message">Las actualizaciones de LineageOS son paquetes de instalación completos, lo que significa que siempre puedes instalar la última actualización, ¡incluso si has saltado algunas de las intermedias!</string>
|
||||||
|
<string name="info_dialog_ok">¡Gracias por la información!</string>
|
||||||
|
<string name="local_update_import">Actualización local</string>
|
||||||
|
<string name="local_update_import_progress">Importando actualización local\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s ha sido importado. ¿Deseas instalarlo?</string>
|
||||||
|
<string name="local_update_import_failure">Error al importar actualización local</string>
|
||||||
|
<string name="local_update_import_install">Instalar</string>
|
||||||
|
<string name="local_update_name">Actualización local</string>
|
||||||
|
<string name="welcome_title">Te damos la bienvenida</string>
|
||||||
|
<string name="welcome_message">Ten en cuenta que cuando hay varias actualizaciones disponibles, no es necesario actualizar una tras otra, siempre puedes instalar la más reciente directamente y luego eliminar de forma segura las actualizaciones antiguas para liberar espacio de almacenamiento.</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -18,6 +18,7 @@
|
|||||||
<string name="app_name">Uuendaja</string>
|
<string name="app_name">Uuendaja</string>
|
||||||
<string name="display_name">Uuendaja</string>
|
<string name="display_name">Uuendaja</string>
|
||||||
<string name="installation_suspended_notification">Installimine peatati</string>
|
<string name="installation_suspended_notification">Installimine peatati</string>
|
||||||
|
<string name="text_download_speed">%1$s, %2$s/s</string>
|
||||||
<string name="suspend_button">Peata</string>
|
<string name="suspend_button">Peata</string>
|
||||||
<string name="dialog_battery_low_title">Madal akutase</string>
|
<string name="dialog_battery_low_title">Madal akutase</string>
|
||||||
<string name="dialog_battery_low_message_pct">Akutase on liiga madal, jätkamiseks on vaja akut vähemalt <xliff:g id="percent_discharging">%1$d</xliff:g>%%, laadimise korral <xliff:g id="percent_charging">%2$d</xliff:g>%%.</string>
|
<string name="dialog_battery_low_message_pct">Akutase on liiga madal, jätkamiseks on vaja akut vähemalt <xliff:g id="percent_discharging">%1$d</xliff:g>%%, laadimise korral <xliff:g id="percent_charging">%2$d</xliff:g>%%.</string>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -95,10 +95,8 @@
|
|||||||
<item quantity="one">Ordu 1 geratzen da</item>
|
<item quantity="one">Ordu 1 geratzen da</item>
|
||||||
<item quantity="other"><xliff:g id="count">%d</xliff:g> ordu geratzen dira</item>
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> ordu geratzen dira</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Abisua</string>
|
<string name="update_over_metered_network_title">Abisua</string>
|
||||||
<string name="update_on_mobile_data_message">Eguneratze pakete bat deskargatuko duzu datu mugikorrak erabiliz, honek datuen erabilera handia egingo du. Ziur aurrera jarraitu nahi duzula?</string>
|
<string name="checkbox_metered_network_warning">Ez erakutsi berriro</string>
|
||||||
<string name="checkbox_mobile_data_warning">Ez erakutsi berriro</string>
|
|
||||||
<string name="menu_mobile_data_warning">Datu mugikorren abisua</string>
|
|
||||||
<string name="blocked_update_dialog_title">Eguneraketa blokeatuta</string>
|
<string name="blocked_update_dialog_title">Eguneraketa blokeatuta</string>
|
||||||
<string name="blocked_update_dialog_message">Eguneraketa hau ezin da eguneratze-aplikazioarekin instalatu. Irakurri <xliff:g id="info_url">%1$s</xliff:g> informazio gehiagorako.</string>
|
<string name="blocked_update_dialog_message">Eguneraketa hau ezin da eguneratze-aplikazioarekin instalatu. Irakurri <xliff:g id="info_url">%1$s</xliff:g> informazio gehiagorako.</string>
|
||||||
<string name="export_channel_title">Esportazioaren osaketa</string>
|
<string name="export_channel_title">Esportazioaren osaketa</string>
|
133
app/src/main/res/values-fa/strings.xml
Normal file
133
app/src/main/res/values-fa/strings.xml
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<string name="app_name">بهروز کننده</string>
|
||||||
|
<string name="display_name">بهروز کننده</string>
|
||||||
|
<string name="verification_failed_notification">تایید با خطا مواجه شد</string>
|
||||||
|
<string name="verifying_download_notification">در حال تایید بهروزرسانی</string>
|
||||||
|
<string name="downloading_notification">در حال بارگیری</string>
|
||||||
|
<string name="download_paused_notification">بارگیری متوقف شد</string>
|
||||||
|
<string name="download_paused_error_notification">خطای بارگیری</string>
|
||||||
|
<string name="download_completed_notification">بارگیری کامل شد</string>
|
||||||
|
<string name="download_starting_notification">در حال آغاز بارگیری</string>
|
||||||
|
<string name="update_failed_notification">بهروز رسانی شکست خورد</string>
|
||||||
|
<string name="installation_suspended_notification">فرآیند نصب متوقف شد</string>
|
||||||
|
<string name="new_updates_found_title">بهروز رسانی جدید</string>
|
||||||
|
<string name="text_download_speed">%1$s، %2$s/ث</string>
|
||||||
|
<string name="pause_button">مکث</string>
|
||||||
|
<string name="resume_button">ادامه</string>
|
||||||
|
<string name="suspend_button">معلق</string>
|
||||||
|
<string name="installing_update">در حال نصب بسته به روز</string>
|
||||||
|
<string name="installing_update_error">خطا در نصب</string>
|
||||||
|
<string name="installing_update_finished">بهروزرسانی نصب شد</string>
|
||||||
|
<string name="finalizing_package">در حال نهایی شدن نصب بسته</string>
|
||||||
|
<string name="preparing_ota_first_boot">آمادهسازی برای روشن شدن اولیه</string>
|
||||||
|
<string name="dialog_prepare_zip_message">آمادهسازی اولیه به روز رسانی</string>
|
||||||
|
<string name="dialog_battery_low_title">باتری کم</string>
|
||||||
|
<string name="dialog_battery_low_message_pct">سطح باتری بسیار کم است، شما نیاز به حداقل <xliff:g id="percent_discharging">%1$d</xliff:g>%% باتری برای ادامه دارید و <xliff:g id="percent_charging">%2$d</xliff:g>%% اگر در حال شارژ است.</string>
|
||||||
|
<string name="dialog_scratch_mounted_message"><![CDATA[ لطفاً دستورات زیر را اجرا کنید و دوباره بهروز رسانی را امتحان کنید:\n
|
||||||
|
• adb root\n
|
||||||
|
• adb enable-verity\n
|
||||||
|
• adb reboot
|
||||||
|
]]></string>
|
||||||
|
<string name="dialog_scratch_mounted_title">با نصب OverlayFS نمی توان بهروز رسانی را نصب کرد</string>
|
||||||
|
<string name="reboot">راهاندازی مجدد</string>
|
||||||
|
<string name="menu_refresh">تازه سازی</string>
|
||||||
|
<string name="menu_preferences">ترجیحات</string>
|
||||||
|
<string name="menu_auto_updates_check">بررسی خودکار نسخه های به روز</string>
|
||||||
|
<string name="menu_auto_updates_check_interval_daily">روزانه</string>
|
||||||
|
<string name="menu_auto_updates_check_interval_weekly">هفتگی</string>
|
||||||
|
<string name="menu_auto_updates_check_interval_monthly">ماهانه</string>
|
||||||
|
<string name="menu_auto_updates_check_interval_never">هرگز</string>
|
||||||
|
<string name="menu_auto_delete_updates">حذف نسخه به روز وقتی نصب شد</string>
|
||||||
|
<string name="menu_delete_update">حذف</string>
|
||||||
|
<string name="menu_copy_url">کپی آدرس</string>
|
||||||
|
<string name="menu_export_update">صادر کردن نسخهی بروز</string>
|
||||||
|
<string name="menu_show_changelog">نمایش تغییرات</string>
|
||||||
|
<string name="menu_ab_perf_mode">به روز رسانی با اولویت بالا</string>
|
||||||
|
<string name="menu_update_recovery">بهروز رسانی ریکاوری</string>
|
||||||
|
<string name="toast_forced_update_recovery">غیرفعال کردن به روزرسانی های ریکاوری Lineage در این دستگاه غیرممکن است.</string>
|
||||||
|
<string name="snack_updates_found">نسخه های جدید یافت شد</string>
|
||||||
|
<string name="snack_no_updates_found">بهروزرسانی جدیدی یافت نشد</string>
|
||||||
|
<string name="snack_updates_check_failed">بررسی نسخه به روز انجام نشد. اتصال اینترنت خود را بررسی و دوباره سعی کنید.</string>
|
||||||
|
<string name="snack_download_failed">بارگیری انجام نشد. اتصال اینترنت خود را بررسی و دوباره تلاش کنید.</string>
|
||||||
|
<string name="snack_download_verification_failed">تأیید بهروزرسانی با خطا روبهرو شد.</string>
|
||||||
|
<string name="snack_download_verified">بارگیری کامل شد.</string>
|
||||||
|
<string name="snack_update_not_installable">این نسخه جدید را نمی توان بر روی نسخه کنونی نصب کرد.</string>
|
||||||
|
<string name="header_title_text">LineageOS\n%1$s</string>
|
||||||
|
<string name="header_android_version">اندروید <xliff:g id="version" example="7.1.2">%1$s</xliff:g></string>
|
||||||
|
<string name="header_last_updates_check">آخرین بررسی: <xliff:g id="date" example="1 January 1970">%1$s</xliff:g> (<xliff:g id="time" example="01:23">%2$s</xliff:g>)</string>
|
||||||
|
<string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
|
||||||
|
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> از <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_eta_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> از <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g> (<xliff:g id="eta" example="3 minutes left">%3$s</xliff:g>)</string>
|
||||||
|
<string name="list_verifying_update">در حال تایید بهروزرسانی</string>
|
||||||
|
<string name="list_no_updates">هیچ بهروز رسانی جدیدی پیدا نشد. برای بررسی دستی بهروز رسانیها، از دکمهٔ تازهسازی استفاده کنید.</string>
|
||||||
|
<string name="action_download">بارگیری</string>
|
||||||
|
<string name="action_pause">مکث</string>
|
||||||
|
<string name="action_resume">ادامه</string>
|
||||||
|
<string name="action_install">نصب</string>
|
||||||
|
<string name="action_info">اطلاعات</string>
|
||||||
|
<string name="action_delete">حذف</string>
|
||||||
|
<string name="action_cancel">لغو</string>
|
||||||
|
<string name="confirm_delete_dialog_title">حذف فایل</string>
|
||||||
|
<string name="confirm_delete_dialog_message">آیا فایل نسخه به روز حذف شود؟</string>
|
||||||
|
<string name="apply_update_dialog_title">انجام بهروزرسانی</string>
|
||||||
|
<string name="apply_update_dialog_message">شما در حال نصب <xliff:g id="update_name">%1$s</xliff:g> هستید.\n\nاگر <xliff:g id="ok">%2$s</xliff را فشار دهید: g>، دستگاه برای نصب بهروزرسانی، خود را در حالت بازیابی مجدد راهاندازی میکند.\n\nتوجه: این ویژگی به یک بازیابی سازگار نیاز دارد یا بهروزرسانیها باید به صورت دستی نصب شوند.</string>
|
||||||
|
<string name="apply_update_dialog_message_ab">شما در حال نصب <xliff:g id="update_name">%1$s</xliff:g> هستید.\n\nاگر <xliff:g id="ok">%2$s</xliff را فشار دهید: g>، دستگاه شروع به نصب در پسزمینه میکند.\n\nپس از تکمیل، از شما خواسته میشود راهاندازی مجدد کنید.</string>
|
||||||
|
<string name="cancel_installation_dialog_message">لغو نصب میکنید؟</string>
|
||||||
|
<string name="label_download_url">نشانی بارگیری</string>
|
||||||
|
<string name="toast_download_url_copied">نشانی رونوشت شد</string>
|
||||||
|
<string name="dialog_export_title">صادر کردن نسخه بهروز</string>
|
||||||
|
<string name="notification_export_success">نسخه بهروز صادر شد</string>
|
||||||
|
<string name="notification_export_fail">خطا در صادر کردن</string>
|
||||||
|
<string name="toast_already_exporting">قبلا بهروزرسانی صادر شده</string>
|
||||||
|
<string name="toast_export_started">صادرات آغاز شد</string>
|
||||||
|
<plurals name="eta_seconds">
|
||||||
|
<item quantity="one">۱ ثانیه مانده</item>
|
||||||
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> ثانیه مانده</item>
|
||||||
|
</plurals>
|
||||||
|
<plurals name="eta_minutes">
|
||||||
|
<item quantity="one">1 دقیقه مانده است</item>
|
||||||
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> دقیقه مانده</item>
|
||||||
|
</plurals>
|
||||||
|
<plurals name="eta_hours">
|
||||||
|
<item quantity="one">۱ ساعت مانده</item>
|
||||||
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> ساعت مانده</item>
|
||||||
|
</plurals>
|
||||||
|
<string name="update_over_metered_network_title">هشدار</string>
|
||||||
|
<string name="update_over_metered_network_message">شما در حال بارگیری یک بسته بروز رسانی بر روی یک شبکه محدود شده یا سیم کارت هستید که احتمالا ممکن است باعث مصرف داده زیاد می شود. آیا می خواهید ادامه بدهید؟</string>
|
||||||
|
<string name="checkbox_metered_network_warning">دوباره نشان داده نشود</string>
|
||||||
|
<string name="menu_metered_network_warning">هشدار شبکه محدود شده</string>
|
||||||
|
<string name="blocked_update_dialog_title">بروز رسانی مسدود شد</string>
|
||||||
|
<string name="blocked_update_dialog_message">این بهروزرسانی با استفاده از برنامه بروز کننده قابل نصب نیست. لطفاً برای اطلاعات بیشتر <xliff:g id="info_url">%1$s</xliff:g> را بخوانید.</string>
|
||||||
|
<string name="export_channel_title">تکمیل صادرات</string>
|
||||||
|
<string name="new_updates_channel_title">بهروزرسانیهای تازه</string>
|
||||||
|
<string name="ongoing_channel_title">بارگیری های جاری</string>
|
||||||
|
<string name="update_failed_channel_title">بهروز رسانی شکست خورد</string>
|
||||||
|
<string name="info_dialog_title">آیا میدانستید؟</string>
|
||||||
|
<string name="info_dialog_message">به روز رسانی های LineageOS بسته های نصب کامل هستند. این بدان معناست که همیشه میتوانید فقط آخرین بهروزرسانی را نصب کنید، حتی اگر برخی از آنها را در این بین رد کرده باشید!</string>
|
||||||
|
<string name="info_dialog_ok">از اطلاعات شما سپاسگذاریم!</string>
|
||||||
|
<string name="local_update_import">بهروزرسانی داخلی</string>
|
||||||
|
<string name="local_update_import_progress">وارد کردن بهروزرسانی محلی\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s وارد شد. آیا مایل به نصب هستید؟</string>
|
||||||
|
<string name="local_update_import_failure">بهروزرسانی داخلی با شکست مواجه شد</string>
|
||||||
|
<string name="local_update_import_install">نصب</string>
|
||||||
|
<string name="local_update_name">بهروزرسانی داخلی</string>
|
||||||
|
<string name="welcome_title">خوش آمدید</string>
|
||||||
|
<string name="welcome_message">لطفاً توجه داشته باشید که وقتی چندین بهروزرسانی موجود است، نیازی به نصب تکبهتک آنها نیست. شما میتوانید بهطور مستقیم جدیدترین بهروزرسانی را نصب کنید و سپس با خیال راحت، بهروزرسانیهای قدیمیتر را حذف کنید تا فضای ذخیرهسازی آزاد شود.</string>
|
||||||
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -98,14 +98,20 @@
|
|||||||
<item quantity="one">1 tunti jäljellä</item>
|
<item quantity="one">1 tunti jäljellä</item>
|
||||||
<item quantity="other"><xliff:g id="count">%d</xliff:g> tuntia jäljellä</item>
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> tuntia jäljellä</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Varoitus</string>
|
<string name="update_over_metered_network_title">Varoitus</string>
|
||||||
<string name="update_on_mobile_data_message">Olet lataamassa päivityspakettia käyttämällä mobiilidataa, joka voi aiheuttaa tiedonsiirtokuluja. Haluatko jatkaa?</string>
|
<string name="checkbox_metered_network_warning">Älä näytä uudelleen</string>
|
||||||
<string name="checkbox_mobile_data_warning">Älä näytä uudelleen</string>
|
|
||||||
<string name="menu_mobile_data_warning">Mobiilidatavaroitus</string>
|
|
||||||
<string name="blocked_update_dialog_title">Päivitys estetty</string>
|
<string name="blocked_update_dialog_title">Päivitys estetty</string>
|
||||||
<string name="blocked_update_dialog_message">Tätä päivitystä ei voida asentaa päivitys-sovelluksella. Lue <xliff:g id="info_url">%1$s</xliff:g> saadaksesi lisätietoja.</string>
|
<string name="blocked_update_dialog_message">Tätä päivitystä ei voida asentaa päivitys-sovelluksella. Lue <xliff:g id="info_url">%1$s</xliff:g> saadaksesi lisätietoja.</string>
|
||||||
<string name="export_channel_title">Vienti valmis</string>
|
<string name="export_channel_title">Vienti valmis</string>
|
||||||
<string name="new_updates_channel_title">Uudet päivitykset</string>
|
<string name="new_updates_channel_title">Uudet päivitykset</string>
|
||||||
<string name="ongoing_channel_title">Käynnissä olevat lataukset</string>
|
<string name="ongoing_channel_title">Käynnissä olevat lataukset</string>
|
||||||
<string name="update_failed_channel_title">Päivitys epäonnistui</string>
|
<string name="update_failed_channel_title">Päivitys epäonnistui</string>
|
||||||
|
<string name="info_dialog_title">Tiesitkö?</string>
|
||||||
|
<string name="info_dialog_message">LineageOS-päivitykset ovat täydellisiä asennuspaketteja, jonka ansiosta voit aina asentaa vain viimeisimmän päivityksen, vaikka ohittaisitkin välillä joitakin versioita!</string>
|
||||||
|
<string name="local_update_import">Paikallinen päivitys</string>
|
||||||
|
<string name="local_update_import_progress">Tuodaan paikallista päivitystä\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s on tuotu. Haluatko asentaa sen?</string>
|
||||||
|
<string name="local_update_import_failure">Paikallisen päivityksen tuonti epäonnistui</string>
|
||||||
|
<string name="local_update_import_install">Asenna</string>
|
||||||
|
<string name="local_update_name">Paikallinen päivitys</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -39,6 +39,12 @@
|
|||||||
<string name="dialog_prepare_zip_message">Préparation de la mise à jour préliminaire</string>
|
<string name="dialog_prepare_zip_message">Préparation de la mise à jour préliminaire</string>
|
||||||
<string name="dialog_battery_low_title">Batterie faible</string>
|
<string name="dialog_battery_low_title">Batterie faible</string>
|
||||||
<string name="dialog_battery_low_message_pct">Le niveau de batterie est trop faible. Pour continuer, vous devez avoir au moins <xliff:g id="percent_discharging">%1$d</xliff:g> %% de batterie restante, ou <xliff:g id="percent_charging">%2$d</xliff:g> %% si l\'appareil est en charge.</string>
|
<string name="dialog_battery_low_message_pct">Le niveau de batterie est trop faible. Pour continuer, vous devez avoir au moins <xliff:g id="percent_discharging">%1$d</xliff:g> %% de batterie restante, ou <xliff:g id="percent_charging">%2$d</xliff:g> %% si l\'appareil est en charge.</string>
|
||||||
|
<string name="dialog_scratch_mounted_message"><![CDATA[ Merci d\'exécuter les commandes suivantes et de retenter la mise à jour :\n
|
||||||
|
• adb root\n
|
||||||
|
• adb enable-verity\n
|
||||||
|
• adb reboot
|
||||||
|
]]></string>
|
||||||
|
<string name="dialog_scratch_mounted_title">Impossible d\'installer la mise à jour avec OverlayFS monté</string>
|
||||||
<string name="reboot">Redémarrer</string>
|
<string name="reboot">Redémarrer</string>
|
||||||
<string name="menu_refresh">Actualiser</string>
|
<string name="menu_refresh">Actualiser</string>
|
||||||
<string name="menu_preferences">Préférences</string>
|
<string name="menu_preferences">Préférences</string>
|
||||||
@@ -67,6 +73,8 @@
|
|||||||
<string name="header_last_updates_check">Dernière vérification : <xliff:g id="date" example="1 January 1970">%1$s</xliff:g> (<xliff:g id="time" example="01:23">%2$s</xliff:g>)</string>
|
<string name="header_last_updates_check">Dernière vérification : <xliff:g id="date" example="1 January 1970">%1$s</xliff:g> (<xliff:g id="time" example="01:23">%2$s</xliff:g>)</string>
|
||||||
<string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
|
<string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
|
||||||
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> sur <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_eta_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> sur <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g> (<xliff:g id="eta" example="3 minutes left">%3$s</xliff:g>)</string>
|
||||||
<string name="list_verifying_update">Vérification de la mise à jour en cours</string>
|
<string name="list_verifying_update">Vérification de la mise à jour en cours</string>
|
||||||
<string name="list_no_updates">Aucune nouvelle mise à jour trouvée. Pour vérifier manuellement la présence de mises à jour, utiliser le bouton Actualiser.</string>
|
<string name="list_no_updates">Aucune nouvelle mise à jour trouvée. Pour vérifier manuellement la présence de mises à jour, utiliser le bouton Actualiser.</string>
|
||||||
<string name="action_download">Télécharger</string>
|
<string name="action_download">Télécharger</string>
|
||||||
@@ -79,6 +87,8 @@
|
|||||||
<string name="confirm_delete_dialog_title">Supprimer le fichier</string>
|
<string name="confirm_delete_dialog_title">Supprimer le fichier</string>
|
||||||
<string name="confirm_delete_dialog_message">Supprimer le fichier de mise à jour sélectionné ?</string>
|
<string name="confirm_delete_dialog_message">Supprimer le fichier de mise à jour sélectionné ?</string>
|
||||||
<string name="apply_update_dialog_title">Appliquer la mise à jour</string>
|
<string name="apply_update_dialog_title">Appliquer la mise à jour</string>
|
||||||
|
<string name="apply_update_dialog_message">Vous êtes sur le point d\'installer <xliff:g id="update_name">%1$s</xliff:g>.\n\nSi vous appuyez sur <xliff:g id="ok">%2$s</xliff:g>, votre appareil redémarrera automatiquement en mode récupération pour installer la mise à jour.\n\nRemarque : Cette opération nécessite un système de récupération compatible, sans quoi les mises à jour devront être installées manuellement.</string>
|
||||||
|
<string name="apply_update_dialog_message_ab">Vous êtes sur le point d\'installer <xliff:g id="update_name">%1$s</xliff:g>.\n\nSi vous appuyez sur <xliff:g id="ok">%2$s</xliff:g>, l’appareil commencera l\'installation en arrière-plan.\n\nUne fois celle-ci terminée, il vous sera demandé de redémarrer.</string>
|
||||||
<string name="cancel_installation_dialog_message">Annuler l\'installation ?</string>
|
<string name="cancel_installation_dialog_message">Annuler l\'installation ?</string>
|
||||||
<string name="label_download_url">URL de téléchargement</string>
|
<string name="label_download_url">URL de téléchargement</string>
|
||||||
<string name="toast_download_url_copied">URL copiée</string>
|
<string name="toast_download_url_copied">URL copiée</string>
|
||||||
@@ -86,6 +96,7 @@
|
|||||||
<string name="notification_export_success">Mise à jour exportée</string>
|
<string name="notification_export_success">Mise à jour exportée</string>
|
||||||
<string name="notification_export_fail">Erreur lors de l\'exportation</string>
|
<string name="notification_export_fail">Erreur lors de l\'exportation</string>
|
||||||
<string name="toast_already_exporting">Une mise à jour est déjà en cours d\'export</string>
|
<string name="toast_already_exporting">Une mise à jour est déjà en cours d\'export</string>
|
||||||
|
<string name="toast_export_started">Export démarré</string>
|
||||||
<plurals name="eta_seconds">
|
<plurals name="eta_seconds">
|
||||||
<item quantity="one">temps restant : 1 seconde</item>
|
<item quantity="one">temps restant : 1 seconde</item>
|
||||||
<item quantity="other">temps restant : <xliff:g id="count">%d</xliff:g> secondes</item>
|
<item quantity="other">temps restant : <xliff:g id="count">%d</xliff:g> secondes</item>
|
||||||
@@ -98,14 +109,25 @@
|
|||||||
<item quantity="one">temps restant : 1 heure</item>
|
<item quantity="one">temps restant : 1 heure</item>
|
||||||
<item quantity="other">temps restant : <xliff:g id="count">%d</xliff:g> heures</item>
|
<item quantity="other">temps restant : <xliff:g id="count">%d</xliff:g> heures</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Avertissement</string>
|
<string name="update_over_metered_network_title">Avertissement</string>
|
||||||
<string name="update_on_mobile_data_message">Vous êtes sur le point de télécharger un paquet de mise à jour via les données mobiles qui pourrait représenter un volume de données important. Voulez-vous tout de même procéder au téléchargement ?</string>
|
<string name="update_over_metered_network_message">Vous allez télécharger une mise à jour nécessitant un important volume de données en utilisant un réseau forfaitaire. Souhaitez-vous continuer ?</string>
|
||||||
<string name="checkbox_mobile_data_warning">Ne plus afficher</string>
|
<string name="checkbox_metered_network_warning">Ne plus afficher</string>
|
||||||
<string name="menu_mobile_data_warning">Avertissement d\'usage des données mobiles</string>
|
<string name="menu_metered_network_warning">Avertissement de réseau forfaitaire</string>
|
||||||
<string name="blocked_update_dialog_title">Mise à jour bloquée</string>
|
<string name="blocked_update_dialog_title">Mise à jour bloquée</string>
|
||||||
<string name="blocked_update_dialog_message">Cette mise à jour ne peut pas être installée en utilisant le gestionnaire de mise à jour. Veuillez lire <xliff:g id="info_url">%1$s</xliff:g> pour plus d’information.</string>
|
<string name="blocked_update_dialog_message">Cette mise à jour ne peut pas être installée en utilisant le gestionnaire de mise à jour. Veuillez lire <xliff:g id="info_url">%1$s</xliff:g> pour plus d’information.</string>
|
||||||
<string name="export_channel_title">Fin de l\'exportation</string>
|
<string name="export_channel_title">Fin de l\'exportation</string>
|
||||||
<string name="new_updates_channel_title">Nouvelles mises à jour</string>
|
<string name="new_updates_channel_title">Nouvelles mises à jour</string>
|
||||||
<string name="ongoing_channel_title">Téléchargements en cours</string>
|
<string name="ongoing_channel_title">Téléchargements en cours</string>
|
||||||
<string name="update_failed_channel_title">Échec de la mise à jour</string>
|
<string name="update_failed_channel_title">Échec de la mise à jour</string>
|
||||||
|
<string name="info_dialog_title">Le saviez-vous ?</string>
|
||||||
|
<string name="info_dialog_message">Les mises à jour de LineageOS sont des paquets d\'installation complets. Cela signifie que vous ne pouvez installer que la dernière mise à jour, même si vous en avez ignorées entre temps !</string>
|
||||||
|
<string name="info_dialog_ok">Merci pour l\'information !</string>
|
||||||
|
<string name="local_update_import">Mise à jour locale</string>
|
||||||
|
<string name="local_update_import_progress">Importation de la mise à jour locale\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s a été importée. Voulez-vous l\'installer ?</string>
|
||||||
|
<string name="local_update_import_failure">Impossible d\'importer la mise à jour locale</string>
|
||||||
|
<string name="local_update_import_install">Installer</string>
|
||||||
|
<string name="local_update_name">Mise à jour locale</string>
|
||||||
|
<string name="welcome_title">Bienvenue</string>
|
||||||
|
<string name="welcome_message">Veuillez noter que lorsqu\'il y a plusieurs mises à jour disponibles, il n\'est pas nécessaire de les installer une par une : vous pouvez toujours installer directement la plus récente, puis supprimer en toute sécurité les anciennes mises à jour pour libérer de l\'espace de stockage.</string>
|
||||||
</resources>
|
</resources>
|
133
app/src/main/res/values-fur-rIT/strings.xml
Normal file
133
app/src/main/res/values-fur-rIT/strings.xml
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<string name="app_name">Inzornaments</string>
|
||||||
|
<string name="display_name">Inzornaments</string>
|
||||||
|
<string name="verification_failed_notification">Verifiche falide</string>
|
||||||
|
<string name="verifying_download_notification">Verifiche inzornaments</string>
|
||||||
|
<string name="downloading_notification">Daûr a discjariâ</string>
|
||||||
|
<string name="download_paused_notification">Discjariament in pause</string>
|
||||||
|
<string name="download_paused_error_notification">Erôr tal discjariâ</string>
|
||||||
|
<string name="download_completed_notification">Discjariament completât</string>
|
||||||
|
<string name="download_starting_notification">Daûr a scomençâ il discjariament</string>
|
||||||
|
<string name="update_failed_notification">Inzornament falît</string>
|
||||||
|
<string name="installation_suspended_notification">Instalazion sospindude</string>
|
||||||
|
<string name="new_updates_found_title">Gnûfs inzornaments</string>
|
||||||
|
<string name="text_download_speed">%1$s, %2$s/s</string>
|
||||||
|
<string name="pause_button">Pause</string>
|
||||||
|
<string name="resume_button">Ripie</string>
|
||||||
|
<string name="suspend_button">Sospint</string>
|
||||||
|
<string name="installing_update">Instalazion dal pachet di inzornament</string>
|
||||||
|
<string name="installing_update_error">Erôr di instalazion</string>
|
||||||
|
<string name="installing_update_finished">Inzornament instalât</string>
|
||||||
|
<string name="finalizing_package">Daûr a completâ la instalazion dal pachet</string>
|
||||||
|
<string name="preparing_ota_first_boot">Preparazion pal prin inviament</string>
|
||||||
|
<string name="dialog_prepare_zip_message">Preparazion dal inzornament preliminâr</string>
|
||||||
|
<string name="dialog_battery_low_title">Batarie basse</string>
|
||||||
|
<string name="dialog_battery_low_message_pct">Il nivel de batarie al è masse bas, tu scugnis vê almancul il <xliff:g id="percent_discharging">%1$d</xliff:g>%% par continuâ, <xliff:g id="percent_charging">%2$d</xliff:g>%% se e je in cjame.</string>
|
||||||
|
<string name="dialog_scratch_mounted_message"><![CDATA[ Eseguìs chescj comants e torne prove l\'inzornament:\n
|
||||||
|
• adb root\n
|
||||||
|
• adb enable-verity\n
|
||||||
|
• adb reboot
|
||||||
|
]]></string>
|
||||||
|
<string name="dialog_scratch_mounted_title">Impussibil instalâ l\'inzornament cun OverlayFS montât</string>
|
||||||
|
<string name="reboot">Torne invie</string>
|
||||||
|
<string name="menu_refresh">Torne cjame</string>
|
||||||
|
<string name="menu_preferences">Preferencis</string>
|
||||||
|
<string name="menu_auto_updates_check">Ricercje inzornaments in automatic</string>
|
||||||
|
<string name="menu_auto_updates_check_interval_daily">Une volte par dì</string>
|
||||||
|
<string name="menu_auto_updates_check_interval_weekly">Une volte par setemane</string>
|
||||||
|
<string name="menu_auto_updates_check_interval_monthly">Une volte par mês</string>
|
||||||
|
<string name="menu_auto_updates_check_interval_never">Mai</string>
|
||||||
|
<string name="menu_auto_delete_updates">Elimine i inzornaments se instalâts</string>
|
||||||
|
<string name="menu_delete_update">Elimine</string>
|
||||||
|
<string name="menu_copy_url">Copie l\'URL</string>
|
||||||
|
<string name="menu_export_update">Espuarte inzornament</string>
|
||||||
|
<string name="menu_show_changelog">Mostre regjisti modifichis</string>
|
||||||
|
<string name="menu_ab_perf_mode">Inzornaments cun prioritât</string>
|
||||||
|
<string name="menu_update_recovery">Inzorne Recovery</string>
|
||||||
|
<string name="toast_forced_update_recovery">Nol è pussibil disativâ i inzornaments di Lineage Recovery su chest dispositîf.</string>
|
||||||
|
<string name="snack_updates_found">Cjatâts gnûfs inzornaments</string>
|
||||||
|
<string name="snack_no_updates_found">Nissun gnûf inzornament cjatât</string>
|
||||||
|
<string name="snack_updates_check_failed">La verifiche di gnûfs inzornaments e je falide. Controle la conession internet e torne prove plui indenant.</string>
|
||||||
|
<string name="snack_download_failed">Il discjariament dal inzornament al è falît. Controle la conession a internet e torne prove plui indenant.</string>
|
||||||
|
<string name="snack_download_verification_failed">Verifiche dal inzornament falide.</string>
|
||||||
|
<string name="snack_download_verified">Discjariament completât.</string>
|
||||||
|
<string name="snack_update_not_installable">Nol è pussibil instalâ chest inzornament sore di cheste version.</string>
|
||||||
|
<string name="header_title_text">LineageOS\n%1$s</string>
|
||||||
|
<string name="header_android_version">Android <xliff:g id="version" example="7.1.2">%1$s</xliff:g></string>
|
||||||
|
<string name="header_last_updates_check">Ultime verifiche: <xliff:g id="date" example="2 di Zenâr dal 1970">%1$s</xliff:g> (<xliff:g id="time" example="01:23">%2$s</xliff:g>)</string>
|
||||||
|
<string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
|
||||||
|
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="Lui 11, 2017">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> di <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_eta_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> di <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g> (<xliff:g id="eta" example="3 minutes left">%3$s</xliff:g>)</string>
|
||||||
|
<string name="list_verifying_update">Verifiche inzornament</string>
|
||||||
|
<string name="list_no_updates">Nissun gnûf inzornament cjatât. Par controlâ a man i gnûfs inzornaments, tocje il boton Inzorne.</string>
|
||||||
|
<string name="action_download">Discjame</string>
|
||||||
|
<string name="action_pause">Pause</string>
|
||||||
|
<string name="action_resume">Ripie</string>
|
||||||
|
<string name="action_install">Instale</string>
|
||||||
|
<string name="action_info">Informazions</string>
|
||||||
|
<string name="action_delete">Elimine</string>
|
||||||
|
<string name="action_cancel">Anule</string>
|
||||||
|
<string name="confirm_delete_dialog_title">Elimine file</string>
|
||||||
|
<string name="confirm_delete_dialog_message">Eliminâ il file di inzornament selezionât?</string>
|
||||||
|
<string name="apply_update_dialog_title">Apliche inzornament</string>
|
||||||
|
<string name="apply_update_dialog_message">Tu stâs par instalâ <xliff:g id="update_name">%1$s</xliff:g>.\n\nSe tu frachis <xliff:g id="ok">%2$s</xliff:g>, il dispositîf al tornarà a inviâsi in modalitât recovery par instalâ in automatic l\'inzornament.\n\nNote: Cheste funzion e domande une Recovery compatibile, in câs contrari tu varâs di procedi ae instalazion manuâl.</string>
|
||||||
|
<string name="apply_update_dialog_message_ab">Tu stâs par instalâ <xliff:g id="update_name">%1$s</xliff:g>.\n\nSe tu frachis <xliff:g id="ok">%2$s</xliff:g>, il dispositîf al scomençarà la instalazion in sotfont.\n\nUne volte completade, ti vignarà domandât di tornâ a inviâ il dispositîf.</string>
|
||||||
|
<string name="cancel_installation_dialog_message">Anulâ la instalazion?</string>
|
||||||
|
<string name="label_download_url">URL dal discjariament</string>
|
||||||
|
<string name="toast_download_url_copied">URL copiât</string>
|
||||||
|
<string name="dialog_export_title">Esportazion inzornament</string>
|
||||||
|
<string name="notification_export_success">Inzornament espuartât</string>
|
||||||
|
<string name="notification_export_fail">Erôr de esportazion</string>
|
||||||
|
<string name="toast_already_exporting">Si sta za espuartant un inzornament</string>
|
||||||
|
<string name="toast_export_started">Esportazion scomençade</string>
|
||||||
|
<plurals name="eta_seconds">
|
||||||
|
<item quantity="one">Al mancje 1 secont</item>
|
||||||
|
<item quantity="other">A mancjin <xliff:g id="count">%d</xliff:g> seconts</item>
|
||||||
|
</plurals>
|
||||||
|
<plurals name="eta_minutes">
|
||||||
|
<item quantity="one">Al mancje 1 minût</item>
|
||||||
|
<item quantity="other">A mancjin <xliff:g id="count">%d</xliff:g> minûts</item>
|
||||||
|
</plurals>
|
||||||
|
<plurals name="eta_hours">
|
||||||
|
<item quantity="one">E mancje 1 ore</item>
|
||||||
|
<item quantity="other">A mancjin <xliff:g id="count">%d</xliff:g> oris</item>
|
||||||
|
</plurals>
|
||||||
|
<string name="update_over_metered_network_title">Atenzion</string>
|
||||||
|
<string name="update_over_metered_network_message">Tu stâs par discjariâ un pachet di inzornament doprant une rêt a consum, chest al podarès puartâ a consumâ une vore di dâts. Procedi?</string>
|
||||||
|
<string name="checkbox_metered_network_warning">No sta mostrâ plui</string>
|
||||||
|
<string name="menu_metered_network_warning">Avîs di rêt a consum</string>
|
||||||
|
<string name="blocked_update_dialog_title">Inzornament blocât</string>
|
||||||
|
<string name="blocked_update_dialog_message">Nol è pussibil instalâ chest inzornament cu la aplicazion di inzornament. Lei <xliff:g id="info_url">%1$s</xliff:g> par vê plui informazions.</string>
|
||||||
|
<string name="export_channel_title">Completament de esportazion</string>
|
||||||
|
<string name="new_updates_channel_title">Gnûfs inzornaments</string>
|
||||||
|
<string name="ongoing_channel_title">Discjariaments in vore</string>
|
||||||
|
<string name="update_failed_channel_title">Inzornament falît</string>
|
||||||
|
<string name="info_dialog_title">Savevistu?</string>
|
||||||
|
<string name="info_dialog_message">I inzornaments di LineageOS a son pachets di instalazion complets. Chest al significhe che tu puedis simpri instalâ l\'ultin inzornament, ancje se prime tu\'nd âs saltât cualchidun!</string>
|
||||||
|
<string name="info_dialog_ok">Graciis pe informazion!</string>
|
||||||
|
<string name="local_update_import">Inzornament locâl</string>
|
||||||
|
<string name="local_update_import_progress">Daûr a impuartâ l\'inzornament locâl\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s al è stât impuartât. Desideristu instalâlu?</string>
|
||||||
|
<string name="local_update_import_failure">Importazion inzornament locâl falide</string>
|
||||||
|
<string name="local_update_import_install">Instale</string>
|
||||||
|
<string name="local_update_name">Inzornament locâl</string>
|
||||||
|
<string name="welcome_title">Benvignûts</string>
|
||||||
|
<string name="welcome_message">Fâs câs che cuant che a son disponibii plui inzornaments, no covente inzornâ in progression l\'un dal un, tu puedis simpri instalâ daurman l\'ultin e dopo eliminâ in sigurece i inzornaments vieris par liberâ spazi di archiviazion.</string>
|
||||||
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -96,10 +96,8 @@
|
|||||||
<item quantity="one">1 oer restearjend</item>
|
<item quantity="one">1 oer restearjend</item>
|
||||||
<item quantity="other"><xliff:g id="count">%d</xliff:g> oer restearjend</item>
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> oer restearjend</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Warskôging</string>
|
<string name="update_over_metered_network_title">Warskôging</string>
|
||||||
<string name="update_on_mobile_data_message">Jo stean op it punt in fernijng te downloaden fia mobile gegevens, wat ta in heech gegevensgebrûk liede kin. Wolle jo fierder gean?</string>
|
<string name="checkbox_metered_network_warning">Net opnij toane</string>
|
||||||
<string name="checkbox_mobile_data_warning">Net opnij toane</string>
|
|
||||||
<string name="menu_mobile_data_warning">Warskôging mobile gegevens</string>
|
|
||||||
<string name="blocked_update_dialog_title">Fernijing blokkearre</string>
|
<string name="blocked_update_dialog_title">Fernijing blokkearre</string>
|
||||||
<string name="blocked_update_dialog_message">Dizze fernijing kin net ynstallearre wurde mei heulp fan de fernijings-app. Lês <xliff:g id="info_url">%1$s</xliff:g> foar mear ynformaasje.</string>
|
<string name="blocked_update_dialog_message">Dizze fernijing kin net ynstallearre wurde mei heulp fan de fernijings-app. Lês <xliff:g id="info_url">%1$s</xliff:g> foar mear ynformaasje.</string>
|
||||||
<string name="export_channel_title">Eksportearjen foltôge</string>
|
<string name="export_channel_title">Eksportearjen foltôge</string>
|
142
app/src/main/res/values-ga-rIE/strings.xml
Normal file
142
app/src/main/res/values-ga-rIE/strings.xml
Normal file
@@ -0,0 +1,142 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<string name="app_name">Nuashonróir</string>
|
||||||
|
<string name="display_name">Nuashonróir</string>
|
||||||
|
<string name="verification_failed_notification">Theip ar an bhfíorú</string>
|
||||||
|
<string name="verifying_download_notification">Nuashonrú á fhíorú</string>
|
||||||
|
<string name="downloading_notification">Ag íosluchtú</string>
|
||||||
|
<string name="download_paused_notification">Íoslódáil ar sos</string>
|
||||||
|
<string name="download_paused_error_notification">Earráid íoslódáil</string>
|
||||||
|
<string name="download_completed_notification">Íoslódáil críochnaithe</string>
|
||||||
|
<string name="download_starting_notification">Ag tosú íoslódáil</string>
|
||||||
|
<string name="update_failed_notification">Theip ar an nuashonrú</string>
|
||||||
|
<string name="installation_suspended_notification">Suiteáil ar fionraí</string>
|
||||||
|
<string name="new_updates_found_title">Nuashonruithe nua</string>
|
||||||
|
<string name="text_download_speed">%1$s, %2$s/s</string>
|
||||||
|
<string name="pause_button">Sos</string>
|
||||||
|
<string name="resume_button">Tosaigh arís</string>
|
||||||
|
<string name="suspend_button">Fionraí</string>
|
||||||
|
<string name="installing_update">Ag suiteáil pacáiste nuashonraithe</string>
|
||||||
|
<string name="installing_update_error">Earráid a shuiteáil</string>
|
||||||
|
<string name="installing_update_finished">Nuashonrú suiteáilte</string>
|
||||||
|
<string name="finalizing_package">Ag suiteáil pacáiste a thabhairt chun críche</string>
|
||||||
|
<string name="preparing_ota_first_boot">Ag ullmhú don chéad tosaithe</string>
|
||||||
|
<string name="dialog_prepare_zip_message">Réamh-ullmhúchán nuashonraithe</string>
|
||||||
|
<string name="dialog_battery_low_title">Ceallraí íseal</string>
|
||||||
|
<string name="dialog_battery_low_message_pct">Tá leibhéal an cheallraí ró-íseal, ní mór duit ar a laghad <xliff:g id="percent_discharging">%1$d</xliff:g> %% den cheallraí chun leanúint ar aghaidh, <xliff:g id="percent_charging">%2$d</xliff:g>%% má tá tú ag muirearú.</string>
|
||||||
|
<string name="dialog_scratch_mounted_message"><![CDATA[Rith na horduithe seo a leanas agus bain triail eile as an nuashonrú:\n
|
||||||
|
• adb root\n
|
||||||
|
• adb enable-verity\n
|
||||||
|
• adb reboot
|
||||||
|
]]></string>
|
||||||
|
<string name="dialog_scratch_mounted_title">Ní féidir an nuashonrú a shuiteáil le OverlayFS suite</string>
|
||||||
|
<string name="reboot">Atosaigh</string>
|
||||||
|
<string name="menu_refresh">Athnuaigh</string>
|
||||||
|
<string name="menu_preferences">Roghanna</string>
|
||||||
|
<string name="menu_auto_updates_check">Seiceáil nuashonruithe uathoibríoch</string>
|
||||||
|
<string name="menu_auto_updates_check_interval_daily">Uair sa lá</string>
|
||||||
|
<string name="menu_auto_updates_check_interval_weekly">Uair sa tseachtain</string>
|
||||||
|
<string name="menu_auto_updates_check_interval_monthly">Uair sa mhí</string>
|
||||||
|
<string name="menu_auto_updates_check_interval_never">Riamh</string>
|
||||||
|
<string name="menu_auto_delete_updates">Scrios nuashonruithe nuair a shuiteáiltear iad</string>
|
||||||
|
<string name="menu_delete_update">Scrios</string>
|
||||||
|
<string name="menu_copy_url">Cóipeáil URL</string>
|
||||||
|
<string name="menu_export_update">Easpórtáil nuashonrú</string>
|
||||||
|
<string name="menu_show_changelog">Taispeáin loga na n-athruithe</string>
|
||||||
|
<string name="menu_ab_perf_mode">Tabhair tosaíocht don phróiseas nuashonraithe</string>
|
||||||
|
<string name="menu_update_recovery">Nuashonraigh aisghabháil</string>
|
||||||
|
<string name="toast_forced_update_recovery">Tá sé dodhéanta nuashonruithe Lineage Recovery a dhíchumasú ar an ngléas seo.</string>
|
||||||
|
<string name="snack_updates_found">Nuashonruithe nua aimsithe</string>
|
||||||
|
<string name="snack_no_updates_found">Níor aimsíodh aon nuashonruithe nua</string>
|
||||||
|
<string name="snack_updates_check_failed">Theip ar an tseiceáil nuashonraithe. Seiceáil do cheangal idirlín agus bain triail eile as ar ball.</string>
|
||||||
|
<string name="snack_download_failed">Theip ar an íoslódáil. Seiceáil do cheangal idirlín agus bain triail eile as ar ball.</string>
|
||||||
|
<string name="snack_download_verification_failed">Theip ar fhíorú an nuashonraithe.</string>
|
||||||
|
<string name="snack_download_verified">Íoslódáil críochnaithe.</string>
|
||||||
|
<string name="snack_update_not_installable">Ní féidir an nuashonrú seo a shuiteáil ar bharr an leagan reatha.</string>
|
||||||
|
<string name="header_title_text">LineageOS\n%1$s</string>
|
||||||
|
<string name="header_android_version">Android <xliff:g id="version" sampla="7.1.2">%1$s</xliff:g></string>
|
||||||
|
<string name="header_last_updates_check">Seiceáladh seo caite: <xliff:g id="date" example="1 Eanáir 1970">%1$s</xliff:g> (<xliff:g id="time" sampla="01:23">%2$s</xliff:g>)</string>
|
||||||
|
<string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
|
||||||
|
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> of <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_eta_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> of <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g> (<xliff:g id="eta" example="3 minutes left">%3$s</xliff:g>)</string>
|
||||||
|
<string name="list_verifying_update">Nuashonrú á fhíorú</string>
|
||||||
|
<string name="list_no_updates">Níor aimsíodh aon nuashonruithe nua. Chun seiceáil de láimh le haghaidh nuashonruithe nua, úsáid an cnaipe Athnuaigh.</string>
|
||||||
|
<string name="action_download">Íosluchtaigh</string>
|
||||||
|
<string name="action_pause">Sos</string>
|
||||||
|
<string name="action_resume">Tosaigh arís</string>
|
||||||
|
<string name="action_install">Suiteáil</string>
|
||||||
|
<string name="action_info">Eolas</string>
|
||||||
|
<string name="action_delete">Scrios</string>
|
||||||
|
<string name="action_cancel">Cealaigh</string>
|
||||||
|
<string name="confirm_delete_dialog_title">Scrios an comhad</string>
|
||||||
|
<string name="confirm_delete_dialog_message">Scrios comhad uasdátaigh ?</string>
|
||||||
|
<string name="apply_update_dialog_title">Cuir nuashonrú</string>
|
||||||
|
<string name="apply_update_dialog_message">Tá tú ar tí <xliff:g id="update_name">%1$s</xliff:g> a shuiteáil.\n\nMá bhrúíonn tú <xliff:g id="ok">%2$s</xliff: g>, atosóidh an gléas é féin sa mhodh athshlánaithe chun an nuashonrú a shuiteáil.\n\nNóta: Teastaíonn Aisghabháil comhoiriúnach don ghné seo nó beidh gá le nuashonruithe a shuiteáil de láimh.</string>
|
||||||
|
<string name="apply_update_dialog_message_ab">Tá tú ar tí <xliff:g id="update_name">%1$s</xliff:g> a shuiteáil.\n\nMá bhrúíonn tú <xliff:g id="ok">%2$s</xliff: g>, cuirfear tús leis an ngléas a shuiteáil sa chúlra.\n\nNuair a bheidh sé críochnaithe, tabharfar leid duit é a atosú.</string>
|
||||||
|
<string name="cancel_installation_dialog_message">Cealaigh an tsuiteáil?</string>
|
||||||
|
<string name="label_download_url">Íoslódáil URL</string>
|
||||||
|
<string name="toast_download_url_copied">URL Chóipeáil</string>
|
||||||
|
<string name="dialog_export_title">Nuashonrú easpórtála</string>
|
||||||
|
<string name="notification_export_success">Easpórtáil an nuashonrú</string>
|
||||||
|
<string name="notification_export_fail">Earráid easpórtála</string>
|
||||||
|
<string name="toast_already_exporting">Ag easpórtáil nuashonrú cheana féin</string>
|
||||||
|
<string name="toast_export_started">Thosaigh easpórtáil</string>
|
||||||
|
<plurals name="eta_seconds">
|
||||||
|
<item quantity="one">1 soicind fágtha</item>
|
||||||
|
<item quantity="two"><xliff:g id="count">%d</xliff:g> soicind fágtha</item>
|
||||||
|
<item quantity="few"><xliff:g id="count">%d</xliff:g> soicind fágtha</item>
|
||||||
|
<item quantity="many"><xliff:g id="count">%d</xliff:g> soicind fágtha</item>
|
||||||
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> soicind fágtha</item>
|
||||||
|
</plurals>
|
||||||
|
<plurals name="eta_minutes">
|
||||||
|
<item quantity="one">1 nóiméad fágtha</item>
|
||||||
|
<item quantity="two"><xliff:g id="count">%d</xliff:g> nóiméad fágtha</item>
|
||||||
|
<item quantity="few"><xliff:g id="count">%d</xliff:g> nóiméad fágtha</item>
|
||||||
|
<item quantity="many"><xliff:g id="count">%d</xliff:g> nóiméad fágtha</item>
|
||||||
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> nóiméad fágtha</item>
|
||||||
|
</plurals>
|
||||||
|
<plurals name="eta_hours">
|
||||||
|
<item quantity="one">1 uair fágtha</item>
|
||||||
|
<item quantity="two"><xliff:g id="count">%d</xliff:g> uair fágtha</item>
|
||||||
|
<item quantity="few"><xliff:g id="count">%d</xliff:g> uair fágtha</item>
|
||||||
|
<item quantity="many"><xliff:g id="count">%d</xliff:g> uair fágtha</item>
|
||||||
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> uair fágtha</item>
|
||||||
|
</plurals>
|
||||||
|
<string name="update_over_metered_network_title">Rabhadh</string>
|
||||||
|
<string name="update_over_metered_network_message">Tá tú ar tí pacáiste nuashonraithe a íoslódáil thar líonra méadraithe agus is dócha go mbeidh sé ina chúis le húsáid ard sonraí. Ar mhaith leat dul ar aghaidh?</string>
|
||||||
|
<string name="checkbox_metered_network_warning">Ná taispeáin arís</string>
|
||||||
|
<string name="menu_metered_network_warning">Rabhadh líonra méadraithe</string>
|
||||||
|
<string name="blocked_update_dialog_title">Nuashonrú bactha</string>
|
||||||
|
<string name="blocked_update_dialog_message">Ní féidir an nuashonrú seo a shuiteáil leis an aip nuashonraithe. Léigh <xliff:g id="info_url">%1$s</xliff:g> le haghaidh tuilleadh eolais.</string>
|
||||||
|
<string name="export_channel_title">Críochnú onnmhairithe</string>
|
||||||
|
<string name="new_updates_channel_title">Nuashonruithe nua</string>
|
||||||
|
<string name="ongoing_channel_title">Íoslódálacha leanúnacha</string>
|
||||||
|
<string name="update_failed_channel_title">Theip ar an nuashonrú</string>
|
||||||
|
<string name="info_dialog_title">An raibh a fhios agat?</string>
|
||||||
|
<string name="info_dialog_message">Is pacáistí suiteála iomlána iad nuashonruithe LineageOS. Ciallaíonn sé sin nach féidir leat ach an nuashonrú is déanaí a shuiteáil i gcónaí, fiú mura ndearna tú roinnt eatarthu!</string>
|
||||||
|
<string name="info_dialog_ok">Go raibh maith agat as an eolas!</string>
|
||||||
|
<string name="local_update_import">Nuashonrú áitiúil</string>
|
||||||
|
<string name="local_update_import_progress">Nuashonrú logánta á iompórtáil\u2026</string>
|
||||||
|
<string name="local_update_import_success">Iompórtáladh %1$s. Ar mhaith leat é a shuiteáil?</string>
|
||||||
|
<string name="local_update_import_failure">Theip ar iompórtáil an nuashonrú áitiúil</string>
|
||||||
|
<string name="local_update_import_install">Suiteáil</string>
|
||||||
|
<string name="local_update_name">Nuashonrú áitiúil</string>
|
||||||
|
<string name="welcome_title">Fáilte</string>
|
||||||
|
<string name="welcome_message">Tabhair faoi deara le do thoil, nuair a bhíonn nuashonruithe iolracha ar fáil, níl aon ghá le nuashonrú ar nuashonrú, is féidir leat an ceann is déanaí a shuiteáil go díreach i gcónaí, agus ansin sean-nuashonruithe a scriosadh go sábháilte chun spás stórála a shaoradh.</string>
|
||||||
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -104,10 +104,8 @@
|
|||||||
<item quantity="few"><xliff:g id="count">%d</xliff:g> uairean a thìde air fhàgail</item>
|
<item quantity="few"><xliff:g id="count">%d</xliff:g> uairean a thìde air fhàgail</item>
|
||||||
<item quantity="other"><xliff:g id="count">%d</xliff:g> uair a thìde air fhàgail</item>
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> uair a thìde air fhàgail</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Rabhadh</string>
|
<string name="update_over_metered_network_title">Rabhadh</string>
|
||||||
<string name="update_on_mobile_data_message">Tha thu an impis pacaid ùrachaidh a luchdadh a-nuas le dàta mobile agus caithidh sin tòrr dàta gun teagamh. A bheil thu airson leantainn air adhart?</string>
|
<string name="checkbox_metered_network_warning">Na seall seo a-rithist</string>
|
||||||
<string name="checkbox_mobile_data_warning">Na seall seo a-rithist</string>
|
|
||||||
<string name="menu_mobile_data_warning">Rabhadh mu dhàta mobile</string>
|
|
||||||
<string name="blocked_update_dialog_title">Chaidh an t-ùrachadh a bhacadh</string>
|
<string name="blocked_update_dialog_title">Chaidh an t-ùrachadh a bhacadh</string>
|
||||||
<string name="blocked_update_dialog_message">Cha ghabh an t-ùrachadh seo stàladh le aplacaid an ùraicheir. Leugh <xliff:g id="info_url">%1$s</xliff:g> airson barrachd fiosrachaidh.</string>
|
<string name="blocked_update_dialog_message">Cha ghabh an t-ùrachadh seo stàladh le aplacaid an ùraicheir. Leugh <xliff:g id="info_url">%1$s</xliff:g> airson barrachd fiosrachaidh.</string>
|
||||||
<string name="export_channel_title">Coileanadh an às-phortaidh</string>
|
<string name="export_channel_title">Coileanadh an às-phortaidh</string>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -98,10 +98,8 @@
|
|||||||
<item quantity="one">resta 1 hora</item>
|
<item quantity="one">resta 1 hora</item>
|
||||||
<item quantity="other">restan <xliff:g id="count">%d</xliff:g> horas</item>
|
<item quantity="other">restan <xliff:g id="count">%d</xliff:g> horas</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Aviso</string>
|
<string name="update_over_metered_network_title">Aviso</string>
|
||||||
<string name="update_on_mobile_data_message">Estás a punto de descargar un paquete de actualización a través da conexión de datos móbeis o que xerará un maior consumo de datos. Tes a certeza de querer continuar?</string>
|
<string name="checkbox_metered_network_warning">Non amosar máis</string>
|
||||||
<string name="checkbox_mobile_data_warning">Non amosar máis</string>
|
|
||||||
<string name="menu_mobile_data_warning">Aviso de datos móbiles</string>
|
|
||||||
<string name="blocked_update_dialog_title">Actualización bloqueada</string>
|
<string name="blocked_update_dialog_title">Actualización bloqueada</string>
|
||||||
<string name="blocked_update_dialog_message">Esta actualización non se pode instalar empregando este actualizador. Por favor, le <xliff:g id="info_url">%1$s</xliff:g> para máis información.</string>
|
<string name="blocked_update_dialog_message">Esta actualización non se pode instalar empregando este actualizador. Por favor, le <xliff:g id="info_url">%1$s</xliff:g> para máis información.</string>
|
||||||
<string name="export_channel_title">Exportación completada</string>
|
<string name="export_channel_title">Exportación completada</string>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -69,10 +69,8 @@
|
|||||||
<string name="notification_export_success">Ažuriranje je izvezeno</string>
|
<string name="notification_export_success">Ažuriranje je izvezeno</string>
|
||||||
<string name="notification_export_fail">Pogreška izvoza</string>
|
<string name="notification_export_fail">Pogreška izvoza</string>
|
||||||
<string name="toast_already_exporting">Ažuriranje se već izvozi</string>
|
<string name="toast_already_exporting">Ažuriranje se već izvozi</string>
|
||||||
<string name="update_on_mobile_data_title">Upozorenje</string>
|
<string name="update_over_metered_network_title">Upozorenje</string>
|
||||||
<string name="update_on_mobile_data_message">Upravo ćete preuzeti paket ažuriranja pomoću mobilnih podataka koji će vjerojatno uzrokovati visoku upotrebu podataka. Želite li nastaviti?</string>
|
<string name="checkbox_metered_network_warning">Ne prikazuj ponovno</string>
|
||||||
<string name="checkbox_mobile_data_warning">Ne prikazuj ponovno</string>
|
|
||||||
<string name="menu_mobile_data_warning">Upozorenje o mobilnim podacima</string>
|
|
||||||
<string name="blocked_update_dialog_title">Ažuriranje je blokirano</string>
|
<string name="blocked_update_dialog_title">Ažuriranje je blokirano</string>
|
||||||
<string name="blocked_update_dialog_message">Ovo se ažuriranje ne može instalirati pomoću aplikacije za ažuriranje. Molimo pročitajte <xliff:g id="info_url">%1$s</xliff:g> za više informacija.</string>
|
<string name="blocked_update_dialog_message">Ovo se ažuriranje ne može instalirati pomoću aplikacije za ažuriranje. Molimo pročitajte <xliff:g id="info_url">%1$s</xliff:g> za više informacija.</string>
|
||||||
<string name="export_channel_title">Kraj izvoza</string>
|
<string name="export_channel_title">Kraj izvoza</string>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -40,6 +40,12 @@
|
|||||||
<string name="dialog_battery_low_title">Alacsony akkumulátorszint</string>
|
<string name="dialog_battery_low_title">Alacsony akkumulátorszint</string>
|
||||||
<string name="dialog_battery_low_message_pct">Az akkumulátortöltöttség túl alacsony, szüksége van legalább <xliff:g id="percent_discharging">%1$d</xliff:g>%% töltöttségre a folytatáshoz,
|
<string name="dialog_battery_low_message_pct">Az akkumulátortöltöttség túl alacsony, szüksége van legalább <xliff:g id="percent_discharging">%1$d</xliff:g>%% töltöttségre a folytatáshoz,
|
||||||
illetve, ha éppen tölt, akkor még <xliff:g id="percent_charging">%2$d</xliff:g>%% töltés szükséges.</string>
|
illetve, ha éppen tölt, akkor még <xliff:g id="percent_charging">%2$d</xliff:g>%% töltés szükséges.</string>
|
||||||
|
<string name="dialog_scratch_mounted_message"><![CDATA[ Futtassa az alábbi parancsokat, majd próbálja újra a frissítést:\n
|
||||||
|
• adb root\n
|
||||||
|
• adb enable-verity\n
|
||||||
|
• adb reboot
|
||||||
|
]]></string>
|
||||||
|
<string name="dialog_scratch_mounted_title">Nem telepíthet frissítést a felcsatlakoztatott OverlayFS miatt</string>
|
||||||
<string name="reboot">Újraindítás</string>
|
<string name="reboot">Újraindítás</string>
|
||||||
<string name="menu_refresh">Frissítés</string>
|
<string name="menu_refresh">Frissítés</string>
|
||||||
<string name="menu_preferences">Testreszabás</string>
|
<string name="menu_preferences">Testreszabás</string>
|
||||||
@@ -68,6 +74,8 @@ illetve, ha éppen tölt, akkor még <xliff:g id="percent_charging">%2$d</xliff:
|
|||||||
<string name="header_last_updates_check">Utolsó ellenőrzés: <xliff:g id="date" example="1 January 1970">%1$s</xliff:g> (<xliff:g id="time" example="01:23">%2$s</xliff:g>)</string>
|
<string name="header_last_updates_check">Utolsó ellenőrzés: <xliff:g id="date" example="1 January 1970">%1$s</xliff:g> (<xliff:g id="time" example="01:23">%2$s</xliff:g>)</string>
|
||||||
<string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
|
<string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
|
||||||
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> / <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_eta_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> / <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g> (<xliff:g id="eta" example="3 minutes left">%3$s</xliff:g>)</string>
|
||||||
<string name="list_verifying_update">Frissítésellenőrzés</string>
|
<string name="list_verifying_update">Frissítésellenőrzés</string>
|
||||||
<string name="list_no_updates">Nem található új frissítés. A manuális ellenőrzéshez használja a Frissítés gombot.</string>
|
<string name="list_no_updates">Nem található új frissítés. A manuális ellenőrzéshez használja a Frissítés gombot.</string>
|
||||||
<string name="action_download">Letöltés</string>
|
<string name="action_download">Letöltés</string>
|
||||||
@@ -80,6 +88,8 @@ illetve, ha éppen tölt, akkor még <xliff:g id="percent_charging">%2$d</xliff:
|
|||||||
<string name="confirm_delete_dialog_title">Fájltörlés</string>
|
<string name="confirm_delete_dialog_title">Fájltörlés</string>
|
||||||
<string name="confirm_delete_dialog_message">Biztosan törölni szeretné a letöltött frissítőfájlt?</string>
|
<string name="confirm_delete_dialog_message">Biztosan törölni szeretné a letöltött frissítőfájlt?</string>
|
||||||
<string name="apply_update_dialog_title">A frissítés telepítése</string>
|
<string name="apply_update_dialog_title">A frissítés telepítése</string>
|
||||||
|
<string name="apply_update_dialog_message">Ön a következőt kívánja telepiteni: <xliff:g id="update_name">%1$s</xliff:g>\n\nAmennyiben megnyomja az <xliff:g id="ok">%2$s</xliff:g> gombot, a készülék újraindul recovery-módban és telepíti a frissítést.\n\nFigyelmeztetés: a telepítéshez a készülékkel kompatibilis Recovery szükséges</string>
|
||||||
|
<string name="apply_update_dialog_message_ab">A következő telepítésre készül: <xliff:g id="update_name">%1$s</xliff:g>.\n\nAmennyiben megnyomja az <xliff:g id="ok">%2$s</xliff:g> gombot, a készülék elkezdi a telepítést a háttérben.\n\nAmint kész, újraindításra lesz szükség.</string>
|
||||||
<string name="cancel_installation_dialog_message">Megszakítja a telepítést?</string>
|
<string name="cancel_installation_dialog_message">Megszakítja a telepítést?</string>
|
||||||
<string name="label_download_url">Az URL letöltése</string>
|
<string name="label_download_url">Az URL letöltése</string>
|
||||||
<string name="toast_download_url_copied">Az URL másolva</string>
|
<string name="toast_download_url_copied">Az URL másolva</string>
|
||||||
@@ -87,6 +97,7 @@ illetve, ha éppen tölt, akkor még <xliff:g id="percent_charging">%2$d</xliff:
|
|||||||
<string name="notification_export_success">A frissítés exportálva</string>
|
<string name="notification_export_success">A frissítés exportálva</string>
|
||||||
<string name="notification_export_fail">Exportálás hiba</string>
|
<string name="notification_export_fail">Exportálás hiba</string>
|
||||||
<string name="toast_already_exporting">Egy frissítés exportálása már folyamatban van</string>
|
<string name="toast_already_exporting">Egy frissítés exportálása már folyamatban van</string>
|
||||||
|
<string name="toast_export_started">Az exportálás elindult</string>
|
||||||
<plurals name="eta_seconds">
|
<plurals name="eta_seconds">
|
||||||
<item quantity="one">1 másodperc van hátra</item>
|
<item quantity="one">1 másodperc van hátra</item>
|
||||||
<item quantity="other"><xliff:g id="count">%d</xliff:g> másodperc van hátra</item>
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> másodperc van hátra</item>
|
||||||
@@ -99,14 +110,25 @@ illetve, ha éppen tölt, akkor még <xliff:g id="percent_charging">%2$d</xliff:
|
|||||||
<item quantity="one">1 óra van hátra</item>
|
<item quantity="one">1 óra van hátra</item>
|
||||||
<item quantity="other"><xliff:g id="count">%d</xliff:g> óra van hátra</item>
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> óra van hátra</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Figyelmeztetés</string>
|
<string name="update_over_metered_network_title">Figyelmeztetés</string>
|
||||||
<string name="update_on_mobile_data_message">A frissítés mobiladat-forgalom használatával fog letöltődni, ami magas mobiladat-használatot eredményezhet. Szeretné folytatni?</string>
|
<string name="update_over_metered_network_message">Úgy tűnik mobiladat-forgalmat használva kíván letölteni egy nagyméretű frissítési csomagot, ami nagy költséggel járhat. Biztos benne hogy engedélyezi ezt?</string>
|
||||||
<string name="checkbox_mobile_data_warning">Ne jelenjen meg többet</string>
|
<string name="checkbox_metered_network_warning">Ne jelenjen meg többet</string>
|
||||||
<string name="menu_mobile_data_warning">Mobiladat-használati figyelmeztetés</string>
|
<string name="menu_metered_network_warning">Mobiladat-költség figyelmeztetés</string>
|
||||||
<string name="blocked_update_dialog_title">A frissítés blokkolva</string>
|
<string name="blocked_update_dialog_title">A frissítés blokkolva</string>
|
||||||
<string name="blocked_update_dialog_message">Ez a frissítés nem telepíthető a Frissítés alkalmazással. További információért olvassa el a következőt: <xliff:g id="info_url">%1$s</xliff:g></string>
|
<string name="blocked_update_dialog_message">Ez a frissítés nem telepíthető a Frissítés alkalmazással. További információért olvassa el a következőt: <xliff:g id="info_url">%1$s</xliff:g></string>
|
||||||
<string name="export_channel_title">Exportálás-véglegesítés</string>
|
<string name="export_channel_title">Exportálás-véglegesítés</string>
|
||||||
<string name="new_updates_channel_title">Új frissítések</string>
|
<string name="new_updates_channel_title">Új frissítések</string>
|
||||||
<string name="ongoing_channel_title">Folyamatban lévő letöltések</string>
|
<string name="ongoing_channel_title">Folyamatban lévő letöltések</string>
|
||||||
<string name="update_failed_channel_title">A frissítés sikertelen</string>
|
<string name="update_failed_channel_title">A frissítés sikertelen</string>
|
||||||
|
<string name="info_dialog_title">Tudta Ön?</string>
|
||||||
|
<string name="info_dialog_message">A LineageOS frissítései teljes telepítőcsomagok. Ez azt jelenti, hogy mindig elég a legfrissebb csomagot telepítenie, nem baj ha korábban kihagyott párat!</string>
|
||||||
|
<string name="info_dialog_ok">Köszönet az információért!</string>
|
||||||
|
<string name="local_update_import">Helyi frissítés</string>
|
||||||
|
<string name="local_update_import_progress">Helyi frissítés importálása\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s importálva lett. Kívánja telepíteni?</string>
|
||||||
|
<string name="local_update_import_failure">Nem sikerült importálni a helyi frissítést</string>
|
||||||
|
<string name="local_update_import_install">Telepítés</string>
|
||||||
|
<string name="local_update_name">Helyi frissítés</string>
|
||||||
|
<string name="welcome_title">Üdvözöljük</string>
|
||||||
|
<string name="welcome_message">Vegye figyelembe, hogy ha több frissítés is elérhető, nem szükséges mindet telepítenie, csak kizárólag a legfrissebbet, majd biztonságosan törölheti a régi frissítéseket, hogy tárhelyet szabadítson fel.</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -100,10 +100,10 @@
|
|||||||
<plurals name="eta_hours">
|
<plurals name="eta_hours">
|
||||||
<item quantity="other"><xliff:g id="count">%d</xliff:g> jam tersisa</item>
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> jam tersisa</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Peringatan</string>
|
<string name="update_over_metered_network_title">Peringatan</string>
|
||||||
<string name="update_on_mobile_data_message">Anda akan mengunduh paket pembaruan menggunakan data seluler yang mungkin akan menyebabkan penggunaan data yang tinggi. Apakah Anda ingin melanjutkan?</string>
|
<string name="update_over_metered_network_message">Anda akan mengunduh paket pembaruan melalui jaringan terukur yang kemungkinan besar akan menyebabkan penggunaan data yang tinggi. Apakah Anda ingin melanjutkan?</string>
|
||||||
<string name="checkbox_mobile_data_warning">Jangan tampilkan lagi</string>
|
<string name="checkbox_metered_network_warning">Jangan tampilkan lagi</string>
|
||||||
<string name="menu_mobile_data_warning">Peringatan data seluler</string>
|
<string name="menu_metered_network_warning">Peringatan jaringan terukur</string>
|
||||||
<string name="blocked_update_dialog_title">Pembaruan diblokir</string>
|
<string name="blocked_update_dialog_title">Pembaruan diblokir</string>
|
||||||
<string name="blocked_update_dialog_message">Pembaruan ini tidak dapat dipasang menggunakan aplikasi pembaruan. Baca <xliff:g id="info_url">%1$s</xliff:g> untuk informasi lebih lanjut.</string>
|
<string name="blocked_update_dialog_message">Pembaruan ini tidak dapat dipasang menggunakan aplikasi pembaruan. Baca <xliff:g id="info_url">%1$s</xliff:g> untuk informasi lebih lanjut.</string>
|
||||||
<string name="export_channel_title">Penyelesaian ekspor</string>
|
<string name="export_channel_title">Penyelesaian ekspor</string>
|
||||||
@@ -113,4 +113,10 @@
|
|||||||
<string name="info_dialog_title">Tahukah Anda?</string>
|
<string name="info_dialog_title">Tahukah Anda?</string>
|
||||||
<string name="info_dialog_message">Pembaruan LineageOS adalah paket instalasi lengkap. Itu berarti Anda selalu dapat menginstal hanya pembaruan terbaru, bahkan jika Anda melewatkan beberapa di antaranya!</string>
|
<string name="info_dialog_message">Pembaruan LineageOS adalah paket instalasi lengkap. Itu berarti Anda selalu dapat menginstal hanya pembaruan terbaru, bahkan jika Anda melewatkan beberapa di antaranya!</string>
|
||||||
<string name="info_dialog_ok">Terima kasih atas infonya!</string>
|
<string name="info_dialog_ok">Terima kasih atas infonya!</string>
|
||||||
|
<string name="local_update_import">Pembaruan lokal</string>
|
||||||
|
<string name="local_update_import_progress">Mengimpor pembaruan lokal\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s telah diimpor. Apakah Anda ingin menginstalnya?</string>
|
||||||
|
<string name="local_update_import_failure">Gagal mengimpor pembaruan lokal</string>
|
||||||
|
<string name="local_update_import_install">Instal</string>
|
||||||
|
<string name="local_update_name">Pembaruan lokal</string>
|
||||||
</resources>
|
</resources>
|
124
app/src/main/res/values-is/strings.xml
Normal file
124
app/src/main/res/values-is/strings.xml
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<string name="app_name">Uppfærslustýring</string>
|
||||||
|
<string name="display_name">Uppfærslustýring</string>
|
||||||
|
<string name="verification_failed_notification">Sannvottun mistókst</string>
|
||||||
|
<string name="verifying_download_notification">Yfirfer uppfærslu</string>
|
||||||
|
<string name="downloading_notification">Sæki gögn</string>
|
||||||
|
<string name="download_paused_notification">Niðurhal í bið</string>
|
||||||
|
<string name="download_paused_error_notification">Villa við að sækja gögn</string>
|
||||||
|
<string name="download_completed_notification">Niðurhali lokið</string>
|
||||||
|
<string name="download_starting_notification">Byrja niðurhal</string>
|
||||||
|
<string name="update_failed_notification">Uppfærsla mistókst</string>
|
||||||
|
<string name="installation_suspended_notification">Uppsetning sett í bið</string>
|
||||||
|
<string name="new_updates_found_title">Nýjar uppfærslur</string>
|
||||||
|
<string name="text_download_speed">%1$s, %2$s/s</string>
|
||||||
|
<string name="resume_button">Halda áfram</string>
|
||||||
|
<string name="suspend_button">Setja í bið</string>
|
||||||
|
<string name="installing_update">Set inn uppfærslupakka</string>
|
||||||
|
<string name="installing_update_error">Villa í uppsetningu</string>
|
||||||
|
<string name="installing_update_finished">Uppfærsla uppsett</string>
|
||||||
|
<string name="finalizing_package">Lýk uppsetningu á pakka</string>
|
||||||
|
<string name="preparing_ota_first_boot">Undirbý fyrstu ræsingu</string>
|
||||||
|
<string name="dialog_prepare_zip_message">Undirbúningur forstillinga uppfærslu</string>
|
||||||
|
<string name="dialog_battery_low_title">Lítil hleðsla á rafhlöðu</string>
|
||||||
|
<string name="dialog_battery_low_message_pct">Hleðslan á rafhlöðunni er of lítil, þú þarft a.m.k. <xliff:g id="percent_discharging">%1$d</xliff:g>%% hleðslu til að halda áfram, <xliff:g id="percent_charging">%2$d</xliff:g>%% ef í hleðslu.</string>
|
||||||
|
<string name="reboot">Endurræsa</string>
|
||||||
|
<string name="menu_refresh">Endurlesa</string>
|
||||||
|
<string name="menu_preferences">Kjörstillingar</string>
|
||||||
|
<string name="menu_auto_updates_check">Sjálfvirk athugun með uppfærslur</string>
|
||||||
|
<string name="menu_auto_updates_check_interval_daily">Einu sinni á dag</string>
|
||||||
|
<string name="menu_auto_updates_check_interval_weekly">Einu sinni í viku</string>
|
||||||
|
<string name="menu_auto_updates_check_interval_monthly">Einu sinni í mánuði</string>
|
||||||
|
<string name="menu_auto_updates_check_interval_never">Aldrei</string>
|
||||||
|
<string name="menu_auto_delete_updates">Eyða uppfærslupökkum þegar þeir hafa verið settir inn</string>
|
||||||
|
<string name="menu_delete_update">Eyða</string>
|
||||||
|
<string name="menu_copy_url">Afrita slóð</string>
|
||||||
|
<string name="menu_export_update">Flytja út uppfærslu</string>
|
||||||
|
<string name="menu_show_changelog">Birta breytingaannál</string>
|
||||||
|
<string name="menu_ab_perf_mode">Setja uppfærsluferli í forgang</string>
|
||||||
|
<string name="menu_update_recovery">Uppfæra endurheimtingu</string>
|
||||||
|
<string name="toast_forced_update_recovery">Ekki er hægt að gera uppfærslur á endurheimtingu LineageOS óvirkar á þessu
|
||||||
|
tæki.</string>
|
||||||
|
<string name="snack_updates_found">Nýjar uppfærslur fundust</string>
|
||||||
|
<string name="snack_no_updates_found">Engar nýjar uppfærslur fundust</string>
|
||||||
|
<string name="snack_updates_check_failed">Athugun með uppfærslur mistókst. Skoðaðu internettenginguna og reyndu aftur síðar.</string>
|
||||||
|
<string name="snack_download_failed">Niðurhal mistókst. Athugaðu internettenginguna og reyndu aftur síðar.</string>
|
||||||
|
<string name="snack_download_verification_failed">Sannvottun uppfærslu mistókst.</string>
|
||||||
|
<string name="snack_download_verified">Niðurhali er lokið.</string>
|
||||||
|
<string name="snack_update_not_installable">Þessa uppfærslu er ekki gægt að setja upp á þessari byggingarútgáfu.</string>
|
||||||
|
<string name="header_title_text">LineageOS\n%1$s</string>
|
||||||
|
<string name="header_android_version">Android <xliff:g id="version" example="7.1.2">%1$s</xliff:g></string>
|
||||||
|
<string name="header_last_updates_check">Síðast kannað: <xliff:g id="date" example="1 January 1970">%1$s</xliff:g> (<xliff:g id="time" example="01:23">%2$s</xliff:g>)</string>
|
||||||
|
<string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
|
||||||
|
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> of <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_eta_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> of <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g> (<xliff:g id="eta" example="3 minutes left">%3$s</xliff:g>)</string>
|
||||||
|
<string name="list_verifying_update">Yfirfer uppfærslu</string>
|
||||||
|
<string name="list_no_updates">Engar nýjar uppfærslur fundust. Til að athuga handvirkt með nýjar uppfærslur, notaðu Endurlesa-hnappinn.</string>
|
||||||
|
<string name="action_download">Sækja</string>
|
||||||
|
<string name="action_resume">Halda áfram</string>
|
||||||
|
<string name="action_install">Setja upp</string>
|
||||||
|
<string name="action_info">Upplýsingar</string>
|
||||||
|
<string name="action_delete">Eyða</string>
|
||||||
|
<string name="action_cancel">Hætta við</string>
|
||||||
|
<string name="confirm_delete_dialog_title">Eyða skrá</string>
|
||||||
|
<string name="confirm_delete_dialog_message">Eyða valdri uppfærsluskrá?</string>
|
||||||
|
<string name="apply_update_dialog_title">Virkja uppfærslu</string>
|
||||||
|
<string name="apply_update_dialog_message">Þú ert í þann mund að setja upp <xliff:g id="update_name">%1$s</xliff:g>.\n\nEf þú ýtir á <xliff:g id="ok">%2$s</xliff:g>, mun tækið endurræsa sig í endurheimtuham til að setja inn uppfærsluna.\n\nAthugaðu: Þessi eiginleiki krefst þess að til staðar séu samhæfð endurheimtugögn því annars þarf að setja uppfærslurnar inn handvirkt.</string>
|
||||||
|
<string name="apply_update_dialog_message_ab">Þú ert í þann mund að setja upp <xliff:g id="update_name">%1$s</xliff:g>.\n\nEf þú ýtir á <xliff:g id="ok">%2$s</xliff:g>, mun tækið hefja uppfærsluna í bakgrunnsferli.\n\nÞegar henni er lokið færðu beiðni um að endurræsa.</string>
|
||||||
|
<string name="cancel_installation_dialog_message">Hætta við uppsetningu?</string>
|
||||||
|
<string name="label_download_url">Niðurhalsslóð</string>
|
||||||
|
<string name="toast_download_url_copied">URL-slóð afrituð</string>
|
||||||
|
<string name="dialog_export_title">Flytja út uppfærslu</string>
|
||||||
|
<string name="notification_export_success">Uppfærsla flutt út</string>
|
||||||
|
<string name="notification_export_fail">Villa við útflutning</string>
|
||||||
|
<string name="toast_already_exporting">Þegar að flytja út uppfærslu</string>
|
||||||
|
<string name="toast_export_started">Útflutningur hafinn</string>
|
||||||
|
<plurals name="eta_seconds">
|
||||||
|
<item quantity="one">1 sekúnda eftir</item>
|
||||||
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> sekúndur eftir</item>
|
||||||
|
</plurals>
|
||||||
|
<plurals name="eta_minutes">
|
||||||
|
<item quantity="one">1 mínúta eftir</item>
|
||||||
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> mínútur eftir</item>
|
||||||
|
</plurals>
|
||||||
|
<plurals name="eta_hours">
|
||||||
|
<item quantity="one">1 klukkustund eftir</item>
|
||||||
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> klukkustundir eftir</item>
|
||||||
|
</plurals>
|
||||||
|
<string name="update_over_metered_network_title">Aðvörun</string>
|
||||||
|
<string name="update_over_metered_network_message">Þú ert í þann mund að fara að sækja uppfærslupakka í gegnum gjaldskylt net,
|
||||||
|
sem gæti útheimt mikla notkun gagnamagns. Viltu halda áfram?</string>
|
||||||
|
<string name="checkbox_metered_network_warning">Ekki sýna aftur</string>
|
||||||
|
<string name="menu_metered_network_warning">Aðvörun á gjaldskyldu neti</string>
|
||||||
|
<string name="blocked_update_dialog_title">Lokað á uppfærslu</string>
|
||||||
|
<string name="blocked_update_dialog_message">Þessa uppfærslu er ekki hægt að setja inn með uppfærsluforritinu. Skoðaðu <xliff:g id="info_url">%1$s</xliff:g> til að fá frekari upplýsingar.</string>
|
||||||
|
<string name="export_channel_title">Klárun útflutnings</string>
|
||||||
|
<string name="new_updates_channel_title">Nýjar uppfærslur</string>
|
||||||
|
<string name="ongoing_channel_title">Niðurhal í gangi</string>
|
||||||
|
<string name="update_failed_channel_title">Uppfærsla mistókst</string>
|
||||||
|
<string name="info_dialog_title">Vissir þú?</string>
|
||||||
|
<string name="info_dialog_message">Uppfærslur á LineageOS eru alltaf heilir uppsetningapakkar. Það þýðir að þú getur alltaf sett einungis upp nýjustu uppfærsluna, jafnvel þótt þú hafir sleppt einhverjum uppfærslum í millitíðinni!</string>
|
||||||
|
<string name="info_dialog_ok">Takk fyrir upplýsingarnar!</string>
|
||||||
|
<string name="local_update_import">Staðbundin uppfærsla</string>
|
||||||
|
<string name="local_update_import_progress">Flyt inn staðbundna uppfærslu\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s hefur verið flutt inn. Viltu setja hana upp?</string>
|
||||||
|
<string name="local_update_import_failure">Mistókst að flytja inn staðbundna uppfærslu</string>
|
||||||
|
<string name="local_update_name">Staðbundin uppfærsla</string>
|
||||||
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -34,11 +34,17 @@
|
|||||||
<string name="installing_update">Installazione del pacchetto aggiornamento</string>
|
<string name="installing_update">Installazione del pacchetto aggiornamento</string>
|
||||||
<string name="installing_update_error">Errore d\'installazione</string>
|
<string name="installing_update_error">Errore d\'installazione</string>
|
||||||
<string name="installing_update_finished">Aggiornamento installato</string>
|
<string name="installing_update_finished">Aggiornamento installato</string>
|
||||||
<string name="finalizing_package">Finalizzalizzazione del pachetto d\'installazione in corso</string>
|
<string name="finalizing_package">Finalizzazione dell\'installazione del pacchetto</string>
|
||||||
<string name="preparing_ota_first_boot">Preparazione per il primo avvio</string>
|
<string name="preparing_ota_first_boot">Preparazione per il primo avvio</string>
|
||||||
<string name="dialog_prepare_zip_message">Preparazione aggiornamento preliminare</string>
|
<string name="dialog_prepare_zip_message">Preparazione preliminare dell\'aggiornamento</string>
|
||||||
<string name="dialog_battery_low_title">Batteria scarica</string>
|
<string name="dialog_battery_low_title">Batteria scarica</string>
|
||||||
<string name="dialog_battery_low_message_pct">Il livello della batteria è troppo basso, è necessario almeno il <xliff:g id="percent_discharging">%1$d</xliff:g>%% di batteria per continuare, oppure il <xliff:g id="percent_charging">%2$d</xliff:g>%% se il dispositivo è in carica.</string>
|
<string name="dialog_battery_low_message_pct">Il livello della batteria è troppo basso, è necessario almeno il <xliff:g id="percent_discharging">%1$d</xliff:g>%% di batteria per continuare, oppure il <xliff:g id="percent_charging">%2$d</xliff:g>%% se il dispositivo è in carica.</string>
|
||||||
|
<string name="dialog_scratch_mounted_message"><![CDATA[ Esegui i seguenti comandi e ritenta l\'aggiornamento:\n
|
||||||
|
• adb root\n
|
||||||
|
• adb enable-verity\n
|
||||||
|
• adb reboot
|
||||||
|
]]></string>
|
||||||
|
<string name="dialog_scratch_mounted_title">Impossibile installare l\'aggiornamento con OverlayFS montato</string>
|
||||||
<string name="reboot">Riavvia</string>
|
<string name="reboot">Riavvia</string>
|
||||||
<string name="menu_refresh">Ricarica</string>
|
<string name="menu_refresh">Ricarica</string>
|
||||||
<string name="menu_preferences">Preferenze</string>
|
<string name="menu_preferences">Preferenze</string>
|
||||||
@@ -71,7 +77,7 @@
|
|||||||
<string name="list_download_progress_eta_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> di <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g> (<xliff:g id="eta" example="3 minutes left">%3$s</xliff:g>)</string>
|
<string name="list_download_progress_eta_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> di <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g> (<xliff:g id="eta" example="3 minutes left">%3$s</xliff:g>)</string>
|
||||||
<string name="list_verifying_update">Verifica aggiornamento</string>
|
<string name="list_verifying_update">Verifica aggiornamento</string>
|
||||||
<string name="list_no_updates">Nessun nuovo aggiornamento trovato. Per controllare manualmente nuovi aggiornamenti, tocca il pulsante Aggiorna.</string>
|
<string name="list_no_updates">Nessun nuovo aggiornamento trovato. Per controllare manualmente nuovi aggiornamenti, tocca il pulsante Aggiorna.</string>
|
||||||
<string name="action_download">Download</string>
|
<string name="action_download">Scarica</string>
|
||||||
<string name="action_pause">Pausa</string>
|
<string name="action_pause">Pausa</string>
|
||||||
<string name="action_resume">Riprendi</string>
|
<string name="action_resume">Riprendi</string>
|
||||||
<string name="action_install">Installa</string>
|
<string name="action_install">Installa</string>
|
||||||
@@ -103,12 +109,12 @@
|
|||||||
<item quantity="one">1 ora rimanente</item>
|
<item quantity="one">1 ora rimanente</item>
|
||||||
<item quantity="other"><xliff:g id="count">%d</xliff:g> ore rimanenti</item>
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> ore rimanenti</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Attenzione</string>
|
<string name="update_over_metered_network_title">Attenzione</string>
|
||||||
<string name="update_on_mobile_data_message">Stai per scaricare un aggiornamento utilizzando i dati mobili, ciò potrebbe comportare un utilizzo elevato di dati. Vuoi procedere?</string>
|
<string name="update_over_metered_network_message">Stai per scaricare un aggiornamento tramite una rete a consumo, ciò probabilmente comporterà un elevato traffico di dati. Vuoi procedere?</string>
|
||||||
<string name="checkbox_mobile_data_warning">Non mostrare di nuovo</string>
|
<string name="checkbox_metered_network_warning">Non mostrare di nuovo</string>
|
||||||
<string name="menu_mobile_data_warning">Avviso utilizzo dati mobili</string>
|
<string name="menu_metered_network_warning">Avviso di rete a consumo</string>
|
||||||
<string name="blocked_update_dialog_title">Aggiornamento bloccato</string>
|
<string name="blocked_update_dialog_title">Aggiornamento bloccato</string>
|
||||||
<string name="blocked_update_dialog_message">Questo aggiornamento non può essere installato usando l\'app updater. Si prega di leggere <xliff:g id="info_url">%1$s</xliff:g> per ulteriori informazioni.</string>
|
<string name="blocked_update_dialog_message">Questo aggiornamento non può essere installato usando l\'app Aggiornamenti. Si prega di leggere <xliff:g id="info_url">%1$s</xliff:g> per ulteriori informazioni.</string>
|
||||||
<string name="export_channel_title">Completamento esportazione</string>
|
<string name="export_channel_title">Completamento esportazione</string>
|
||||||
<string name="new_updates_channel_title">Nuovi aggiornamenti</string>
|
<string name="new_updates_channel_title">Nuovi aggiornamenti</string>
|
||||||
<string name="ongoing_channel_title">Download in corso</string>
|
<string name="ongoing_channel_title">Download in corso</string>
|
||||||
@@ -116,4 +122,12 @@
|
|||||||
<string name="info_dialog_title">Lo sapevi?</string>
|
<string name="info_dialog_title">Lo sapevi?</string>
|
||||||
<string name="info_dialog_message">Gli aggiornamenti di LineageOS sono pacchetti d\'installazione completi. Questo significa che puoi sempre installare solo l\'ultimo aggiornamento, anche se ne hai saltati alcuni in precedenza!</string>
|
<string name="info_dialog_message">Gli aggiornamenti di LineageOS sono pacchetti d\'installazione completi. Questo significa che puoi sempre installare solo l\'ultimo aggiornamento, anche se ne hai saltati alcuni in precedenza!</string>
|
||||||
<string name="info_dialog_ok">Grazie per l\'informazione!</string>
|
<string name="info_dialog_ok">Grazie per l\'informazione!</string>
|
||||||
|
<string name="local_update_import">Aggiornamento locale</string>
|
||||||
|
<string name="local_update_import_progress">Importazione aggiornamento locale\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s è stato importato. Vuoi installarlo?</string>
|
||||||
|
<string name="local_update_import_failure">Importazione aggiornamento locale fallita</string>
|
||||||
|
<string name="local_update_import_install">Installa</string>
|
||||||
|
<string name="local_update_name">Aggiornamento locale</string>
|
||||||
|
<string name="welcome_title">Benvenuto</string>
|
||||||
|
<string name="welcome_message">Quando sono disponibili più aggiornamenti, non c\'è bisogno di installarli tutti: è sempre possibile installare direttamente quello più recente, e quindi eliminare in modo sicuro i vecchi aggiornamenti per liberare spazio di archiviazione.</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -96,10 +96,8 @@
|
|||||||
<item quantity="many"><xliff:g id="count">%d</xliff:g> שעות נותרו</item>
|
<item quantity="many"><xliff:g id="count">%d</xliff:g> שעות נותרו</item>
|
||||||
<item quantity="other"><xliff:g id="count">%d</xliff:g> שעות נותרו</item>
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> שעות נותרו</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">אזהרה</string>
|
<string name="update_over_metered_network_title">אזהרה</string>
|
||||||
<string name="update_on_mobile_data_message">אתה עומד להוריד חבילת עדכונים באמצעות האינטרנט הסלולרי שסביר להניח יגרום לבזבוז חלק גדול מחבילת הגלישה שלך. להמשיך?</string>
|
<string name="checkbox_metered_network_warning">אל תציג שוב</string>
|
||||||
<string name="checkbox_mobile_data_warning">אל תציג שוב</string>
|
|
||||||
<string name="menu_mobile_data_warning">אזהרת אינטרנט סלולרי</string>
|
|
||||||
<string name="blocked_update_dialog_title">העדכון חסום</string>
|
<string name="blocked_update_dialog_title">העדכון חסום</string>
|
||||||
<string name="blocked_update_dialog_message">אין אפשרות להתקין עדכון זה באמצעות יישום המעדכן. תוכל לקרוא בקישור <xliff:g id="info_url">%1$s</xliff:g> לקבלת מידע נוסף.</string>
|
<string name="blocked_update_dialog_message">אין אפשרות להתקין עדכון זה באמצעות יישום המעדכן. תוכל לקרוא בקישור <xliff:g id="info_url">%1$s</xliff:g> לקבלת מידע נוסף.</string>
|
||||||
<string name="export_channel_title">השלמת הייצוא</string>
|
<string name="export_channel_title">השלמת הייצוא</string>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -39,6 +39,12 @@
|
|||||||
<string name="dialog_prepare_zip_message">予備のアップデート準備</string>
|
<string name="dialog_prepare_zip_message">予備のアップデート準備</string>
|
||||||
<string name="dialog_battery_low_title">バッテリー残量少</string>
|
<string name="dialog_battery_low_title">バッテリー残量少</string>
|
||||||
<string name="dialog_battery_low_message_pct">バッテリー残量が不足しています。続行するには<xliff:g id="percent_discharging">%1$d</xliff:g>%%、充電時は<xliff:g id="percent_charging">%2$d</xliff:g>%%のバッテリー残量が必要です。</string>
|
<string name="dialog_battery_low_message_pct">バッテリー残量が不足しています。続行するには<xliff:g id="percent_discharging">%1$d</xliff:g>%%、充電時は<xliff:g id="percent_charging">%2$d</xliff:g>%%のバッテリー残量が必要です。</string>
|
||||||
|
<string name="dialog_scratch_mounted_message"><![CDATA[ 以下のコマンドを実行し、アップデートを再試行してください:\n
|
||||||
|
• adb root\n
|
||||||
|
• adb enable-verity\n
|
||||||
|
• adb reboot
|
||||||
|
]]></string>
|
||||||
|
<string name="dialog_scratch_mounted_title">OverlayFS マウント済みの場合アップデートはインストールできません</string>
|
||||||
<string name="reboot">再起動</string>
|
<string name="reboot">再起動</string>
|
||||||
<string name="menu_refresh">再読み込み</string>
|
<string name="menu_refresh">再読み込み</string>
|
||||||
<string name="menu_preferences">設定</string>
|
<string name="menu_preferences">設定</string>
|
||||||
@@ -100,10 +106,10 @@
|
|||||||
<plurals name="eta_hours">
|
<plurals name="eta_hours">
|
||||||
<item quantity="other">残り<xliff:g id="count">%d</xliff:g>時間</item>
|
<item quantity="other">残り<xliff:g id="count">%d</xliff:g>時間</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">警告</string>
|
<string name="update_over_metered_network_title">警告</string>
|
||||||
<string name="update_on_mobile_data_message">モバイルデータ通信で更新プログラムをダウンロードすると、データ使用量が増加する可能性があります。続行しますか?</string>
|
<string name="update_over_metered_network_message">従量課金制のネットワークでアップデートパッケージをダウンロードしようとしており、データ使用量が増加する可能性があります。続行しますか?</string>
|
||||||
<string name="checkbox_mobile_data_warning">次回から表示しない</string>
|
<string name="checkbox_metered_network_warning">次回から表示しない</string>
|
||||||
<string name="menu_mobile_data_warning">モバイルデータの警告</string>
|
<string name="menu_metered_network_warning">従量制課金接続の警告</string>
|
||||||
<string name="blocked_update_dialog_title">更新をブロックしました</string>
|
<string name="blocked_update_dialog_title">更新をブロックしました</string>
|
||||||
<string name="blocked_update_dialog_message">このアップデートはアプリからインストールできません。詳しくは <xliff:g id="info_url">%1$s</xliff:g> をご覧ください。</string>
|
<string name="blocked_update_dialog_message">このアップデートはアプリからインストールできません。詳しくは <xliff:g id="info_url">%1$s</xliff:g> をご覧ください。</string>
|
||||||
<string name="export_channel_title">エクスポート完了</string>
|
<string name="export_channel_title">エクスポート完了</string>
|
||||||
@@ -113,4 +119,12 @@
|
|||||||
<string name="info_dialog_title">ご存知ですか?</string>
|
<string name="info_dialog_title">ご存知ですか?</string>
|
||||||
<string name="info_dialog_message">LineageOS のアップデートは完全なインストールパッケージです。つまり、いくつかのアップデートをスキップしても、最新のアップデートのみをインストールするだけで良いのです!</string>
|
<string name="info_dialog_message">LineageOS のアップデートは完全なインストールパッケージです。つまり、いくつかのアップデートをスキップしても、最新のアップデートのみをインストールするだけで良いのです!</string>
|
||||||
<string name="info_dialog_ok">ありがとうございます!</string>
|
<string name="info_dialog_ok">ありがとうございます!</string>
|
||||||
|
<string name="local_update_import">ローカルアップデート</string>
|
||||||
|
<string name="local_update_import_progress">ローカルアップデートをインポート中\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s をインポートしました。インストールしますか?</string>
|
||||||
|
<string name="local_update_import_failure">ローカルアップデートのインポートに失敗しました</string>
|
||||||
|
<string name="local_update_import_install">インストール</string>
|
||||||
|
<string name="local_update_name">ローカルアップデート</string>
|
||||||
|
<string name="welcome_title">ようこそ</string>
|
||||||
|
<string name="welcome_message">複数のアップデートが利用可能な場合、順番にアップデートする必要はありません。 古いアップデートは削除してストレージ容量を空けて、最新のアップデートだけをインストールしてください。</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
<string name="preparing_ota_first_boot">მზადდება პირველი ჩატვირთვისთვის</string>
|
<string name="preparing_ota_first_boot">მზადდება პირველი ჩატვირთვისთვის</string>
|
||||||
<string name="dialog_prepare_zip_message">წინასწარი მომზადება განახლებისთვის</string>
|
<string name="dialog_prepare_zip_message">წინასწარი მომზადება განახლებისთვის</string>
|
||||||
<string name="dialog_battery_low_title">ბატარეა ჯდება</string>
|
<string name="dialog_battery_low_title">ბატარეა ჯდება</string>
|
||||||
<string name="dialog_battery_low_message_pct">ელემენტის მუხტი მეტად მცირეა, გასაგრძელებლად საჭიროა დამუხტული იყოს სულ მცირე <xliff:g id="percent_discharging">%1$d</xliff:g>%% ან <xliff:g id="percent_charging">%2$d</xliff:g>%% თუ იმუხტება.</string>
|
<string name="dialog_battery_low_message_pct">მუხტის დონე მეტად მცირეა, საჭიროა დამუხტული იყოს არანაკლებ <xliff:g id="percent_discharging">%1$d</xliff:g>%% ან <xliff:g id="percent_charging">%2$d</xliff:g>%% შეერთდეს სატენზე.</string>
|
||||||
<string name="reboot">გადატვირთვა</string>
|
<string name="reboot">გადატვირთვა</string>
|
||||||
<string name="menu_refresh">განახლება</string>
|
<string name="menu_refresh">განახლება</string>
|
||||||
<string name="menu_preferences">პარამეტრები</string>
|
<string name="menu_preferences">პარამეტრები</string>
|
||||||
@@ -86,10 +86,10 @@
|
|||||||
<string name="cancel_installation_dialog_message">გაუქმდეს დაყენება?</string>
|
<string name="cancel_installation_dialog_message">გაუქმდეს დაყენება?</string>
|
||||||
<string name="label_download_url">ჩამოტვირთვის ბმული</string>
|
<string name="label_download_url">ჩამოტვირთვის ბმული</string>
|
||||||
<string name="toast_download_url_copied">ბმულის ასლი აღებულია</string>
|
<string name="toast_download_url_copied">ბმულის ასლი აღებულია</string>
|
||||||
<string name="dialog_export_title">მიმდინარეობს განახლების გადატანა</string>
|
<string name="dialog_export_title">განახლება ცალკე შეინახება</string>
|
||||||
<string name="notification_export_success">განახლება გადატანილია</string>
|
<string name="notification_export_success">განახლება გატანილია ფაილში</string>
|
||||||
<string name="notification_export_fail">შეცდომა გატანისას</string>
|
<string name="notification_export_fail">შეცდომა გატანისას</string>
|
||||||
<string name="toast_already_exporting">განახლება უკვე გადატანილია</string>
|
<string name="toast_already_exporting">გატანა უკვე მიმდინარეობს</string>
|
||||||
<string name="toast_export_started">გატანა დაწყებულია</string>
|
<string name="toast_export_started">გატანა დაწყებულია</string>
|
||||||
<plurals name="eta_seconds">
|
<plurals name="eta_seconds">
|
||||||
<item quantity="one">დარჩენილია 1 წამი</item>
|
<item quantity="one">დარჩენილია 1 წამი</item>
|
||||||
@@ -103,10 +103,10 @@
|
|||||||
<item quantity="one">დარჩენილია 1 საათი</item>
|
<item quantity="one">დარჩენილია 1 საათი</item>
|
||||||
<item quantity="other">დარჩენილია <xliff:g id="count">%d</xliff:g> საათი</item>
|
<item quantity="other">დარჩენილია <xliff:g id="count">%d</xliff:g> საათი</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">გაფრთხილება</string>
|
<string name="update_over_metered_network_title">გაფრთხილება</string>
|
||||||
<string name="update_on_mobile_data_message">აპირებთ ჩამოტვირთოთ განახლება მობილური ინტერნეტით, რასაც შეიძლება მოჰყვეს დიდი ხარჯი. ნამდვილად გსურთ, განაგრძოთ?</string>
|
<string name="update_over_metered_network_message">აპირებთ ჩამოტვირთოთ განახლების კრებული შეზღუდული ინტერნეტით, რასაც შეიძლება მოჰყვეს დიდი ხარჯი. ნამდვილად გსურთ, განაგრძოთ?</string>
|
||||||
<string name="checkbox_mobile_data_warning">მომავალში ჩვენების გარეშე</string>
|
<string name="checkbox_metered_network_warning">მომავალში ჩვენების გარეშე</string>
|
||||||
<string name="menu_mobile_data_warning">მობილური ინტერნეტის გაფრთხილება</string>
|
<string name="menu_metered_network_warning">შეზღუდული ქსელის გაფრთხილება</string>
|
||||||
<string name="blocked_update_dialog_title">განახლება შეიზღუდა</string>
|
<string name="blocked_update_dialog_title">განახლება შეიზღუდა</string>
|
||||||
<string name="blocked_update_dialog_message">განახლების დაყენება ვერ ხერხდება გამნახლებელი აპით. ვრცლად, გთხოვთ, იხილოთ <xliff:g id="info_url">%1$s</xliff:g>.</string>
|
<string name="blocked_update_dialog_message">განახლების დაყენება ვერ ხერხდება გამნახლებელი აპით. ვრცლად, გთხოვთ, იხილოთ <xliff:g id="info_url">%1$s</xliff:g>.</string>
|
||||||
<string name="export_channel_title">გადატანა დასრულებულია</string>
|
<string name="export_channel_title">გადატანა დასრულებულია</string>
|
||||||
@@ -116,4 +116,10 @@
|
|||||||
<string name="info_dialog_title">იცოდით?</string>
|
<string name="info_dialog_title">იცოდით?</string>
|
||||||
<string name="info_dialog_message">LineageOS-ის განახლებები სრულ კრებულებს წარმოადგენს. ეს კი ნიშნავს, რომ ყოველთვის შეგიძლიათ ჩააყენოთ ბოლო განახლება, ზოგიერთის გამოტოვების შემთხვევაშიც. </string>
|
<string name="info_dialog_message">LineageOS-ის განახლებები სრულ კრებულებს წარმოადგენს. ეს კი ნიშნავს, რომ ყოველთვის შეგიძლიათ ჩააყენოთ ბოლო განახლება, ზოგიერთის გამოტოვების შემთხვევაშიც. </string>
|
||||||
<string name="info_dialog_ok">გმადლობთ, რომ მაცნობეთ!</string>
|
<string name="info_dialog_ok">გმადლობთ, რომ მაცნობეთ!</string>
|
||||||
|
<string name="local_update_import">ადგილობრივად განახლება</string>
|
||||||
|
<string name="local_update_import_progress">ადგილობრივი განახლების შემოტანა\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s შემოტანილია. გსურთ, დააყენოთ?</string>
|
||||||
|
<string name="local_update_import_failure">ადგილობრივი განახლების შემოტანა ვერ მოხერხდა</string>
|
||||||
|
<string name="local_update_import_install">დაყენება</string>
|
||||||
|
<string name="local_update_name">ადგილობრივი განახლება</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -76,9 +76,8 @@
|
|||||||
<string name="dialog_export_title">Asifeḍ n lqem</string>
|
<string name="dialog_export_title">Asifeḍ n lqem</string>
|
||||||
<string name="notification_export_success">Lqem ittwasifeḍ</string>
|
<string name="notification_export_success">Lqem ittwasifeḍ</string>
|
||||||
<string name="notification_export_fail">Tuccḍa g usifeḍ</string>
|
<string name="notification_export_fail">Tuccḍa g usifeḍ</string>
|
||||||
<string name="update_on_mobile_data_title">Ɣur-k</string>
|
<string name="update_over_metered_network_title">Ɣur-k</string>
|
||||||
<string name="checkbox_mobile_data_warning">Ur tuɣaleḍ ara ad itsekneḍ</string>
|
<string name="checkbox_metered_network_warning">Ur tuɣaleḍ ara ad itsekneḍ</string>
|
||||||
<string name="menu_mobile_data_warning">Alɣu n isefka izirazen</string>
|
|
||||||
<string name="blocked_update_dialog_title">Lqem iwḥel</string>
|
<string name="blocked_update_dialog_title">Lqem iwḥel</string>
|
||||||
<string name="blocked_update_dialog_message">A leqqem agi ur izmir ara ad-ibded s usnas n usefrak n-lqem. Ttxil-ek ɣer <xliff:g id="info_url">%1$s</xliff:g> i ugar talɣut.</string>
|
<string name="blocked_update_dialog_message">A leqqem agi ur izmir ara ad-ibded s usnas n usefrak n-lqem. Ttxil-ek ɣer <xliff:g id="info_url">%1$s</xliff:g> i ugar talɣut.</string>
|
||||||
<string name="new_updates_channel_title">Ileqman imaynuten</string>
|
<string name="new_updates_channel_title">Ileqman imaynuten</string>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -68,9 +68,8 @@
|
|||||||
<item quantity="one">೧ ಗಂಟೆ ಬಾಕಿ</item>
|
<item quantity="one">೧ ಗಂಟೆ ಬಾಕಿ</item>
|
||||||
<item quantity="other"><xliff:g id="count">%d</xliff:g> ಗಂಟೆ ಬಾಕಿ</item>
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> ಗಂಟೆ ಬಾಕಿ</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">ಎಚ್ಚರಿಕೆ</string>
|
<string name="update_over_metered_network_title">ಎಚ್ಚರಿಕೆ</string>
|
||||||
<string name="update_on_mobile_data_message">ನೀವು ಮೊಬೈಲ್ ದತ್ತಾಂಶವನ್ನು ಹೆಚ್ಚು ಬಳಕೆ ಉಂಟುಮಾಡುವ ನವೀಕರಣ ಘಂಟನ್ನು ಇಳಿಸ ಹೊರಟಿರುವಿರಿ. ಮುಂದುವರಿಸುವುದೇ?</string>
|
<string name="checkbox_metered_network_warning">ಪುನಃ ತೋರಿಸದಿರು</string>
|
||||||
<string name="checkbox_mobile_data_warning">ಪುನಃ ತೋರಿಸದಿರು</string>
|
|
||||||
<string name="export_channel_title">ನಿರ್ಯಾತ ಪೂರ್ಣತೆ</string>
|
<string name="export_channel_title">ನಿರ್ಯಾತ ಪೂರ್ಣತೆ</string>
|
||||||
<string name="ongoing_channel_title">ಪ್ರಗತಿಯಲ್ಲಿರುವ ಕೆಳಭರಿತಗಳು</string>
|
<string name="ongoing_channel_title">ಪ್ರಗತಿಯಲ್ಲಿರುವ ಕೆಳಭರಿತಗಳು</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -39,6 +39,12 @@
|
|||||||
<string name="dialog_prepare_zip_message">예비 업데이트 준비</string>
|
<string name="dialog_prepare_zip_message">예비 업데이트 준비</string>
|
||||||
<string name="dialog_battery_low_title">배터리 부족</string>
|
<string name="dialog_battery_low_title">배터리 부족</string>
|
||||||
<string name="dialog_battery_low_message_pct">배터리 수준이 너무 낮습니다. 계속하려면 방전 중일 경우 <xliff:g id="percent_discharging">%1$d</xliff:g>%% 이상, 충전 중일 경우 <xliff:g id="percent_charging">%2$d</xliff:g>%% 이상의 배터리 수준이 필요합니다.</string>
|
<string name="dialog_battery_low_message_pct">배터리 수준이 너무 낮습니다. 계속하려면 방전 중일 경우 <xliff:g id="percent_discharging">%1$d</xliff:g>%% 이상, 충전 중일 경우 <xliff:g id="percent_charging">%2$d</xliff:g>%% 이상의 배터리 수준이 필요합니다.</string>
|
||||||
|
<string name="dialog_scratch_mounted_message"><![CDATA[ 다음 명령어를 실행한 뒤 업데이트를 다시 시도해 주세요:\n
|
||||||
|
• adb root\n
|
||||||
|
• adb enable-verity\n
|
||||||
|
• adb reboot
|
||||||
|
]]></string>
|
||||||
|
<string name="dialog_scratch_mounted_title">OverlayFS 마운트 상태에서는 업데이트를 설치할 수 없음</string>
|
||||||
<string name="reboot">다시 시작</string>
|
<string name="reboot">다시 시작</string>
|
||||||
<string name="menu_refresh">새로고침</string>
|
<string name="menu_refresh">새로고침</string>
|
||||||
<string name="menu_preferences">설정</string>
|
<string name="menu_preferences">설정</string>
|
||||||
@@ -100,10 +106,10 @@
|
|||||||
<plurals name="eta_hours">
|
<plurals name="eta_hours">
|
||||||
<item quantity="other"><xliff:g id="count">%d</xliff:g>시간 남음</item>
|
<item quantity="other"><xliff:g id="count">%d</xliff:g>시간 남음</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">경고</string>
|
<string name="update_over_metered_network_title">경고</string>
|
||||||
<string name="update_on_mobile_data_message">모바일 데이터를 사용하여 업데이트 패키지를 다운로드하려 합니다. 데이터를 매우 많이 사용하게 될 수 있습니다. 정말 계속하시겠습니까?</string>
|
<string name="update_over_metered_network_message">모바일 데이터를 사용하여 업데이트 패키지를 다운로드하려 합니다. 데이터를 매우 많이 사용하게 될 수 있습니다. 정말 계속하시겠습니까?</string>
|
||||||
<string name="checkbox_mobile_data_warning">다시 보지 않기</string>
|
<string name="checkbox_metered_network_warning">다시 보지 않기</string>
|
||||||
<string name="menu_mobile_data_warning">모바일 데이터 경고</string>
|
<string name="menu_metered_network_warning">모바일 데이터 사용 경고</string>
|
||||||
<string name="blocked_update_dialog_title">업데이트 차단됨</string>
|
<string name="blocked_update_dialog_title">업데이트 차단됨</string>
|
||||||
<string name="blocked_update_dialog_message">이 업데이트는 업데이터 앱으로 설치할 수 없습니다. 자세한 정보는 <xliff:g id="info_url">%1$s</xliff:g> 페이지를 참고하세요.</string>
|
<string name="blocked_update_dialog_message">이 업데이트는 업데이터 앱으로 설치할 수 없습니다. 자세한 정보는 <xliff:g id="info_url">%1$s</xliff:g> 페이지를 참고하세요.</string>
|
||||||
<string name="export_channel_title">내보내기 완료</string>
|
<string name="export_channel_title">내보내기 완료</string>
|
||||||
@@ -113,4 +119,12 @@
|
|||||||
<string name="info_dialog_title">알고 계신가요?</string>
|
<string name="info_dialog_title">알고 계신가요?</string>
|
||||||
<string name="info_dialog_message">LineageOS 업데이트는 전체 설치 패키지입니다. 중간에 몇 개 버전을 건너뛰었더라도 가장 최신 버전만 설치하면 됩니다!</string>
|
<string name="info_dialog_message">LineageOS 업데이트는 전체 설치 패키지입니다. 중간에 몇 개 버전을 건너뛰었더라도 가장 최신 버전만 설치하면 됩니다!</string>
|
||||||
<string name="info_dialog_ok">정보 감사합니다!</string>
|
<string name="info_dialog_ok">정보 감사합니다!</string>
|
||||||
|
<string name="local_update_import">로컬 업데이트</string>
|
||||||
|
<string name="local_update_import_progress">로컬 업데이트 가져오는 중\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s 업데이트를 가져왔습니다. 설치하시겠습니까?</string>
|
||||||
|
<string name="local_update_import_failure">로컬 업데이트를 가져오지 못했습니다.</string>
|
||||||
|
<string name="local_update_import_install">설치</string>
|
||||||
|
<string name="local_update_name">로컬 업데이트</string>
|
||||||
|
<string name="welcome_title">환영합니다</string>
|
||||||
|
<string name="welcome_message">여러 버전의 업데이트가 있을 때, 모든 업데이트를 하나하나 설치할 필요는 없습니다. 가장 마지막 업데이트만 설치한 다음 오래된 업데이트 파일은 삭제하여 저장소 공간을 확보할 수 있습니다.</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -74,10 +74,8 @@
|
|||||||
<string name="notification_export_success">Oppdatering eksportert</string>
|
<string name="notification_export_success">Oppdatering eksportert</string>
|
||||||
<string name="notification_export_fail">Eksporteringsfeil</string>
|
<string name="notification_export_fail">Eksporteringsfeil</string>
|
||||||
<string name="toast_already_exporting">Eksporterer allerede en oppdatering</string>
|
<string name="toast_already_exporting">Eksporterer allerede en oppdatering</string>
|
||||||
<string name="update_on_mobile_data_title">Advarsel</string>
|
<string name="update_over_metered_network_title">Advarsel</string>
|
||||||
<string name="update_on_mobile_data_message">Du er i ferd med å laste ned en oppdateringspakke ved bruk av mobildata, noe som antagelig vil forårsake høy databruk. Ønsker du å fortsette?</string>
|
<string name="checkbox_metered_network_warning">Ikke vis igjen</string>
|
||||||
<string name="checkbox_mobile_data_warning">Ikke vis igjen</string>
|
|
||||||
<string name="menu_mobile_data_warning">Advarsel for mobildata</string>
|
|
||||||
<string name="blocked_update_dialog_title">Oppdatering blokkert</string>
|
<string name="blocked_update_dialog_title">Oppdatering blokkert</string>
|
||||||
<string name="blocked_update_dialog_message">Denne oppdateringen kan ikke installeres med oppdateringsappen. Les <xliff:g id="info_url">%1$s</xliff:g> for mer informasjon.</string>
|
<string name="blocked_update_dialog_message">Denne oppdateringen kan ikke installeres med oppdateringsappen. Les <xliff:g id="info_url">%1$s</xliff:g> for mer informasjon.</string>
|
||||||
<string name="new_updates_channel_title">Nye oppdateringer</string>
|
<string name="new_updates_channel_title">Nye oppdateringer</string>
|
@@ -3,7 +3,7 @@
|
|||||||
<color name="theme_primary">#212121</color>
|
<color name="theme_primary">#212121</color>
|
||||||
<color name="theme_primary_dark">#1c1c1c</color>
|
<color name="theme_primary_dark">#1c1c1c</color>
|
||||||
<color name="theme_accent">@*android:color/accent_device_default_dark</color>
|
<color name="theme_accent">@*android:color/accent_device_default_dark</color>
|
||||||
<color name="background">@*android:color/system_neutral1_800</color>
|
<color name="background">@android:color/system_neutral1_900</color>
|
||||||
<color name="toolbar_collapsed">@android:color/system_neutral1_700</color>
|
<color name="toolbar_collapsed">@android:color/system_neutral1_700</color>
|
||||||
|
|
||||||
<color name="inverted">#f5f5f5</color>
|
<color name="inverted">#f5f5f5</color>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -39,6 +39,11 @@
|
|||||||
<string name="dialog_prepare_zip_message">Update voorbereiden</string>
|
<string name="dialog_prepare_zip_message">Update voorbereiden</string>
|
||||||
<string name="dialog_battery_low_title">Batterij bijna leeg</string>
|
<string name="dialog_battery_low_title">Batterij bijna leeg</string>
|
||||||
<string name="dialog_battery_low_message_pct">Uw batterijniveau is te laag, u moet op zijn minst <xliff:g id="percent_discharging">%1$d</xliff:g>%% batterijcapaciteit hebben om door te gaan of <xliff:g id="percent_charging">%2$d</xliff:g>%% tijdens het opladen.</string>
|
<string name="dialog_battery_low_message_pct">Uw batterijniveau is te laag, u moet op zijn minst <xliff:g id="percent_discharging">%1$d</xliff:g>%% batterijcapaciteit hebben om door te gaan of <xliff:g id="percent_charging">%2$d</xliff:g>%% tijdens het opladen.</string>
|
||||||
|
<string name="dialog_scratch_mounted_message"><![CDATA[Voer deze opdrachten uit en probeer opnieuw te updaten:\n
|
||||||
|
• adb root\n
|
||||||
|
• adb enable-verity\n
|
||||||
|
• adb reboot]]></string>
|
||||||
|
<string name="dialog_scratch_mounted_title">Kan update niet installeren met OverlayFS gekoppeld</string>
|
||||||
<string name="reboot">Herstarten</string>
|
<string name="reboot">Herstarten</string>
|
||||||
<string name="menu_refresh">Vernieuwen</string>
|
<string name="menu_refresh">Vernieuwen</string>
|
||||||
<string name="menu_preferences">Instellingen</string>
|
<string name="menu_preferences">Instellingen</string>
|
||||||
@@ -68,7 +73,7 @@
|
|||||||
<string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
|
<string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
|
||||||
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
||||||
<string name="list_download_progress_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> van <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g></string>
|
<string name="list_download_progress_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> van <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g></string>
|
||||||
<string name="list_download_progress_eta_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> of <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g> (<xliff:g id="eta" example="3 minutes left">%3$s</xliff:g>)</string>
|
<string name="list_download_progress_eta_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> van <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g> (<xliff:g id="eta" example="3 minutes left">%3$s</xliff:g>)</string>
|
||||||
<string name="list_verifying_update">Update verifiëren</string>
|
<string name="list_verifying_update">Update verifiëren</string>
|
||||||
<string name="list_no_updates">Geen nieuwe updates gevonden. Gebruik de knop Vernieuwen om handmatig te controleren op nieuwe updates.</string>
|
<string name="list_no_updates">Geen nieuwe updates gevonden. Gebruik de knop Vernieuwen om handmatig te controleren op nieuwe updates.</string>
|
||||||
<string name="action_download">Downloaden</string>
|
<string name="action_download">Downloaden</string>
|
||||||
@@ -103,10 +108,10 @@
|
|||||||
<item quantity="one">1 uur resterend</item>
|
<item quantity="one">1 uur resterend</item>
|
||||||
<item quantity="other"><xliff:g id="count">%d</xliff:g> uur resterend</item>
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> uur resterend</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Let op</string>
|
<string name="update_over_metered_network_title">Let op</string>
|
||||||
<string name="update_on_mobile_data_message">U staat op het punt een update te downloaden via mobiele gegevens, wat tot een hoog gegevensgebruik kan leiden. Wilt u verder gaan?</string>
|
<string name="update_over_metered_network_message">U staat op het punt om een updatepakket te downloaden via een netwerk met datalimiet, wat waarschijnlijk een hoog gegevensgebruik zal veroorzaken. Wilt u doorgaan?</string>
|
||||||
<string name="checkbox_mobile_data_warning">Niet opnieuw tonen</string>
|
<string name="checkbox_metered_network_warning">Niet opnieuw tonen</string>
|
||||||
<string name="menu_mobile_data_warning">Waarschuwing mobiele gegevens</string>
|
<string name="menu_metered_network_warning">Waarschuwing gemeten netwerk</string>
|
||||||
<string name="blocked_update_dialog_title">Update geblokkeerd</string>
|
<string name="blocked_update_dialog_title">Update geblokkeerd</string>
|
||||||
<string name="blocked_update_dialog_message">Deze update kan niet worden geïnstalleerd met behulp van de updater-app. Lees <xliff:g id="info_url">%1$s</xliff:g> voor meer informatie.</string>
|
<string name="blocked_update_dialog_message">Deze update kan niet worden geïnstalleerd met behulp van de updater-app. Lees <xliff:g id="info_url">%1$s</xliff:g> voor meer informatie.</string>
|
||||||
<string name="export_channel_title">Exporteren voltooid</string>
|
<string name="export_channel_title">Exporteren voltooid</string>
|
||||||
@@ -116,4 +121,10 @@
|
|||||||
<string name="info_dialog_title">Wist u dat?</string>
|
<string name="info_dialog_title">Wist u dat?</string>
|
||||||
<string name="info_dialog_message">LineageOS updates zijn volledige installatiepakketten. Dat betekent dat u altijd alleen de nieuwste update hoeft te installeren, zelfs als u een paar updates overslaat!</string>
|
<string name="info_dialog_message">LineageOS updates zijn volledige installatiepakketten. Dat betekent dat u altijd alleen de nieuwste update hoeft te installeren, zelfs als u een paar updates overslaat!</string>
|
||||||
<string name="info_dialog_ok">Bedankt voor de informatie!</string>
|
<string name="info_dialog_ok">Bedankt voor de informatie!</string>
|
||||||
|
<string name="local_update_import">Lokale update</string>
|
||||||
|
<string name="local_update_import_progress">Importeer lokale update\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s is geïmporteerd. Wilt u het installeren?</string>
|
||||||
|
<string name="local_update_import_failure">Importeren van lokale update is mislukt</string>
|
||||||
|
<string name="local_update_import_install">Installeer</string>
|
||||||
|
<string name="local_update_name">Lokale update</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -39,6 +39,12 @@
|
|||||||
<string name="dialog_prepare_zip_message">Przygotowanie wstępne aktualizacji</string>
|
<string name="dialog_prepare_zip_message">Przygotowanie wstępne aktualizacji</string>
|
||||||
<string name="dialog_battery_low_title">Niskim poziom baterii</string>
|
<string name="dialog_battery_low_title">Niskim poziom baterii</string>
|
||||||
<string name="dialog_battery_low_message_pct">Poziom naładowania baterii jest zbyt niski, musisz mieć co najmniej <xliff:g id="percent_discharging">%1$d</xliff:g>%% baterii lub <xliff:g id="percent_charging">%2$d</xliff:g>%% w trakcie ładowania.</string>
|
<string name="dialog_battery_low_message_pct">Poziom naładowania baterii jest zbyt niski, musisz mieć co najmniej <xliff:g id="percent_discharging">%1$d</xliff:g>%% baterii lub <xliff:g id="percent_charging">%2$d</xliff:g>%% w trakcie ładowania.</string>
|
||||||
|
<string name="dialog_scratch_mounted_message"><![CDATA[ Uruchom następujące polecenia i dokonaj ponownej aktualizacji:\n
|
||||||
|
• adb root\n
|
||||||
|
• adb enable-verity\n
|
||||||
|
• adb reboot
|
||||||
|
]]></string>
|
||||||
|
<string name="dialog_scratch_mounted_title">Nie można zainstalować aktualizacji z zamontowanym \"OverlayFS\"</string>
|
||||||
<string name="reboot">Uruchom ponownie</string>
|
<string name="reboot">Uruchom ponownie</string>
|
||||||
<string name="menu_refresh">Odśwież</string>
|
<string name="menu_refresh">Odśwież</string>
|
||||||
<string name="menu_preferences">Ustawienia</string>
|
<string name="menu_preferences">Ustawienia</string>
|
||||||
@@ -53,6 +59,8 @@
|
|||||||
<string name="menu_export_update">Wyślij aktualizację</string>
|
<string name="menu_export_update">Wyślij aktualizację</string>
|
||||||
<string name="menu_show_changelog">Pokaż listę zmian</string>
|
<string name="menu_show_changelog">Pokaż listę zmian</string>
|
||||||
<string name="menu_ab_perf_mode">Nadaj wyższy priorytet procesowi aktualizacji</string>
|
<string name="menu_ab_perf_mode">Nadaj wyższy priorytet procesowi aktualizacji</string>
|
||||||
|
<string name="menu_update_recovery">Aktualizuj Recovery</string>
|
||||||
|
<string name="toast_forced_update_recovery">Nie można wyłączyć aktualizacji Lineage Recovery na tym urządzeniu.</string>
|
||||||
<string name="snack_updates_found">Znaleziono nowe aktualizacje</string>
|
<string name="snack_updates_found">Znaleziono nowe aktualizacje</string>
|
||||||
<string name="snack_no_updates_found">Nie znaleziono nowych aktualizacji</string>
|
<string name="snack_no_updates_found">Nie znaleziono nowych aktualizacji</string>
|
||||||
<string name="snack_updates_check_failed">Sprawdzanie aktualizacji nie powiodło się. Sprawdź połączenie z Internetem i spróbuj ponownie.</string>
|
<string name="snack_updates_check_failed">Sprawdzanie aktualizacji nie powiodło się. Sprawdź połączenie z Internetem i spróbuj ponownie.</string>
|
||||||
@@ -65,18 +73,22 @@
|
|||||||
<string name="header_last_updates_check">Ostatnio sprawdzane: <xliff:g id="date" example="1 January 1970">%1$s</xliff:g> (<xliff:g id="time" example="01:23">%2$s</xliff:g>)</string>
|
<string name="header_last_updates_check">Ostatnio sprawdzane: <xliff:g id="date" example="1 January 1970">%1$s</xliff:g> (<xliff:g id="time" example="01:23">%2$s</xliff:g>)</string>
|
||||||
<string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
|
<string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
|
||||||
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> z <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_eta_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> z <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g> (<xliff:g id="eta" example="3 minutes left">%3$s</xliff:g>)</string>
|
||||||
<string name="list_verifying_update">Sprawdzanie aktualizacji</string>
|
<string name="list_verifying_update">Sprawdzanie aktualizacji</string>
|
||||||
<string name="list_no_updates">Nie znaleziono nowych aktualizacji. Aby ręcznie sprawdzić dostępność nowych aktualizacji, użyj przycisku Odśwież.</string>
|
<string name="list_no_updates">Nie znaleziono nowych aktualizacji. Aby ręcznie sprawdzić dostępność nowych aktualizacji, użyj przycisku Odśwież.</string>
|
||||||
<string name="action_download">Pobierz</string>
|
<string name="action_download">Pobierz</string>
|
||||||
<string name="action_pause">Wstrzymaj</string>
|
<string name="action_pause">Wstrzymaj</string>
|
||||||
<string name="action_resume">Wznów</string>
|
<string name="action_resume">Wznów</string>
|
||||||
<string name="action_install">Instaluj</string>
|
<string name="action_install">Zainstaluj</string>
|
||||||
<string name="action_info">Informacje</string>
|
<string name="action_info">Informacje</string>
|
||||||
<string name="action_delete">Usuń</string>
|
<string name="action_delete">Usuń</string>
|
||||||
<string name="action_cancel">Anuluj</string>
|
<string name="action_cancel">Anuluj</string>
|
||||||
<string name="confirm_delete_dialog_title">Usuń plik</string>
|
<string name="confirm_delete_dialog_title">Usuń plik</string>
|
||||||
<string name="confirm_delete_dialog_message">Usunąć wybrany plik aktualizacji?</string>
|
<string name="confirm_delete_dialog_message">Usunąć wybrany plik aktualizacji?</string>
|
||||||
<string name="apply_update_dialog_title">Zastosuj aktualizację</string>
|
<string name="apply_update_dialog_title">Zastosuj aktualizację</string>
|
||||||
|
<string name="apply_update_dialog_message">Zamierzasz zainstalować <xliff:g id="update_name">%1$s</xliff:g>.\n\nJeśli naciśniesz <xliff:g id="ok">%2$s</xliff:g>, urządzenie uruchomi się ponownie w trybie Recovery, aby zainstalować aktualizację.\n\nUwaga: Ta funkcja wymaga kompatybilnego Recovery lub aktualizacje będą musiały być zainstalowane ręcznie.</string>
|
||||||
|
<string name="apply_update_dialog_message_ab">Zamierzasz zainstalować <xliff:g id="update_name">%1$s</xliff:g>.\n\nJeśli naciśniesz <xliff:g id="ok">%2$s</xliff:g>, urządzenie rozpocznie instalację w tle.\n\nPo zakończeniu, zostanie wyświetlony komunikat, aby uruchomić urządzenie ponownie.</string>
|
||||||
<string name="cancel_installation_dialog_message">Anulować instalację?</string>
|
<string name="cancel_installation_dialog_message">Anulować instalację?</string>
|
||||||
<string name="label_download_url">Pobierz adres URL</string>
|
<string name="label_download_url">Pobierz adres URL</string>
|
||||||
<string name="toast_download_url_copied">Skopiowano adres URL</string>
|
<string name="toast_download_url_copied">Skopiowano adres URL</string>
|
||||||
@@ -84,6 +96,7 @@
|
|||||||
<string name="notification_export_success">Aktualizacja wysłana</string>
|
<string name="notification_export_success">Aktualizacja wysłana</string>
|
||||||
<string name="notification_export_fail">Błąd wysyłania</string>
|
<string name="notification_export_fail">Błąd wysyłania</string>
|
||||||
<string name="toast_already_exporting">Aktualizacja jest już wysyłana</string>
|
<string name="toast_already_exporting">Aktualizacja jest już wysyłana</string>
|
||||||
|
<string name="toast_export_started">Rozpoczęto eksportowanie</string>
|
||||||
<plurals name="eta_seconds">
|
<plurals name="eta_seconds">
|
||||||
<item quantity="one">Pozostała 1 sekunda</item>
|
<item quantity="one">Pozostała 1 sekunda</item>
|
||||||
<item quantity="few">Pozostały <xliff:g id="count">%d</xliff:g> sekundy</item>
|
<item quantity="few">Pozostały <xliff:g id="count">%d</xliff:g> sekundy</item>
|
||||||
@@ -102,14 +115,25 @@
|
|||||||
<item quantity="many">Pozostało <xliff:g id="count">%d</xliff:g> godzin</item>
|
<item quantity="many">Pozostało <xliff:g id="count">%d</xliff:g> godzin</item>
|
||||||
<item quantity="other">Pozostało <xliff:g id="count">%d</xliff:g> godzin</item>
|
<item quantity="other">Pozostało <xliff:g id="count">%d</xliff:g> godzin</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Ostrzeżenie</string>
|
<string name="update_over_metered_network_title">Ostrzeżenie</string>
|
||||||
<string name="update_on_mobile_data_message">Zamierzasz pobrać pakiet aktualizacji przy użyciu sieci komórkowej co spowoduje duże zużycie transferu danych. Czy chcesz kontynuować?</string>
|
<string name="update_over_metered_network_message">Zamierzasz pobrać pakiet aktualizacji za pomocą sieci komórkowej, co prawdopodobnie spowoduje wysokie zużycie danych. Czy chcesz kontynuować?</string>
|
||||||
<string name="checkbox_mobile_data_warning">Nie pokazuj ponownie</string>
|
<string name="checkbox_metered_network_warning">Nie pokazuj ponownie</string>
|
||||||
<string name="menu_mobile_data_warning">Ostrzeżenie o danych komórkowych</string>
|
<string name="menu_metered_network_warning">Ostrzeżenie o sieci z pomiarem</string>
|
||||||
<string name="blocked_update_dialog_title">Aktualizacja zablokowana</string>
|
<string name="blocked_update_dialog_title">Aktualizacja zablokowana</string>
|
||||||
<string name="blocked_update_dialog_message">Tej aktualizacji nie można zainstalować przy użyciu aplikacji aktualizacji. Zapoznaj się z <xliff:g id="info_url">%1$s </xliff:g> aby uzyskać więcej informacji.</string>
|
<string name="blocked_update_dialog_message">Tej aktualizacji nie można zainstalować przy użyciu aplikacji \"Aktualizator\". Zapoznaj się z <xliff:g id="info_url">%1$s </xliff:g>, aby uzyskać więcej informacji.</string>
|
||||||
<string name="export_channel_title">Eksport zakończony</string>
|
<string name="export_channel_title">Eksport zakończony</string>
|
||||||
<string name="new_updates_channel_title">Nowe aktualizacje</string>
|
<string name="new_updates_channel_title">Nowe aktualizacje</string>
|
||||||
<string name="ongoing_channel_title">Trwające pobieranie</string>
|
<string name="ongoing_channel_title">Trwające pobieranie</string>
|
||||||
<string name="update_failed_channel_title">Aktualizacja nie powiodła się</string>
|
<string name="update_failed_channel_title">Aktualizacja nie powiodła się</string>
|
||||||
|
<string name="info_dialog_title">Czy wiesz, że?</string>
|
||||||
|
<string name="info_dialog_message">Aktualizacje LineageOS to pełne pakiety instalacyjne. Oznacza to, że zawsze możesz zainstalować tylko najnowszą aktualizację, nawet jeśli poprzednie zostały pominięte!</string>
|
||||||
|
<string name="info_dialog_ok">Dziękujemy za informację!</string>
|
||||||
|
<string name="local_update_import">Aktualizacja lokalna</string>
|
||||||
|
<string name="local_update_import_progress">Importowanie aktualizacji lokalnej\u2026</string>
|
||||||
|
<string name="local_update_import_success">Zaimportowano %1$s. Czy chcesz to zainstalować?</string>
|
||||||
|
<string name="local_update_import_failure">Nie udało się zaimportować aktualizacji lokalnej</string>
|
||||||
|
<string name="local_update_import_install">Zainstaluj</string>
|
||||||
|
<string name="local_update_name">Aktualizacja lokalna</string>
|
||||||
|
<string name="welcome_title">Witaj</string>
|
||||||
|
<string name="welcome_message">Pamiętaj, że gdy dostępne są wielokrotne aktualizacje, nie ma potrzeby aktualizować po aktualizacji, zawsze możesz zainstalować najnowszą wersję bezpośrednio, a następnie bezpiecznie usuwać stare aktualizacje, aby zwolnić miejsce w pamięci.</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -19,17 +19,17 @@
|
|||||||
<string name="display_name">Atualizador</string>
|
<string name="display_name">Atualizador</string>
|
||||||
<string name="verification_failed_notification">Falha na verificação</string>
|
<string name="verification_failed_notification">Falha na verificação</string>
|
||||||
<string name="verifying_download_notification">Verificando atualização</string>
|
<string name="verifying_download_notification">Verificando atualização</string>
|
||||||
<string name="downloading_notification">Baixando</string>
|
<string name="downloading_notification">Download</string>
|
||||||
<string name="download_paused_notification">Download pausado</string>
|
<string name="download_paused_notification">Download pausado</string>
|
||||||
<string name="download_paused_error_notification">Erro ao baixar</string>
|
<string name="download_paused_error_notification">Erro ao baixar</string>
|
||||||
<string name="download_completed_notification">Download concluído</string>
|
<string name="download_completed_notification">Download concluído</string>
|
||||||
<string name="download_starting_notification">Iniciando download</string>
|
<string name="download_starting_notification">Iniciando download</string>
|
||||||
<string name="update_failed_notification">Falha ao atualizar</string>
|
<string name="update_failed_notification">Falha na atualização</string>
|
||||||
<string name="installation_suspended_notification">Instalação suspensa</string>
|
<string name="installation_suspended_notification">Instalação suspensa</string>
|
||||||
<string name="new_updates_found_title">Novas atualizações</string>
|
<string name="new_updates_found_title">Novas atualizações</string>
|
||||||
<string name="text_download_speed">%1$s, %2$s/s</string>
|
<string name="text_download_speed">%1$s, %2$s/s</string>
|
||||||
<string name="pause_button">Pausar</string>
|
<string name="pause_button">Pausar</string>
|
||||||
<string name="resume_button">Continuar</string>
|
<string name="resume_button">Retomar</string>
|
||||||
<string name="suspend_button">Suspender</string>
|
<string name="suspend_button">Suspender</string>
|
||||||
<string name="installing_update">Instalando o pacote de atualização</string>
|
<string name="installing_update">Instalando o pacote de atualização</string>
|
||||||
<string name="installing_update_error">Erro de instalação</string>
|
<string name="installing_update_error">Erro de instalação</string>
|
||||||
@@ -38,52 +38,65 @@
|
|||||||
<string name="preparing_ota_first_boot">Preparando-se para a primeira inicialização</string>
|
<string name="preparing_ota_first_boot">Preparando-se para a primeira inicialização</string>
|
||||||
<string name="dialog_prepare_zip_message">Preparação preliminar de atualização</string>
|
<string name="dialog_prepare_zip_message">Preparação preliminar de atualização</string>
|
||||||
<string name="dialog_battery_low_title">Bateria fraca</string>
|
<string name="dialog_battery_low_title">Bateria fraca</string>
|
||||||
<string name="dialog_battery_low_message_pct">O nível da bateria está muito baixo, precisando de, pelo menos, <xliff:g id="percent_discharging">%1$d</xliff:g>%% de bateria para continuar, ou <xliff:g id="percent_charging">%2$d</xliff:g>%% se estiver carregando.</string>
|
<string name="dialog_battery_low_message_pct">O nível da bateria está muito baixo, é preciso de pelo menos <xliff:g id="percent_discharging">%1$d</xliff:g>%% de bateria para continuar, ou <xliff:g id="percent_charging">%2$d</xliff:g>%% se estiver carregando.</string>
|
||||||
|
<string name="dialog_scratch_mounted_message"><![CDATA[ Execute os seguintes comandos e tente atualizar novamente:\n
|
||||||
|
• adb root\n
|
||||||
|
• adb enable-verity\n
|
||||||
|
• adb reboot
|
||||||
|
]]></string>
|
||||||
|
<string name="dialog_scratch_mounted_title">Não é possível instalar a atualização com o OverlayFS montado</string>
|
||||||
<string name="reboot">Reiniciar</string>
|
<string name="reboot">Reiniciar</string>
|
||||||
<string name="menu_refresh">Atualizar</string>
|
<string name="menu_refresh">Atualizar</string>
|
||||||
<string name="menu_preferences">Preferências</string>
|
<string name="menu_preferences">Preferências</string>
|
||||||
<string name="menu_auto_updates_check">Autoverificar por atualizações</string>
|
<string name="menu_auto_updates_check">Automaticamente buscar atualizações</string>
|
||||||
<string name="menu_auto_updates_check_interval_daily">Diariamente</string>
|
<string name="menu_auto_updates_check_interval_daily">Diariamente</string>
|
||||||
<string name="menu_auto_updates_check_interval_weekly">Semanalmente</string>
|
<string name="menu_auto_updates_check_interval_weekly">Semanalmente</string>
|
||||||
<string name="menu_auto_updates_check_interval_monthly">Mensalmente</string>
|
<string name="menu_auto_updates_check_interval_monthly">Mensalmente</string>
|
||||||
<string name="menu_auto_updates_check_interval_never">Nunca</string>
|
<string name="menu_auto_updates_check_interval_never">Nunca</string>
|
||||||
<string name="menu_auto_delete_updates">Excluir pacotes instalados</string>
|
<string name="menu_auto_delete_updates">Apagar pacotes já instalados</string>
|
||||||
<string name="menu_delete_update">Excluir</string>
|
<string name="menu_delete_update">Apagar</string>
|
||||||
<string name="menu_copy_url">Copiar URL</string>
|
<string name="menu_copy_url">Copiar URL</string>
|
||||||
<string name="menu_export_update">Exportar atualização</string>
|
<string name="menu_export_update">Exportar atualização</string>
|
||||||
<string name="menu_show_changelog">Mostrar alterações</string>
|
<string name="menu_show_changelog">Mostrar alterações</string>
|
||||||
<string name="menu_ab_perf_mode">Priorizar o processo de atualização</string>
|
<string name="menu_ab_perf_mode">Priorizar o processo de atualização</string>
|
||||||
<string name="snack_updates_found">Nova atualização disponível</string>
|
<string name="menu_update_recovery">Atualizar recuperação</string>
|
||||||
|
<string name="toast_forced_update_recovery">Não é possível desativar as atualizações do Lineage Recovery neste dispositivo.</string>
|
||||||
|
<string name="snack_updates_found">Novas atualizações disponíveis</string>
|
||||||
<string name="snack_no_updates_found">Não foram encontradas novas atualizações</string>
|
<string name="snack_no_updates_found">Não foram encontradas novas atualizações</string>
|
||||||
<string name="snack_updates_check_failed">Falha ao procurar por atualizações. Verifique sua conexão com a internet e tente novamente.</string>
|
<string name="snack_updates_check_failed">Falha ao buscar atualizações. Verifique sua conexão com a internet e tente novamente.</string>
|
||||||
<string name="snack_download_failed">Falha ao baixar a atualização. Verifique sua conexão com a internet e tente novamente.</string>
|
<string name="snack_download_failed">Falha ao baixar a atualização. Verifique sua conexão com a internet e tente novamente.</string>
|
||||||
<string name="snack_download_verification_failed">Falha na verificação da atualização.</string>
|
<string name="snack_download_verification_failed">Falha na verificação da atualização.</string>
|
||||||
<string name="snack_download_verified">Download concluído.</string>
|
<string name="snack_download_verified">Download concluído.</string>
|
||||||
<string name="snack_update_not_installable">Esta atualização não pode ser instalada por cima da versão atual.</string>
|
<string name="snack_update_not_installable">Esta atualização não pode ser instalada por cima da versão atual.</string>
|
||||||
<string name="header_title_text">LineageOS\n%1$s</string>
|
<string name="header_title_text">LineageOS\n%1$s</string>
|
||||||
<string name="header_android_version">Android <xliff:g id="version" example="7.1.2">%1$s</xliff:g></string>
|
<string name="header_android_version">Android <xliff:g id="version" example="7.1.2">%1$s</xliff:g></string>
|
||||||
<string name="header_last_updates_check">Última verificação: <xliff:g id="date" example="1 January 1970">%1$s</xliff:g> às <xliff:g id="time" example="01:23">%2$s</xliff:g></string>
|
<string name="header_last_updates_check">Última busca: <xliff:g id="date" example="1 January 1970">%1$s</xliff:g> às <xliff:g id="time" example="01:23">%2$s</xliff:g></string>
|
||||||
<string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
|
<string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
|
||||||
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
<string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> de <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g></string>
|
||||||
|
<string name="list_download_progress_eta_newer"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> de <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g> (<xliff:g id="eta" example="3 minutes left">%3$s</xliff:g>)</string>
|
||||||
<string name="list_verifying_update">Verificando atualização</string>
|
<string name="list_verifying_update">Verificando atualização</string>
|
||||||
<string name="list_no_updates">Não foram encontradas novas atualizações. Use o botão Atualizar para buscar por novas atualizações manualmente.</string>
|
<string name="list_no_updates">Não foram encontradas novas atualizações. Use o botão Atualizar para buscar por novas atualizações manualmente.</string>
|
||||||
<string name="action_download">Baixar</string>
|
<string name="action_download">Baixar</string>
|
||||||
<string name="action_pause">Pausar</string>
|
<string name="action_pause">Pausar</string>
|
||||||
<string name="action_resume">Continuar</string>
|
<string name="action_resume">Retomar</string>
|
||||||
<string name="action_install">Instalar</string>
|
<string name="action_install">Instalar</string>
|
||||||
<string name="action_info">Informações</string>
|
<string name="action_info">Informações</string>
|
||||||
<string name="action_delete">Excluir</string>
|
<string name="action_delete">Apagar</string>
|
||||||
<string name="action_cancel">Cancelar</string>
|
<string name="action_cancel">Cancelar</string>
|
||||||
<string name="confirm_delete_dialog_title">Excluir arquivo</string>
|
<string name="confirm_delete_dialog_title">Apagar arquivo</string>
|
||||||
<string name="confirm_delete_dialog_message">Excluir o arquivo de atualização selecionado?</string>
|
<string name="confirm_delete_dialog_message">Apagar o arquivo de atualização selecionado?</string>
|
||||||
<string name="apply_update_dialog_title">Instalar atualização</string>
|
<string name="apply_update_dialog_title">Instalar atualização</string>
|
||||||
|
<string name="apply_update_dialog_message">Você está prestes a instalar <xliff:g id="update_name">%1$s</xliff:g>.\n\nSe você pressionar <xliff:g id="ok">%2$s</xliff:g>, o dispositivo será reiniciado no modo de recuperação para instalar a atualização.\n\nObservação: Esse recurso requer uma recuperação compatível ou as atualizações precisarão ser instaladas manualmente.</string>
|
||||||
|
<string name="apply_update_dialog_message_ab">Você está prestes a instalar <xliff:g id="update_name">%1$s</xliff:g>.\n\nSe você pressionar <xliff:g id="ok">%2$s</xliff:g>, a instalação do dispositivo começará em segundo plano.\n\nDepois de concluído, você será solicitado a reiniciar o dispositivo.</string>
|
||||||
<string name="cancel_installation_dialog_message">Deseja cancelar a instalação?</string>
|
<string name="cancel_installation_dialog_message">Deseja cancelar a instalação?</string>
|
||||||
<string name="label_download_url">URL de Download</string>
|
<string name="label_download_url">URL de download </string>
|
||||||
<string name="toast_download_url_copied">URL copiado</string>
|
<string name="toast_download_url_copied">URL copiada</string>
|
||||||
<string name="dialog_export_title">Exportando atualização</string>
|
<string name="dialog_export_title">Exportando atualização</string>
|
||||||
<string name="notification_export_success">Atualização exportada</string>
|
<string name="notification_export_success">Atualização exportada</string>
|
||||||
<string name="notification_export_fail">Falha ao exportar</string>
|
<string name="notification_export_fail">Falha ao exportar</string>
|
||||||
<string name="toast_already_exporting">Uma atualização já está sendo exportada</string>
|
<string name="toast_already_exporting">Uma atualização já está sendo exportada</string>
|
||||||
|
<string name="toast_export_started">Exportação iniciada</string>
|
||||||
<plurals name="eta_seconds">
|
<plurals name="eta_seconds">
|
||||||
<item quantity="one">1 segundo restante</item>
|
<item quantity="one">1 segundo restante</item>
|
||||||
<item quantity="other"><xliff:g id="count">%d</xliff:g> segundos restantes</item>
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> segundos restantes</item>
|
||||||
@@ -96,16 +109,25 @@
|
|||||||
<item quantity="one">1 hora restante</item>
|
<item quantity="one">1 hora restante</item>
|
||||||
<item quantity="other"><xliff:g id="count">%d</xliff:g> horas restantes</item>
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> horas restantes</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Aviso</string>
|
<string name="update_over_metered_network_title">Alerta</string>
|
||||||
<string name="update_on_mobile_data_message">Você está prestes a baixar um pacote de atualização usando os dados móveis, o que provavelmente causará um alto consumo de dados. Deseja continuar?</string>
|
<string name="update_over_metered_network_message">Você está prestes a baixar um pacote de atualização em uma rede medida, o que provavelmente causará um alto consumo de dados. Deseja continuar?</string>
|
||||||
<string name="checkbox_mobile_data_warning">Não mostrar novamente</string>
|
<string name="checkbox_metered_network_warning">Não mostrar novamente</string>
|
||||||
<string name="menu_mobile_data_warning">Aviso de dados móveis</string>
|
<string name="menu_metered_network_warning">Alerta de rede limitada</string>
|
||||||
<string name="blocked_update_dialog_title">Atualização bloqueada</string>
|
<string name="blocked_update_dialog_title">Atualização bloqueada</string>
|
||||||
<string name="blocked_update_dialog_message">Esta atualização não pode ser instalada pelo Atualizador. Leia <xliff:g id="info_url">%1$s</xliff:g> para obter mais informações.</string>
|
<string name="blocked_update_dialog_message">Esta atualização não pode ser instalada pelo app Atualizador. Leia <xliff:g id="info_url">%1$s</xliff:g> para mais informações.</string>
|
||||||
<string name="export_channel_title">Exportação concluída</string>
|
<string name="export_channel_title">Exportação concluída</string>
|
||||||
<string name="new_updates_channel_title">Novas atualizações</string>
|
<string name="new_updates_channel_title">Novas atualizações</string>
|
||||||
<string name="ongoing_channel_title">Downloads em andamento</string>
|
<string name="ongoing_channel_title">Downloads em andamento</string>
|
||||||
<string name="update_failed_channel_title">Falha ao atualizar</string>
|
<string name="update_failed_channel_title">Falha ao atualizar</string>
|
||||||
<string name="info_dialog_title">Você sabia?</string>
|
<string name="info_dialog_title">Você sabia?</string>
|
||||||
<string name="info_dialog_ok">Agradecemos o seu comentário!</string>
|
<string name="info_dialog_message">As atualizações do LineageOS são pacotes de instalação completos. Isso significa que você sempre pode instalar apenas a atualização mais recente, mesmo que você tenha ignorado versões anteriores!</string>
|
||||||
|
<string name="info_dialog_ok">Obrigado pela dica!</string>
|
||||||
|
<string name="local_update_import">Atualização local</string>
|
||||||
|
<string name="local_update_import_progress">Importando atualização local\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s foi importado. Você quer instalá-lo?</string>
|
||||||
|
<string name="local_update_import_failure">Falha ao importar a atualização local</string>
|
||||||
|
<string name="local_update_import_install">Instalar</string>
|
||||||
|
<string name="local_update_name">Atualização local</string>
|
||||||
|
<string name="welcome_title">Boas-vindas</string>
|
||||||
|
<string name="welcome_message">Observe que quando há várias atualizações disponíveis, não há necessidade de instalar todas, você sempre pode instalar a mais recente e então apagar atualizações antigas para liberar espaço de armazenamento.</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -39,6 +39,12 @@
|
|||||||
<string name="dialog_prepare_zip_message">Preparação preliminar de atualização</string>
|
<string name="dialog_prepare_zip_message">Preparação preliminar de atualização</string>
|
||||||
<string name="dialog_battery_low_title">Bateria fraca</string>
|
<string name="dialog_battery_low_title">Bateria fraca</string>
|
||||||
<string name="dialog_battery_low_message_pct">O nível da bateria está demasiado baixo. Precisa de, pelo menos, <xliff:g id="percent_discharging">%1$d</xliff:g>%% de bateria para continuar, <xliff:g id="percent_charging">%2$d</xliff:g>%% se estiver a carregar.</string>
|
<string name="dialog_battery_low_message_pct">O nível da bateria está demasiado baixo. Precisa de, pelo menos, <xliff:g id="percent_discharging">%1$d</xliff:g>%% de bateria para continuar, <xliff:g id="percent_charging">%2$d</xliff:g>%% se estiver a carregar.</string>
|
||||||
|
<string name="dialog_scratch_mounted_message"><![CDATA[ Por favor, execute os seguintes comandos e tente novamente a atualização:\n
|
||||||
|
• adb root\n
|
||||||
|
• adb enable-verity\n
|
||||||
|
• adb reboot
|
||||||
|
]]></string>
|
||||||
|
<string name="dialog_scratch_mounted_title">Não é possível instalar a atualização com OverlayFS montado</string>
|
||||||
<string name="reboot">Reiniciar</string>
|
<string name="reboot">Reiniciar</string>
|
||||||
<string name="menu_refresh">Atualizar</string>
|
<string name="menu_refresh">Atualizar</string>
|
||||||
<string name="menu_preferences">Preferências</string>
|
<string name="menu_preferences">Preferências</string>
|
||||||
@@ -103,10 +109,10 @@
|
|||||||
<item quantity="one">1 hora restante</item>
|
<item quantity="one">1 hora restante</item>
|
||||||
<item quantity="other"><xliff:g id="count">%d</xliff:g> horas restantes</item>
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> horas restantes</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Aviso</string>
|
<string name="update_over_metered_network_title">Aviso</string>
|
||||||
<string name="update_on_mobile_data_message">Está prestes a transferir um pacote de atualização usando dados móveis, o que provavelmente irá resultar num elevado consumo de dados. Deseja continuar?</string>
|
<string name="update_over_metered_network_message">Está prestes a transferir uma atualização através de uma rede de acesso limitado, o que provavelmente irá resultar num elevado consumo de dados. Pretende continuar?</string>
|
||||||
<string name="checkbox_mobile_data_warning">Não mostrar novamente</string>
|
<string name="checkbox_metered_network_warning">Não mostrar novamente</string>
|
||||||
<string name="menu_mobile_data_warning">Aviso de dados móveis</string>
|
<string name="menu_metered_network_warning">Aviso de rede de acesso limitado</string>
|
||||||
<string name="blocked_update_dialog_title">Atualização bloqueada</string>
|
<string name="blocked_update_dialog_title">Atualização bloqueada</string>
|
||||||
<string name="blocked_update_dialog_message">Esta atualização não pode ser instalada usando a aplicação do atualizador. Por favor, leia <xliff:g id="info_url">%1$s </xliff:g> para mais informações.</string>
|
<string name="blocked_update_dialog_message">Esta atualização não pode ser instalada usando a aplicação do atualizador. Por favor, leia <xliff:g id="info_url">%1$s </xliff:g> para mais informações.</string>
|
||||||
<string name="export_channel_title">Conclusão da exportação</string>
|
<string name="export_channel_title">Conclusão da exportação</string>
|
||||||
@@ -116,4 +122,12 @@
|
|||||||
<string name="info_dialog_title">Sabias que?</string>
|
<string name="info_dialog_title">Sabias que?</string>
|
||||||
<string name="info_dialog_message">As atualizações do LineageOS são pacotes de instalação completa. Isso significa que podes instalar apenas a última atualização, mesmo que tenhas ignorado alguns deles!</string>
|
<string name="info_dialog_message">As atualizações do LineageOS são pacotes de instalação completa. Isso significa que podes instalar apenas a última atualização, mesmo que tenhas ignorado alguns deles!</string>
|
||||||
<string name="info_dialog_ok">Obrigado pela informação!</string>
|
<string name="info_dialog_ok">Obrigado pela informação!</string>
|
||||||
|
<string name="local_update_import">Atualização local</string>
|
||||||
|
<string name="local_update_import_progress">A importar a atualização local\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s foi importada. Pretende instalar?</string>
|
||||||
|
<string name="local_update_import_failure">Falha ao importar a atualização local</string>
|
||||||
|
<string name="local_update_import_install">Instalar</string>
|
||||||
|
<string name="local_update_name">Atualização local</string>
|
||||||
|
<string name="welcome_title">Bem-vindo</string>
|
||||||
|
<string name="welcome_message">Note que, quando há várias atualizações disponíveis, não há necessidade de instalá-las uma a uma. Pode sempre instalar a mais recente e eliminar as atualizações antigas para libertar espaço de armazenamento.</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -39,6 +39,12 @@
|
|||||||
<string name="dialog_prepare_zip_message">Pregătire preliminară pentru actualizare</string>
|
<string name="dialog_prepare_zip_message">Pregătire preliminară pentru actualizare</string>
|
||||||
<string name="dialog_battery_low_title">Baterie slabă</string>
|
<string name="dialog_battery_low_title">Baterie slabă</string>
|
||||||
<string name="dialog_battery_low_message_pct">Nivelul bateriei este prea scăzut. Aveți nevoie de cel puțin<xliff:g id="percent_discharging">%1$d</xliff:g>%% pentru a continua, <xliff:g id="percent_charging">%2$d</xliff:g>%% dacă telefonul este la încărcat.</string>
|
<string name="dialog_battery_low_message_pct">Nivelul bateriei este prea scăzut. Aveți nevoie de cel puțin<xliff:g id="percent_discharging">%1$d</xliff:g>%% pentru a continua, <xliff:g id="percent_charging">%2$d</xliff:g>%% dacă telefonul este la încărcat.</string>
|
||||||
|
<string name="dialog_scratch_mounted_message"><![CDATA[ Vă rugăm să rulați următoarele și să reîncărcați actualizarea:\n
|
||||||
|
• adb root\n
|
||||||
|
• adb enable-verity\n
|
||||||
|
• adb reboot
|
||||||
|
]]></string>
|
||||||
|
<string name="dialog_scratch_mounted_title">Nu se poate instala actualizarea cu OverlayFS montat</string>
|
||||||
<string name="reboot">Repornire</string>
|
<string name="reboot">Repornire</string>
|
||||||
<string name="menu_refresh">Reîmprospătare</string>
|
<string name="menu_refresh">Reîmprospătare</string>
|
||||||
<string name="menu_preferences">Preferințe</string>
|
<string name="menu_preferences">Preferințe</string>
|
||||||
@@ -106,10 +112,10 @@
|
|||||||
<item quantity="few"><xliff:g id="count">%d</xliff:g> (de) ore rămase</item>
|
<item quantity="few"><xliff:g id="count">%d</xliff:g> (de) ore rămase</item>
|
||||||
<item quantity="other"><xliff:g id="count">%d</xliff:g> (de) ore rămase</item>
|
<item quantity="other"><xliff:g id="count">%d</xliff:g> (de) ore rămase</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Avertizare</string>
|
<string name="update_over_metered_network_title">Avertizare</string>
|
||||||
<string name="update_on_mobile_data_message">Sunteți pe cale de a descărca un pachet de actualizare folosind datele mobile care, probabil, vor provoca o utilizare mare de date. Doriţi să continuaţi?</string>
|
<string name="update_over_metered_network_message">Sunteți pe cale să descărcați un pachet de actualizare printr-o rețea contorizată care va cauza probabil un consum ridicat de date. Doriți să continuați?</string>
|
||||||
<string name="checkbox_mobile_data_warning">Nu mai afişa</string>
|
<string name="checkbox_metered_network_warning">Nu mai afişa</string>
|
||||||
<string name="menu_mobile_data_warning">Avertizare de date mobile</string>
|
<string name="menu_metered_network_warning">Avertizare rețea contorizată</string>
|
||||||
<string name="blocked_update_dialog_title">Actualizare blocată</string>
|
<string name="blocked_update_dialog_title">Actualizare blocată</string>
|
||||||
<string name="blocked_update_dialog_message">Această actualizare nu poate fi instalată folosind aplicația actualizator. Vă rugăm să citiţi <xliff:g id="info_url">%1$s</xliff:g> pentru mai multe informaţii.</string>
|
<string name="blocked_update_dialog_message">Această actualizare nu poate fi instalată folosind aplicația actualizator. Vă rugăm să citiţi <xliff:g id="info_url">%1$s</xliff:g> pentru mai multe informaţii.</string>
|
||||||
<string name="export_channel_title">Completare export</string>
|
<string name="export_channel_title">Completare export</string>
|
||||||
@@ -119,4 +125,12 @@
|
|||||||
<string name="info_dialog_title">Știai că?</string>
|
<string name="info_dialog_title">Știai că?</string>
|
||||||
<string name="info_dialog_message">Actualizările LineageOS sunt pachete complete de instalare. Acest lucru înseamnă că întotdeauna puteți instala doar ultima actualizare, chiar dacă ați sărit unele dintre ele!</string>
|
<string name="info_dialog_message">Actualizările LineageOS sunt pachete complete de instalare. Acest lucru înseamnă că întotdeauna puteți instala doar ultima actualizare, chiar dacă ați sărit unele dintre ele!</string>
|
||||||
<string name="info_dialog_ok">Mulțumesc pentru informații!</string>
|
<string name="info_dialog_ok">Mulțumesc pentru informații!</string>
|
||||||
|
<string name="local_update_import">Actualizare locală</string>
|
||||||
|
<string name="local_update_import_progress">Importare actualizare locală\u2026</string>
|
||||||
|
<string name="local_update_import_success">%1$s a fost importată. Doriți să o instalați?</string>
|
||||||
|
<string name="local_update_import_failure">Eroare la importarea actualizării locale</string>
|
||||||
|
<string name="local_update_import_install">Instalați</string>
|
||||||
|
<string name="local_update_name">Actualizare locală</string>
|
||||||
|
<string name="welcome_title">Bun venit</string>
|
||||||
|
<string name="welcome_message">Vă rugăm să rețineți că, atunci când sunt disponibile mai multe actualizări, nu este nevoie să treceți prin fiecare dintre ele, ci puteți instala întotdeauna cea mai recentă în mod direct și apoi să ștergeți în siguranță actualizările vechi pentru a elibera spațiul de stocare.</string>
|
||||||
</resources>
|
</resources>
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2017-2020 The LineageOS Project
|
Copyright (C) 2017-2024 The LineageOS Project
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -39,6 +39,12 @@
|
|||||||
<string name="dialog_prepare_zip_message">Подготовка обновления</string>
|
<string name="dialog_prepare_zip_message">Подготовка обновления</string>
|
||||||
<string name="dialog_battery_low_title">Низкий заряд батареи</string>
|
<string name="dialog_battery_low_title">Низкий заряд батареи</string>
|
||||||
<string name="dialog_battery_low_message_pct">Заряд батареи слишком мал. Для продолжения требуется не менее <xliff:g id="percent_discharging">%1$d</xliff:g>%% или более <xliff:g id="percent_charging">%2$d</xliff:g>%% при подключенном зарядном устройстве.</string>
|
<string name="dialog_battery_low_message_pct">Заряд батареи слишком мал. Для продолжения требуется не менее <xliff:g id="percent_discharging">%1$d</xliff:g>%% или более <xliff:g id="percent_charging">%2$d</xliff:g>%% при подключенном зарядном устройстве.</string>
|
||||||
|
<string name="dialog_scratch_mounted_message"><![CDATA[ Выполните следующие команды и повторите попытку обновления:\n
|
||||||
|
• adb root\n
|
||||||
|
• adb enable-verity\n
|
||||||
|
• adb reboot
|
||||||
|
]]></string>
|
||||||
|
<string name="dialog_scratch_mounted_title">Невозможно установить обновление при примонтированной OverlayFS</string>
|
||||||
<string name="reboot">Перезапуск</string>
|
<string name="reboot">Перезапуск</string>
|
||||||
<string name="menu_refresh">Обновить</string>
|
<string name="menu_refresh">Обновить</string>
|
||||||
<string name="menu_preferences">Настройки</string>
|
<string name="menu_preferences">Настройки</string>
|
||||||
@@ -109,10 +115,10 @@
|
|||||||
<item quantity="many">осталось <xliff:g id="count">%d</xliff:g> часов</item>
|
<item quantity="many">осталось <xliff:g id="count">%d</xliff:g> часов</item>
|
||||||
<item quantity="other">осталось <xliff:g id="count">%d</xliff:g> часов</item>
|
<item quantity="other">осталось <xliff:g id="count">%d</xliff:g> часов</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="update_on_mobile_data_title">Предупреждение</string>
|
<string name="update_over_metered_network_title">Предупреждение</string>
|
||||||
<string name="update_on_mobile_data_message">Скачивание обновления по мобильной сети расходует большой объем трафика и может привести к непредвиденным расходам. Продолжить?</string>
|
<string name="update_over_metered_network_message">Вы собираетесь загрузить пакет обновления через мобильную сеть, что, вероятно, приведет к значительному расходу данных. Продолжить?</string>
|
||||||
<string name="checkbox_mobile_data_warning">Не показывать это сообщение</string>
|
<string name="checkbox_metered_network_warning">Не показывать это сообщение</string>
|
||||||
<string name="menu_mobile_data_warning">Предупрежд. о моб. данных</string>
|
<string name="menu_metered_network_warning">Предупреждение о сети с тарификацией</string>
|
||||||
<string name="blocked_update_dialog_title">Обновление заблокировано</string>
|
<string name="blocked_update_dialog_title">Обновление заблокировано</string>
|
||||||
<string name="blocked_update_dialog_message">Эту сборку нельзя установить с помощью встроенной системы обновления. Для получения дополнительной информации ознакомьтесь с <xliff:g id="info_url">%1$s</xliff:g>.</string>
|
<string name="blocked_update_dialog_message">Эту сборку нельзя установить с помощью встроенной системы обновления. Для получения дополнительной информации ознакомьтесь с <xliff:g id="info_url">%1$s</xliff:g>.</string>
|
||||||
<string name="export_channel_title">Экспорт завершен</string>
|
<string name="export_channel_title">Экспорт завершен</string>
|
||||||
@@ -122,4 +128,12 @@
|
|||||||
<string name="info_dialog_title">Знаете ли вы?</string>
|
<string name="info_dialog_title">Знаете ли вы?</string>
|
||||||
<string name="info_dialog_message">Обновления LineageOS представляют собой полные установочные пакеты. Это означает, что вы всегда можете установить только последнее обновление, даже если вы пропустили некоторые из них!</string>
|
<string name="info_dialog_message">Обновления LineageOS представляют собой полные установочные пакеты. Это означает, что вы всегда можете установить только последнее обновление, даже если вы пропустили некоторые из них!</string>
|
||||||
<string name="info_dialog_ok">Спасибо за информацию!</string>
|
<string name="info_dialog_ok">Спасибо за информацию!</string>
|
||||||
|
<string name="local_update_import">Локальное обновление</string>
|
||||||
|
<string name="local_update_import_progress">Импорт локального обновления\u2026</string>
|
||||||
|
<string name="local_update_import_success">Обновление %1$s было импортировано. Установить его?</string>
|
||||||
|
<string name="local_update_import_failure">Не удалось импортировать локальное обновление</string>
|
||||||
|
<string name="local_update_import_install">Установить</string>
|
||||||
|
<string name="local_update_name">Локальное обновление</string>
|
||||||
|
<string name="welcome_title">Добро пожаловать!</string>
|
||||||
|
<string name="welcome_message">Пожалуйста, обратите внимание, что при наличии нескольких обновлений нет необходимости переходить от одного обновления к другому. Вы всегда можете установить последнее, а затем безопасно удалить старые обновления, чтобы освободить место.</string>
|
||||||
</resources>
|
</resources>
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user