tunnel: remove kernel module downloader
Nathan Chance dropped the ball repeatedly and never maintained this in a consistent way that anybody could use. With Android 12 out now, just drop it all together. A bummer, but I don't see much of a choice. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
@@ -21,7 +21,6 @@ import com.wireguard.android.backend.GoBackend
|
||||
import com.wireguard.android.backend.WgQuickBackend
|
||||
import com.wireguard.android.configStore.FileConfigStore
|
||||
import com.wireguard.android.model.TunnelManager
|
||||
import com.wireguard.android.util.ModuleLoader
|
||||
import com.wireguard.android.util.RootShell
|
||||
import com.wireguard.android.util.ToolsInstaller
|
||||
import com.wireguard.android.util.UserKnobs
|
||||
@@ -42,7 +41,6 @@ class Application : android.app.Application() {
|
||||
private val futureBackend = CompletableDeferred<Backend>()
|
||||
private val coroutineScope = CoroutineScope(Job() + Dispatchers.Main.immediate)
|
||||
private var backend: Backend? = null
|
||||
private lateinit var moduleLoader: ModuleLoader
|
||||
private lateinit var rootShell: RootShell
|
||||
private lateinit var preferencesDataStore: DataStore<Preferences>
|
||||
private lateinit var toolsInstaller: ToolsInstaller
|
||||
@@ -67,15 +65,7 @@ class Application : android.app.Application() {
|
||||
private suspend fun determineBackend(): Backend {
|
||||
var backend: Backend? = null
|
||||
var didStartRootShell = false
|
||||
if (!ModuleLoader.isModuleLoaded() && moduleLoader.moduleMightExist()) {
|
||||
try {
|
||||
rootShell.start()
|
||||
didStartRootShell = true
|
||||
moduleLoader.loadModule()
|
||||
} catch (ignored: Exception) {
|
||||
}
|
||||
}
|
||||
if (!UserKnobs.disableKernelModule.first() && ModuleLoader.isModuleLoaded()) {
|
||||
if (UserKnobs.enableKernelModule.first() && WgQuickBackend.hasKernelSupport()) {
|
||||
try {
|
||||
if (!didStartRootShell)
|
||||
rootShell.start()
|
||||
@@ -100,7 +90,6 @@ class Application : android.app.Application() {
|
||||
super.onCreate()
|
||||
rootShell = RootShell(applicationContext)
|
||||
toolsInstaller = ToolsInstaller(applicationContext, rootShell)
|
||||
moduleLoader = ModuleLoader(applicationContext, rootShell, USER_AGENT)
|
||||
preferencesDataStore = PreferenceDataStoreFactory.create { applicationContext.preferencesDataStoreFile("settings") }
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
|
||||
coroutineScope.launch {
|
||||
@@ -140,9 +129,6 @@ class Application : android.app.Application() {
|
||||
@JvmStatic
|
||||
suspend fun getBackend() = get().futureBackend.await()
|
||||
|
||||
@JvmStatic
|
||||
fun getModuleLoader() = get().moduleLoader
|
||||
|
||||
@JvmStatic
|
||||
fun getRootShell() = get().rootShell
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@ import com.wireguard.android.R
|
||||
import com.wireguard.android.backend.WgQuickBackend
|
||||
import com.wireguard.android.preference.PreferencesPreferenceDataStore
|
||||
import com.wireguard.android.util.AdminKnobs
|
||||
import com.wireguard.android.util.ModuleLoader
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
@@ -79,30 +78,19 @@ class SettingsActivity : ThemeChangeAwareActivity() {
|
||||
startActivity(Intent(requireContext(), LogViewerActivity::class.java))
|
||||
true
|
||||
}
|
||||
val moduleInstaller = preferenceManager.findPreference<Preference>("module_downloader")
|
||||
val kernelModuleDisabler = preferenceManager.findPreference<Preference>("kernel_module_disabler")
|
||||
moduleInstaller?.isVisible = false
|
||||
if (ModuleLoader.isModuleLoaded()) {
|
||||
moduleInstaller?.parent?.removePreference(moduleInstaller)
|
||||
val kernelModuleEnabler = preferenceManager.findPreference<Preference>("kernel_module_enabler")
|
||||
if (WgQuickBackend.hasKernelSupport()) {
|
||||
lifecycleScope.launch {
|
||||
if (Application.getBackend() !is WgQuickBackend) {
|
||||
try {
|
||||
withContext(Dispatchers.IO) { Application.getRootShell().start() }
|
||||
} catch (_: Throwable) {
|
||||
kernelModuleDisabler?.parent?.removePreference(kernelModuleDisabler)
|
||||
kernelModuleEnabler?.parent?.removePreference(kernelModuleEnabler)
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
kernelModuleDisabler?.parent?.removePreference(kernelModuleDisabler)
|
||||
lifecycleScope.launch {
|
||||
try {
|
||||
withContext(Dispatchers.IO) { Application.getRootShell().start() }
|
||||
moduleInstaller?.isVisible = true
|
||||
} catch (_: Throwable) {
|
||||
moduleInstaller?.parent?.removePreference(moduleInstaller)
|
||||
}
|
||||
}
|
||||
kernelModuleEnabler?.parent?.removePreference(kernelModuleEnabler)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+8
-8
@@ -26,7 +26,7 @@ import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
import kotlin.system.exitProcess
|
||||
|
||||
class KernelModuleDisablerPreference(context: Context, attrs: AttributeSet?) : Preference(context, attrs) {
|
||||
class KernelModuleEnablerPreference(context: Context, attrs: AttributeSet?) : Preference(context, attrs) {
|
||||
private var state = State.UNKNOWN
|
||||
|
||||
init {
|
||||
@@ -44,10 +44,10 @@ class KernelModuleDisablerPreference(context: Context, attrs: AttributeSet?) : P
|
||||
activity.lifecycleScope.launch {
|
||||
if (state == State.DISABLED) {
|
||||
setState(State.ENABLING)
|
||||
UserKnobs.setDisableKernelModule(false)
|
||||
UserKnobs.setEnableKernelModule(true)
|
||||
} else if (state == State.ENABLED) {
|
||||
setState(State.DISABLING)
|
||||
UserKnobs.setDisableKernelModule(true)
|
||||
UserKnobs.setEnableKernelModule(false)
|
||||
}
|
||||
val observableTunnels = Application.getTunnelManager().getTunnels()
|
||||
val downings = observableTunnels.map { async(SupervisorJob()) { it.setStateAsync(Tunnel.State.DOWN) } }
|
||||
@@ -76,13 +76,13 @@ class KernelModuleDisablerPreference(context: Context, attrs: AttributeSet?) : P
|
||||
|
||||
private enum class State(val titleResourceId: Int, val summaryResourceId: Int, val shouldEnableView: Boolean, val visible: Boolean) {
|
||||
UNKNOWN(0, 0, false, false),
|
||||
ENABLED(R.string.module_disabler_enabled_title, R.string.module_disabler_enabled_summary, true, true),
|
||||
DISABLED(R.string.module_disabler_disabled_title, R.string.module_disabler_disabled_summary, true, true),
|
||||
ENABLING(R.string.module_disabler_disabled_title, R.string.success_application_will_restart, false, true),
|
||||
DISABLING(R.string.module_disabler_enabled_title, R.string.success_application_will_restart, false, true);
|
||||
ENABLED(R.string.module_enabler_enabled_title, R.string.module_enabler_enabled_summary, true, true),
|
||||
DISABLED(R.string.module_enabler_disabled_title, R.string.module_enabler_disabled_summary, true, true),
|
||||
ENABLING(R.string.module_enabler_disabled_title, R.string.success_application_will_restart, false, true),
|
||||
DISABLING(R.string.module_enabler_enabled_title, R.string.success_application_will_restart, false, true);
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val TAG = "WireGuard/KernelModuleDisablerPreference"
|
||||
private const val TAG = "WireGuard/KernelModuleEnablerPreference"
|
||||
}
|
||||
}
|
||||
@@ -1,70 +0,0 @@
|
||||
/*
|
||||
* Copyright © 2019 WireGuard LLC. All Rights Reserved.
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
package com.wireguard.android.preference
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.system.OsConstants
|
||||
import android.util.AttributeSet
|
||||
import android.widget.Toast
|
||||
import androidx.preference.Preference
|
||||
import com.wireguard.android.Application
|
||||
import com.wireguard.android.R
|
||||
import com.wireguard.android.activity.SettingsActivity
|
||||
import com.wireguard.android.util.ErrorMessages
|
||||
import com.wireguard.android.util.UserKnobs
|
||||
import com.wireguard.android.util.lifecycleScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
import kotlin.system.exitProcess
|
||||
|
||||
class ModuleDownloaderPreference(context: Context, attrs: AttributeSet?) : Preference(context, attrs) {
|
||||
private var state = State.INITIAL
|
||||
override fun getSummary() = context.getString(state.messageResourceId)
|
||||
|
||||
override fun getTitle() = context.getString(R.string.module_installer_title)
|
||||
|
||||
override fun onClick() {
|
||||
setState(State.WORKING)
|
||||
lifecycleScope.launch {
|
||||
try {
|
||||
when (withContext(Dispatchers.IO) { Application.getModuleLoader().download() }) {
|
||||
OsConstants.ENOENT -> setState(State.NOTFOUND)
|
||||
OsConstants.EXIT_SUCCESS -> {
|
||||
setState(State.SUCCESS)
|
||||
UserKnobs.setDisableKernelModule(null)
|
||||
withContext(Dispatchers.IO) {
|
||||
val restartIntent = Intent(context, SettingsActivity::class.java)
|
||||
restartIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
|
||||
restartIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
Application.get().startActivity(restartIntent)
|
||||
exitProcess(0)
|
||||
}
|
||||
}
|
||||
else -> setState(State.FAILURE)
|
||||
}
|
||||
} catch (e: Throwable) {
|
||||
setState(State.FAILURE)
|
||||
Toast.makeText(context, ErrorMessages[e], Toast.LENGTH_LONG).show()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun setState(state: State) {
|
||||
if (this.state == state) return
|
||||
this.state = state
|
||||
if (isEnabled != state.shouldEnableView) isEnabled = state.shouldEnableView
|
||||
notifyChanged()
|
||||
}
|
||||
|
||||
private enum class State(val messageResourceId: Int, val shouldEnableView: Boolean) {
|
||||
INITIAL(R.string.module_installer_initial, true),
|
||||
FAILURE(R.string.module_installer_error, true),
|
||||
WORKING(R.string.module_installer_working, false),
|
||||
SUCCESS(R.string.success_application_will_restart, false),
|
||||
NOTFOUND(R.string.module_installer_not_found, false);
|
||||
}
|
||||
}
|
||||
@@ -14,18 +14,18 @@ import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.map
|
||||
|
||||
object UserKnobs {
|
||||
private val DISABLE_KERNEL_MODULE = booleanPreferencesKey("disable_kernel_module")
|
||||
val disableKernelModule: Flow<Boolean>
|
||||
private val ENABLE_KERNEL_MODULE = booleanPreferencesKey("enable_kernel_module")
|
||||
val enableKernelModule: Flow<Boolean>
|
||||
get() = Application.getPreferencesDataStore().data.map {
|
||||
it[DISABLE_KERNEL_MODULE] ?: false
|
||||
it[ENABLE_KERNEL_MODULE] ?: false
|
||||
}
|
||||
|
||||
suspend fun setDisableKernelModule(disable: Boolean?) {
|
||||
suspend fun setEnableKernelModule(enable: Boolean?) {
|
||||
Application.getPreferencesDataStore().edit {
|
||||
if (disable == null)
|
||||
it.remove(DISABLE_KERNEL_MODULE)
|
||||
if (enable == null)
|
||||
it.remove(ENABLE_KERNEL_MODULE)
|
||||
else
|
||||
it[DISABLE_KERNEL_MODULE] = disable
|
||||
it[ENABLE_KERNEL_MODULE] = enable
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -142,9 +142,9 @@
|
||||
<string name="log_viewer_pref_title">Mostra el registre d\'aplicació</string>
|
||||
<string name="log_viewer_title">Registre</string>
|
||||
<string name="logcat_error">No es pot executar logcat: </string>
|
||||
<string name="module_disabler_disabled_summary">El mòdul experimental del kernel pot millorar el rendiment</string>
|
||||
<string name="module_disabler_disabled_title">Activa el backend del mòdul del kernel</string>
|
||||
<string name="module_disabler_enabled_title">Desactiva el backend del mòdul del kernel</string>
|
||||
<string name="module_enabler_disabled_summary">El mòdul experimental del kernel pot millorar el rendiment</string>
|
||||
<string name="module_enabler_disabled_title">Activa el backend del mòdul del kernel</string>
|
||||
<string name="module_enabler_enabled_title">Desactiva el backend del mòdul del kernel</string>
|
||||
<string name="module_installer_error">Alguna cosa ha anat malament. Si us plau, prova de nou</string>
|
||||
<string name="module_installer_not_found">El vostre dispositiu no té mòduls disponibles</string>
|
||||
<string name="module_installer_title">Descàrega i instala el mòdul kernel</string>
|
||||
|
||||
@@ -119,9 +119,9 @@
|
||||
<string name="log_viewer_pref_title">Zobrazit log aplikace</string>
|
||||
<string name="log_viewer_title">Log</string>
|
||||
<string name="logcat_error">Nelze spustit logcat: </string>
|
||||
<string name="module_disabler_disabled_summary">Experimentální kernel modul může zlepšit výkon</string>
|
||||
<string name="module_disabler_disabled_title">Povolit backend kernel modulu</string>
|
||||
<string name="module_disabler_enabled_title">Vypnout backend kernel modulu</string>
|
||||
<string name="module_enabler_disabled_summary">Experimentální kernel modul může zlepšit výkon</string>
|
||||
<string name="module_enabler_disabled_title">Povolit backend kernel modulu</string>
|
||||
<string name="module_enabler_enabled_title">Vypnout backend kernel modulu</string>
|
||||
<string name="module_installer_error">Něco se pokazilo. Zkuste to prosím znovu</string>
|
||||
<string name="module_installer_initial">Experimentální kernel modul může zlepšit výkon</string>
|
||||
<string name="module_installer_not_found">Pro toto zařízení nejsou dostupné žádné moduly</string>
|
||||
|
||||
@@ -142,10 +142,10 @@
|
||||
<string name="log_viewer_pref_title">Anwendungs-Protokoll anzeigen</string>
|
||||
<string name="log_viewer_title">Protokoll</string>
|
||||
<string name="logcat_error">Konnte logcat nicht ausführen: </string>
|
||||
<string name="module_disabler_disabled_summary">Das experimentelle Kernelmodul kann die Leistung verbessern</string>
|
||||
<string name="module_disabler_disabled_title">Kernelmodul-Backend aktivieren</string>
|
||||
<string name="module_disabler_enabled_summary">Das langsamere Userspace-Backend kann die Stabilität verbessern</string>
|
||||
<string name="module_disabler_enabled_title">Kernelmodul-Backend deaktivieren</string>
|
||||
<string name="module_enabler_disabled_summary">Das experimentelle Kernelmodul kann die Leistung verbessern</string>
|
||||
<string name="module_enabler_disabled_title">Kernelmodul-Backend aktivieren</string>
|
||||
<string name="module_enabler_enabled_summary">Das langsamere Userspace-Backend kann die Stabilität verbessern</string>
|
||||
<string name="module_enabler_enabled_title">Kernelmodul-Backend deaktivieren</string>
|
||||
<string name="module_installer_error">Es ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut</string>
|
||||
<string name="module_installer_initial">Das experimentelle Kernelmodul kann die Leistung verbessern</string>
|
||||
<string name="module_installer_not_found">Für Ihr Gerät sind keine Module verfügbar</string>
|
||||
|
||||
@@ -142,10 +142,10 @@
|
||||
<string name="log_viewer_pref_title">Ver registro de aplicación</string>
|
||||
<string name="log_viewer_title">Registro</string>
|
||||
<string name="logcat_error">No se puede ejecutar logcat: </string>
|
||||
<string name="module_disabler_disabled_summary">El módulo experimental del kernel puede mejorar el rendimiento</string>
|
||||
<string name="module_disabler_disabled_title">Habilitar backend del módulo del kernel</string>
|
||||
<string name="module_disabler_enabled_summary">El backend más lento del espacio de usuario puede mejorar la estabilidad</string>
|
||||
<string name="module_disabler_enabled_title">Desactivar backend del módulo del kernel</string>
|
||||
<string name="module_enabler_disabled_summary">El módulo experimental del kernel puede mejorar el rendimiento</string>
|
||||
<string name="module_enabler_disabled_title">Habilitar backend del módulo del kernel</string>
|
||||
<string name="module_enabler_enabled_summary">El backend más lento del espacio de usuario puede mejorar la estabilidad</string>
|
||||
<string name="module_enabler_enabled_title">Desactivar backend del módulo del kernel</string>
|
||||
<string name="module_installer_error">Ocurrió un error. Intente de nuevo</string>
|
||||
<string name="module_installer_initial">El módulo experimental del kernel puede mejorar el rendimiento</string>
|
||||
<string name="module_installer_not_found">No hay módulos disponibles para tu dispositivo</string>
|
||||
|
||||
@@ -142,10 +142,10 @@
|
||||
<string name="log_viewer_pref_title">نمایش گزارش رویداد برنامه</string>
|
||||
<string name="log_viewer_title">گزارش رویداد</string>
|
||||
<string name="logcat_error">نمیتوان logcat را اجرا کرد: </string>
|
||||
<string name="module_disabler_disabled_summary">ماژول آزمایشیِ کرنل می تواند کارایی را افزایش دهد</string>
|
||||
<string name="module_disabler_disabled_title">فعالسازی ماژول کرنل ِبک اند</string>
|
||||
<string name="module_disabler_enabled_summary">فضای کاربری کند ممکن است پایداری را بهبود ببخشد</string>
|
||||
<string name="module_disabler_enabled_title">غیرفعالسازی پسزمینه واحد هسته</string>
|
||||
<string name="module_enabler_disabled_summary">ماژول آزمایشیِ کرنل می تواند کارایی را افزایش دهد</string>
|
||||
<string name="module_enabler_disabled_title">فعالسازی ماژول کرنل ِبک اند</string>
|
||||
<string name="module_enabler_enabled_summary">فضای کاربری کند ممکن است پایداری را بهبود ببخشد</string>
|
||||
<string name="module_enabler_enabled_title">غیرفعالسازی پسزمینه واحد هسته</string>
|
||||
<string name="module_installer_error">مشکلی پیش آمد. لطفا دوباره تلاش کنید</string>
|
||||
<string name="module_installer_initial">ماژول آزمایشیِ کرنل می تواند کارایی را افزایش دهد</string>
|
||||
<string name="module_installer_not_found">هیچ واحدی برای دستگاه شما در دسترس نیست</string>
|
||||
|
||||
@@ -142,10 +142,10 @@
|
||||
<string name="log_viewer_pref_title">Afficher le journal de l\'application</string>
|
||||
<string name="log_viewer_title">Journal</string>
|
||||
<string name="logcat_error">Impossible d\'exécuter logcat : </string>
|
||||
<string name="module_disabler_disabled_summary">Le module expérimental du noyau peut améliorer les performances</string>
|
||||
<string name="module_disabler_disabled_title">Activer le backend du module du noyau</string>
|
||||
<string name="module_disabler_enabled_summary">Le backend plus lent de l\'espace utilisateur peut améliorer la stabilité</string>
|
||||
<string name="module_disabler_enabled_title">Désactiver le backend du module du noyau</string>
|
||||
<string name="module_enabler_disabled_summary">Le module expérimental du noyau peut améliorer les performances</string>
|
||||
<string name="module_enabler_disabled_title">Activer le backend du module du noyau</string>
|
||||
<string name="module_enabler_enabled_summary">Le backend plus lent de l\'espace utilisateur peut améliorer la stabilité</string>
|
||||
<string name="module_enabler_enabled_title">Désactiver le backend du module du noyau</string>
|
||||
<string name="module_installer_error">Une erreur est survenue. Veuillez réessayer</string>
|
||||
<string name="module_installer_initial">Le module expérimental du noyau peut améliorer les performances</string>
|
||||
<string name="module_installer_not_found">Aucun module n\'est disponible pour votre appareil</string>
|
||||
|
||||
@@ -132,10 +132,10 @@
|
||||
<string name="log_viewer_pref_title">एप्लिकेशन लॉग देखें</string>
|
||||
<string name="log_viewer_title">लॉग</string>
|
||||
<string name="logcat_error">लॉगकैट चलाने में असमर्थ: </string>
|
||||
<string name="module_disabler_disabled_summary">प्रयोगात्मक कर्नेल मॉड्यूल प्रदर्शन में सुधार कर सकता है</string>
|
||||
<string name="module_disabler_disabled_title">कर्नेल मॉड्यूल बैकएंड सक्षम करें</string>
|
||||
<string name="module_disabler_enabled_summary">धीमे यूजरस्पेस बैकएंड में स्थिरता में सुधार हो सकता है</string>
|
||||
<string name="module_disabler_enabled_title">कर्नेल मॉड्यूल बैकएंड को अक्षम करें</string>
|
||||
<string name="module_enabler_disabled_summary">प्रयोगात्मक कर्नेल मॉड्यूल प्रदर्शन में सुधार कर सकता है</string>
|
||||
<string name="module_enabler_disabled_title">कर्नेल मॉड्यूल बैकएंड सक्षम करें</string>
|
||||
<string name="module_enabler_enabled_summary">धीमे यूजरस्पेस बैकएंड में स्थिरता में सुधार हो सकता है</string>
|
||||
<string name="module_enabler_enabled_title">कर्नेल मॉड्यूल बैकएंड को अक्षम करें</string>
|
||||
<string name="module_installer_error">कुछ गलत हो गया। कृपया पुन: प्रयास करें</string>
|
||||
<string name="module_installer_initial">प्रयोगात्मक कर्नेल मॉड्यूल प्रदर्शन में सुधार कर सकता है</string>
|
||||
<string name="module_installer_not_found">आपके डिवाइस के लिए कोई मॉड्यूल उपलब्ध नहीं हैं</string>
|
||||
|
||||
@@ -96,10 +96,10 @@
|
||||
<string name="module_installer_title">कर्नेल मॉड्यूल डाउनलोड और इंस्टॉल करें</string>
|
||||
<string name="module_installer_working">डाउनलोड कर रहा है और स्थापित कर रहा है…</string>
|
||||
<string name="module_installer_error">कुछ गलत हो गया। कृपया पुन: प्रयास करें</string>
|
||||
<string name="module_disabler_disabled_title">कर्नेल मॉड्यूल बैकएंड सक्षम करें</string>
|
||||
<string name="module_disabler_disabled_summary">प्रयोगात्मक कर्नेल मॉड्यूल प्रदर्शन में सुधार कर सकता है</string>
|
||||
<string name="module_disabler_enabled_title">कर्नेल मॉड्यूल बैकएंड को अक्षम करें</string>
|
||||
<string name="module_disabler_enabled_summary">धीमे यूजरस्पेस बैकएंड में स्थिरता में सुधार हो सकता है</string>
|
||||
<string name="module_enabler_disabled_title">कर्नेल मॉड्यूल बैकएंड सक्षम करें</string>
|
||||
<string name="module_enabler_disabled_summary">प्रयोगात्मक कर्नेल मॉड्यूल प्रदर्शन में सुधार कर सकता है</string>
|
||||
<string name="module_enabler_enabled_title">कर्नेल मॉड्यूल बैकएंड को अक्षम करें</string>
|
||||
<string name="module_enabler_enabled_summary">धीमे यूजरस्पेस बैकएंड में स्थिरता में सुधार हो सकता है</string>
|
||||
<string name="mtu">MTU</string>
|
||||
<string name="multiple_tunnels_title">एक साथ कई टनलस को अनुमति दें</string>
|
||||
<string name="multiple_tunnels_summary_on">एक साथ कई टनलस को चालू किया जा सकता है</string>
|
||||
|
||||
@@ -129,10 +129,10 @@
|
||||
<string name="log_viewer_pref_title">Lihat log aplikasi</string>
|
||||
<string name="log_viewer_title">Log</string>
|
||||
<string name="logcat_error">Tidak bisa menjalankan logcat: </string>
|
||||
<string name="module_disabler_disabled_summary">Modul kernel eksperimental dapat meningkatkan kinerja</string>
|
||||
<string name="module_disabler_disabled_title">Aktifkan backend modul kernel</string>
|
||||
<string name="module_disabler_enabled_summary">Backend userspace yang lebih lambat dapat meningkatkan stabilitas</string>
|
||||
<string name="module_disabler_enabled_title">Nonaktifkan backend modul kernel</string>
|
||||
<string name="module_enabler_disabled_summary">Modul kernel eksperimental dapat meningkatkan kinerja</string>
|
||||
<string name="module_enabler_disabled_title">Aktifkan backend modul kernel</string>
|
||||
<string name="module_enabler_enabled_summary">Backend userspace yang lebih lambat dapat meningkatkan stabilitas</string>
|
||||
<string name="module_enabler_enabled_title">Nonaktifkan backend modul kernel</string>
|
||||
<string name="module_installer_error">Ada yang salah. Silakan coba lagi</string>
|
||||
<string name="module_installer_initial">Modul kernel eksperimental dapat meningkatkan kinerja</string>
|
||||
<string name="module_installer_not_found">Tidak tersedia modul untuk perangkat anda</string>
|
||||
|
||||
@@ -142,10 +142,10 @@
|
||||
<string name="log_viewer_pref_title">Visualizza log dell\'applicazione</string>
|
||||
<string name="log_viewer_title">Log</string>
|
||||
<string name="logcat_error">Impossibile eseguire logcat: </string>
|
||||
<string name="module_disabler_disabled_summary">Il modulo sperimentale del kernel può migliorare le prestazioni</string>
|
||||
<string name="module_disabler_disabled_title">Abilita il backend del modulo del kernel</string>
|
||||
<string name="module_disabler_enabled_summary">Il backend in userspace più lento potrebbe migliorare la stabilità</string>
|
||||
<string name="module_disabler_enabled_title">Disabilita il backend del modulo del kernel</string>
|
||||
<string name="module_enabler_disabled_summary">Il modulo sperimentale del kernel può migliorare le prestazioni</string>
|
||||
<string name="module_enabler_disabled_title">Abilita il backend del modulo del kernel</string>
|
||||
<string name="module_enabler_enabled_summary">Il backend in userspace più lento potrebbe migliorare la stabilità</string>
|
||||
<string name="module_enabler_enabled_title">Disabilita il backend del modulo del kernel</string>
|
||||
<string name="module_installer_error">Qualcosa non ha funzionato. Riprova</string>
|
||||
<string name="module_installer_initial">Il modulo sperimentale del kernel può migliorare le prestazioni</string>
|
||||
<string name="module_installer_not_found">Nessun modulo disponibile per il tuo dispositivo</string>
|
||||
|
||||
@@ -129,10 +129,10 @@
|
||||
<string name="log_viewer_pref_title">アプリケーションログを表示</string>
|
||||
<string name="log_viewer_title">ログ</string>
|
||||
<string name="logcat_error">logcat を実行できません: </string>
|
||||
<string name="module_disabler_disabled_summary">カーネルモジュールは実験的ですがパフォーマンスが向上する可能性があります。</string>
|
||||
<string name="module_disabler_disabled_title">カーネルモジュールバックエンドの有効化</string>
|
||||
<string name="module_disabler_enabled_summary">ユーザースペースバックエンドは低速ですが安定しています。</string>
|
||||
<string name="module_disabler_enabled_title">カーネルモジュールバックエンドの無効化</string>
|
||||
<string name="module_enabler_disabled_summary">カーネルモジュールは実験的ですがパフォーマンスが向上する可能性があります。</string>
|
||||
<string name="module_enabler_disabled_title">カーネルモジュールバックエンドの有効化</string>
|
||||
<string name="module_enabler_enabled_summary">ユーザースペースバックエンドは低速ですが安定しています。</string>
|
||||
<string name="module_enabler_enabled_title">カーネルモジュールバックエンドの無効化</string>
|
||||
<string name="module_installer_error">失敗しました. 再度実行してみてください</string>
|
||||
<string name="module_installer_initial">実験的カーネルモジュールはパフォーマンスが向上する場合があります</string>
|
||||
<string name="module_installer_not_found">このデバイス用のモジュールは利用できません</string>
|
||||
|
||||
@@ -129,10 +129,10 @@
|
||||
<string name="log_viewer_pref_title">앱 로그 보기</string>
|
||||
<string name="log_viewer_title">로그</string>
|
||||
<string name="logcat_error">logcat을 실행할 수 없음: </string>
|
||||
<string name="module_disabler_disabled_summary">아직 실험중이 커널 모듈을 사용하면 성능이 향상될 수 있음</string>
|
||||
<string name="module_disabler_disabled_title">커널 모듈 백엔드 활성화하기</string>
|
||||
<string name="module_disabler_enabled_summary">사용자공간 백엔드를 사용하면 느리지만 안정성이 좋아짐</string>
|
||||
<string name="module_disabler_enabled_title">커널 모듈 백엔드를 비활성화하기</string>
|
||||
<string name="module_enabler_disabled_summary">아직 실험중이 커널 모듈을 사용하면 성능이 향상될 수 있음</string>
|
||||
<string name="module_enabler_disabled_title">커널 모듈 백엔드 활성화하기</string>
|
||||
<string name="module_enabler_enabled_summary">사용자공간 백엔드를 사용하면 느리지만 안정성이 좋아짐</string>
|
||||
<string name="module_enabler_enabled_title">커널 모듈 백엔드를 비활성화하기</string>
|
||||
<string name="module_installer_error">문제가 발생했습니다. 다시 시도하십시오</string>
|
||||
<string name="module_installer_initial">아직 실험중이 커널 모듈을 사용하면 성능이 향상될 수 있음</string>
|
||||
<string name="module_installer_not_found">이 기기에서 사용가능한 모듈이 없음</string>
|
||||
|
||||
@@ -142,10 +142,10 @@
|
||||
<string name="log_viewer_pref_title">Vis programlogg</string>
|
||||
<string name="log_viewer_title">Logg</string>
|
||||
<string name="logcat_error">Kan ikke kjøre logcat: </string>
|
||||
<string name="module_disabler_disabled_summary">Den eksperimentelle kjernemodulen kan gi bedre ytelse</string>
|
||||
<string name="module_disabler_disabled_title">Aktiver backend for kjerne-modul</string>
|
||||
<string name="module_disabler_enabled_summary">Backend i userspace er litt tregere men kan gi bedre stabilitet</string>
|
||||
<string name="module_disabler_enabled_title">Deaktiver backend for kjerne-modul</string>
|
||||
<string name="module_enabler_disabled_summary">Den eksperimentelle kjernemodulen kan gi bedre ytelse</string>
|
||||
<string name="module_enabler_disabled_title">Aktiver backend for kjerne-modul</string>
|
||||
<string name="module_enabler_enabled_summary">Backend i userspace er litt tregere men kan gi bedre stabilitet</string>
|
||||
<string name="module_enabler_enabled_title">Deaktiver backend for kjerne-modul</string>
|
||||
<string name="module_installer_error">Noe gikk galt. Vennligst prøv igjen</string>
|
||||
<string name="module_installer_initial">Den eksperimentelle kjernemodulen kan gi bedre ytelse</string>
|
||||
<string name="module_installer_not_found">Ingen moduler er tilgjengelige for din enhet</string>
|
||||
|
||||
@@ -142,10 +142,10 @@
|
||||
<string name="log_viewer_pref_title">ਐਪਲੀਕੇਸ਼ਨ ਲਾਗ ਵੇਖੋ</string>
|
||||
<string name="log_viewer_title">ਲਾਗ</string>
|
||||
<string name="logcat_error">logcat ਚਲਾਉਣ ਲਈ ਅਸਮਰੱਥ: </string>
|
||||
<string name="module_disabler_disabled_summary">ਤਜਰਬੇ ਅਧੀਨ ਕਰਨਲ ਮੋਡੀਊਲ ਕਾਰਗੁਜ਼ਾਰੀ ਸੁਧਾਰ ਸਕਦਾ ਹੈ</string>
|
||||
<string name="module_disabler_disabled_title">ਕਰਨਲ ਮੋਡੀਊਲ ਬੈਕਐਂਡ ਸਮਰੱਥ ਕਰੋ</string>
|
||||
<string name="module_disabler_enabled_summary">ਹੌਲੀ ਵਰਤੋਂਕਾਰ-ਸਪੇਸ ਬੈਂਕਡ ਸਥਿਰਤਾ ਸੁਧਾਰ ਕਰ ਸਕਦਾ ਹੈ</string>
|
||||
<string name="module_disabler_enabled_title">ਕਰਨਲ ਮੋਡੀਊਲ ਬੈਕਐਂਡ ਅਸਮਰੱਥ ਕਰੋ</string>
|
||||
<string name="module_enabler_disabled_summary">ਤਜਰਬੇ ਅਧੀਨ ਕਰਨਲ ਮੋਡੀਊਲ ਕਾਰਗੁਜ਼ਾਰੀ ਸੁਧਾਰ ਸਕਦਾ ਹੈ</string>
|
||||
<string name="module_enabler_disabled_title">ਕਰਨਲ ਮੋਡੀਊਲ ਬੈਕਐਂਡ ਸਮਰੱਥ ਕਰੋ</string>
|
||||
<string name="module_enabler_enabled_summary">ਹੌਲੀ ਵਰਤੋਂਕਾਰ-ਸਪੇਸ ਬੈਂਕਡ ਸਥਿਰਤਾ ਸੁਧਾਰ ਕਰ ਸਕਦਾ ਹੈ</string>
|
||||
<string name="module_enabler_enabled_title">ਕਰਨਲ ਮੋਡੀਊਲ ਬੈਕਐਂਡ ਅਸਮਰੱਥ ਕਰੋ</string>
|
||||
<string name="module_installer_error">ਕੁਝ ਗਲਤ ਵਾਪਰ ਗਿਆ। ਮੁੜ ਕੋਸ਼ਿਸ਼ ਕਰੋ</string>
|
||||
<string name="module_installer_initial">ਤਜਰਬੇ ਅਧੀਨ ਕਰਨਲ ਮੋਡੀਊਲ ਕਾਰਗੁਜ਼ਾਰੀ ਸੁਧਾਰ ਸਕਦਾ ਹੈ</string>
|
||||
<string name="module_installer_not_found">ਤੁਹਾਡੇ ਡਿਵਾਈਸ ਲਈ ਕੋਈ ਮੋਡੀਊਲ ਮੌਜੂਦ ਨਹੀਂ ਹਨ</string>
|
||||
|
||||
@@ -168,10 +168,10 @@
|
||||
<string name="log_viewer_pref_title">Wyświetl log aplikacji</string>
|
||||
<string name="log_viewer_title">Log</string>
|
||||
<string name="logcat_error">Nie można uruchomić narzędzia logcat: </string>
|
||||
<string name="module_disabler_disabled_summary">Eksperymentalny moduł jądra może poprawić wydajność</string>
|
||||
<string name="module_disabler_disabled_title">Włącz moduł jądra</string>
|
||||
<string name="module_disabler_enabled_summary">Wolniejsza implementacja w przestrzeni użytkownika może poprawić stabilność</string>
|
||||
<string name="module_disabler_enabled_title">Wyłącz moduł jądra</string>
|
||||
<string name="module_enabler_disabled_summary">Eksperymentalny moduł jądra może poprawić wydajność</string>
|
||||
<string name="module_enabler_disabled_title">Włącz moduł jądra</string>
|
||||
<string name="module_enabler_enabled_summary">Wolniejsza implementacja w przestrzeni użytkownika może poprawić stabilność</string>
|
||||
<string name="module_enabler_enabled_title">Wyłącz moduł jądra</string>
|
||||
<string name="module_installer_error">Coś poszło nie tak. Proszę spróbować ponownie</string>
|
||||
<string name="module_installer_initial">Eksperymentalny moduł jądra może poprawić wydajność</string>
|
||||
<string name="module_installer_not_found">Brak dostępnych modułów dla tego urządzenia</string>
|
||||
|
||||
@@ -142,10 +142,10 @@
|
||||
<string name="log_viewer_pref_title">Ver log da aplicação</string>
|
||||
<string name="log_viewer_title">Log</string>
|
||||
<string name="logcat_error">Não foi possível executar o logcat: </string>
|
||||
<string name="module_disabler_disabled_summary">O módulo experimental de kernel pode melhorar o desempenho</string>
|
||||
<string name="module_disabler_disabled_title">Habilitar módulo backend do kernel</string>
|
||||
<string name="module_disabler_enabled_summary">O backend do userspace mais lento pode aumentar a estabilidade</string>
|
||||
<string name="module_disabler_enabled_title">Desabilitar módulo backend do kernel</string>
|
||||
<string name="module_enabler_disabled_summary">O módulo experimental de kernel pode melhorar o desempenho</string>
|
||||
<string name="module_enabler_disabled_title">Habilitar módulo backend do kernel</string>
|
||||
<string name="module_enabler_enabled_summary">O backend do userspace mais lento pode aumentar a estabilidade</string>
|
||||
<string name="module_enabler_enabled_title">Desabilitar módulo backend do kernel</string>
|
||||
<string name="module_installer_error">Ocorreu um erro. Por favor, tente novamente</string>
|
||||
<string name="module_installer_initial">O módulo experimental do kernel pode melhorar o desempenho</string>
|
||||
<string name="module_installer_not_found">Não há módulos disponíveis para o seu dispositivo</string>
|
||||
|
||||
@@ -155,10 +155,10 @@
|
||||
<string name="log_viewer_pref_title">Vizualizare jurnal aplicație</string>
|
||||
<string name="log_viewer_title">Jurnal</string>
|
||||
<string name="logcat_error">Programul logcat nu poate fi executat: </string>
|
||||
<string name="module_disabler_disabled_summary">Modulul experimental de nucleu poate îmbunătăți performanța</string>
|
||||
<string name="module_disabler_disabled_title">Activează biblioteca modulului de nucleu</string>
|
||||
<string name="module_disabler_enabled_summary">Biblioteca mai lentă a spațiului utilizatorului poate îmbunătăți stabilitatea</string>
|
||||
<string name="module_disabler_enabled_title">Dezactivează biblioteca modulului de nucleu</string>
|
||||
<string name="module_enabler_disabled_summary">Modulul experimental de nucleu poate îmbunătăți performanța</string>
|
||||
<string name="module_enabler_disabled_title">Activează biblioteca modulului de nucleu</string>
|
||||
<string name="module_enabler_enabled_summary">Biblioteca mai lentă a spațiului utilizatorului poate îmbunătăți stabilitatea</string>
|
||||
<string name="module_enabler_enabled_title">Dezactivează biblioteca modulului de nucleu</string>
|
||||
<string name="module_installer_error">A apărut o eroare. Încearcă din nou</string>
|
||||
<string name="module_installer_initial">Modulul experimental de nucleu poate îmbunătăți performanța</string>
|
||||
<string name="module_installer_not_found">Nu sunt disponibile module pentru dispozitivul tău</string>
|
||||
|
||||
@@ -168,10 +168,10 @@
|
||||
<string name="log_viewer_pref_title">Просмотр журналов приложения</string>
|
||||
<string name="log_viewer_title">Журнал</string>
|
||||
<string name="logcat_error">Не удалось запустить logcat: </string>
|
||||
<string name="module_disabler_disabled_summary">Экспериментальный модуль ядра может улучшить производительность</string>
|
||||
<string name="module_disabler_disabled_title">Включить бэкэнд модуля ядра</string>
|
||||
<string name="module_disabler_enabled_summary">Пользовательское пространство немного медленнее и улучшает стабильность</string>
|
||||
<string name="module_disabler_enabled_title">Отключить бэкэнд модуля ядра</string>
|
||||
<string name="module_enabler_disabled_summary">Экспериментальный модуль ядра может улучшить производительность</string>
|
||||
<string name="module_enabler_disabled_title">Включить бэкэнд модуля ядра</string>
|
||||
<string name="module_enabler_enabled_summary">Пользовательское пространство немного медленнее и улучшает стабильность</string>
|
||||
<string name="module_enabler_enabled_title">Отключить бэкэнд модуля ядра</string>
|
||||
<string name="module_installer_error">Что-то пошло не так. Пожалуйста, попробуйте еще раз</string>
|
||||
<string name="module_installer_initial">Экспериментальный модуль ядра может улучшить производительность</string>
|
||||
<string name="module_installer_not_found">Для вашего устройства нет доступных модулей</string>
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
<string name="log_saver_activity_label">Uložiť denník udalostí</string>
|
||||
<string name="log_viewer_pref_summary">Denník udalosti môžu byt nápomocné pri ladení aplikácie</string>
|
||||
<string name="log_viewer_pref_title">Zobraziť denník udalostí aplikácie</string>
|
||||
<string name="module_disabler_enabled_summary">Pomalšie užívatelské prostredie môže zlepšiť stabilitu</string>
|
||||
<string name="module_enabler_enabled_summary">Pomalšie užívatelské prostredie môže zlepšiť stabilitu</string>
|
||||
<string name="module_installer_error">Niečo sa pokazilo. Prosím, skúste znova</string>
|
||||
<string name="module_installer_not_found">Pre vaše zariadenie nie sú k dispozícii žiadne moduly</string>
|
||||
<string name="module_installer_title">Stiahni a nainštaluj kernel modul</string>
|
||||
|
||||
@@ -166,10 +166,10 @@
|
||||
<string name="log_viewer_pref_title">Prikaži dnevnik aplikacije</string>
|
||||
<string name="log_viewer_title">Dnevnik</string>
|
||||
<string name="logcat_error">Ukaza logcat ni bilo mogoče izvesti: </string>
|
||||
<string name="module_disabler_disabled_summary">Eksperimentalni modul jedra lahko izboljša zmogljivost</string>
|
||||
<string name="module_disabler_disabled_title">Omogoči zaledje za modul jedra</string>
|
||||
<string name="module_disabler_enabled_summary">Počasnejše uporabniško zaledje lahko izboljša stabilnost</string>
|
||||
<string name="module_disabler_enabled_title">Onemogoči zaledje za modul jedra</string>
|
||||
<string name="module_enabler_disabled_summary">Eksperimentalni modul jedra lahko izboljša zmogljivost</string>
|
||||
<string name="module_enabler_disabled_title">Omogoči zaledje za modul jedra</string>
|
||||
<string name="module_enabler_enabled_summary">Počasnejše uporabniško zaledje lahko izboljša stabilnost</string>
|
||||
<string name="module_enabler_enabled_title">Onemogoči zaledje za modul jedra</string>
|
||||
<string name="module_installer_error">Nekaj je šlo narobe, prosimo poskusite znova</string>
|
||||
<string name="module_installer_initial">Eksperimentalni modul jedra lahko izboljša zmogljivost</string>
|
||||
<string name="module_installer_not_found">Za vašo napravo ni razpoložljivih modulov</string>
|
||||
|
||||
@@ -114,10 +114,10 @@
|
||||
<string name="log_viewer_pref_title">Visa applikationslogg</string>
|
||||
<string name="log_viewer_title">Logg</string>
|
||||
<string name="logcat_error">Kunde inte köra logcat: </string>
|
||||
<string name="module_disabler_disabled_summary">Den experimentella kärnmodulen kan förbättra prestanda</string>
|
||||
<string name="module_disabler_disabled_title">Aktivera backend för kärnmodul</string>
|
||||
<string name="module_disabler_enabled_summary">Den långsammare backend för användarrymden kan förbättra stabiliteten</string>
|
||||
<string name="module_disabler_enabled_title">Inaktivera backend för kärnmodul</string>
|
||||
<string name="module_enabler_disabled_summary">Den experimentella kärnmodulen kan förbättra prestanda</string>
|
||||
<string name="module_enabler_disabled_title">Aktivera backend för kärnmodul</string>
|
||||
<string name="module_enabler_enabled_summary">Den långsammare backend för användarrymden kan förbättra stabiliteten</string>
|
||||
<string name="module_enabler_enabled_title">Inaktivera backend för kärnmodul</string>
|
||||
<string name="module_installer_error">Något gick fel. Vänligen försök igen</string>
|
||||
<string name="module_installer_initial">Den experimentella kärnmodulen kan förbättra prestanda</string>
|
||||
<string name="module_installer_not_found">Inga moduler finns tillgängliga för din enhet</string>
|
||||
|
||||
@@ -142,10 +142,10 @@
|
||||
<string name="log_viewer_pref_title">Uygulama günlüğünü görüntüle</string>
|
||||
<string name="log_viewer_title">Günlük</string>
|
||||
<string name="logcat_error">Logcat çalıştırılamıyor: </string>
|
||||
<string name="module_disabler_disabled_summary">Deneysel çekirdek modülü performansı artırabilir</string>
|
||||
<string name="module_disabler_disabled_title">Çekirdek modülü arka ucunu etkinleştir</string>
|
||||
<string name="module_disabler_enabled_summary">Daha yavaş kullanıcı alanı arka ucu kararlılığı artırabilir</string>
|
||||
<string name="module_disabler_enabled_title">Çekirdek modülü arka ucunu devre dışı bırak</string>
|
||||
<string name="module_enabler_disabled_summary">Deneysel çekirdek modülü performansı artırabilir</string>
|
||||
<string name="module_enabler_disabled_title">Çekirdek modülü arka ucunu etkinleştir</string>
|
||||
<string name="module_enabler_enabled_summary">Daha yavaş kullanıcı alanı arka ucu kararlılığı artırabilir</string>
|
||||
<string name="module_enabler_enabled_title">Çekirdek modülü arka ucunu devre dışı bırak</string>
|
||||
<string name="module_installer_error">Bir şeyler yanlış gitti. Lütfen tekrar deneyin</string>
|
||||
<string name="module_installer_initial">Deneysel çekirdek modülü performansı artırabilir</string>
|
||||
<string name="module_installer_not_found">Cihazınız için uygun modül yok</string>
|
||||
|
||||
@@ -168,10 +168,10 @@
|
||||
<string name="log_viewer_pref_title">Переглянути журнал програми</string>
|
||||
<string name="log_viewer_title">Журнал</string>
|
||||
<string name="logcat_error">Не вдалося запустити logcat: </string>
|
||||
<string name="module_disabler_disabled_summary">Експериментальний модуль ядра може підвищити продуктивність</string>
|
||||
<string name="module_disabler_disabled_title">Увімкнути модуль ядра</string>
|
||||
<string name="module_disabler_enabled_summary">Користувацький простір повільніший, проте може покращити стабільність</string>
|
||||
<string name="module_disabler_enabled_title">Вимкнути модуль ядра</string>
|
||||
<string name="module_enabler_disabled_summary">Експериментальний модуль ядра може підвищити продуктивність</string>
|
||||
<string name="module_enabler_disabled_title">Увімкнути модуль ядра</string>
|
||||
<string name="module_enabler_enabled_summary">Користувацький простір повільніший, проте може покращити стабільність</string>
|
||||
<string name="module_enabler_enabled_title">Вимкнути модуль ядра</string>
|
||||
<string name="module_installer_error">Щось пішло не так. Спробуйте ще раз</string>
|
||||
<string name="module_installer_initial">Експериментальний модуль ядра може підвищити продуктивність</string>
|
||||
<string name="module_installer_not_found">Немає доступних модулів для вашого пристрою</string>
|
||||
|
||||
@@ -129,10 +129,10 @@
|
||||
<string name="log_viewer_pref_title">查看应用日志</string>
|
||||
<string name="log_viewer_title">日志</string>
|
||||
<string name="logcat_error">无法运行 logcat: </string>
|
||||
<string name="module_disabler_disabled_summary">内核空间的模块性能较强,但可能不稳定</string>
|
||||
<string name="module_disabler_disabled_title">启用内核模块</string>
|
||||
<string name="module_disabler_enabled_summary">用户空间的模块性能较弱,但稳定性更好</string>
|
||||
<string name="module_disabler_enabled_title">停用内核模块</string>
|
||||
<string name="module_enabler_disabled_summary">内核空间的模块性能较强,但可能不稳定</string>
|
||||
<string name="module_enabler_disabled_title">启用内核模块</string>
|
||||
<string name="module_enabler_enabled_summary">用户空间的模块性能较弱,但稳定性更好</string>
|
||||
<string name="module_enabler_enabled_title">停用内核模块</string>
|
||||
<string name="module_installer_error">发生错误,请重试</string>
|
||||
<string name="module_installer_initial">使用内核模块可以提升性能(实验性)</string>
|
||||
<string name="module_installer_not_found">没有可用于此设备的模块</string>
|
||||
|
||||
@@ -129,8 +129,8 @@
|
||||
<string name="log_viewer_pref_title">檢視應用程式日誌</string>
|
||||
<string name="log_viewer_title">日誌</string>
|
||||
<string name="logcat_error">無法執行 logcat: </string>
|
||||
<string name="module_disabler_disabled_summary">使用還在實驗階段的 kernel module 以便改善效能</string>
|
||||
<string name="module_disabler_disabled_title">啟用 kernel module</string>
|
||||
<string name="module_enabler_disabled_summary">使用還在實驗階段的 kernel module 以便改善效能</string>
|
||||
<string name="module_enabler_disabled_title">啟用 kernel module</string>
|
||||
<string name="save">儲存</string>
|
||||
<string name="select_all">全選</string>
|
||||
<string name="toggle_all">切換全部</string>
|
||||
|
||||
@@ -144,10 +144,10 @@
|
||||
<string name="log_viewer_pref_title">View application log</string>
|
||||
<string name="log_viewer_title">Log</string>
|
||||
<string name="logcat_error">Unable to run logcat: </string>
|
||||
<string name="module_disabler_disabled_summary">The experimental kernel module can improve performance</string>
|
||||
<string name="module_disabler_disabled_title">Enable kernel module backend</string>
|
||||
<string name="module_disabler_enabled_summary">The slower userspace backend may improve stability</string>
|
||||
<string name="module_disabler_enabled_title">Disable kernel module backend</string>
|
||||
<string name="module_enabler_disabled_summary">The experimental kernel module can improve performance</string>
|
||||
<string name="module_enabler_disabled_title">Enable kernel module backend</string>
|
||||
<string name="module_enabler_enabled_summary">The slower userspace backend may improve stability</string>
|
||||
<string name="module_enabler_enabled_title">Disable kernel module backend</string>
|
||||
<string name="module_installer_error">Something went wrong. Please try again</string>
|
||||
<string name="module_installer_initial">The experimental kernel module can improve performance</string>
|
||||
<string name="module_installer_not_found">No modules are available for your device</string>
|
||||
|
||||
@@ -27,9 +27,8 @@
|
||||
android:summaryOff="@string/multiple_tunnels_summary_off"
|
||||
android:summaryOn="@string/multiple_tunnels_summary_on"
|
||||
android:title="@string/multiple_tunnels_title" />
|
||||
<com.wireguard.android.preference.ModuleDownloaderPreference android:key="module_downloader" />
|
||||
<com.wireguard.android.preference.ToolsInstallerPreference android:key="tools_installer" />
|
||||
<com.wireguard.android.preference.KernelModuleDisablerPreference android:key="kernel_module_disabler" />
|
||||
<com.wireguard.android.preference.KernelModuleEnablerPreference android:key="kernel_module_enabler" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="allow_remote_control_intents"
|
||||
|
||||
Reference in New Issue
Block a user