mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-08-14 16:27:26 +00:00
Compare commits
5 Commits
manager-v4
...
manager-v4
Author | SHA1 | Date | |
---|---|---|---|
![]() |
234bead59e | ||
![]() |
76de310986 | ||
![]() |
817f050bcd | ||
![]() |
60ae685d1e | ||
![]() |
4c7bdbb284 |
@@ -8,8 +8,8 @@ android {
|
||||
applicationId "com.topjohnwu.magisk"
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 25
|
||||
versionCode 26
|
||||
versionName "4.2.7"
|
||||
versionCode 27
|
||||
versionName "4.3.0"
|
||||
jackOptions {
|
||||
enabled true
|
||||
jackInProcess true
|
||||
@@ -47,10 +47,10 @@ repositories {
|
||||
dependencies {
|
||||
compile fileTree(include: ['*.jar'], dir: 'libs')
|
||||
|
||||
compile 'com.android.support:recyclerview-v7:25.3.0'
|
||||
compile 'com.android.support:cardview-v7:25.3.0'
|
||||
compile 'com.android.support:design:25.3.0'
|
||||
compile 'com.android.support:support-v4:25.3.0'
|
||||
compile 'com.android.support:recyclerview-v7:25.3.1'
|
||||
compile 'com.android.support:cardview-v7:25.3.1'
|
||||
compile 'com.android.support:design:25.3.1'
|
||||
compile 'com.android.support:support-v4:25.3.1'
|
||||
compile 'com.jakewharton:butterknife:8.5.1'
|
||||
compile 'com.github.clans:fab:1.6.4'
|
||||
compile 'com.thoughtbot:expandablerecyclerview:1.4'
|
||||
|
@@ -100,7 +100,11 @@ public class InstallFragment extends Fragment implements CallbackEvent.Listener<
|
||||
magiskManager.magiskLink,
|
||||
Utils.getLegalFilename(filename)))
|
||||
.setNeutralButton(R.string.release_notes, (dialog, which) -> {
|
||||
magiskManager.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(magiskManager.releaseNoteLink)));
|
||||
if (magiskManager.releaseNoteLink != null) {
|
||||
Intent openReleaseNoteLink = new Intent(Intent.ACTION_VIEW, Uri.parse(magiskManager.releaseNoteLink));
|
||||
openReleaseNoteLink.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
magiskManager.startActivity(openReleaseNoteLink);
|
||||
}
|
||||
})
|
||||
.setNegativeButton(R.string.no_thanks, null)
|
||||
.show();
|
||||
|
@@ -81,6 +81,7 @@ public class MainActivity extends Activity
|
||||
|
||||
navigationView.setNavigationItemSelectedListener(this);
|
||||
getApplicationContext().reloadMainActivity.register(this);
|
||||
getApplicationContext().updateCheckDone.register(this);
|
||||
|
||||
}
|
||||
|
||||
@@ -105,6 +106,7 @@ public class MainActivity extends Activity
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
getApplicationContext().reloadMainActivity.unRegister(this);
|
||||
getApplicationContext().updateCheckDone.unRegister(this);
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
@@ -126,7 +128,11 @@ public class MainActivity extends Activity
|
||||
|
||||
@Override
|
||||
public void onTrigger(CallbackEvent<Void> event) {
|
||||
recreate();
|
||||
if (event == getApplicationContext().reloadMainActivity) {
|
||||
recreate();
|
||||
} else if (event == getApplicationContext().updateCheckDone) {
|
||||
checkHideSection();
|
||||
}
|
||||
}
|
||||
|
||||
private void checkHideSection() {
|
||||
|
@@ -89,10 +89,6 @@ public class SettingsActivity extends Activity {
|
||||
prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
|
||||
prefScreen = getPreferenceScreen();
|
||||
|
||||
SwitchPreference busybox = (SwitchPreference) findPreference("busybox");
|
||||
SwitchPreference magiskHide = (SwitchPreference) findPreference("magiskhide");
|
||||
SwitchPreference hosts = (SwitchPreference) findPreference("hosts");
|
||||
|
||||
PreferenceCategory magiskCategory = (PreferenceCategory) findPreference("magisk");
|
||||
PreferenceCategory suCategory = (PreferenceCategory) findPreference("superuser");
|
||||
|
||||
@@ -118,11 +114,6 @@ public class SettingsActivity extends Activity {
|
||||
if (getApplication().magiskVersion < 11) {
|
||||
prefScreen.removePreference(magiskCategory);
|
||||
}
|
||||
if (getApplication().disabled) {
|
||||
busybox.setEnabled(false);
|
||||
magiskHide.setEnabled(false);
|
||||
hosts.setEnabled(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -44,8 +44,8 @@ public class SplashActivity extends Activity{
|
||||
|
||||
// Now fire all async tasks
|
||||
new GetBootBlocks(this).exec();
|
||||
if (magiskManager.magiskHide && !magiskManager.disabled &&
|
||||
magiskManager.magiskVersion > 11 && !magiskManager.magiskHideStarted) {
|
||||
if (magiskManager.magiskHide && magiskManager.magiskVersion > 11 &&
|
||||
!magiskManager.magiskHideStarted) {
|
||||
new MagiskHide().enable();
|
||||
}
|
||||
new LoadModules(this) {
|
||||
|
@@ -65,7 +65,9 @@ public class StatusFragment extends Fragment implements CallbackEvent.Listener<V
|
||||
|
||||
@OnClick(R.id.magisk_status_container)
|
||||
public void gotoInstall() {
|
||||
((MainActivity) getActivity()).navigate(R.id.install);
|
||||
if (getApplication().remoteMagiskVersion > 0) {
|
||||
((MainActivity) getActivity()).navigate(R.id.install);
|
||||
}
|
||||
}
|
||||
|
||||
private int defaultColor;
|
||||
@@ -159,7 +161,7 @@ public class StatusFragment extends Fragment implements CallbackEvent.Listener<V
|
||||
if (getApplication().magiskVersion < 0) {
|
||||
magiskVersionText.setText(R.string.magisk_version_error);
|
||||
} else if (getApplication().disabled) {
|
||||
magiskVersionText.setText(getString(R.string.magisk_version_disable, getApplication().magiskVersionString));
|
||||
magiskVersionText.setText(getString(R.string.magisk_version_core_only, getApplication().magiskVersionString));
|
||||
} else {
|
||||
magiskVersionText.setText(getString(R.string.magisk_version, getApplication().magiskVersionString));
|
||||
}
|
||||
@@ -212,9 +214,6 @@ public class StatusFragment extends Fragment implements CallbackEvent.Listener<V
|
||||
if (getApplication().magiskVersion < 0) {
|
||||
color = colorBad;
|
||||
image = R.drawable.ic_cancel;
|
||||
} else if (getApplication().disabled) {
|
||||
color = colorNeutral;
|
||||
image = R.drawable.ic_cancel;
|
||||
}
|
||||
|
||||
magiskStatusContainer.setBackgroundColor(color);
|
||||
|
@@ -57,12 +57,10 @@ public class LoadRepos extends ParallelTask<Void, Void, Void> {
|
||||
String etag = prefs.getString(ETAG_KEY, "");
|
||||
header.put("If-None-Match", etag);
|
||||
|
||||
magiskManager.repoMap = new ValueSortedMap<>();
|
||||
|
||||
// Make a request to main URL for repo info
|
||||
String jsonString = WebService.request(REPO_URL, WebService.GET, null, header, false);
|
||||
|
||||
ValueSortedMap<String, Repo> cached = dbHelper.getRepoMap();
|
||||
ValueSortedMap<String, Repo> cached = dbHelper.getRepoMap(false), fetched = new ValueSortedMap<>();
|
||||
|
||||
if (!TextUtils.isEmpty(jsonString)) {
|
||||
try {
|
||||
@@ -97,27 +95,24 @@ public class LoadRepos extends ParallelTask<Void, Void, Void> {
|
||||
repo.update(updatedDate);
|
||||
}
|
||||
if (repo.getId() != null) {
|
||||
magiskManager.repoMap.put(id, repo);
|
||||
fetched.put(id, repo);
|
||||
}
|
||||
} catch (BaseModule.CacheModException ignored) {}
|
||||
|
||||
// Update the database
|
||||
dbHelper.addRepoMap(fetched);
|
||||
// The leftover cached are those removed remote, cleanup db
|
||||
dbHelper.removeRepo(cached);
|
||||
// Update ETag
|
||||
prefs.edit().putString(ETAG_KEY, etag).apply();
|
||||
}
|
||||
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
} else {
|
||||
// Use cached if no internet or no updates
|
||||
Logger.dev("LoadRepos: No updates, use cached");
|
||||
magiskManager.repoMap.putAll(cached);
|
||||
cached.clear();
|
||||
}
|
||||
|
||||
// Update the database
|
||||
dbHelper.addRepoMap(magiskManager.repoMap);
|
||||
// The leftover cached are those removed remote, cleanup db
|
||||
dbHelper.removeRepo(cached);
|
||||
// Update ETag
|
||||
prefs.edit().putString(ETAG_KEY, etag).apply();
|
||||
magiskManager.repoMap = dbHelper.getRepoMap();
|
||||
|
||||
Logger.dev("LoadRepos: Repo load done");
|
||||
return null;
|
||||
|
@@ -13,7 +13,7 @@ import java.util.Collection;
|
||||
|
||||
public class RepoDatabaseHelper extends SQLiteOpenHelper {
|
||||
|
||||
private static final int DATABASE_VER = 1;
|
||||
private static final int DATABASE_VER = 2;
|
||||
private static final String TABLE_NAME = "repos";
|
||||
|
||||
public RepoDatabaseHelper(Context context) {
|
||||
@@ -33,8 +33,12 @@ public class RepoDatabaseHelper extends SQLiteOpenHelper {
|
||||
"(id TEXT, name TEXT, version TEXT, versionCode INT, " +
|
||||
"author TEXT, description TEXT, repo_name TEXT, last_update INT, " +
|
||||
"PRIMARY KEY(id))");
|
||||
oldVersion++;
|
||||
}
|
||||
if (oldVersion == 1) {
|
||||
db.execSQL("ALTER TABLE " + TABLE_NAME + " ADD template INT");
|
||||
oldVersion++;
|
||||
}
|
||||
// No upgrades yet
|
||||
}
|
||||
|
||||
public void addRepoMap(ValueSortedMap<String, Repo> map) {
|
||||
@@ -62,6 +66,10 @@ public class RepoDatabaseHelper extends SQLiteOpenHelper {
|
||||
}
|
||||
|
||||
public ValueSortedMap<String, Repo> getRepoMap() {
|
||||
return getRepoMap(true);
|
||||
}
|
||||
|
||||
public ValueSortedMap<String, Repo> getRepoMap(boolean filtered) {
|
||||
ValueSortedMap<String, Repo> ret = new ValueSortedMap<>();
|
||||
SQLiteDatabase db = getReadableDatabase();
|
||||
Repo repo;
|
||||
@@ -69,6 +77,10 @@ public class RepoDatabaseHelper extends SQLiteOpenHelper {
|
||||
while (c.moveToNext()) {
|
||||
repo = new Repo(c);
|
||||
Logger.dev("Load from cache: " + repo.getId());
|
||||
if (repo.getTemplateVersion() < 3 && filtered) {
|
||||
Logger.dev("Outdated repo: " + repo.getId());
|
||||
continue;
|
||||
}
|
||||
ret.put(repo.getId(), repo);
|
||||
}
|
||||
}
|
||||
|
@@ -11,7 +11,7 @@ import java.util.List;
|
||||
public abstract class BaseModule implements Comparable<BaseModule> {
|
||||
|
||||
private String mId, mName, mVersion, mAuthor, mDescription;
|
||||
private int mVersionCode = 0;
|
||||
private int mVersionCode = 0, templateVersion = 0;
|
||||
|
||||
protected BaseModule() {}
|
||||
|
||||
@@ -22,6 +22,7 @@ public abstract class BaseModule implements Comparable<BaseModule> {
|
||||
mVersionCode = c.getInt(c.getColumnIndex("versionCode"));
|
||||
mAuthor = c.getString(c.getColumnIndex("author"));
|
||||
mDescription = c.getString(c.getColumnIndex("description"));
|
||||
templateVersion = c.getInt(c.getColumnIndex("template"));
|
||||
}
|
||||
|
||||
protected void parseProps(List<String> props) throws CacheModException { parseProps(props.toArray(new String[props.size()])); }
|
||||
@@ -57,6 +58,10 @@ public abstract class BaseModule implements Comparable<BaseModule> {
|
||||
case "description":
|
||||
mDescription = prop[1];
|
||||
break;
|
||||
case "template":
|
||||
try {
|
||||
templateVersion = Integer.parseInt(prop[1]);
|
||||
} catch (NumberFormatException ignored) {}
|
||||
case "cacheModule":
|
||||
if (Boolean.parseBoolean(prop[1]))
|
||||
throw new CacheModException(mId);
|
||||
@@ -99,6 +104,10 @@ public abstract class BaseModule implements Comparable<BaseModule> {
|
||||
return mVersionCode;
|
||||
}
|
||||
|
||||
public int getTemplateVersion() {
|
||||
return templateVersion;
|
||||
}
|
||||
|
||||
public static class CacheModException extends Exception {
|
||||
public CacheModException(String id) {
|
||||
Logger.error("Cache mods are no longer supported! id: " + id);
|
||||
|
@@ -53,6 +53,7 @@ public class Repo extends BaseModule {
|
||||
values.put("description", getDescription());
|
||||
values.put("repo_name", repoName);
|
||||
values.put("last_update", mLastUpdate.getTime());
|
||||
values.put("template", getTemplateVersion());
|
||||
return values;
|
||||
}
|
||||
|
||||
|
@@ -91,10 +91,12 @@ public class Utils {
|
||||
isDownloading = true;
|
||||
|
||||
DownloadManager downloadManager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
|
||||
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(link));
|
||||
request.setDestinationUri(Uri.fromFile(file));
|
||||
|
||||
receiver.setDownloadID(downloadManager.enqueue(request));
|
||||
if (link != null) {
|
||||
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(link));
|
||||
request.setDestinationUri(Uri.fromFile(file));
|
||||
receiver.setDownloadID(downloadManager.enqueue(request));
|
||||
}
|
||||
receiver.setFilename(filename);
|
||||
context.registerReceiver(receiver, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
|
||||
}
|
||||
|
@@ -14,7 +14,6 @@
|
||||
|
||||
<!--Status Fragment-->
|
||||
<string name="magisk_version">Nainstalován Magisk v%1$s</string>
|
||||
<string name="magisk_version_disable">Magisk v%1$s deaktivován</string>
|
||||
<string name="magisk_version_error">Magisk není nainstalován</string>
|
||||
|
||||
<string name="checking_for_updates">Kontrola aktualizací…</string>
|
||||
@@ -133,8 +132,6 @@
|
||||
<string name="settings_clear_cache_title">Smazat Uchovanou Mezipaměť</string>
|
||||
<string name="settings_clear_cache_summary">Smaže informace online použití v Mezipaměti, donutí aplikaci obnovit informace online</string>
|
||||
|
||||
<string name="settings_disable_title">Zakázat Magisk</string>
|
||||
<string name="settings_disable_summary">Všechno kromě rootu (MagiskSU) bude deaktivováno</string>
|
||||
<string name="settings_magiskhide_summary">Skryje root (MagiskSU) před různými aplikacemi</string>
|
||||
<string name="settings_busybox_title">Povolit BusyBox</string>
|
||||
<string name="settings_busybox_summary">Nasadí vestavěný Magisk busybox do xbin</string>
|
||||
@@ -193,5 +190,6 @@
|
||||
<string name="pid">PID:\u0020</string>
|
||||
<string name="target_uid">Cílové UID:\u0020</string>
|
||||
<string name="command">Příkaz:\u0020</string>
|
||||
<string name="settings_core_only_summary"></string>
|
||||
|
||||
</resources>
|
||||
|
@@ -17,7 +17,6 @@
|
||||
|
||||
<!--Status Fragment-->
|
||||
<string name="magisk_version">Magisk %1$s ist installiert</string>
|
||||
<string name="magisk_version_disable">Magisk %1$s ist deaktiviert</string>
|
||||
<string name="magisk_version_error">Magisk ist nicht installiert</string>
|
||||
|
||||
<string name="checking_for_updates">Suche nach Updates…</string>
|
||||
@@ -136,8 +135,6 @@
|
||||
<string name="settings_clear_cache_title">Repo-Cache löschen</string>
|
||||
<string name="settings_clear_cache_summary">Löscht die zwischengespeicherten Informationen der Online-Repos. Erzwingt eine Aktualisierung</string>
|
||||
|
||||
<string name="settings_disable_title">Magisk deaktivieren</string>
|
||||
<string name="settings_disable_summary">Deaktiviert alles außer den root-Zugang (MagiskSU)</string>
|
||||
<string name="settings_magiskhide_summary">Versteckt Magisk vor diversen Entdeckungsmethoden</string>
|
||||
<string name="settings_busybox_title">BusyBox aktivieren</string>
|
||||
<string name="settings_busybox_summary">Magisk\'s integriertes BusyBox nach xbin mounten</string>
|
||||
|
@@ -14,7 +14,6 @@
|
||||
|
||||
<!--Magisk Fragment-->
|
||||
<string name="magisk_version">Instalado Magisk v%1$s</string>
|
||||
<string name="magisk_version_disable">Magisk v%1$s está deshabilitado</string>
|
||||
<string name="magisk_version_error">Magisk no está instalado</string>
|
||||
|
||||
<string name="checking_for_updates">Comprobando actualizaciones…</string>
|
||||
@@ -126,8 +125,6 @@
|
||||
<string name="settings_clear_cache_title">Limpiar caché del repositorio</string>
|
||||
<string name="settings_clear_cache_summary">Limpiar la información en caché para los repositorios en línea, fuerza a la aplicación a actualizar en línea</string>
|
||||
|
||||
<string name="settings_disable_title">Deshabilitar Magisk</string>
|
||||
<string name="settings_disable_summary">Todo será desactivado excepto el root (MagiskSU)</string>
|
||||
<string name="settings_magiskhide_summary">Ocultar Magisk de varias detecciones</string>
|
||||
<string name="settings_busybox_title">Habilitar BusyBox</string>
|
||||
<string name="settings_busybox_summary">Montar el busybox interno de Magisk en xbin</string>
|
||||
|
181
app/src/main/res/values-fr/strings.xml
Normal file
181
app/src/main/res/values-fr/strings.xml
Normal file
@@ -0,0 +1,181 @@
|
||||
<resources>
|
||||
<!--Universal-->
|
||||
<!--Welcome Activity-->
|
||||
<string name="navigation_drawer_open">Ouvrir le menu de navigation</string>
|
||||
<string name="navigation_drawer_close">Fermer le menu de navigation</string>
|
||||
<string name="modules">Modules</string>
|
||||
<string name="downloads">Téléchargements</string>
|
||||
<string name="superuser">Superuser</string>
|
||||
<string name="log">Journal</string>
|
||||
<string name="settings">Paramètres</string>
|
||||
<string name="status">État</string>
|
||||
<string name="install">Installer</string>
|
||||
<!--Status Fragment-->
|
||||
<string name="magisk_version">Magisk v%1$s installée</string>
|
||||
<string name="magisk_version_core_only">Magisk v%1$s installée (Mode Core uniquement)</string>
|
||||
<string name="magisk_version_error">Magisk non installé</string>
|
||||
<string name="checking_for_updates">Vérification de mises à jour…</string>
|
||||
<string name="magisk_update_available">Magisk v%1$.1f disponible !</string>
|
||||
<string name="cannot_check_updates">Impossible de vérifier les mises à jour, pas d\'Internet ?</string>
|
||||
<string name="up_to_date">Dernière version %1$s installée</string>
|
||||
<string name="root_error">Rooté mais aucune permission root, non acceptée ?</string>
|
||||
<string name="not_rooted">Non rooté</string>
|
||||
<string name="proper_root">Correctement rooté</string>
|
||||
<string name="safetyNet_check_text">Appuyer pour lancer le contrôle SafetyNet</string>
|
||||
<string name="checking_safetyNet_status">Vérification de l\'état de SafetyNet…</string>
|
||||
<string name="safetyNet_connection_failed">Impossible de se connecter à l\'API Google</string>
|
||||
<string name="safetyNet_connection_suspended">La connexion à l\'API Google a été suspendue</string>
|
||||
<string name="safetyNet_error">Impossible de contrôler SafetyNet, pas d\'Internet?</string>
|
||||
<string name="safetyNet_fail">Échec SafetyNet: erreur de profil CTS</string>
|
||||
<string name="safetyNet_pass">SafetyNet réussi</string>
|
||||
<string name="root_info_warning">Fonctionnalités largement limitées</string>
|
||||
<!--Install Fragment-->
|
||||
<string name="auto_detect">(Auto) %1$s</string>
|
||||
<string name="cannot_auto_detect">(Auto détection impossible)</string>
|
||||
<string name="boot_image_title">Emplacement de l\'Image Boot</string>
|
||||
<string name="detect_button">Détection</string>
|
||||
<string name="advanced_settings_title">Paramètres avancés</string>
|
||||
<string name="keep_force_encryption">Garder le chiffrement forcé</string>
|
||||
<string name="keep_dm_verity">Garder dm-verity</string>
|
||||
<string name="current_magisk_title">Version Magisk Installée : %1$s</string>
|
||||
<string name="install_magisk_title">Dernière Version Magisk : %1$s</string>
|
||||
<string name="uninstall">Désinstaller</string>
|
||||
<string name="reboot_countdown">Redémarrage dans %1$d</string>
|
||||
<string name="uninstall_magisk_title">Désinstaller Magisk</string>
|
||||
<string name="uninstall_magisk_msg">Cela va supprimer tous les modules, MagiskSU et éventuellement chiffrer vos données si vous n\'êtes pas chiffré\nÊtes-vous sûr de vouloir continuer ?</string>
|
||||
<string name="version_none">(Aucune)</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 va être mis à jour au prochain redémarrage</string>
|
||||
<string name="remove_file_created">Le module va être supprimé au prochain redémarrage</string>
|
||||
<string name="remove_file_deleted">Le modufle ne va pas être supprimé au prochain redémarrage</string>
|
||||
<string name="disable_file_created">Le module va être désactivé au prochain redémarrage</string>
|
||||
<string name="disable_file_removed">Le module va être activé au prochain redémarrage</string>
|
||||
<string name="author">Créé par %1$s</string>
|
||||
<string name="fab_flash_zip">Flasher un Module Zip</string>
|
||||
<!--Repo Fragment-->
|
||||
<string name="update_available">Mise à jour disponible</string>
|
||||
<string name="installed">Installé</string>
|
||||
<string name="not_installed">Non installé</string>
|
||||
<!--Log Fragment-->
|
||||
<string name="menuSaveToSd">Enregistrer sur SD</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="log_is_empty">Journal vide</string>
|
||||
<string name="logs_save_failed">Impossible d\'écrire le journal sur la SD card:</string>
|
||||
<!--About Activity-->
|
||||
<string name="about">À propos</string>
|
||||
<string name="app_developers">Principaux développeurs</string>
|
||||
<string name="app_developers_"><![CDATA[App created by <a href="https://github.com/topjohnwu">topjohnwu</a> in collaboration with <a href="https://github.com/d8ahazard">Digitalhigh</a> and <a href="https://github.com/dvdandroid">Dvdandroid</a>.]]></string>
|
||||
<string name="app_changelog">Modifications de l\'application</string>
|
||||
<string name="translators" />
|
||||
<string name="app_version">Version de l\'application</string>
|
||||
<string name="app_source_code">Code source</string>
|
||||
<string name="donation">Dons</string>
|
||||
<string name="app_translators">Traducteurs de l\'application</string>
|
||||
<string name="support_thread">Sujet pour support</string>
|
||||
<!--Toasts, Dialogs-->
|
||||
<string name="permissionNotGranted">Cette fonctionnalité ne marchera pas sans la permission d\'écriture sur le stockage externe.</string>
|
||||
<string name="no_thanks">Non merci</string>
|
||||
<string name="yes">Oui</string>
|
||||
<string name="ok">OK</string>
|
||||
<string name="close">Fermer</string>
|
||||
<string name="repo_install_title">Installer %1$s</string>
|
||||
<string name="repo_install_msg">Voulez-vous installer %1$s ?</string>
|
||||
<string name="download_install">Télécharger & Installer</string>
|
||||
<string name="download">Télécharger</string>
|
||||
<string name="goto_install">Aller à la section \"Installer\"</string>
|
||||
<string name="download_file_error">Erreur de téléchargement du fichier</string>
|
||||
<string name="install_error">Échec de l\'installation !</string>
|
||||
<string name="invalid_zip">Ce zip n\'est pas un Module Magisk !!</string>
|
||||
<string name="reboot_title">Installation réussie !</string>
|
||||
<string name="reboot_msg">Voulez-vous redémarrer maintenant ?</string>
|
||||
<string name="reboot">Redémarrer</string>
|
||||
<string name="copying_msg">Copie du zip dans le répertoire temp</string>
|
||||
<string name="zip_install_progress_title">Installation</string>
|
||||
<string name="zip_unzip_msg">Décompression du fichier zip…</string>
|
||||
<string name="zip_process_msg">Exécution du fichier zip…</string>
|
||||
<string name="zip_install_progress_msg">Installation %1$s…</string>
|
||||
<string name="no_magisk_title">Magisk non installé !</string>
|
||||
<string name="no_magisk_msg">Voulez-vous télécharger et installer Magisk ?</string>
|
||||
<string name="downloading_toast">Téléchargement %1$s</string>
|
||||
<string name="magisk_update_title">Nouvelle mise à jour de Magisk disponible !</string>
|
||||
<string name="settings_reboot_toast">Redémarrer pour appliquer les changements</string>
|
||||
<string name="release_notes">Notes de version</string>
|
||||
<string name="repo_cache_cleared">Cache du dépôt effacé</string>
|
||||
<string name="safetyNet_hide_notice">Cette application utilise SafetyNet\nDéjà pris en charge par MagiskHide par défaut</string>
|
||||
<string name="start_magiskhide">Lancement de MagiskHide …</string>
|
||||
<string name="no_magisksu_title">MagiskSU non utilisé !</string>
|
||||
<string name="no_magisksu_msg">Vous n\'êtes pas rooté avec MagiskSU, utiliser uniquement MagiskHide peut ne pas suffire !\nCeci n\'est officiellement pas supporté et vous devriez avoir besoin d\'autres outils (ex : suhide) pour passer SafetyNet.</string>
|
||||
<string name="understand">Je comprends</string>
|
||||
<string name="process_error">Erreur d\'exécution</string>
|
||||
<string name="internal_storage">Le zip est stocké dans :\n[Internal Storage]%1$s</string>
|
||||
<string name="zip_process_title">Exécution</string>
|
||||
<string name="manual_boot_image">Veuillez sélectionner l\'image boot manuellement !</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_notification_title">Notification de mise à jour</string>
|
||||
<string name="settings_notification_summary">Afficher des notifications de mises à jour quand une nouvelle version est disponible</string>
|
||||
<string name="settings_clear_cache_title">Effacer le cache du dépôt</string>
|
||||
<string name="settings_clear_cache_summary">Effacer les informations en cache des dépôts en ligne, pour forcer une actualisation de l\'application</string>
|
||||
<string name="settings_core_only_title">Mode Magisk Core uniquement</string>
|
||||
<string name="settings_core_only_summary">Activer uniquement les fonctionnalités de base, tous les modules ne seront pas chargés. MagiskSU, MagiskHide, les hosts systemless et busybox restent activés</string>
|
||||
<string name="settings_magiskhide_summary">Masquer Magisk de diverses détections</string>
|
||||
<string name="settings_busybox_title">Activer BusyBox</string>
|
||||
<string name="settings_busybox_summary">Relier le busybox de Magisk à xbin</string>
|
||||
<string name="settings_hosts_title">Hosts systemless</string>
|
||||
<string name="settings_hosts_summary">Support hosts systemless pour les applications type Adblock</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_20">20 secondes</string>
|
||||
<string name="settings_su_request_30">30 secondes</string>
|
||||
<string name="settings_su_request_60">60 secondes</string>
|
||||
<string name="superuser_access">Accès Superuser</string>
|
||||
<string name="auto_response">Réponse automatique</string>
|
||||
<string name="request_timeout">Délai de requête</string>
|
||||
<string name="superuser_notification">Notification Superuser</string>
|
||||
<string name="request_timeout_summary">%1$s secondes</string>
|
||||
<string name="settings_development_category">Dévellopement de l\'application</string>
|
||||
<string name="settings_developer_logging_title">Activer le journal de débogage avancé</string>
|
||||
<string name="settings_developer_logging_summary">Cocher ceci pour activer la journalisation "verbose" (tout)</string>
|
||||
<string name="settings_shell_logging_title">Activer la journalisation de débogage de commande shell</string>
|
||||
<string name="settings_shell_logging_summary">Cocher ceci pour activer la journalisation de toutes les commandes shell et leurs données de sortie</string>
|
||||
<!--Superuser-->
|
||||
<string name="su_request_title">Requête Superuser</string>
|
||||
<string name="deny_with_str">Refuser%1$s</string>
|
||||
<string name="deny">Refuser</string>
|
||||
<string name="prompt">Demander</string>
|
||||
<string name="grant">Accepter</string>
|
||||
<string name="su_warning">Accepter un accès complet à votre appareil.\nRefuser si vous n\'êtes pas sûr!</string>
|
||||
<string name="forever">Toujours</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 Superuser</string>
|
||||
<string name="su_deny_toast">%1$s n\'a pas obtenu les droits Superuser</string>
|
||||
<string name="no_apps_found">Aucun application trouvée</string>
|
||||
<string name="su_snack_grant">Les droits Superuser de %1$s sont accordés</string>
|
||||
<string name="su_snack_deny">Les droits Superuser 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_snack_revoke">Les droits de %1$s sont annulés</string>
|
||||
<string name="su_revoke_title">Annuler ?</string>
|
||||
<string name="su_revoke_msg">Vous confirmez l\'annulation des droits pour %1$s ?</string>
|
||||
<string name="toast">Toast</string>
|
||||
<string name="none">Aucun</string>
|
||||
<!--Superuser logs-->
|
||||
<string name="pid">PID :\u0020</string>
|
||||
<string name="target_uid">Cible UID:\u0020</string>
|
||||
<string name="command">Commande :\u0020</string>
|
||||
</resources>
|
@@ -16,7 +16,6 @@
|
||||
|
||||
<string name="magisk_version">Versione Magisk: v%1$s</string>
|
||||
<string name="magisk_version_error">Hai installato Magisk?</string>
|
||||
<string name="magisk_version_disable">Magisk v%1$s disabilitato</string>
|
||||
<string name="checking_for_updates">Controlla aggiornamenti…</string>
|
||||
<string name="magisk_update_available">Magisk v%1$.1f update!</string>
|
||||
<string name="cannot_check_updates">Impossibile controllare aggiornamenti</string>
|
||||
@@ -135,8 +134,6 @@
|
||||
<string name="settings_clear_cache_title">Pulisci Cache Repo</string>
|
||||
<string name="settings_clear_cache_summary">Clear the cached information for online repos, forces the app to refresh online</string>
|
||||
|
||||
<string name="settings_disable_title">Disabilita Magisk</string>
|
||||
<string name="settings_disable_summary">Tutto sarà disattivato tranne il Root (MagiskSU)</string>
|
||||
<string name="settings_magiskhide_summary">Hide Magisk from various detections</string>
|
||||
<string name="settings_busybox_title">Abilita BusyBox</string>
|
||||
<string name="settings_busybox_summary">Bind mount Magisk\'s built-in busybox to xbin</string>
|
||||
|
@@ -14,7 +14,6 @@
|
||||
|
||||
<!--Status Fragment-->
|
||||
<string name="magisk_version">Magisk v%1$s 설치됨</string>
|
||||
<string name="magisk_version_disable">Magisk v%1$s 비활성화됨</string>
|
||||
<string name="magisk_version_error">Magisk가 설치되지 않음</string>
|
||||
|
||||
<string name="checking_for_updates">업데이트 확인 중…</string>
|
||||
@@ -124,8 +123,6 @@
|
||||
<string name="settings_clear_cache_title">저장소 캐시 비우기</string>
|
||||
<string name="settings_clear_cache_summary">온라인 저장소에 대해 캐시된 정보를 지우고, 온라인에서 정보를 강제로 새로 고칩니다.</string>
|
||||
|
||||
<string name="settings_disable_title">Magisk 비활성화</string>
|
||||
<string name="settings_disable_summary">루팅(MagiskSU)을 제외한 모든 것이 비활성화됩니다.</string>
|
||||
<string name="settings_magiskhide_summary">다양한 감지로부터 Magisk를 숨깁니다.</string>
|
||||
<string name="settings_busybox_title">BusyBox 사용</string>
|
||||
<string name="settings_busybox_summary">xbin 디렉터리에 Magisk의 빌트인 busybox를 바인드합니다.</string>
|
||||
|
@@ -17,7 +17,6 @@
|
||||
|
||||
<!--Status Fragment-->
|
||||
<string name="magisk_version">Zainstalowany Magisk v%1$s</string>
|
||||
<string name="magisk_version_disable">Magisk v%1$s wyłaczony</string>
|
||||
<string name="magisk_version_error">Magisk nie jest zainstalowany</string>
|
||||
|
||||
<string name="checking_for_updates">Sprawdzanie aktualizacji…</string>
|
||||
@@ -136,8 +135,6 @@
|
||||
<string name="settings_clear_cache_title">Wyczyść Pamięć Repozytorium</string>
|
||||
<string name="settings_clear_cache_summary">Wymusza na aplikacji odświeżenie online repozytorium</string>
|
||||
|
||||
<string name="settings_disable_title">Wyłącz Magisk</string>
|
||||
<string name="settings_disable_summary">Wszystko zostanie wyłączone za wyjątkiem roota (MagiskSU)</string>
|
||||
<string name="settings_magiskhide_summary">Włącz Hide Magisk dla wykrytych aplikacji</string>
|
||||
<string name="settings_busybox_title">Włącz BusyBox</string>
|
||||
<string name="settings_busybox_summary">Zmień montowanie Magisk z wbudowanego busybox do xbin</string>
|
||||
|
@@ -180,8 +180,6 @@
|
||||
<string name="pid">PID:\u0020</string>
|
||||
<string name="target_uid">Alvo UID:\u0020</string>
|
||||
<string name="command">Comando:\u0020</string>
|
||||
<string name="settings_disable_title">Desativar Magic Mount</string>
|
||||
<string name="settings_disable_summary">Desativa Magic Mount, Isso impedirá que todos os módulos funcionem</string>
|
||||
|
||||
|
||||
|
||||
|
||||
</resources>
|
||||
|
@@ -12,7 +12,6 @@
|
||||
|
||||
<!--Status Fragment-->
|
||||
<string name="magisk_version">Установлен Magisk v%1$s</string>
|
||||
<string name="magisk_version_disable">Magisk v%1$s выключен</string>
|
||||
<string name="magisk_version_error">Magisk не установлен</string>
|
||||
|
||||
<string name="checking_for_updates">Проверка обновлений…</string>
|
||||
@@ -119,8 +118,6 @@
|
||||
<string name="settings_clear_cache_title">Очистить кэш репозиториев</string>
|
||||
<string name="settings_clear_cache_summary">Удалить сохранённую информацию о сетевых репозиториях, чтобы приложение обновило информацию из сети</string>
|
||||
|
||||
<string name="settings_disable_title">Отключить Magisk</string>
|
||||
<string name="settings_disable_summary">Будет выключено все, кроме рута (MagiskSU)</string>
|
||||
<string name="settings_magiskhide_summary">Скрыть Magisk от различных проверок</string>
|
||||
<string name="settings_busybox_title">Включить BusyBox</string>
|
||||
<string name="settings_busybox_summary">Примонтировать встроенный busybox из Magisk в xbin</string>
|
||||
|
@@ -12,8 +12,7 @@
|
||||
|
||||
<!--Status Fragment-->
|
||||
<string name="magisk_version">Magisk v%1$s yüklü</string>
|
||||
<string name="magisk_version_disable">Magisk v%1$s devre dışı</string>
|
||||
<string name="magisk_version_error">Magisk yüklü değil</string>
|
||||
<string name="magisk_version_error">Magisk yüklü değil</string>
|
||||
|
||||
<string name="checking_for_updates">Güncelleştirmeler denetleniyor…</string>
|
||||
<string name="magisk_update_available">Magisk v%1$.1f mevcut!</string>
|
||||
@@ -131,9 +130,7 @@
|
||||
<string name="settings_clear_cache_title">Repo Önbelleğini Temizle</string>
|
||||
<string name="settings_clear_cache_summary">Çevrimiçi repolar için önbellek bilgilerini temizle, uygulamayı çevrimiçi yenilemeye zorla</string>
|
||||
|
||||
<string name="settings_disable_title">"Magisk'i devre dışı bırak"</string>
|
||||
<string name="settings_disable_summary">Root (MagiskSU) dışında her şey devre dışı bırakılır</string>
|
||||
<string name="settings_magiskhide_summary">"Magisk'i çeşitli algılamalardan gizle"</string>
|
||||
<string name="settings_magiskhide_summary">"Magisk'i çeşitli algılamalardan gizle"</string>
|
||||
<string name="settings_busybox_title">"BusyBox'ı etkinleştir"</string>
|
||||
<string name="settings_busybox_summary">"Magisk'in dahili busybox'ını xbin'e bağla"</string>
|
||||
<string name="settings_hosts_title">Sistemsiz host</string>
|
||||
|
@@ -1,12 +1,9 @@
|
||||
<resources>
|
||||
<!--Universal-->
|
||||
<string name="app_name" translatable="false">Magisk Manager</string>
|
||||
<string name="magisk" translatable="false">Magisk</string>
|
||||
|
||||
<!--Welcome Activity-->
|
||||
<string name="navigation_drawer_open">Mở thanh điều hướng</string>
|
||||
<string name="navigation_drawer_close">Đóng thanh điều hướng</string>
|
||||
<string name="magiskhide" translatable="false">Magisk Hide</string>
|
||||
<string name="modules">Mô-đun</string>
|
||||
<string name="downloads">Tải xuống</string>
|
||||
<string name="superuser">Superuser</string>
|
||||
@@ -17,7 +14,6 @@
|
||||
|
||||
<!--Status Fragment-->
|
||||
<string name="magisk_version">Đã cài Magisk v%1$s</string>
|
||||
<string name="magisk_version_disable">Magisk v%1$s disabled</string>
|
||||
<string name="magisk_version_error">Magisk chưa được cài đặt</string>
|
||||
|
||||
<string name="checking_for_updates">Đang kiểm tra cập nhật…</string>
|
||||
@@ -136,8 +132,6 @@
|
||||
<string name="settings_clear_cache_title">Xoá bộ đệm kho</string>
|
||||
<string name="settings_clear_cache_summary">Xoá thông tin truy cập nhật về các kho mô-đun, buộc ứng dụng làm mới trực tuyến</string>
|
||||
|
||||
<string name="settings_disable_title">Vô hiệu Magisk</string>
|
||||
<string name="settings_disable_summary">Vô hiệu tất cả trừ root (MagiskSU)</string>
|
||||
<string name="settings_magiskhide_summary">Ẩn Magisk khỏi nhiều phương thức phát hiện</string>
|
||||
<string name="settings_busybox_title">Dùng BusyBox</string>
|
||||
<string name="settings_busybox_summary">Gắn kết busy có sẵn của Magisk tới xbin</string>
|
||||
|
@@ -14,7 +14,7 @@
|
||||
|
||||
<!--Status Fragment-->
|
||||
<string name="magisk_version">已安装 Magisk v%1$s</string>
|
||||
<string name="magisk_version_disable">已禁用 Magisk v%1$s</string>
|
||||
<string name="magisk_version_core_only">已安装 Magisk v%1$s (仅核心功能)</string>
|
||||
<string name="magisk_version_error">未安装 Magisk</string>
|
||||
|
||||
<string name="checking_for_updates">正在检查更新…</string>
|
||||
@@ -128,8 +128,7 @@
|
||||
<string name="settings_clear_cache_title">清除资源库缓存</string>
|
||||
<string name="settings_clear_cache_summary">清除已缓存的在线资源库信息,强制刷新在线数据</string>
|
||||
|
||||
<string name="settings_disable_title">禁用 Magisk</string>
|
||||
<string name="settings_disable_summary">除 ROOT (MagiskSU) 以外,其他都将被禁用</string>
|
||||
<string name="settings_core_only_summary">仅启用核心功能,所有模组将不会被载入。MagiskSU丶MagiskHide丶systemless hosts丶和 busybox 仍会持续运作</string>
|
||||
<string name="settings_magiskhide_summary">隐藏 Magisk 使其不被多种方法检测到</string>
|
||||
<string name="settings_busybox_title">启用 BusyBox</string>
|
||||
<string name="settings_busybox_summary">将 Magisk 内置的 Busybox 挂载到 xbin</string>
|
||||
@@ -188,5 +187,6 @@
|
||||
<string name="pid">PID:\u0020</string>
|
||||
<string name="target_uid">目标 UID:\u0020</string>
|
||||
<string name="command">命令:\u0020</string>
|
||||
<string name="settings_core_only_title">Magisk 核心功能模式</string>
|
||||
|
||||
</resources>
|
||||
|
@@ -14,7 +14,6 @@
|
||||
|
||||
<!--Status Fragment-->
|
||||
<string name="magisk_version">已安裝 Magisk v%1$s</string>
|
||||
<string name="magisk_version_disable">已禁用 Magisk v%1$s</string>
|
||||
<string name="magisk_version_error">未安裝 Magisk</string>
|
||||
|
||||
<string name="checking_for_updates">正在檢查更新…</string>
|
||||
@@ -120,8 +119,7 @@
|
||||
<string name="settings_clear_cache_title">清除資源庫快取</string>
|
||||
<string name="settings_clear_cache_summary">清除已暫存的在線資源庫快取,強制刷新在線數據</string>
|
||||
|
||||
<string name="settings_disable_title">禁用 Magisk</string>
|
||||
<string name="settings_disable_summary">除 ROOT (MagiskSU) 以外,其他都將被禁用</string>
|
||||
<string name="settings_core_only_title">Magisk 核心功能模式</string>
|
||||
<string name="settings_magiskhide_summary">隱藏 Magisk 使其不被多種方法檢測到</string>
|
||||
<string name="settings_busybox_title">啟用 BusyBox</string>
|
||||
<string name="settings_busybox_summary">將 Magisk 內置的 Busybox 掛載到 xbin</string>
|
||||
@@ -193,5 +191,7 @@
|
||||
<string name="cannot_auto_detect">(無法自動偵測)</string>
|
||||
<string name="settings_notification_summary">有更新的時候顯示通知</string>
|
||||
<string name="settings_notification_title">更新通知</string>
|
||||
<string name="magisk_version_core_only">已安裝 Magisk v%1$s (僅核心功能)</string>
|
||||
<string name="settings_core_only_summary">僅啟用核心功能,所有模組將不會被載入。MagiskSU、MagiskHide、systemless hosts、和 busybox 仍會持續運作</string>
|
||||
|
||||
</resources>
|
||||
|
@@ -17,7 +17,7 @@
|
||||
|
||||
<!--Status Fragment-->
|
||||
<string name="magisk_version">Installed Magisk v%1$s</string>
|
||||
<string name="magisk_version_disable">Magisk v%1$s disabled</string>
|
||||
<string name="magisk_version_core_only">Installed Magisk v%1$s (Core Only Mode)</string>
|
||||
<string name="magisk_version_error">Magisk not installed</string>
|
||||
|
||||
<string name="checking_for_updates">Checking for updates…</string>
|
||||
@@ -136,8 +136,8 @@
|
||||
<string name="settings_clear_cache_title">Clear Repo Cache</string>
|
||||
<string name="settings_clear_cache_summary">Clear the cached information for online repos, forces the app to refresh online</string>
|
||||
|
||||
<string name="settings_disable_title">Disable Magisk</string>
|
||||
<string name="settings_disable_summary">Everything will be disabled except root (MagiskSU)</string>
|
||||
<string name="settings_core_only_title">Magisk Core Only Mode</string>
|
||||
<string name="settings_core_only_summary">Enable only core features, all modules will not be loaded. MagiskSU, MagiskHide, systemless hosts, and busybox will still be enabled</string>
|
||||
<string name="settings_magiskhide_summary">Hide Magisk from various detections</string>
|
||||
<string name="settings_busybox_title">Enable BusyBox</string>
|
||||
<string name="settings_busybox_summary">Bind mount Magisk\'s built-in busybox to xbin</string>
|
||||
|
@@ -10,7 +10,7 @@
|
||||
android:summary="@string/settings_dark_theme_summary"
|
||||
android:key="dark_theme" />
|
||||
|
||||
<CheckBoxPreference
|
||||
<SwitchPreference
|
||||
android:title="@string/settings_notification_title"
|
||||
android:summary="@string/settings_notification_summary"
|
||||
android:key="notification" />
|
||||
@@ -28,8 +28,8 @@
|
||||
|
||||
<CheckBoxPreference
|
||||
android:key="disable"
|
||||
android:title="@string/settings_disable_title"
|
||||
android:summary="@string/settings_disable_summary" />
|
||||
android:title="@string/settings_core_only_title"
|
||||
android:summary="@string/settings_core_only_summary" />
|
||||
|
||||
<SwitchPreference
|
||||
android:key="busybox"
|
||||
|
Reference in New Issue
Block a user