mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-10-16 16:51:23 +00:00
Merge branch 'master' into feature/redesign
This commit is contained in:
@@ -74,7 +74,7 @@ dependencies {
|
||||
implementation "${bindingAdapter}:${vBAdapt}"
|
||||
implementation "${bindingAdapter}-recyclerview:${vBAdapt}"
|
||||
|
||||
def vMarkwon = '4.1.2'
|
||||
def vMarkwon = '4.2.0'
|
||||
implementation "io.noties.markwon:core:${vMarkwon}"
|
||||
implementation "io.noties.markwon:html:${vMarkwon}"
|
||||
implementation "io.noties.markwon:image:${vMarkwon}"
|
||||
@@ -99,7 +99,7 @@ dependencies {
|
||||
implementation "com.squareup.okhttp3:okhttp:${vOkHttp}"
|
||||
implementation "com.squareup.okhttp3:logging-interceptor:${vOkHttp}"
|
||||
|
||||
def vMoshi = '1.9.1'
|
||||
def vMoshi = '1.9.2'
|
||||
implementation "com.squareup.moshi:moshi:${vMoshi}"
|
||||
|
||||
def vKotshi = '2.0.2'
|
||||
@@ -111,7 +111,7 @@ dependencies {
|
||||
replacedBy('com.github.topjohnwu:room-runtime')
|
||||
}
|
||||
}
|
||||
def vRoom = '2.2.1'
|
||||
def vRoom = '2.2.2'
|
||||
implementation "com.github.topjohnwu:room-runtime:${vRoom}"
|
||||
implementation "androidx.room:room-rxjava2:${vRoom}"
|
||||
kapt "androidx.room:room-compiler:${vRoom}"
|
||||
@@ -125,13 +125,12 @@ dependencies {
|
||||
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha03'
|
||||
implementation 'androidx.browser:browser:1.0.0'
|
||||
implementation 'androidx.preference:preference:1.1.0'
|
||||
implementation 'androidx.recyclerview:recyclerview:1.1.0-rc01'
|
||||
implementation 'androidx.fragment:fragment-ktx:1.2.0-rc02'
|
||||
implementation 'androidx.recyclerview:recyclerview:1.1.0'
|
||||
implementation 'androidx.fragment:fragment-ktx:1.2.0-rc03'
|
||||
implementation 'androidx.work:work-runtime:2.2.0'
|
||||
implementation 'androidx.transition:transition:1.2.0'
|
||||
implementation 'androidx.transition:transition:1.3.0-rc02'
|
||||
implementation 'androidx.multidex:multidex:2.0.1'
|
||||
implementation 'androidx.core:core-ktx:1.1.0'
|
||||
implementation 'androidx.biometric:biometric:1.0.0'
|
||||
implementation 'com.google.android.material:material:1.1.0-beta01'
|
||||
implementation 'com.google.android.material:material:1.2.0-alpha01'
|
||||
implementation 'com.karumi:dexter:6.0.0'
|
||||
}
|
||||
|
@@ -54,6 +54,7 @@ object Config : PreferenceModel, DBConfig {
|
||||
const val REDESIGN = "redesign"
|
||||
const val SAFETY = "safety_notice"
|
||||
const val THEME_ORDINAL = "theme_ordinal"
|
||||
const val BOOT_ID = "boot_id"
|
||||
|
||||
// system state
|
||||
const val MAGISKHIDE = "magiskhide"
|
||||
@@ -111,6 +112,8 @@ object Config : PreferenceModel, DBConfig {
|
||||
}
|
||||
else Value.DEFAULT_CHANNEL
|
||||
|
||||
var bootId by preference(Key.BOOT_ID, "")
|
||||
|
||||
var downloadPath by preference(Key.DOWNLOAD_PATH, Environment.DIRECTORY_DOWNLOADS)
|
||||
var repoOrder by preference(Key.REPO_ORDER, Value.ORDER_DATE)
|
||||
|
||||
|
@@ -24,9 +24,6 @@ import com.topjohnwu.magisk.ui.flash.FlashActivity
|
||||
import com.topjohnwu.magisk.ui.surequest.SuRequestActivity
|
||||
import com.topjohnwu.magisk.utils.refreshLocale
|
||||
import com.topjohnwu.magisk.utils.updateConfig
|
||||
import com.topjohnwu.magisk.utils.currentLocale
|
||||
import com.topjohnwu.magisk.utils.defaultLocale
|
||||
import java.util.*
|
||||
import com.topjohnwu.magisk.redesign.MainActivity as RedesignActivity
|
||||
|
||||
fun AssetManager.addAssetPath(path: String) {
|
||||
|
@@ -8,6 +8,8 @@ import com.topjohnwu.magisk.utils.CachedValue
|
||||
import com.topjohnwu.magisk.utils.KObservableField
|
||||
import com.topjohnwu.superuser.Shell
|
||||
import com.topjohnwu.superuser.ShellUtils
|
||||
import java.io.FileInputStream
|
||||
import java.io.IOException
|
||||
|
||||
val isRunningAsStub get() = Info.stub != null
|
||||
|
||||
@@ -36,6 +38,22 @@ object Info {
|
||||
}
|
||||
}
|
||||
|
||||
val isNewReboot by lazy {
|
||||
try {
|
||||
FileInputStream("/proc/sys/kernel/random/boot_id").bufferedReader().use {
|
||||
val id = it.readLine()
|
||||
if (id != Config.bootId) {
|
||||
Config.bootId = id
|
||||
true
|
||||
} else {
|
||||
false
|
||||
}
|
||||
}
|
||||
} catch (e: IOException) {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
private fun loadState() = runCatching {
|
||||
val str = ShellUtils.fastCmd("magisk -v").split(":".toRegex())[0]
|
||||
val code = ShellUtils.fastCmd("magisk -V").toInt()
|
||||
|
@@ -3,8 +3,8 @@ package com.topjohnwu.magisk.data.database
|
||||
import android.content.Context
|
||||
import android.content.pm.PackageManager
|
||||
import com.topjohnwu.magisk.Const
|
||||
import com.topjohnwu.magisk.data.database.magiskdb.Delete
|
||||
import com.topjohnwu.magisk.data.database.magiskdb.BaseDao
|
||||
import com.topjohnwu.magisk.data.database.magiskdb.Delete
|
||||
import com.topjohnwu.magisk.data.database.magiskdb.Replace
|
||||
import com.topjohnwu.magisk.data.database.magiskdb.Select
|
||||
import com.topjohnwu.magisk.extensions.now
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package com.topjohnwu.magisk.data.database
|
||||
|
||||
import com.topjohnwu.magisk.data.database.magiskdb.Delete
|
||||
import com.topjohnwu.magisk.data.database.magiskdb.BaseDao
|
||||
import com.topjohnwu.magisk.data.database.magiskdb.Delete
|
||||
import com.topjohnwu.magisk.data.database.magiskdb.Replace
|
||||
import com.topjohnwu.magisk.data.database.magiskdb.Select
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package com.topjohnwu.magisk.data.database
|
||||
|
||||
import com.topjohnwu.magisk.data.database.magiskdb.Delete
|
||||
import com.topjohnwu.magisk.data.database.magiskdb.BaseDao
|
||||
import com.topjohnwu.magisk.data.database.magiskdb.Delete
|
||||
import com.topjohnwu.magisk.data.database.magiskdb.Replace
|
||||
import com.topjohnwu.magisk.data.database.magiskdb.Select
|
||||
|
||||
|
@@ -33,8 +33,8 @@ import com.topjohnwu.magisk.FileProvider
|
||||
import com.topjohnwu.magisk.utils.DynamicClassLoader
|
||||
import com.topjohnwu.magisk.utils.Utils
|
||||
import com.topjohnwu.magisk.utils.currentLocale
|
||||
import com.topjohnwu.superuser.ShellUtils
|
||||
import com.topjohnwu.superuser.Shell
|
||||
import com.topjohnwu.superuser.ShellUtils
|
||||
import java.io.File
|
||||
import java.io.FileNotFoundException
|
||||
import java.text.SimpleDateFormat
|
||||
@@ -344,4 +344,4 @@ val isSAR
|
||||
val isAB
|
||||
get() = ShellUtils
|
||||
.fastCmd("grep_prop ro.build.ab_update")
|
||||
.let { it.isNotEmpty() && it.toBoolean() }
|
||||
.let { it.isNotEmpty() && it.toBoolean() }
|
||||
|
@@ -1,7 +1,6 @@
|
||||
package com.topjohnwu.magisk.extensions
|
||||
|
||||
import android.os.Build
|
||||
import androidx.core.net.toFile
|
||||
import timber.log.Timber
|
||||
import java.io.File
|
||||
import java.io.InputStream
|
||||
|
@@ -3,7 +3,6 @@ package com.topjohnwu.magisk.model.download
|
||||
import android.app.Activity
|
||||
import android.app.Notification
|
||||
import android.content.Intent
|
||||
import androidx.core.app.NotificationCompat
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import com.topjohnwu.magisk.R
|
||||
|
@@ -13,17 +13,21 @@ class Module(path: String) : BaseModule() {
|
||||
override var versionCode: Int = -1
|
||||
override var description: String = ""
|
||||
|
||||
private val removeFile: SuFile = SuFile(path, "remove")
|
||||
private val disableFile: SuFile = SuFile(path, "disable")
|
||||
private val updateFile: SuFile = SuFile(path, "update")
|
||||
private val removeFile = SuFile(path, "remove")
|
||||
private val disableFile = SuFile(path, "disable")
|
||||
private val updateFile = SuFile(path, "update")
|
||||
private val ruleFile = SuFile(path, "sepolicy.rule")
|
||||
|
||||
val updated: Boolean = updateFile.exists()
|
||||
|
||||
var enable: Boolean = !disableFile.exists()
|
||||
set(enable) {
|
||||
val dir = "$PERSIST/$id"
|
||||
field = if (enable) {
|
||||
Shell.su("mkdir -p $dir", "cp -af $ruleFile $dir").submit()
|
||||
disableFile.delete()
|
||||
} else {
|
||||
Shell.su("rm -rf $dir").submit()
|
||||
!disableFile.createNewFile()
|
||||
}
|
||||
}
|
||||
@@ -31,8 +35,10 @@ class Module(path: String) : BaseModule() {
|
||||
var remove: Boolean = removeFile.exists()
|
||||
set(remove) {
|
||||
field = if (remove) {
|
||||
Shell.su("rm -rf $PERSIST/$id").submit()
|
||||
removeFile.createNewFile()
|
||||
} else {
|
||||
Shell.su("cp -af $ruleFile $PERSIST/$id").submit()
|
||||
!removeFile.delete()
|
||||
}
|
||||
}
|
||||
@@ -54,6 +60,8 @@ class Module(path: String) : BaseModule() {
|
||||
|
||||
companion object {
|
||||
|
||||
private const val PERSIST = "/sbin/.magisk/mirror/persist/magisk"
|
||||
|
||||
@WorkerThread
|
||||
fun loadModules(): List<Module> {
|
||||
val moduleList = mutableListOf<Module>()
|
||||
|
@@ -287,8 +287,10 @@ abstract class MagiskInstaller {
|
||||
protected fun flashBoot(): Boolean {
|
||||
if (!"direct_install $installDir $srcBoot".sh().isSuccess)
|
||||
return false
|
||||
if (!Info.keepVerity)
|
||||
"patch_dtbo_image".sh()
|
||||
arrayOf(
|
||||
"(KEEPVERITY=${Info.keepVerity} patch_dtb_partitions)",
|
||||
"run_migrations"
|
||||
).sh()
|
||||
return true
|
||||
}
|
||||
|
||||
|
@@ -3,18 +3,16 @@ package com.topjohnwu.magisk.ui
|
||||
import android.app.Activity
|
||||
import android.content.Context
|
||||
import android.os.Bundle
|
||||
import android.text.TextUtils
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import com.topjohnwu.magisk.*
|
||||
import com.topjohnwu.magisk.model.navigation.Navigation
|
||||
import com.topjohnwu.magisk.BuildConfig
|
||||
import com.topjohnwu.magisk.Config
|
||||
import com.topjohnwu.magisk.intent
|
||||
import com.topjohnwu.magisk.Info
|
||||
import com.topjohnwu.magisk.model.navigation.Navigation
|
||||
import com.topjohnwu.magisk.utils.Utils
|
||||
import com.topjohnwu.magisk.view.Notifications
|
||||
import com.topjohnwu.magisk.view.Shortcuts
|
||||
import com.topjohnwu.magisk.wrap
|
||||
import com.topjohnwu.superuser.Shell
|
||||
import com.topjohnwu.superuser.ShellUtils
|
||||
|
||||
open class SplashActivity : Activity() {
|
||||
|
||||
@@ -41,6 +39,10 @@ open class SplashActivity : Activity() {
|
||||
}
|
||||
}
|
||||
|
||||
Info.keepVerity = ShellUtils.fastCmd("echo \$KEEPVERITY").toBoolean()
|
||||
Info.keepEnc = ShellUtils.fastCmd("echo \$KEEPFORCEENCRYPT").toBoolean()
|
||||
Info.recovery = ShellUtils.fastCmd("echo \$RECOVERYMODE").toBoolean()
|
||||
|
||||
// Set default configs
|
||||
Config.initialize()
|
||||
|
||||
@@ -53,9 +55,13 @@ open class SplashActivity : Activity() {
|
||||
// Setup shortcuts
|
||||
Shortcuts.setup(this)
|
||||
|
||||
Shell.su("mm_patch_dtbo").submit {
|
||||
if (it.isSuccess)
|
||||
Notifications.dtboPatched(this)
|
||||
if (Info.isNewReboot) {
|
||||
val shell = Shell.newInstance()
|
||||
shell.newJob().add("mm_patch_dtb").submit {
|
||||
if (it.isSuccess)
|
||||
Notifications.dtboPatched(this)
|
||||
shell.close()
|
||||
}
|
||||
}
|
||||
|
||||
DONE = true
|
||||
|
@@ -2,12 +2,10 @@ package com.topjohnwu.magisk.utils
|
||||
|
||||
import android.content.Context
|
||||
import com.topjohnwu.magisk.Const
|
||||
import com.topjohnwu.magisk.Info
|
||||
import com.topjohnwu.magisk.R
|
||||
import com.topjohnwu.magisk.extensions.rawResource
|
||||
import com.topjohnwu.magisk.wrap
|
||||
import com.topjohnwu.superuser.Shell
|
||||
import com.topjohnwu.superuser.ShellUtils
|
||||
import com.topjohnwu.superuser.io.SuFile
|
||||
|
||||
class RootInit : Shell.Initializer() {
|
||||
@@ -17,9 +15,6 @@ class RootInit : Shell.Initializer() {
|
||||
}
|
||||
|
||||
fun init(context: Context, shell: Shell): Boolean {
|
||||
// Invalidate env state if shell is recreated
|
||||
Info.envRef.invalidate()
|
||||
|
||||
val job = shell.newJob()
|
||||
if (shell.isRoot) {
|
||||
job.add(context.rawResource(R.raw.util_functions))
|
||||
@@ -29,15 +24,12 @@ class RootInit : Shell.Initializer() {
|
||||
job.add(context.rawResource(R.raw.nonroot_utils))
|
||||
}
|
||||
|
||||
job.add("mount_partitions",
|
||||
"get_flags",
|
||||
"run_migrations",
|
||||
"export BOOTMODE=true")
|
||||
.exec()
|
||||
|
||||
Info.keepVerity = ShellUtils.fastCmd("echo \$KEEPVERITY").toBoolean()
|
||||
Info.keepEnc = ShellUtils.fastCmd("echo \$KEEPFORCEENCRYPT").toBoolean()
|
||||
Info.recovery = ShellUtils.fastCmd("echo \$RECOVERYMODE").toBoolean()
|
||||
job.add(
|
||||
"mount_partitions",
|
||||
"get_flags",
|
||||
"run_migrations",
|
||||
"export BOOTMODE=true"
|
||||
).exec()
|
||||
|
||||
return true
|
||||
}
|
||||
|
Binary file not shown.
@@ -59,10 +59,12 @@
|
||||
android:layout_gravity="bottom|center_horizontal"
|
||||
android:layout_margin="@dimen/fab_padding"
|
||||
android:onClick="@{() -> viewModel.fabPressed()}"
|
||||
android:focusable="true"
|
||||
android:clickable="true"
|
||||
app:fabSize="normal"
|
||||
app:layout_behavior="com.google.android.material.floatingactionbutton.FloatingActionButton$Behavior"
|
||||
app:srcCompat="@drawable/ic_add" />
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
||||
</layout>
|
||||
</layout>
|
||||
|
@@ -16,6 +16,7 @@
|
||||
</data>
|
||||
|
||||
<TextView
|
||||
android:focusable="true"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="monospace"
|
||||
|
@@ -94,6 +94,8 @@
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/hide_app_checkbox"
|
||||
android:focusable="true"
|
||||
android:clickable="true"
|
||||
style="@style/Widget.Icon"
|
||||
isChecked="@{item.isHiddenState}"
|
||||
android:onClick="@{() -> item.toggle()}"
|
||||
|
@@ -38,6 +38,8 @@
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/hide_process_icon"
|
||||
android:focusable="true"
|
||||
android:clickable="true"
|
||||
style="@style/Widget.Icon"
|
||||
isChecked="@{item.isHidden}"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
|
@@ -106,6 +106,8 @@
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/checkbox"
|
||||
android:focusable="true"
|
||||
android:clickable="true"
|
||||
style="@style/Widget.Icon"
|
||||
isChecked="@{item.isChecked}"
|
||||
android:layout_marginEnd="@dimen/margin_generic"
|
||||
@@ -127,6 +129,8 @@
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/delete"
|
||||
android:focusable="true"
|
||||
android:clickable="true"
|
||||
style="@style/Widget.Icon"
|
||||
srcCompat="@{item.isDeletable ? R.drawable.ic_undelete : R.drawable.ic_delete}"
|
||||
android:onClick="@{() -> item.toggleDelete()}"
|
||||
|
@@ -29,6 +29,7 @@
|
||||
items="@{item.items}"
|
||||
scrollPosition="@={viewModel.scrollPosition}"
|
||||
scrollPositionSmooth="@{true}"
|
||||
android:focusable="true"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
@@ -39,6 +40,8 @@
|
||||
|
||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||
hide="@{viewModel.scrollPosition == item.items.size - 1 || item.items.size == 0}"
|
||||
android:focusable="true"
|
||||
android:clickable="true"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|end"
|
||||
@@ -50,4 +53,4 @@
|
||||
</FrameLayout>
|
||||
|
||||
|
||||
</layout>
|
||||
</layout>
|
||||
|
@@ -105,6 +105,8 @@
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/download"
|
||||
android:focusable="true"
|
||||
android:clickable="true"
|
||||
style="@style/Widget.Icon"
|
||||
isEnabled="@{viewModel.isConnected}"
|
||||
android:alpha="@{viewModel.isConnected ? 1f : .2f}"
|
||||
|
@@ -1,5 +1,4 @@
|
||||
# v7.4.0
|
||||
- Hide Magisk Manager with stub APKs on Android 9.0+. Not all devices will be supported, please refer to Magisk v20.1 release notes.
|
||||
- Allow customizing app name when hiding Magisk Manager
|
||||
- Generate random keys to sign the hidden Magisk Manager to prevent signature detections
|
||||
- Fix fingerprint UI infinite loop
|
||||
# v7.5.0
|
||||
- Support new communication method (ContentProvider)
|
||||
- Fix several issues with hidden stub APK
|
||||
- Support using BiometricPrompt (face unlock)
|
||||
|
@@ -1,6 +1,7 @@
|
||||
mount_partitions() {
|
||||
[ "`getprop ro.build.ab_update`" = "true" ] && SLOT=`getprop ro.boot.slot_suffix`
|
||||
[ "`getprop ro.build.system_root_image`" = "true" ] && SYSTEM_ROOT=true || SYSTEM_ROOT=false
|
||||
# Check whether non rootfs root dir exists
|
||||
grep ' / ' /proc/mounts | grep -qv 'rootfs' && SYSTEM_ROOT=true || SYSTEM_ROOT=false
|
||||
}
|
||||
|
||||
get_flags() {
|
||||
|
@@ -17,16 +17,6 @@ fix_env() {
|
||||
cd /
|
||||
}
|
||||
|
||||
run_migrations() {
|
||||
# Move the stock backups
|
||||
if [ -f /data/magisk/stock_boot* ]; then
|
||||
mv /data/magisk/stock_boot* /data 2>/dev/null
|
||||
fi
|
||||
if [ -f /data/adb/magisk/stock_boot* ]; then
|
||||
mv /data/adb/magisk/stock_boot* /data 2>/dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
direct_install() {
|
||||
rm -rf $MAGISKBIN/* 2>/dev/null
|
||||
mkdir -p $MAGISKBIN 2>/dev/null
|
||||
@@ -43,30 +33,43 @@ direct_install() {
|
||||
return 0
|
||||
}
|
||||
|
||||
mm_patch_dtbo() {
|
||||
$KEEPVERITY && return 1 || patch_dtbo_image
|
||||
mm_patch_dtb() {
|
||||
local result=1
|
||||
local PATCHED=$TMPDIR/dt.patched
|
||||
for name in dtb dtbo; do
|
||||
local IMAGE=`find_block $name$SLOT`
|
||||
if [ ! -z $IMAGE ]; then
|
||||
if $MAGISKBIN/magiskboot dtb $IMAGE patch $PATCHED; then
|
||||
result=0
|
||||
if [ ! -z $SHA1 ]; then
|
||||
# Backup stuffs
|
||||
mkdir /data/magisk_backup_${SHA1} 2>/dev/null
|
||||
cat $IMAGE | gzip -9 > /data/magisk_backup_${SHA1}/${name}.img.gz
|
||||
fi
|
||||
cat $PATCHED /dev/zero > $IMAGE
|
||||
rm -f $PATCHED
|
||||
fi
|
||||
fi
|
||||
done
|
||||
return $result
|
||||
}
|
||||
|
||||
restore_imgs() {
|
||||
local SHA1=`grep_prop SHA1 /sbin/.magisk/config`
|
||||
[ -z $SHA1 ] && local SHA1=`cat /.backup/.sha1`
|
||||
[ -z $SHA1 ] && return 1
|
||||
local STOCKBOOT=/data/stock_boot_${SHA1}.img.gz
|
||||
local STOCKDTBO=/data/stock_dtbo.img.gz
|
||||
[ -f $STOCKBOOT ] || return 1
|
||||
local BACKUPDIR=/data/magisk_backup_$SHA1
|
||||
[ -d $BACKUPDIR ] || return 1
|
||||
|
||||
get_flags
|
||||
find_boot_image
|
||||
find_dtbo_image
|
||||
|
||||
if [ -f $STOCKDTBO -a -b "$DTBOIMAGE" ]; then
|
||||
flash_image $STOCKDTBO $DTBOIMAGE
|
||||
fi
|
||||
if [ -f $STOCKBOOT -a -b "$BOOTIMAGE" ]; then
|
||||
flash_image $STOCKBOOT $BOOTIMAGE
|
||||
return 0
|
||||
fi
|
||||
return 1
|
||||
for name in dtb dtbo; do
|
||||
[ -f $BACKUPDIR/${name}.img.gz ] || continue
|
||||
local IMAGE=`find_block $name$SLOT`
|
||||
[ -z $IMAGE ] && continue
|
||||
flash_image $BACKUPDIR/${name}.img.gz $IMAGE
|
||||
done
|
||||
[ -f $BACKUPDIR/boot.img.gz ] || return 1
|
||||
flash_image $BACKUPDIR/boot.img.gz $BOOTIMAGE
|
||||
}
|
||||
|
||||
post_ota() {
|
||||
@@ -119,3 +122,5 @@ force_pm_install() {
|
||||
[ "$VERIFY" -eq 1 ] && settings put global package_verifier_enable 1
|
||||
return $res
|
||||
}
|
||||
|
||||
SHA1=`grep_prop SHA1 /sbin/.magisk/config`
|
||||
|
@@ -80,10 +80,10 @@
|
||||
<string name="direct_install">Instal·lació directa (Recomanat)</string>
|
||||
<string name="install_inactive_slot">Instal·la a la ranura inactiva (Després d\'una OTA)</string>
|
||||
<string name="install_inactive_slot_msg">El teu dispositiu serà FORÇAT a arrancar en l\'actual ranura inactiva després del reinici!\nUtilitza aquesta opció NOMÉS quan l\'OTA s\'hagi fet.\nContinuar?</string>
|
||||
<string name="select_method">Sel·lecciona un mètode</string>
|
||||
<string name="select_method">Selecciona un mètode</string>
|
||||
<string name="setup_title">Instal·lació addicional</string>
|
||||
<string name="select_patch_file">Sel·lecciona i arranja un arxiu</string>
|
||||
<string name="patch_file_msg">Sel·lecciona una imatge crua (*.img) o un ODIN tarfile (*.tar)</string>
|
||||
<string name="select_patch_file">Selecciona i arranja un arxiu</string>
|
||||
<string name="patch_file_msg">Selecciona una imatge crua (*.img) o un ODIN tarfile (*.tar)</string>
|
||||
<string name="reboot_delay_toast">Reinici en 5 segons…</string>
|
||||
|
||||
<!--Toasts, Dialogs-->
|
||||
@@ -94,7 +94,6 @@
|
||||
<string name="settings_reboot_toast">Reinicia per aplicar els canvis</string>
|
||||
<string name="release_notes">Notes de llançament</string>
|
||||
<string name="repo_cache_cleared">Memòria cau del repositori netejada</string>
|
||||
|
||||
<string name="dtbo_patched_title">S\'ha arranjat DTBO</string>
|
||||
<string name="dtbo_patched_reboot">Magisk Manager ha arranjat dtbo.img. Si us plau, reinicia el telèfon.</string>
|
||||
<string name="flashing">Arranjament…</string>
|
||||
@@ -110,18 +109,19 @@
|
||||
<string name="restore_done">Restauració feta!</string>
|
||||
<string name="restore_fail">La còpia de seguretat de Stock no existeix!</string>
|
||||
<string name="proprietary_title">Baixar codi propietari</string>
|
||||
<string name="proprietary_notice">Magisk Manager és codi lliure i no conté codi de l\'API de SafetyNet, ja que és codi propietari de Google.\n\nPot permetre que Magisk Manager baixi una extensió que conté el GoogleApiClient per poder fer la comprobació de SafetyNet?</string>
|
||||
<string name="proprietary_notice">Magisk Manager és codi lliure i no conté codi de l\'API de SafetyNet, ja que és codi propietari de Google.\n\nVot permetre que Magisk Manager baixi una extensió que conté el GoogleApiClient per poder fer la comprovació de SafetyNet?</string>
|
||||
<string name="setup_fail">Instal·lació fallida.</string>
|
||||
<string name="env_fix_title">Es requereix instal·lació addicional</string>
|
||||
<string name="env_fix_msg">El teu dispositiu necessita instal·lació addicional per Magisk per funcionar correctament. Es baixarà el ZIP d\'instal·lació de Magisk , vol procedir a l\'instalació ara?</string>
|
||||
<string name="env_fix_msg">El teu dispositiu necessita instal·lació addicional per Magisk per funcionar correctament. Es baixarà el ZIP d\'instal·lació de Magisk , vol procedir a l\'instal·lació ara?</string>
|
||||
<string name="setup_msg">S\'està executant la configuració de l\'entorn…</string>
|
||||
<string name="authenticate">Autenticar</string>
|
||||
|
||||
<!--Settings Activity -->
|
||||
<string name="settings_general_category">General</string>
|
||||
<string name="settings_dark_theme_title">Tema fosc</string>
|
||||
<string name="settings_dark_theme_summary">Habilitar el tema fosc</string>
|
||||
<string name="settings_download_path_title">Directori de baixades</string>
|
||||
<string name="settings_download_path_message">Els arxius es desaràn a %1$s</string>
|
||||
<string name="settings_download_path_message">Els arxius es desaran a %1$s</string>
|
||||
<string name="settings_clear_cache_title">Netejar memòria cau del repositori</string>
|
||||
<string name="settings_clear_cache_summary">Neteja l\'informació en memòria cau per als repositoris en línia, força a l\'aplicació a actualitzar-se en línia.</string>
|
||||
<string name="settings_hide_manager_title">Amagar Magisk Manager</string>
|
||||
@@ -139,7 +139,7 @@
|
||||
<string name="settings_update_custom">Personalitzat</string>
|
||||
<string name="settings_update_custom_msg">Inserta una URL personalitzada</string>
|
||||
<string name="settings_core_only_title">Mode nucli de Magisk</string>
|
||||
<string name="settings_core_only_summary">Habilitar només les funcions principals, no es carregaran tots els mòduls. MagiskSU y MagiskHide seguirán habilitats</string>
|
||||
<string name="settings_core_only_summary">Habilitar només les funcions principals, no es carregaran tots els mòduls. MagiskSU y MagiskHide seguiran habilitats</string>
|
||||
<string name="settings_magiskhide_summary">Amagar Magisk de varies deteccions</string>
|
||||
<string name="settings_hosts_title">Systemless Hosts</string>
|
||||
<string name="settings_hosts_summary">Suport per aplicacions tipus Adblock fora de la partició del sistema</string>
|
||||
@@ -148,7 +148,7 @@
|
||||
<string name="settings_app_name">Escriu el nom desitjat per l\'App</string>
|
||||
<string name="settings_app_name_hint">Nou nom</string>
|
||||
<string name="settings_app_name_helper">Es refarà l\'App amb aquest nom</string>
|
||||
<string name="settings_app_name_error">Format invàl·lid</string>
|
||||
<string name="settings_app_name_error">Format invàlid</string>
|
||||
<string name="settings_su_app_adb">Aplicacions y ADB</string>
|
||||
<string name="settings_su_app">Només aplicacions</string>
|
||||
<string name="settings_su_adb">Només ADB</string>
|
||||
@@ -166,6 +166,9 @@
|
||||
<string name="request_timeout_summary">%1$d segons</string>
|
||||
<string name="settings_su_reauth_title">Demanar després d\'una actualització</string>
|
||||
<string name="settings_su_reauth_summary">Demanar permisos de superusuari novament si una aplicació és actualitzada o reinstal·lada</string>
|
||||
<string name="settings_su_biometric_title">Activar autenticació biomètrica</string>
|
||||
<string name="settings_su_biometric_summary">Utilitza l\'autenticació biomètrica per permetre solicituds de superusuari</string>
|
||||
<string name="no_biometric">El dispositiu no suporta o no té establerta configuració biomètrica</string>
|
||||
|
||||
<string name="multiuser_mode">Mode Multiusuari</string>
|
||||
<string name="settings_owner_only">Només Administrador del Dispositiu</string>
|
||||
@@ -182,7 +185,7 @@
|
||||
<string name="global_summary">Totes les sessions d\'arrel utilitzen el suport Namespace Global</string>
|
||||
<string name="requester_summary">Les sessions d\'arrel heretaran les peticiones Namespace</string>
|
||||
<string name="isolate_summary">Totes les sessions d\'arrel tindran la seva pròpia Namespace</string>
|
||||
<string name="settings_download_path_error">Error al crear la carpeta. El directori ha de ser accesible desde el directori arrel i no pot ser un arxiu.</string>
|
||||
<string name="settings_download_path_error">Error al crear la carpeta. El directori ha de ser accessible des de el directori arrel i no pot ser un arxiu.</string>
|
||||
|
||||
<!--Superuser-->
|
||||
<string name="su_request_title">Petició de superusuari</string>
|
||||
@@ -216,6 +219,6 @@
|
||||
<string name="command">Ordre: %1$s</string>
|
||||
|
||||
<!-- MagiskHide -->
|
||||
<string name="show_system_app">Mostra apps del sistema</string>
|
||||
<string name="show_system_app">Mostra Apps del sistema</string>
|
||||
|
||||
</resources>
|
||||
|
@@ -8,13 +8,14 @@
|
||||
<string name="settings">Einstellungen</string>
|
||||
<string name="install">Installieren</string>
|
||||
<string name="unsupport_magisk_title">Nicht unterstützte Magisk Version</string>
|
||||
<string name="unsupport_magisk_msg">Diese Version von Magisk Manager unterstützt keine Magisk-Versionen unter %1$s.\n\nDie App verhält sich so, als ob kein Magisk installiert ist. Bitte Magisk so schnell wie möglich aktualisieren.</string>
|
||||
|
||||
<!--Status Fragment-->
|
||||
<string name="magisk_version_error">Magisk ist nicht installiert</string>
|
||||
<string name="checking_for_updates">Suche nach Aktualisierungen…</string>
|
||||
<string name="invalid_update_channel">Ungültiger Aktualisierungskanal</string>
|
||||
<string name="safetyNet_check_text">SafetyNet-Status abfragen</string>
|
||||
<string name="checking_safetyNet_status">Prüfe SafetyNet-Status…</string>
|
||||
<string name="checking_safetyNet_status">SafetyNet-Status prüfen…</string>
|
||||
<string name="safetyNet_check_success">SafetyNet-Test erfolgreich</string>
|
||||
<string name="safetyNet_api_error">SafetyNet API Fehler</string>
|
||||
<string name="safetyNet_res_invalid">Die Antwort ist ungültig</string>
|
||||
@@ -23,11 +24,12 @@
|
||||
<string name="advanced_settings_title">Erweiterte Optionen</string>
|
||||
<string name="keep_force_encryption">\"force encryption\" beibehalten</string>
|
||||
<string name="keep_dm_verity">AVB 2.0/dm-verity beibehalten</string>
|
||||
<string name="recovery_mode">Wiederherstellungsmodus</string>
|
||||
<string name="current_installed">Installiert: %1$s</string>
|
||||
<string name="latest_version">Neueste: %1$s</string>
|
||||
<string name="uninstall">Deinstallieren</string>
|
||||
<string name="uninstall_magisk_title">Magisk deinstallieren</string>
|
||||
<string name="uninstall_magisk_msg">Alle Module werden deaktiviert/entfernt. Root wird entfernt, und Ihre Daten werden möglicherweise verschlüsselt, wenn nicht bereits der Fall.</string>
|
||||
<string name="uninstall_magisk_msg">Alle Module werden deaktiviert/entfernt. Root wird entfernt, und deine Daten werden möglicherweise verschlüsselt, wenn es nicht bereits der Fall ist.</string>
|
||||
<string name="update">aktualisieren</string>
|
||||
<string name="core_only_enabled">(Core only Modus aktiviert)</string>
|
||||
|
||||
@@ -43,6 +45,7 @@
|
||||
<string name="reboot_recovery">Neustart in das Recovery</string>
|
||||
<string name="reboot_bootloader">Neustart in den Bootloader</string>
|
||||
<string name="reboot_download">Neustart in den Download-Modus</string>
|
||||
<string name="reboot_edl">Neustart in den EDL-Modus</string>
|
||||
|
||||
<!--Repo Fragment-->
|
||||
<string name="update_available">Aktualisierung verfügbar</string>
|
||||
@@ -67,6 +70,8 @@
|
||||
<string name="progress_channel">Fortschrittsbenachrichtigungen</string>
|
||||
<string name="download_complete">Download abgeschlossen</string>
|
||||
<string name="download_file_error">Fehler beim Herunterladen der Datei</string>
|
||||
<string name="download_open_parent">Im übergeordneten Ordner anzeigen</string>
|
||||
<string name="download_open_self">Datei anzeigen</string>
|
||||
<string name="magisk_update_title">Neues Magisk Update verfügbar!</string>
|
||||
<string name="manager_update_title">Aktualisierung für Magisk Manager verfügbar!</string>
|
||||
|
||||
@@ -74,71 +79,77 @@
|
||||
<string name="manager_download_install">Herunterladen und installieren</string>
|
||||
<string name="download_zip_only">Nur Zip-Datei herunterladen</string>
|
||||
<string name="direct_install">Direkt installieren (empfohlen)</string>
|
||||
<string name="install_inactive_slot">Installiere in inaktiven Slot (Nach OTA)</string>
|
||||
<string name="install_inactive_slot">In inaktiven Slot installieren (Nach OTA)</string>
|
||||
<string name="install_inactive_slot_msg">Dein Gerät wird GEZWUNGEN in den aktuell inaktiven Slot zu starten, nachdem ein Neustart durchgeführt wurde!\nBenutze diese Option nur, nachdem das OTA beendet wurde.\nFortsetzen?</string>
|
||||
<string name="select_method">Methode auswählen</string>
|
||||
<string name="setup_title">Zusätzliche Einrichtung</string>
|
||||
<string name="select_patch_file">Auswählen und Patchen einer Datei</string>
|
||||
<string name="patch_file_msg">Wählen Sie ein Rohabbild (*.img) oder eine ODIN-Tar-Datei (*.tar) aus.</string>
|
||||
<string name="patch_file_msg">Ein Rohabbild (*.img) oder eine ODIN-Tar-Datei (*.tar) auswählen.</string>
|
||||
<string name="reboot_delay_toast">Neustart in 5 Sekunden…</string>
|
||||
|
||||
<!--Toasts, Dialogs-->
|
||||
<string name="repo_install_title">Installiere %1$s</string>
|
||||
<string name="repo_install_title">%1$s installieren</string>
|
||||
<string name="repo_install_msg">Möchtest du %1$s installieren?</string>
|
||||
<string name="download">Herunterladen</string>
|
||||
<string name="reboot">Neustart</string>
|
||||
<string name="settings_reboot_toast">Neustarten, um die Änderungen zu übernehmen</string>
|
||||
<string name="release_notes">Versionshinweise</string>
|
||||
<string name="repo_cache_cleared">Repo-Cache geleert</string>
|
||||
|
||||
<string name="dtbo_patched_title">DTBO wurde gepatched!</string>
|
||||
<string name="dtbo_patched_reboot">Magisk Manager hat dtbo.img gepatched, bitte neustarten</string>
|
||||
<string name="flashing">Flashing</string>
|
||||
<string name="done">Erledigt!</string>
|
||||
<string name="failure">Fehler</string>
|
||||
<string name="hide_manager_title">Verberge Magisk Manager…</string>
|
||||
<string name="hide_manager_fail_toast">Verbergen von Magisk Manager fehlgeschlagen…</string>
|
||||
<string name="open_link_failed_toast">Es wurde keine Anwendung gefunden, um diesen Link zu öffnen...</string>
|
||||
<string name="hide_manager_title">Magisk Manager verbergen…</string>
|
||||
<string name="hide_manager_fail_toast">Magisk Manager verbergen ist fehlgeschlagen…</string>
|
||||
<string name="open_link_failed_toast">Es wurde keine App gefunden, um diesen Link zu öffnen…</string>
|
||||
<string name="warning">Warnung</string>
|
||||
<string name="complete_uninstall">Komplette Deinstallation</string>
|
||||
<string name="restore_img">Images wiederherstellen</string>
|
||||
<string name="restore_img_msg">Wiederherstellen...</string>
|
||||
<string name="restore_img_msg">Wiederherstellen…</string>
|
||||
<string name="restore_done">Wiederherstellung erfolgreich!</string>
|
||||
<string name="restore_fail">Kein Original Backup vorhanden!</string>
|
||||
<string name="proprietary_title">Lade proprietären Code herunter</string>
|
||||
<string name="proprietary_notice">Magisk Manager ist FOSS und enthält keinen proprietären SafetyNet API Code von Google. Magisk Manager erlauben eine Erweiterung (enthält GoogleApiClient) für SafetyNet-Checks herunterzuladen?</string>
|
||||
<string name="setup_fail">Einrichtung fehlgeschlagen</string>
|
||||
<string name="env_fix_title">Zusätzliche Einrichtung erforderlich</string>
|
||||
<string name="env_fix_msg">Ihr Gerät benötigt zusätzliche Einrichtung, damit Magisk ordnungsgemäß funktioniert. Es wird eine Magisk-Installations-Zip wird heruntergeladen, fortfahren?</string>
|
||||
<string name="env_fix_msg">Dein Gerät benötigt eine zusätzliche Einrichtung, damit Magisk ordnungsgemäß funktioniert. Es wird eine Magisk-Installations-Zip heruntergeladen. Fortfahren?</string>
|
||||
<string name="setup_msg">Umgebungseinrichtung läuft…</string>
|
||||
<string name="authenticate">Authentifizieren</string>
|
||||
|
||||
<!--Settings Activity -->
|
||||
<string name="settings_general_category">Allgemein</string>
|
||||
<string name="settings_dark_theme_title">Dunkles Theme</string>
|
||||
<string name="settings_dark_theme_summary">Dunkles Theme aktivieren</string>
|
||||
<string name="settings_download_path_title">Download-Verzeichnis</string>
|
||||
<string name="settings_download_path_message">Dateien werden in %1$s gespeichert</string>
|
||||
<string name="settings_clear_cache_title">Repo-Cache leeren</string>
|
||||
<string name="settings_clear_cache_summary">Löscht die zwischengespeicherten Informationen des Online-Repos. Erzwingt eine Aktualisierung</string>
|
||||
<string name="settings_hide_manager_title">Magisk Manager verbergen</string>
|
||||
<string name="settings_hide_manager_summary">Magisk Manager mit zufälligem Paketnamen neu packen</string>
|
||||
<string name="settings_restore_manager_title">Magisk Manager wiederherstellen</string>
|
||||
<string name="settings_restore_manager_summary">Stellt Magisk Manager mit ursprünglichem Paketnamen wieder her</string>
|
||||
<string name="settings_restore_manager_summary">Magisk Manager mit ursprünglichem Paketnamen wiederherstellen</string>
|
||||
<string name="language">Sprache</string>
|
||||
<string name="system_default">(Systemstandard)</string>
|
||||
<string name="settings_update">Aktualisierungs-Einstellungen</string>
|
||||
<string name="settings_check_update_title">Prüfe nach Aktualisierungen</string>
|
||||
<string name="settings_check_update_summary">Prüfe regelmäßig im Hintergrund nach Aktualisierungen</string>
|
||||
<string name="settings_check_update_title">Auf Aktualisierungen prüfen</string>
|
||||
<string name="settings_check_update_summary">Regelmäßig im Hintergrund auf Aktualisierungen prüfen</string>
|
||||
<string name="settings_update_channel_title">Aktualisierungs-Kanal</string>
|
||||
<string name="settings_update_stable">Stabil</string>
|
||||
<string name="settings_update_beta">Beta</string>
|
||||
<string name="settings_update_custom">Benutzerdefiniert</string>
|
||||
<string name="settings_update_custom_msg">Gib eine benutzerdefinierte URL ein</string>
|
||||
<string name="settings_update_custom_msg">Eine benutzerdefinierte URL eingeben</string>
|
||||
<string name="settings_core_only_title">Nur Kernfunktionen</string>
|
||||
<string name="settings_core_only_summary">Aktiviert lediglich die Kernfunktionen, Module werden nicht geladen. MagiskSU und Magisk Hide bleiben weiterhin aktiv</string>
|
||||
<string name="settings_magiskhide_summary">Versteckt Magisk vor diversen Entdeckungsmethoden</string>
|
||||
<string name="settings_hosts_title">Systemlose Hosts-Datei</string>
|
||||
<string name="settings_hosts_summary">Systemlose Unterstützung für Werbeblocker</string>
|
||||
<string name="settings_hosts_toast">systemless Hosts-Modul hinzugefügt</string>
|
||||
<string name="settings_hosts_toast">Systemless Hosts-Modul hinzugefügt</string>
|
||||
|
||||
<string name="settings_app_name">Den gewünschten App-Namen eingeben</string>
|
||||
<string name="settings_app_name_hint">Neuer Name</string>
|
||||
<string name="settings_app_name_helper">Die App wird unter diesem Namen neu gepackt</string>
|
||||
<string name="settings_app_name_error">Ungültiges Format</string>
|
||||
<string name="settings_su_app_adb">Apps und ADB</string>
|
||||
<string name="settings_su_app">Nur Apps</string>
|
||||
<string name="settings_su_adb">Nur ADB</string>
|
||||
@@ -156,6 +167,9 @@
|
||||
<string name="request_timeout_summary">%1$d Sekunden</string>
|
||||
<string name="settings_su_reauth_title">Nach Aktualisierung erneut authentifizieren</string>
|
||||
<string name="settings_su_reauth_summary">Superuser-Zugriff nach App-Aktualisierung erneut abfragen</string>
|
||||
<string name="settings_su_biometric_title">Biometrische Authentifizierung aktivieren</string>
|
||||
<string name="settings_su_biometric_summary">Biometrische Authentifizierung verwenden, um Superuser-Anfragen zu ermöglichen</string>
|
||||
<string name="no_biometric">Nicht unterstütztes Gerät oder keine biometrischen Einstellungen aktiviert</string>
|
||||
|
||||
<string name="multiuser_mode">Mehrbenutzermodus</string>
|
||||
<string name="settings_owner_only">Nur der Gerätebesitzer</string>
|
||||
@@ -172,6 +186,7 @@
|
||||
<string name="global_summary">Alle Root-Sitzungen benutzen den global angelegten Namespace</string>
|
||||
<string name="requester_summary">Root-Sitzungen erben den Namespace des Abfragenden</string>
|
||||
<string name="isolate_summary">Jede Root-Sitzung hat ihren isolierten Namespace</string>
|
||||
<string name="settings_download_path_error">Fehler beim Erstellen eines Ordners. Er muss im Stammverzeichnis des Speichers zugänglich und darf keine Datei sein.</string>
|
||||
|
||||
<!--Superuser-->
|
||||
<string name="su_request_title">Superuser-Anfrage</string>
|
||||
@@ -187,7 +202,7 @@
|
||||
<string name="sixtymin">60 Min.</string>
|
||||
<string name="su_allow_toast">Superuser-Rechte für %1$s gewährt</string>
|
||||
<string name="su_deny_toast">Superuser-Rechte für %1$s verweigert</string>
|
||||
<string name="no_apps_found">Keine Applikationen gefunden</string>
|
||||
<string name="no_apps_found">Keine Apps gefunden</string>
|
||||
<string name="su_snack_grant">Superuser-Rechte werden für %1$s gewährt</string>
|
||||
<string name="su_snack_deny">Superuser-Rechte werden für %1$s verweigert</string>
|
||||
<string name="su_snack_notif_on">Benachrichtigungen für %1$s sind aktiviert</string>
|
||||
@@ -205,6 +220,6 @@
|
||||
<string name="command">Befehl: %1$s</string>
|
||||
|
||||
<!-- MagiskHide -->
|
||||
<string name="show_system_app">System Applikationen anzeigen</string>
|
||||
<string name="show_system_app">System-Apps anzeigen</string>
|
||||
|
||||
</resources>
|
||||
|
@@ -3,216 +3,221 @@
|
||||
<!--Welcome Activity-->
|
||||
<string name="modules">Modules</string>
|
||||
<string name="downloads">Téléchargements</string>
|
||||
<string name="superuser">Super‐utilisateur</string>
|
||||
<string name="superuser">Super‑utilisateur</string>
|
||||
<string name="log">Journal</string>
|
||||
<string name="settings">Paramètres</string>
|
||||
<string name="install">Installer</string>
|
||||
<string name="unsupport_magisk_title">Version de Magisk non prise en charge</string>
|
||||
<string name="unsupport_magisk_title">Version de Magisk non prise en charge</string>
|
||||
<string name="unsupport_magisk_msg">Cette version de Magisk Manager ne prend pas en charge les versions de Magisk inférieures à %1$s.\n\nL’application se comportera comme si Magisk n’était pas installé, veuillez mettre à jour Magisk dès que possible.</string>
|
||||
|
||||
<!--Status Fragment-->
|
||||
<string name="magisk_version_error">Magisk n’est pas installé.</string>
|
||||
<string name="checking_for_updates">Vérification des mises à jour…</string>
|
||||
<string name="invalid_update_channel">Canal de mise à jour invalide</string>
|
||||
<string name="safetyNet_check_text">Appuyez pour lancer le contrôle SafetyNet.</string>
|
||||
<string name="magisk_version_error">Magisk n’est pas installé</string>
|
||||
<string name="checking_for_updates">Vérification des mises à jour…</string>
|
||||
<string name="invalid_update_channel">Canal de mise à jour invalide</string>
|
||||
<string name="safetyNet_check_text">Appuyez pour lancer le contrôle SafetyNet</string>
|
||||
<string name="checking_safetyNet_status">Vérification de l’état de SafetyNet…</string>
|
||||
<string name="safetyNet_check_success">Contrôle SafetyNet passé avec succès</string>
|
||||
<string name="safetyNet_check_success">Contrôle SafetyNet réussi</string>
|
||||
<string name="safetyNet_api_error">Erreur de l’API SafetyNet</string>
|
||||
<string name="safetyNet_res_invalid">La réponse est incorrecte.</string>
|
||||
<string name="magisk_up_to_date">Magisk est à jour</string>
|
||||
<string name="manager_up_to_date">Magisk Manager est à jour</string>
|
||||
<string name="safetyNet_res_invalid">La réponse est incorrecte</string>
|
||||
<string name="magisk_up_to_date">Magisk est à jour</string>
|
||||
<string name="manager_up_to_date">Magisk Manager est à jour</string>
|
||||
<string name="advanced_settings_title">Paramètres avancés</string>
|
||||
<string name="keep_force_encryption">Conserver le chiffrement forcé</string>
|
||||
<string name="keep_dm_verity">Conserver AVB 2.0/dm-verity</string>
|
||||
<string name="recovery_mode">Mode Récupération</string>
|
||||
<string name="current_installed">Version actuellement installée : %1$s</string>
|
||||
<string name="latest_version">Dernière version disponible : %1$s</string>
|
||||
<string name="recovery_mode">Mode récupération</string>
|
||||
<string name="current_installed">Version actuellement installée : %1$s</string>
|
||||
<string name="latest_version">Dernière version disponible : %1$s</string>
|
||||
<string name="uninstall">Désinstaller</string>
|
||||
<string name="uninstall_magisk_title">Désinstaller Magisk</string>
|
||||
<string name="uninstall_magisk_msg">Tous les modules seront désactivés ou supprimés. Les permissions de super‐utilisateur seront perdues et vos données seront potentiellement chiffrées si elles ne le sont pas déjà.</string>
|
||||
<string name="update">Mise à jour</string>
|
||||
<string name="core_only_enabled">(Mode « sans modules » activé)</string>
|
||||
<string name="uninstall_magisk_msg">Tous les modules seront désactivés ou supprimés !\nL’accès super‑utiliateur sera perdu !\nVos données seront potentiellement chiffrées si elles ne le sont pas déjà.</string>
|
||||
<string name="update">Mise à jour</string>
|
||||
<string name="core_only_enabled">(mode « sans modules » activé)</string>
|
||||
|
||||
<!--Module Fragment-->
|
||||
<string name="no_info_provided">(aucune information transmise)</string>
|
||||
<string name="no_modules_found">Aucun module trouvé.</string>
|
||||
<string name="update_file_created">Le module sera mis à jour au prochain redémarrage.</string>
|
||||
<string name="remove_file_created">Le module sera supprimé au prochain redémarrage.</string>
|
||||
<string name="remove_file_deleted">Le module ne sera pas supprimé au prochain redémarrage.</string>
|
||||
<string name="disable_file_created">Le module sera désactivé au prochain redémarrage.</string>
|
||||
<string name="disable_file_removed">Le module sera activé au prochain redémarrage.</string>
|
||||
<string name="no_modules_found">Aucun module trouvé</string>
|
||||
<string name="update_file_created">Le module sera mis à jour au prochain redémarrage !</string>
|
||||
<string name="remove_file_created">Le module sera supprimé au prochain redémarrage !</string>
|
||||
<string name="remove_file_deleted">Le module ne sera pas supprimé au prochain redémarrage !</string>
|
||||
<string name="disable_file_created">Le module sera désactivé au prochain redémarrage !</string>
|
||||
<string name="disable_file_removed">Le module sera activé au prochain redémarrage !</string>
|
||||
<string name="author">Créé par %1$s</string>
|
||||
<string name="reboot_recovery">Redémarrer en mode récupération</string>
|
||||
<string name="reboot_bootloader">Redémarrer en mode amorçage</string>
|
||||
<string name="reboot_download">Redémarrer en mode téléchargement</string>
|
||||
<string name="reboot_edl">Redémarrer en mode EDL</string>
|
||||
<string name="reboot_edl">Redémarrer en mode secours (EDL)</string>
|
||||
|
||||
<!--Repo Fragment-->
|
||||
<string name="update_available">Mise à jour disponible</string>
|
||||
<string name="installed">Installé</string>
|
||||
<string name="not_installed">Non installé</string>
|
||||
<string name="updated_on">Mis à jour le : %1$s</string>
|
||||
<string name="sorting_order">Mode de tri :</string>
|
||||
<string name="sort_by_name">par nom</string>
|
||||
<string name="sort_by_update">par date décroissante</string>
|
||||
<string name="updated_on">Mis à jour le : %1$s</string>
|
||||
<string name="sorting_order">Mode de tri</string>
|
||||
<string name="sort_by_name">alphabétique</string>
|
||||
<string name="sort_by_update">antichronologique</string>
|
||||
|
||||
<!--Log Fragment-->
|
||||
<string name="menuSaveLog">Enregistrer le journal</string>
|
||||
<string name="menuReload">Actualiser</string>
|
||||
<string name="menuClearLog">Effacer le journal maintenant</string>
|
||||
<string name="logs_cleared">Journal effacé avec succès.</string>
|
||||
<string name="logs_cleared">Le journal a bien été effacé.</string>
|
||||
|
||||
<!--About Activity-->
|
||||
<string name="app_changelog">Journal</string>
|
||||
<string name="app_changelog">Journal des modifications</string>
|
||||
|
||||
<!-- System Components, Notifications -->
|
||||
<string name="update_channel">Mises à jour de Magisk</string>
|
||||
<string name="progress_channel">Progression des notifications</string>
|
||||
<string name="update_channel">Mises à jour de Magisk</string>
|
||||
<string name="progress_channel">Notifications de progression</string>
|
||||
<string name="download_complete">Téléchargement terminé</string>
|
||||
<string name="download_file_error">Erreur de téléchargement du fichier</string>
|
||||
<string name="download_open_parent">Afficher dans le dossier parent</string>
|
||||
<string name="download_open_self">Afficher fichier</string>
|
||||
<string name="magisk_update_title">Une mise à jour de Magisk est disponible !</string>
|
||||
<string name="manager_update_title">Une mise à jour de Magisk Manager est disponible !</string>
|
||||
<string name="download_file_error">Erreur lors du téléchargement du fichier</string>
|
||||
<string name="download_open_parent">Afficher le dossier parent</string>
|
||||
<string name="download_open_self">Afficher le fichier</string>
|
||||
<string name="magisk_update_title">Une mise à jour de Magisk est disponible !</string>
|
||||
<string name="manager_update_title">Une mise à jour de Magisk Manager est disponible !</string>
|
||||
|
||||
<!-- Installation -->
|
||||
<string name="manager_download_install">Appuyez pour le télécharger et l’installer.</string>
|
||||
<string name="download_zip_only">Télécharger le ZIP uniquement</string>
|
||||
<string name="download_zip_only">Télécharger le ZIP sans l’installer</string>
|
||||
<string name="direct_install">Installation directe (recommandée)</string>
|
||||
<string name="install_inactive_slot">Installer dans l’espace inactif (après mise à jour OTA)</string>
|
||||
<string name="install_inactive_slot_msg">Votre appareil sera réamorcé à partir de l’espace actuellement inactif après un redémarrage!\nN’utilisez cette option qu’uniquement après que la mise à jour OTA ait été effectuée.\nVoulez-vous continuer?</string>
|
||||
<string name="install_inactive_slot">Installer dans l’espace inactif (après mise à jour OTA)</string>
|
||||
<string name="install_inactive_slot_msg">Votre appareil sera obligatoirement réamorcé à partir de l’espace (slot) actuellement inactif après son redémarrage !\nN’utilisez cette option uniquement après que la mise à jour OTA a été effectuée.\nVoulez‑vous continuer ?</string>
|
||||
<string name="select_method">Sélectionnez la méthode</string>
|
||||
<string name="setup_title">Installation additionnelle</string>
|
||||
<string name="select_patch_file">Sélectionner et Patcher un Fichier</string>
|
||||
<string name="patch_file_msg">Sélectionnez une image brute (*.img) ou un fichier tar ODIN (*.tar)</string>
|
||||
<string name="reboot_delay_toast">Redémarrage dans 5 secondes…</string>
|
||||
<string name="setup_title">Configuration supplémentaire</string>
|
||||
<string name="select_patch_file">Sélectionnez le fichier cible du correctif</string>
|
||||
<string name="patch_file_msg">Sélectionnez une image brute (*.img) ou une archive TAR ODIN (*.tar)</string>
|
||||
<string name="reboot_delay_toast">Redémarrage dans 5 secondes…</string>
|
||||
|
||||
<!--Toasts, Dialogs-->
|
||||
<string name="repo_install_title">Installer %1$s</string>
|
||||
<string name="repo_install_msg">Voulez‐vous installer %1$s maintenant ?</string>
|
||||
<string name="repo_install_msg">Voulez‑vous installer %1$s maintenant ?</string>
|
||||
<string name="download">Télécharger</string>
|
||||
<string name="reboot">Redémarrer</string>
|
||||
<string name="settings_reboot_toast">Redémarrer afin d’appliquer les réglages.</string>
|
||||
<string name="settings_reboot_toast">Redémarrer afin d’appliquer les paramètres</string>
|
||||
<string name="release_notes">Notes de version</string>
|
||||
<string name="repo_cache_cleared">Cache du dépôt effacé</string>
|
||||
|
||||
<string name="dtbo_patched_title">DTBO a été modifié !</string>
|
||||
<string name="dtbo_patched_reboot">Magisk Manager vient de modifier le fichier dtbo.img, veuillez redémarrer.</string>
|
||||
<string name="flashing">Installation</string>
|
||||
<string name="done">Terminé!</string>
|
||||
<string name="failure">Échec</string>
|
||||
<string name="hide_manager_title">Masquer Magisk Manager…</string>
|
||||
<string name="hide_manager_fail_toast">Le masquage de Magisk Manager a échoué.</string>
|
||||
<string name="open_link_failed_toast">Aucune application permettant d’ouvrir le lien n’a été trouvée.</string>
|
||||
<string name="dtbo_patched_title">L’arborescence matérielle (DTBO) a été modifiée !</string>
|
||||
<string name="dtbo_patched_reboot">Magisk Manager a modifié le fichier dtbo.img. Veuillez redémarrer.</string>
|
||||
<string name="flashing">Écriture dans la mémoire Flash…</string>
|
||||
<string name="done">Terminé !</string>
|
||||
<string name="failure">Erreur</string>
|
||||
<string name="hide_manager_title">Masquer Magisk Manager…</string>
|
||||
<string name="hide_manager_fail_toast">Le masquage de Magisk Manager a échoué.</string>
|
||||
<string name="open_link_failed_toast">Aucune application permettant d’ouvrir le lien n’a été trouvée</string>
|
||||
<string name="warning">Avertissement</string>
|
||||
<string name="complete_uninstall">Désinstallation terminée</string>
|
||||
<string name="complete_uninstall">Désinstallation complète</string>
|
||||
<string name="restore_img">Restauration des images</string>
|
||||
<string name="restore_img_msg">Restauration…</string>
|
||||
<string name="restore_done">Restauration terminée !</string>
|
||||
<string name="restore_fail">La sauvegarde par défaut n’existe pas !</string>
|
||||
<string name="restore_fail">La sauvegarde par défaut n’existe pas !</string>
|
||||
<string name="proprietary_title">Téléchargement de code propriétaire</string>
|
||||
<string name="proprietary_notice">Magisk Manager est un logiciel libre et ne contient pas le code propriétaire de l’API SafetyNet de Google.Voulez‐vous autoriser Magisk Manager à télécharger une extension (contenant GoogleApiClient) pour les contrôles SafetyNet ?</string>
|
||||
<string name="proprietary_notice">Magisk Manager est un logiciel libre et ne contient pas le code propriétaire de l’API SafetyNet de Google. Autorisez‑vous Magisk Manager à télécharger une extension (contenant GoogleApiClient) pour les contrôles SafetyNet ?</string>
|
||||
<string name="setup_fail">Échec de l’installation</string>
|
||||
<string name="env_fix_title">Installation additionnelle requise</string>
|
||||
<string name="env_fix_msg">Votre appareil a besoin d’une configuration supplémentaire pour que Magisk fonctionne correctement. Pour cela, il est nécessaire de télécharger un fichier ZIP d’installation de Magisk. Voulez‐vous le faire maintenant ?</string>
|
||||
<string name="setup_msg">Démarrer l’installation de l’environnement…</string>
|
||||
<string name="env_fix_title">Installation supplémentaire requise</string>
|
||||
<string name="env_fix_msg">Votre appareil a besoin d’une installation supplémentaire afin que Magisk fonctionne correctement. Un fichier ZIP d’installation pour Magisk devra être téléchargé. Voulez‑vous faire cette installation maintenant ?</string>
|
||||
<string name="setup_msg">Installation de l’environnement en cours…</string>
|
||||
<string name="authenticate">Authentification</string>
|
||||
|
||||
<!--Settings Activity -->
|
||||
<string name="settings_general_category">Général</string>
|
||||
<string name="settings_dark_theme_title">Thème sombre</string>
|
||||
<string name="settings_dark_theme_summary">Activer le thème sombre.</string>
|
||||
<string name="settings_download_path_title">Emplacement téléchargement</string>
|
||||
<string name="settings_dark_theme_summary">Activer le thème sombre</string>
|
||||
<string name="settings_download_path_title">Répertoire de téléchargement</string>
|
||||
<string name="settings_download_path_message">Les fichiers seront sauvegardés dans %1$s</string>
|
||||
<string name="settings_clear_cache_title">Effacer le cache du dépôt</string>
|
||||
<string name="settings_clear_cache_summary">Effacer les informations de cache pour les dépôts en ligne. Cela force l’application à récupérer ses informations en ligne.</string>
|
||||
<string name="settings_hide_manager_title">Masquer Magisk Manager</string>
|
||||
<string name="settings_hide_manager_summary">Réempaqueter Magisk Manager avec un nom de paquet aléatoire.</string>
|
||||
<string name="settings_restore_manager_title">Restaurer Magisk Manager</string>
|
||||
<string name="settings_restore_manager_summary">Restaurer Magisk Manager avec son nom de paquet d’origine</string>
|
||||
<string name="settings_clear_cache_summary">Effacer les informations en cache concerant les dépôts en ligne. Ceci force l’application à télécharger des informations à jour.</string>
|
||||
<string name="settings_hide_manager_title">Masquer Magisk Manager</string>
|
||||
<string name="settings_hide_manager_summary">Réempaqueter Magisk Manager avec des noms de paquet et d’application aléatoires.</string>
|
||||
<string name="settings_restore_manager_title">Restaurer Magisk Manager</string>
|
||||
<string name="settings_restore_manager_summary">Restaurer Magisk Manager avec ses noms de paquet et d’application d’origine</string>
|
||||
<string name="language">Langue</string>
|
||||
<string name="system_default">(système par défaut)</string>
|
||||
<string name="settings_update">Mise à jour des réglages</string>
|
||||
<string name="settings_check_update_title">Vérification des mises à jour</string>
|
||||
<string name="settings_check_update_summary">Vérifier périodiquement en tâche de fond l’existence d’une mise à jour.</string>
|
||||
<string name="settings_update_channel_title">Canal de mise à jour</string>
|
||||
<string name="system_default">(langue par défaut du système)</string>
|
||||
<string name="settings_update">Paramètres de mise à jour</string>
|
||||
<string name="settings_check_update_title">Vérifier les mises à jour</string>
|
||||
<string name="settings_check_update_summary">Vérifier périodiquement en tâche de fond l’existence d’une mise à jour</string>
|
||||
<string name="settings_update_channel_title">Canal de mise à jour</string>
|
||||
<string name="settings_update_stable">Stable</string>
|
||||
<string name="settings_update_beta">Bêta</string>
|
||||
<string name="settings_update_custom">Personnalisé</string>
|
||||
<string name="settings_update_custom_msg">Insérez une URL personnalisée</string>
|
||||
<string name="settings_core_only_title">Mode Magisk Core uniquement</string>
|
||||
<string name="settings_core_only_summary">Active uniquement les fonctionnalités de base. MagiskSU et MagiskHide resteront activés, mais aucun module ne sera chargé. </string>
|
||||
<string name="settings_update_custom_msg">Saisissez une URL personnalisée</string>
|
||||
<string name="settings_core_only_title">Mode « sans modules » uniquement</string>
|
||||
<string name="settings_core_only_summary">Activer uniquement les fonctionnalités de base. MagiskSU et MagiskHide resteront activés, mais aucun module ne sera chargé.</string>
|
||||
<string name="settings_magiskhide_summary">Rendre Magisk invisible à diverses formes de détection.</string>
|
||||
<string name="settings_hosts_title">Fichier hosts sans système</string>
|
||||
<string name="settings_hosts_summary">Prise en charge du fichier hosts sans système pour les applications de type AdBlock.</string>
|
||||
<string name="settings_hosts_toast">Ajout d’un module hosts sans système</string>
|
||||
<string name="settings_app_name">Taper le nom de l\'application désirée</string>
|
||||
<string name="settings_hosts_title">Fichier hosts hors partition système</string>
|
||||
<string name="settings_hosts_summary">Utilisation d’un fichier hosts hors de la partition système pour les applications de blocage de publicité.</string>
|
||||
<string name="settings_hosts_toast">Ajout d’un module pour fichier hosts hors système</string>
|
||||
|
||||
<string name="settings_app_name">Saisissez le nom de l’application désiré</string>
|
||||
<string name="settings_app_name_hint">Nouveau nom</string>
|
||||
<string name="settings_app_name_helper">L\'application sera réempacter sous ce nom</string>
|
||||
<string name="settings_app_name_error">Format invalide</string>
|
||||
<string name="settings_app_name_helper">L’application sera réempaquetée sous ce nom</string>
|
||||
<string name="settings_app_name_error">Format incorrect</string>
|
||||
<string name="settings_su_app_adb">Applications et ADB</string>
|
||||
<string name="settings_su_app">Applications uniquement</string>
|
||||
<string name="settings_su_adb">ADB uniquement</string>
|
||||
<string name="settings_su_disable">Désactivé</string>
|
||||
<string name="settings_su_request_10">10 secondes</string>
|
||||
<string name="settings_su_request_15">15 secondes</string>
|
||||
<string name="settings_su_request_20">20 secondes</string>
|
||||
<string name="settings_su_request_30">30 secondes</string>
|
||||
<string name="settings_su_request_45">45 secondes</string>
|
||||
<string name="settings_su_request_60">60 secondes</string>
|
||||
<string name="superuser_access">Accès super‐utilisateur</string>
|
||||
<string name="settings_su_request_10">10 secondes</string>
|
||||
<string name="settings_su_request_15">15 secondes</string>
|
||||
<string name="settings_su_request_20">20 secondes</string>
|
||||
<string name="settings_su_request_30">30 secondes</string>
|
||||
<string name="settings_su_request_45">45 secondes</string>
|
||||
<string name="settings_su_request_60">60 secondes</string>
|
||||
<string name="superuser_access">Accès super‑utilisateur</string>
|
||||
<string name="auto_response">Réponse automatique</string>
|
||||
<string name="request_timeout">Délai d’expiration de la demande</string>
|
||||
<string name="superuser_notification">Notification super‐utilisateur</string>
|
||||
<string name="request_timeout_summary">%1$d secondes</string>
|
||||
<string name="settings_su_reauth_title">Authentifier à nouveau après la mise à niveau</string>
|
||||
<string name="settings_su_reauth_summary">Authentifier à nouveau les autorisations super‐utilisateur après une mise à jour de l’application</string>
|
||||
<string name="superuser_notification">Notification super‑utilisateur</string>
|
||||
<string name="request_timeout_summary">%1$d secondes</string>
|
||||
<string name="settings_su_reauth_title">S’authentifier à nouveau après la mise à niveau</string>
|
||||
<string name="settings_su_reauth_summary">Redemander une authentification pour autoriser l’accès en super‑utilisateur après une mise à jour de l’application</string>
|
||||
<string name="settings_su_biometric_title">Activer l’authentification biométrique</string>
|
||||
<string name="settings_su_biometric_summary">Utiliser l’authentification biométrique pour autoriser les accès en super‑utilisateur</string>
|
||||
<string name="no_biometric">L’appareil n’est pas pris en charge ou alors aucun paramètre biométrique n’est activé</string>
|
||||
|
||||
<string name="multiuser_mode">Mode multi‐utilisateur</string>
|
||||
<string name="multiuser_mode">Mode multi‑utilisateur</string>
|
||||
<string name="settings_owner_only">Propriétaire de l’appareil uniquement</string>
|
||||
<string name="settings_owner_manage">Géré par le propriétaire de l’appareil</string>
|
||||
<string name="settings_user_independent">Indépendant de l’utilisateur</string>
|
||||
<string name="owner_only_summary">Seul le propriétaire a un accès super‐utilisateur.</string>
|
||||
<string name="owner_manage_summary">Seul le propriétaire peut gérer l’accès super‐utilisateur et recevoir les demandes de requêtes.</string>
|
||||
<string name="user_indepenent_summary">Chaque utilisateur a ses propres règles super‐utilisateur séparées.</string>
|
||||
<string name="owner_only_summary">Seul le propriétaire possède un accès super‑utilisateur.</string>
|
||||
<string name="owner_manage_summary">Seul le propriétaire peut gérer l’accès super‑utilisateur et recevoir les demandes d’accès.</string>
|
||||
<string name="user_indepenent_summary">Chaque utilisateur a ses propres règles d’accès super‑utilisateur séparées.</string>
|
||||
|
||||
<string name="mount_namespace_mode">Mode d’espace de noms du montage</string>
|
||||
<string name="mount_namespace_mode">Mode d’espace de noms du montage</string>
|
||||
<string name="settings_ns_global">Espace de noms global</string>
|
||||
<string name="settings_ns_requester">Hériter de l’espace de noms</string>
|
||||
<string name="settings_ns_requester">Hériter de l’espace de noms</string>
|
||||
<string name="settings_ns_isolate">Espace de noms isolé</string>
|
||||
<string name="global_summary">Toutes les sessions super‐utilisateur utilisent l’espace de noms global du montage.</string>
|
||||
<string name="requester_summary">Les sessions super‐utilisateur hériteront de l’espace de noms de leur demandeur.</string>
|
||||
<string name="isolate_summary">Chaque session super‐utilisateur aura son propre espace de noms isolé.</string>
|
||||
<string name="settings_download_path_error">Erreur lors de la création du dossier. Il doit être accessible depuis le répertoire racine du stockage et ne doit pas être un fichier.</string>
|
||||
<string name="global_summary">Toutes les sessions super‑utilisateur utilisent l’espace de noms global du montage.</string>
|
||||
<string name="requester_summary">Les sessions super‑utilisateur hériteront de l’espace de noms de leur demandeur.</string>
|
||||
<string name="isolate_summary">Chaque session super‑utilisateur aura son propre espace de noms isolé.</string>
|
||||
<string name="settings_download_path_error">Erreur lors de la création du dossier. Ce dernier doit être accessible depuis le répertoire racine du stockage et ne doit pas être un fichier.</string>
|
||||
|
||||
<!--Superuser-->
|
||||
<string name="su_request_title">Requête super‐utilisateur</string>
|
||||
<string name="su_request_title">Demande d’accès super‑utilisateur</string>
|
||||
<string name="deny">Refuser</string>
|
||||
<string name="prompt">Demander</string>
|
||||
<string name="grant">Accepter</string>
|
||||
<string name="su_warning">Autoriser l’accès complet à votre appareil.\nRefusez si vous n’êtes pas sûr !</string>
|
||||
<string name="su_warning">Autoriser l’accès complet à votre appareil.\nRefusez si vous n’êtes pas sûr(e) !</string>
|
||||
<string name="forever">Toujours</string>
|
||||
<string name="once">Une fois</string>
|
||||
<string name="once">Une fois</string>
|
||||
<string name="tenmin">10 min</string>
|
||||
<string name="twentymin">20 min</string>
|
||||
<string name="thirtymin">30 min</string>
|
||||
<string name="sixtymin">60 min</string>
|
||||
<string name="su_allow_toast">%1$s a obtenu les droits super‐utilisateur</string>
|
||||
<string name="su_deny_toast">%1$s n’a pas obtenu les droits super‐utilisateur</string>
|
||||
<string name="su_allow_toast">%1$s a obtenu les droits de super‑utilisateur</string>
|
||||
<string name="su_deny_toast">%1$s s’est vu refuser les droits de super‑utilisateur</string>
|
||||
<string name="no_apps_found">Aucune application trouvée</string>
|
||||
<string name="su_snack_grant">Les droits super‐utilisateur de %1$s sont accordés</string>
|
||||
<string name="su_snack_deny">Les droits super‐utilisateur de %1$s sont refusés</string>
|
||||
<string name="su_snack_notif_on">Les notifications pour %1$s sont activées</string>
|
||||
<string name="su_snack_notif_off">Les notifications pour %1$s sont désactivées</string>
|
||||
<string name="su_snack_log_on">La journalisation pour %1$s est activée</string>
|
||||
<string name="su_snack_log_off">La journalisation pour %1$s est désactivée</string>
|
||||
<string name="su_revoke_title">Annuler ?</string>
|
||||
<string name="su_revoke_msg">Confirmez‐vous l’annulation des droits pour %1$s ?</string>
|
||||
<string name="su_snack_grant">Les droits de super‑utilisateur sont accordés à %1$s</string>
|
||||
<string name="su_snack_deny">Les droits de super‑utilisateur sont refusés à %1$s</string>
|
||||
<string name="su_snack_notif_on">Les notifications sont activées pour %1$s</string>
|
||||
<string name="su_snack_notif_off">Les notifications sont désactivées pour %1$s</string>
|
||||
<string name="su_snack_log_on">La journalisation est activée pour %1$s</string>
|
||||
<string name="su_snack_log_off">La journalisation est désactivée pour %1$s</string>
|
||||
<string name="su_revoke_title">Révoquer ?</string>
|
||||
<string name="su_revoke_msg">Confirmez‑vous la révocation des droits accordés à %1$s ?</string>
|
||||
<string name="toast">Toast</string>
|
||||
<string name="none">Aucun</string>
|
||||
|
||||
<!--Superuser logs-->
|
||||
<string name="pid">PID : %1$d</string>
|
||||
<string name="target_uid">UID cible : %1$d</string>
|
||||
<string name="command">Commande : %1$s</string>
|
||||
<string name="pid">PID : %1$d</string>
|
||||
<string name="target_uid">UID cible : %1$d</string>
|
||||
<string name="command">Commande : %1$s</string>
|
||||
|
||||
<!-- MagiskHide -->
|
||||
<string name="show_system_app">Afficher les applications système</string>
|
||||
|
@@ -8,6 +8,7 @@
|
||||
<string name="settings">Ayarlar</string>
|
||||
<string name="install">Yükle</string>
|
||||
<string name="unsupport_magisk_title">Desteklenmeyen Magisk Sürümü</string>
|
||||
<string name="unsupport_magisk_msg">Magisk Manager\'ın bu sürümü, %1$s daha düşük Magisk versiyonlarını desteklememektedir.\n\nUygulama hiçbir Magisk kurulu değil gibi davranacak, lütfen en kısa zamanda Magisk\'i yükseltin.</string>
|
||||
|
||||
<!--Status Fragment-->
|
||||
<string name="magisk_version_error">Magisk yüklü değil</string>
|
||||
@@ -94,8 +95,7 @@
|
||||
<string name="settings_reboot_toast">Ayarları uygulamak için yeniden başlatın</string>
|
||||
<string name="release_notes">Sürüm notları</string>
|
||||
<string name="repo_cache_cleared">Repo önbelleği temizlendi</string>
|
||||
|
||||
<string name="dtbo_patched_title">DTBO yamalandı!</string>
|
||||
<string name="dtbo_patched_title">DTBO yamalandı!</string>
|
||||
<string name="dtbo_patched_reboot">Magisk Manager dtbo.img\'yi yamaladı, lütfen yeniden başlatın</string>
|
||||
<string name="flashing">Yükleniyor</string>
|
||||
<string name="done">Tamamlandı!</string>
|
||||
@@ -115,6 +115,7 @@
|
||||
<string name="env_fix_title">Ek Kurulum Gerekli</string>
|
||||
<string name="env_fix_msg">Cihazınızın Magisk\'in düzgün çalışması için ek kuruluma ihtiyacı var. Bu Magisk kurulum zip dosyasını indirecektir, şimdi devam etmek istiyor musunuz?</string>
|
||||
<string name="setup_msg">Ortam kurulumu çalışıyor…</string>
|
||||
<string name="authenticate">Kimlik doğrulaması</string>
|
||||
|
||||
<!--Settings Activity -->
|
||||
<string name="settings_general_category">Genel</string>
|
||||
@@ -166,6 +167,9 @@
|
||||
<string name="request_timeout_summary">%1$d saniye</string>
|
||||
<string name="settings_su_reauth_title">Yükseltmeden sonra yeniden kimlik doğrula</string>
|
||||
<string name="settings_su_reauth_summary">Uygulama yükseltmeleri sonrasında yetkili kullanıcı izinlerini yeniden doğrula</string>
|
||||
<string name="settings_su_biometric_title">Biyometrik Kimlik Doğrulamayı Etkinleştir</string>
|
||||
<string name="settings_su_biometric_summary">Superuser isteklerine izin vermek için biyometrik kimlik doğrulamayı kullanın</string>
|
||||
<string name="no_biometric">Desteklenmeyen cihaz veya biyometrik ayar etkinleştirilmemiş</string>
|
||||
|
||||
<string name="multiuser_mode">Çok Kullanıcılı Mod</string>
|
||||
<string name="settings_owner_only">Yalnızca Cihaz Sahibi</string>
|
||||
|
@@ -167,7 +167,7 @@
|
||||
<string name="request_timeout_summary">%1$d 秒</string>
|
||||
<string name="settings_su_reauth_title">更新後重新驗證</string>
|
||||
<string name="settings_su_reauth_summary">應用程式更新後,重新驗證超級使用者的請求</string>
|
||||
|
||||
<string name="settings_su_biometric_title">啟用生物特徵驗證</string>
|
||||
<string name="multiuser_mode">多重使用者模式</string>
|
||||
<string name="settings_owner_only">僅限裝置擁有者</string>
|
||||
<string name="settings_owner_manage">由裝置擁有者管理</string>
|
||||
|
Reference in New Issue
Block a user