Revert "Step 7: Add Custom Background (beta):"

This reverts commit a585989a03.
This commit is contained in:
ShirkNeko
2025-11-22 04:16:24 +08:00
parent 0d73908d1b
commit f7b875fc16
63 changed files with 330 additions and 588 deletions

View File

@@ -26,8 +26,6 @@ import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.compositionLocalOf
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableIntStateOf
import androidx.compose.runtime.mutableFloatStateOf
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.setValue
@@ -54,9 +52,6 @@ import com.sukisu.ultra.ui.screen.ModulePager
import com.sukisu.ultra.ui.screen.SettingPager
import com.sukisu.ultra.ui.screen.SuperUserPager
import com.sukisu.ultra.ui.theme.KernelSUTheme
import com.sukisu.ultra.ui.theme.LocalWallpaperState
import com.sukisu.ultra.ui.theme.wallpaperContainerColor
import com.sukisu.ultra.ui.theme.wallpaperTransitionAlpha
import com.sukisu.ultra.ui.util.install
import top.yukonga.miuix.kmp.basic.Scaffold
import top.yukonga.miuix.kmp.theme.MiuixTheme
@@ -75,14 +70,6 @@ class MainActivity : ComponentActivity() {
val prefs = context.getSharedPreferences("settings", MODE_PRIVATE)
var colorMode by remember { mutableIntStateOf(prefs.getInt("color_mode", 0)) }
var keyColorInt by remember { mutableIntStateOf(prefs.getInt("key_color", 0)) }
val wallpaperUriPref = prefs.getString("wallpaper_uri", null)
var wallpaperUri by remember { mutableStateOf(wallpaperUriPref) }
var wallpaperAlpha by remember {
mutableFloatStateOf(prefs.getFloat("wallpaper_alpha", 0f))
}
var wallpaperScaleMode by remember {
mutableIntStateOf(prefs.getInt("wallpaper_scale_mode", 0))
}
val keyColor = remember(keyColorInt) { if (keyColorInt == 0) null else Color(keyColorInt) }
val darkMode = when (colorMode) {
@@ -110,29 +97,18 @@ class MainActivity : ComponentActivity() {
when (key) {
"color_mode" -> colorMode = prefs.getInt("color_mode", 0)
"key_color" -> keyColorInt = prefs.getInt("key_color", 0)
"wallpaper_uri" -> wallpaperUri = prefs.getString("wallpaper_uri", null)
"wallpaper_alpha" -> wallpaperAlpha = prefs.getFloat("wallpaper_alpha", 0f)
"wallpaper_scale_mode" -> wallpaperScaleMode = prefs.getInt("wallpaper_scale_mode", 0)
}
}
prefs.registerOnSharedPreferenceChangeListener(listener)
onDispose { prefs.unregisterOnSharedPreferenceChangeListener(listener) }
}
KernelSUTheme(
colorMode = colorMode,
keyColor = keyColor,
wallpaperUri = wallpaperUri,
wallpaperAlpha = wallpaperAlpha,
wallpaperScaleMode = wallpaperScaleMode
) {
KernelSUTheme(colorMode = colorMode, keyColor = keyColor) {
val navController = rememberNavController()
val navigator = navController.rememberDestinationsNavigator()
val initialIntent = remember { intent }
Scaffold(
containerColor = wallpaperContainerColor()
) {
Scaffold {
DestinationsNavHost(
modifier = Modifier,
navGraph = NavGraphs.root,
@@ -189,12 +165,9 @@ fun MainScreen(navController: DestinationsNavigator) {
val coroutineScope = rememberCoroutineScope()
val pagerState = rememberPagerState(initialPage = 0, pageCount = { 4 })
val hazeState = remember { HazeState() }
val wallpaperState = LocalWallpaperState.current
val hazeBackgroundAlpha = wallpaperTransitionAlpha(wallpaperState.surfaceAlpha)
val hazeTintAlpha = wallpaperTransitionAlpha(0.8f * wallpaperState.surfaceAlpha)
val hazeStyle = HazeStyle(
backgroundColor = MiuixTheme.colorScheme.background.copy(alpha = hazeBackgroundAlpha),
tint = HazeTint(MiuixTheme.colorScheme.background.copy(alpha = hazeTintAlpha))
backgroundColor = MiuixTheme.colorScheme.background,
tint = HazeTint(MiuixTheme.colorScheme.background.copy(0.8f))
)
val handlePageChange: (Int) -> Unit = remember(pagerState, coroutineScope) {
{ page ->
@@ -217,7 +190,6 @@ fun MainScreen(navController: DestinationsNavigator) {
LocalHandlePageChange provides handlePageChange
) {
Scaffold(
containerColor = wallpaperContainerColor(),
bottomBar = {
BottomBar(hazeState, hazeStyle)
},

View File

@@ -37,7 +37,6 @@ import top.yukonga.miuix.kmp.extra.SuperArrow
import top.yukonga.miuix.kmp.extra.SuperDialog
import top.yukonga.miuix.kmp.extra.SuperSwitch
import top.yukonga.miuix.kmp.theme.MiuixTheme.colorScheme
import com.sukisu.ultra.ui.theme.wallpaperCardColors
@Composable
fun DynamicManagerCard() {
@@ -45,7 +44,6 @@ fun DynamicManagerCard() {
modifier = Modifier
.padding(top = 12.dp)
.fillMaxWidth(),
colors = wallpaperCardColors(),
) {
val context = LocalContext.current
val scope = rememberCoroutineScope()

View File

@@ -31,8 +31,6 @@ import com.ramcosta.composedestinations.navigation.DestinationsNavigator
import com.sukisu.ultra.R
import com.sukisu.ultra.ui.component.KeyEventBlocker
import com.sukisu.ultra.ui.util.reboot
import com.sukisu.ultra.ui.theme.wallpaperCardColors
import com.sukisu.ultra.ui.theme.wallpaperContainerColor
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
@@ -208,7 +206,6 @@ fun KernelFlashScreen(
}
Scaffold(
containerColor = wallpaperContainerColor(),
topBar = {
TopBar(
flashState = flashState,
@@ -250,7 +247,6 @@ fun KernelFlashScreen(
Column(
modifier = Modifier
.fillMaxSize()
.background(wallpaperContainerColor())
.padding(it)
.scrollEndHaptic(),
) {
@@ -295,8 +291,7 @@ private fun FlashProgressIndicator(
Card(
modifier = Modifier
.fillMaxWidth()
.padding(horizontal = 16.dp, vertical = 12.dp),
colors = wallpaperCardColors()
.padding(horizontal = 16.dp, vertical = 12.dp)
) {
Column(
modifier = Modifier

View File

@@ -46,8 +46,6 @@ import dev.chrisbanes.haze.hazeEffect
import dev.chrisbanes.haze.hazeSource
import com.sukisu.ultra.BuildConfig
import com.sukisu.ultra.R
import com.sukisu.ultra.ui.theme.wallpaperCardColors
import com.sukisu.ultra.ui.theme.wallpaperContainerColor
import top.yukonga.miuix.kmp.basic.Card
import top.yukonga.miuix.kmp.basic.Icon
import top.yukonga.miuix.kmp.basic.IconButton
@@ -84,7 +82,6 @@ fun AboutScreen(navigator: DestinationsNavigator) {
val result = extractLinks(htmlString)
Scaffold(
containerColor = wallpaperContainerColor(),
topBar = {
TopAppBar(
modifier = Modifier.hazeEffect(hazeState) {
@@ -157,8 +154,7 @@ fun AboutScreen(navigator: DestinationsNavigator) {
}
item {
Card(
modifier = Modifier.padding(bottom = 12.dp),
colors = wallpaperCardColors()
modifier = Modifier.padding(bottom = 12.dp)
) {
result.forEach {
SuperArrow(

View File

@@ -95,8 +95,6 @@ import top.yukonga.miuix.kmp.icon.MiuixIcons
import top.yukonga.miuix.kmp.icon.icons.useful.Back
import top.yukonga.miuix.kmp.icon.icons.useful.ImmersionMore
import top.yukonga.miuix.kmp.theme.MiuixTheme.colorScheme
import com.sukisu.ultra.ui.theme.wallpaperCardColors
import com.sukisu.ultra.ui.theme.wallpaperContainerColor
import top.yukonga.miuix.kmp.utils.getWindowSize
import top.yukonga.miuix.kmp.utils.overScrollVertical
import top.yukonga.miuix.kmp.utils.scrollEndHaptic
@@ -146,7 +144,6 @@ fun AppProfileScreen(
}
Scaffold(
containerColor = wallpaperContainerColor(),
topBar = {
TopBar(
onBack = dropUnlessResumed { navigator.popBackStack() },
@@ -267,7 +264,6 @@ private fun AppProfileInner(
.fillMaxWidth()
.padding(horizontal = 12.dp)
.padding(bottom = 12.dp),
colors = wallpaperCardColors(),
insideMargin = PaddingValues(horizontal = 16.dp, vertical = 14.dp)
) {
Row(
@@ -366,7 +362,6 @@ private fun AppProfileInner(
.fillMaxWidth()
.padding(horizontal = 12.dp)
.padding(bottom = 12.dp),
colors = wallpaperCardColors(),
) {
SuperSwitch(
leftAction = {
@@ -454,7 +449,6 @@ private fun AppProfileInner(
.fillMaxWidth()
.padding(horizontal = 12.dp)
.padding(bottom = if (rootMode != Mode.Default) 12.dp else 0.dp),
colors = wallpaperCardColors(),
) {
AnimatedVisibility(
visible = rootMode == Mode.Template,
@@ -491,7 +485,6 @@ private fun AppProfileInner(
.fillMaxWidth()
.padding(horizontal = 12.dp)
.padding(bottom = if (nonRootMode != Mode.Default) 12.dp else 0.dp),
colors = wallpaperCardColors(),
) {
AnimatedVisibility(
visible = nonRootMode == Mode.Custom,
@@ -518,7 +511,6 @@ private fun AppProfileInner(
.fillMaxWidth()
.padding(horizontal = 12.dp)
.padding(bottom = 12.dp),
colors = wallpaperCardColors(),
) {
Spacer(Modifier.height(3.dp))
affectedApps.forEach { app ->
@@ -662,7 +654,6 @@ private fun ProfileBox(
modifier = Modifier
.fillMaxWidth()
.padding(horizontal = 12.dp),
colors = wallpaperCardColors(),
) {
SuperDropdown(
title = stringResource(R.string.profile),

View File

@@ -60,7 +60,6 @@ import top.yukonga.miuix.kmp.icon.MiuixIcons
import top.yukonga.miuix.kmp.icon.icons.useful.Back
import top.yukonga.miuix.kmp.icon.icons.useful.Save
import top.yukonga.miuix.kmp.theme.MiuixTheme.colorScheme
import com.sukisu.ultra.ui.theme.wallpaperContainerColor
import top.yukonga.miuix.kmp.utils.scrollEndHaptic
import java.io.File
import java.text.SimpleDateFormat
@@ -110,7 +109,6 @@ fun ExecuteModuleActionScreen(navigator: DestinationsNavigator, moduleId: String
}
Scaffold(
containerColor = wallpaperContainerColor(),
topBar = {
TopBar(
onBack = dropUnlessResumed {

View File

@@ -58,7 +58,6 @@ import com.sukisu.ultra.R
import com.sukisu.ultra.ui.component.KeyEventBlocker
import com.sukisu.ultra.ui.util.FlashResult
import com.sukisu.ultra.ui.util.LkmSelection
import com.sukisu.ultra.ui.theme.wallpaperContainerColor
import com.sukisu.ultra.ui.util.flashModule
import com.sukisu.ultra.ui.util.installBoot
import com.sukisu.ultra.ui.util.reboot
@@ -172,7 +171,6 @@ fun FlashScreen(
}
Scaffold(
containerColor = wallpaperContainerColor(),
topBar = {
TopBar(
flashing,

View File

@@ -93,8 +93,6 @@ import top.yukonga.miuix.kmp.icon.icons.useful.Save
import top.yukonga.miuix.kmp.theme.MiuixTheme
import top.yukonga.miuix.kmp.theme.MiuixTheme.colorScheme
import top.yukonga.miuix.kmp.theme.MiuixTheme.isDynamicColor
import com.sukisu.ultra.ui.theme.wallpaperCardColors
import com.sukisu.ultra.ui.theme.wallpaperContainerColor
import top.yukonga.miuix.kmp.utils.PressFeedbackType
import top.yukonga.miuix.kmp.utils.getWindowSize
import top.yukonga.miuix.kmp.utils.overScrollVertical
@@ -120,7 +118,6 @@ fun HomePager(
val themeMode = prefs.getInt("color_mode", 0)
Scaffold(
containerColor = wallpaperContainerColor(),
topBar = {
TopBar(
kernelVersion = kernelVersion,
@@ -410,7 +407,6 @@ private fun StatusCard(
modifier = Modifier
.fillMaxWidth()
.weight(1f),
colors = wallpaperCardColors(),
insideMargin = PaddingValues(16.dp),
onClick = { onClickSuperuser() },
showIndication = true,
@@ -441,7 +437,6 @@ private fun StatusCard(
modifier = Modifier
.fillMaxWidth()
.weight(1f),
colors = wallpaperCardColors(),
insideMargin = PaddingValues(16.dp),
onClick = { onclickModule() },
showIndication = true,
@@ -476,7 +471,6 @@ private fun StatusCard(
onClick = {
if (kernelVersion.isGKI()) onClickInstall()
},
colors = wallpaperCardColors(),
showIndication = true,
pressFeedbackType = PressFeedbackType.Sink
) {
@@ -501,7 +495,6 @@ private fun StatusCard(
onClick = {
if (kernelVersion.isGKI()) onClickInstall()
},
colors = wallpaperCardColors(),
showIndication = true,
pressFeedbackType = PressFeedbackType.Sink
) {
@@ -567,7 +560,6 @@ fun LearnMoreCard() {
Card(
modifier = Modifier
.fillMaxWidth(),
colors = wallpaperCardColors(),
) {
BasicComponent(
title = stringResource(R.string.home_learn_kernelsu),
@@ -594,7 +586,6 @@ fun DonateCard() {
Card(
modifier = Modifier
.fillMaxWidth(),
colors = wallpaperCardColors(),
) {
BasicComponent(
title = stringResource(R.string.home_support_title),
@@ -619,14 +610,14 @@ fun DonateCard() {
private fun InfoCard() {
val manualHookText = stringResource(R.string.manual_hook)
val inlineHookText = stringResource(R.string.inline_hook)
val tracepointHookText = stringResource(R.string.tracepoint_hook)
val TracepointHookText = stringResource(R.string.tracepoint_hook)
val unknownHookText = stringResource(R.string.selinux_status_unknown)
val susfsInfo = rememberSusfsInfo(manualHookText, inlineHookText)
val isSusfsSupported = susfsInfo.status == SusfsStatus.Supported
val hookTypeLabel = remember(manualHookText, inlineHookText, tracepointHookText) {
val hookTypeLabel = remember(manualHookText, inlineHookText, TracepointHookText) {
val localized = when (val rawType = Natives.getHookType()) {
"Manual" -> manualHookText
"Tracepoint" -> tracepointHookText
"Tracepoint" -> TracepointHookText
else -> rawType
}
localized.ifBlank { unknownHookText }
@@ -656,9 +647,7 @@ private fun InfoCard() {
val uname = Os.uname()
val managerVersion = getManagerVersion(context)
Card(
colors = wallpaperCardColors(),
) {
Card {
Column(
modifier = Modifier
.fillMaxWidth()

View File

@@ -95,8 +95,6 @@ import top.yukonga.miuix.kmp.icon.icons.useful.Edit
import top.yukonga.miuix.kmp.icon.icons.useful.Move
import top.yukonga.miuix.kmp.theme.MiuixTheme
import top.yukonga.miuix.kmp.theme.MiuixTheme.colorScheme
import com.sukisu.ultra.ui.theme.wallpaperCardColors
import com.sukisu.ultra.ui.theme.wallpaperContainerColor
import top.yukonga.miuix.kmp.utils.getWindowSize
import top.yukonga.miuix.kmp.utils.overScrollVertical
import top.yukonga.miuix.kmp.utils.scrollEndHaptic
@@ -250,7 +248,6 @@ fun InstallScreen(
)
Scaffold(
containerColor = wallpaperContainerColor(),
topBar = {
TopBar(
onBack = dropUnlessResumed { navigator.popBackStack() },
@@ -278,7 +275,6 @@ fun InstallScreen(
Card(
modifier = Modifier
.fillMaxWidth(),
colors = wallpaperCardColors(),
) {
SelectInstallMethod(
onSelected = { method ->
@@ -300,7 +296,6 @@ fun InstallScreen(
modifier = Modifier
.fillMaxWidth()
.padding(top = 12.dp),
colors = wallpaperCardColors(),
) {
val isOta = installMethod is InstallMethod.DirectInstallToInactiveSlot
val suffix = produceState(initialValue = "", isOta) {
@@ -343,7 +338,6 @@ fun InstallScreen(
modifier = Modifier
.fillMaxWidth()
.padding(top = 12.dp),
colors = wallpaperCardColors(),
) {
SuperArrow(
title = stringResource(id = R.string.install_upload_lkm_file),
@@ -373,7 +367,6 @@ fun InstallScreen(
modifier = Modifier
.fillMaxWidth()
.padding(top = 12.dp),
colors = wallpaperCardColors(),
) {
SuperArrow(
title = stringResource(
@@ -401,7 +394,6 @@ fun InstallScreen(
modifier = Modifier
.fillMaxWidth()
.padding(top = 12.dp),
colors = wallpaperCardColors(),
) {
SuperArrow(
title = when (kpmPatchOption) {

View File

@@ -70,8 +70,6 @@ import top.yukonga.miuix.kmp.icon.MiuixIcons
import top.yukonga.miuix.kmp.icon.icons.useful.Refresh
import top.yukonga.miuix.kmp.theme.MiuixTheme
import top.yukonga.miuix.kmp.theme.MiuixTheme.colorScheme
import com.sukisu.ultra.ui.theme.wallpaperCardColors
import com.sukisu.ultra.ui.theme.wallpaperContainerColor
import top.yukonga.miuix.kmp.utils.getWindowSize
import top.yukonga.miuix.kmp.utils.overScrollVertical
import top.yukonga.miuix.kmp.utils.scrollEndHaptic
@@ -348,7 +346,6 @@ fun KpmScreen(
)
Scaffold(
containerColor = wallpaperContainerColor(),
topBar = {
searchStatus.TopAppBarAnim(hazeState = hazeState, hazeStyle = hazeStyle) {
TopAppBar(
@@ -698,8 +695,7 @@ private fun KpmList(
Card(
modifier = Modifier
.fillMaxWidth()
.padding(horizontal = 12.dp, vertical = 12.dp),
colors = wallpaperCardColors()
.padding(horizontal = 12.dp, vertical = 12.dp)
) {
Row(
modifier = Modifier
@@ -870,7 +866,6 @@ private fun KpmModuleItem(
modifier = Modifier
.padding(horizontal = 12.dp)
.padding(bottom = 12.dp),
colors = wallpaperCardColors(),
insideMargin = PaddingValues(16.dp)
) {
Row(

View File

@@ -27,8 +27,6 @@ import com.ramcosta.composedestinations.annotation.RootGraph
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
import com.sukisu.ultra.R
import com.sukisu.ultra.ui.util.*
import com.sukisu.ultra.ui.theme.wallpaperCardColors
import com.sukisu.ultra.ui.theme.wallpaperContainerColor
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
@@ -208,7 +206,6 @@ fun LogViewer(navigator: DestinationsNavigator) {
}
Scaffold(
containerColor = wallpaperContainerColor(),
topBar = {
TopAppBar(
title = stringResource(R.string.log_viewer_title),
@@ -387,8 +384,7 @@ private fun LogControlPanel(
Card(
modifier = Modifier
.fillMaxWidth()
.padding(horizontal = SPACING_LARGE, vertical = SPACING_MEDIUM),
colors = wallpaperCardColors()
.padding(horizontal = SPACING_LARGE, vertical = SPACING_MEDIUM)
) {
Column {
SuperArrow(
@@ -576,8 +572,7 @@ private fun LogEntryCard(entry: LogEntry) {
Card(
modifier = Modifier.fillMaxWidth(),
onClick = { expanded = !expanded },
colors = wallpaperCardColors()
onClick = { expanded = !expanded }
) {
Column(
modifier = Modifier.padding(SPACING_LARGE)

View File

@@ -141,8 +141,6 @@ import top.yukonga.miuix.kmp.icon.MiuixIcons
import top.yukonga.miuix.kmp.icon.icons.useful.ImmersionMore
import top.yukonga.miuix.kmp.icon.icons.useful.Undo
import top.yukonga.miuix.kmp.theme.MiuixTheme.colorScheme
import com.sukisu.ultra.ui.theme.wallpaperCardColors
import com.sukisu.ultra.ui.theme.wallpaperContainerColor
import top.yukonga.miuix.kmp.utils.getWindowSize
import top.yukonga.miuix.kmp.utils.overScrollVertical
import top.yukonga.miuix.kmp.utils.scrollEndHaptic
@@ -395,7 +393,6 @@ fun ModulePager(
)
Scaffold(
containerColor = wallpaperContainerColor(),
topBar = {
searchStatus.TopAppBarAnim(hazeState = hazeState, hazeStyle = hazeStyle) {
TopAppBar(
@@ -912,7 +909,6 @@ fun ModuleItem(
modifier = Modifier
.padding(horizontal = 12.dp)
.padding(bottom = 12.dp),
colors = wallpaperCardColors(),
insideMargin = PaddingValues(16.dp)
) {
Row(

View File

@@ -80,8 +80,6 @@ import top.yukonga.miuix.kmp.extra.SuperArrow
import top.yukonga.miuix.kmp.extra.SuperDropdown
import top.yukonga.miuix.kmp.extra.SuperSwitch
import top.yukonga.miuix.kmp.theme.MiuixTheme.colorScheme
import com.sukisu.ultra.ui.theme.wallpaperCardColors
import com.sukisu.ultra.ui.theme.wallpaperContainerColor
import top.yukonga.miuix.kmp.utils.getWindowSize
import top.yukonga.miuix.kmp.utils.overScrollVertical
import top.yukonga.miuix.kmp.utils.scrollEndHaptic
@@ -106,7 +104,6 @@ fun SettingPager(
val isKpmAvailable = rememberKpmAvailable()
Scaffold(
containerColor = wallpaperContainerColor(),
topBar = {
TopAppBar(
modifier = Modifier.hazeEffect(hazeState) {
@@ -152,7 +149,6 @@ fun SettingPager(
modifier = Modifier
.padding(top = 12.dp)
.fillMaxWidth(),
colors = wallpaperCardColors(),
) {
SuperSwitch(
title = stringResource(id = R.string.settings_check_update),
@@ -203,7 +199,6 @@ fun SettingPager(
modifier = Modifier
.padding(top = 12.dp)
.fillMaxWidth(),
colors = wallpaperCardColors(),
) {
val personalization = stringResource(id = R.string.personalization)
SuperArrow(
@@ -231,7 +226,6 @@ fun SettingPager(
modifier = Modifier
.padding(top = 12.dp)
.fillMaxWidth(),
colors = wallpaperCardColors(),
) {
SuperArrow(
title = toolsTitle,
@@ -258,7 +252,6 @@ fun SettingPager(
modifier = Modifier
.padding(top = 12.dp)
.fillMaxWidth(),
colors = wallpaperCardColors(),
) {
val profileTemplate = stringResource(id = R.string.settings_profile_template)
SuperArrow(
@@ -286,7 +279,6 @@ fun SettingPager(
modifier = Modifier
.padding(top = 12.dp)
.fillMaxWidth(),
colors = wallpaperCardColors(),
) {
val kpmTitle = stringResource(id = R.string.kpm_title)
SuperArrow(
@@ -314,7 +306,6 @@ fun SettingPager(
modifier = Modifier
.padding(top = 12.dp)
.fillMaxWidth(),
colors = wallpaperCardColors(),
) {
val susfsTitle = stringResource(id = R.string.susfs_config_title)
SuperArrow(
@@ -593,7 +584,6 @@ fun SettingPager(
modifier = Modifier
.padding(top = 12.dp)
.fillMaxWidth(),
colors = wallpaperCardColors(),
) {
var umountChecked by rememberSaveable { mutableStateOf(Natives.isDefaultUmountModules()) }
SuperSwitch(
@@ -645,7 +635,6 @@ fun SettingPager(
modifier = Modifier
.padding(top = 12.dp)
.fillMaxWidth(),
colors = wallpaperCardColors(),
) {
val uninstall = stringResource(id = R.string.settings_uninstall)
SuperArrow(
@@ -671,7 +660,6 @@ fun SettingPager(
modifier = Modifier
.padding(vertical = 12.dp)
.fillMaxWidth(),
colors = wallpaperCardColors(),
) {
if (isSuLogEnabled) {
val sulog = stringResource(id = R.string.log_viewer_view_logs)

View File

@@ -98,8 +98,6 @@ import top.yukonga.miuix.kmp.icon.MiuixIcons
import top.yukonga.miuix.kmp.icon.icons.basic.ArrowRight
import top.yukonga.miuix.kmp.icon.icons.useful.ImmersionMore
import top.yukonga.miuix.kmp.theme.MiuixTheme.colorScheme
import com.sukisu.ultra.ui.theme.wallpaperCardColors
import com.sukisu.ultra.ui.theme.wallpaperContainerColor
import top.yukonga.miuix.kmp.utils.PressFeedbackType
import top.yukonga.miuix.kmp.utils.getWindowSize
import top.yukonga.miuix.kmp.utils.overScrollVertical
@@ -140,7 +138,6 @@ fun SuperUserPager(
)
Scaffold(
containerColor = wallpaperContainerColor(),
topBar = {
searchStatus.TopAppBarAnim(hazeState = hazeState, hazeStyle = hazeStyle) {
TopAppBar(
@@ -397,8 +394,7 @@ private fun SimpleAppItem(
)
Card(
modifier = Modifier
.padding(start = 6.dp, end = 12.dp, bottom = 6.dp),
colors = wallpaperCardColors()
.padding(start = 6.dp, end = 12.dp, bottom = 6.dp)
) {
BasicComponent(
title = app.label,
@@ -505,7 +501,6 @@ private fun GroupItem(
modifier = Modifier
.padding(horizontal = 12.dp)
.padding(bottom = 12.dp),
colors = wallpaperCardColors(),
onClick = onClickPrimary,
onLongPress = if (group.apps.size > 1) onToggleExpand else null,
pressFeedbackType = PressFeedbackType.Sink,

View File

@@ -101,8 +101,6 @@ import top.yukonga.miuix.kmp.icon.icons.useful.Copy
import top.yukonga.miuix.kmp.icon.icons.useful.Refresh
import top.yukonga.miuix.kmp.theme.MiuixTheme
import top.yukonga.miuix.kmp.theme.MiuixTheme.colorScheme
import com.sukisu.ultra.ui.theme.wallpaperCardColors
import com.sukisu.ultra.ui.theme.wallpaperContainerColor
import top.yukonga.miuix.kmp.utils.PressFeedbackType
import top.yukonga.miuix.kmp.utils.getWindowSize
import top.yukonga.miuix.kmp.utils.overScrollVertical
@@ -171,7 +169,6 @@ fun AppProfileTemplateScreen(
)
Scaffold(
containerColor = wallpaperContainerColor(),
topBar = {
val clipboardManager = LocalClipboardManager.current
val context = LocalContext.current
@@ -313,7 +310,6 @@ private fun TemplateItem(
) {
Card(
modifier = Modifier.padding(bottom = 12.dp),
colors = wallpaperCardColors(),
onClick = {
navigator.navigate(TemplateEditorScreenDestination(template, !template.local)) {
popUpTo(TemplateEditorScreenDestination) {

View File

@@ -61,8 +61,6 @@ import top.yukonga.miuix.kmp.icon.icons.useful.Back
import top.yukonga.miuix.kmp.icon.icons.useful.Confirm
import top.yukonga.miuix.kmp.icon.icons.useful.Delete
import top.yukonga.miuix.kmp.theme.MiuixTheme.colorScheme
import com.sukisu.ultra.ui.theme.wallpaperCardColors
import com.sukisu.ultra.ui.theme.wallpaperContainerColor
import top.yukonga.miuix.kmp.utils.getWindowSize
import top.yukonga.miuix.kmp.utils.overScrollVertical
import top.yukonga.miuix.kmp.utils.scrollEndHaptic
@@ -98,7 +96,6 @@ fun TemplateEditorScreen(
}
Scaffold(
containerColor = wallpaperContainerColor(),
topBar = {
val saveTemplateFailed = stringResource(id = R.string.app_profile_template_save_failed)
val idConflictError = stringResource(id = R.string.app_profile_template_id_exist)
@@ -167,7 +164,6 @@ fun TemplateEditorScreen(
modifier = Modifier
.fillMaxWidth()
.padding(12.dp),
colors = wallpaperCardColors(),
) {
var errorHint by remember {
mutableStateOf(false)

View File

@@ -24,8 +24,6 @@ import com.ramcosta.composedestinations.navigation.DestinationsNavigator
import com.sukisu.ultra.R
import com.sukisu.ultra.ui.component.rememberConfirmDialog
import com.sukisu.ultra.ui.component.ConfirmResult
import com.sukisu.ultra.ui.theme.wallpaperCardColors
import com.sukisu.ultra.ui.theme.wallpaperContainerColor
import com.sukisu.ultra.ui.util.*
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@@ -89,7 +87,6 @@ fun UmountManager(navigator: DestinationsNavigator) {
}
Scaffold(
containerColor = wallpaperContainerColor(),
topBar = {
TopAppBar(
title = stringResource(R.string.umount_path_manager),
@@ -136,8 +133,7 @@ fun UmountManager(navigator: DestinationsNavigator) {
Card(
modifier = Modifier
.fillMaxWidth()
.padding(SPACING_LARGE),
colors = wallpaperCardColors()
.padding(SPACING_LARGE)
) {
Row(
modifier = Modifier.padding(SPACING_LARGE),
@@ -313,8 +309,7 @@ fun UmountPathCard(
val context = LocalContext.current
Card(
modifier = Modifier.fillMaxWidth(),
colors = wallpaperCardColors()
modifier = Modifier.fillMaxWidth()
) {
Row(
modifier = Modifier

View File

@@ -1,19 +1,7 @@
package com.sukisu.ultra.ui.screen.settings
import android.annotation.SuppressLint
import android.content.Context
import android.content.Intent
import android.content.SharedPreferences
import android.os.Build
import androidx.activity.compose.rememberLauncherForActivityResult
import androidx.activity.result.PickVisualMediaRequest
import androidx.activity.result.contract.ActivityResultContracts
import androidx.compose.animation.AnimatedVisibility
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.WindowInsetsSides
import androidx.compose.foundation.layout.add
@@ -27,12 +15,8 @@ import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.rounded.Palette
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.Stable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableFloatStateOf
import androidx.compose.runtime.mutableIntStateOf
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
@@ -58,24 +42,15 @@ import top.yukonga.miuix.kmp.basic.Icon
import top.yukonga.miuix.kmp.basic.IconButton
import top.yukonga.miuix.kmp.basic.MiuixScrollBehavior
import top.yukonga.miuix.kmp.basic.Scaffold
import top.yukonga.miuix.kmp.basic.Slider
import top.yukonga.miuix.kmp.basic.SliderDefaults
import top.yukonga.miuix.kmp.basic.TopAppBar
import top.yukonga.miuix.kmp.basic.Text
import top.yukonga.miuix.kmp.basic.TextButton
import top.yukonga.miuix.kmp.icon.MiuixIcons
import top.yukonga.miuix.kmp.icon.icons.useful.Back
import top.yukonga.miuix.kmp.theme.MiuixTheme.colorScheme
import com.sukisu.ultra.ui.theme.wallpaperCardColors
import com.sukisu.ultra.ui.theme.wallpaperContainerColor
import top.yukonga.miuix.kmp.extra.SuperArrow
import top.yukonga.miuix.kmp.extra.SuperDropdown
import top.yukonga.miuix.kmp.utils.getWindowSize
import top.yukonga.miuix.kmp.utils.overScrollVertical
import top.yukonga.miuix.kmp.utils.scrollEndHaptic
import kotlin.math.roundToInt
@SuppressLint("ObsoleteSdkInt")
@Composable
@Destination<RootGraph>
fun Personalization(
@@ -89,7 +64,6 @@ fun Personalization(
)
Scaffold(
containerColor = wallpaperContainerColor(),
topBar = {
TopAppBar(
modifier = Modifier.hazeEffect(hazeState) {
@@ -136,7 +110,6 @@ fun Personalization(
modifier = Modifier
.padding(top = 12.dp)
.fillMaxWidth(),
colors = wallpaperCardColors(),
) {
val themeItems = listOf(
stringResource(id = R.string.settings_theme_mode_system),
@@ -217,260 +190,8 @@ fun Personalization(
}
)
}
Spacer(modifier = Modifier.height(8.dp))
val isSystemDarkMode = isSystemInDarkTheme()
val isDarkThemeActive = when (themeMode) {
1, 4 -> false
2, 5 -> true
else -> isSystemDarkMode
}
val wallpaperAlphaMin = if (isDarkThemeActive) 0.2f else 0f
val wallpaperEnabledAlpha = if (isDarkThemeActive) 0.5f else 0.3f
val wallpaperPreferenceState = rememberWallpaperPreferenceState(
prefs = prefs,
wallpaperAlphaMin = wallpaperAlphaMin,
wallpaperEnabledAlpha = wallpaperEnabledAlpha
)
val summaryText = if (wallpaperPreferenceState.isEnabled) {
stringResource(id = R.string.settings_wallpaper_summary_selected)
} else {
stringResource(id = R.string.settings_wallpaper_summary)
}
val wallpaperPicker = rememberLauncherForActivityResult(
ActivityResultContracts.PickVisualMedia()
) { uri ->
if (uri != null) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
try {
context.contentResolver.takePersistableUriPermission(
uri,
Intent.FLAG_GRANT_READ_URI_PERMISSION
)
} catch (_: SecurityException) {
}
}
val uriString = uri.toString()
wallpaperPreferenceState.setWallpaper(uriString)
}
}
SuperArrow(
title = stringResource(id = R.string.settings_wallpaper),
summary = summaryText,
leftAction = {
Icon(
Icons.Rounded.Palette,
modifier = Modifier.padding(end = 16.dp),
contentDescription = stringResource(id = R.string.settings_wallpaper),
tint = colorScheme.onBackground
)
},
onClick = {
wallpaperPicker.launch(
PickVisualMediaRequest(ActivityResultContracts.PickVisualMedia.ImageOnly)
)
}
)
val wallpaperModes = listOf(
stringResource(id = R.string.settings_wallpaper_mode_fill),
stringResource(id = R.string.settings_wallpaper_mode_stretch),
stringResource(id = R.string.settings_wallpaper_mode_fit)
)
AnimatedVisibility(visible = wallpaperPreferenceState.isEnabled) {
Column(
modifier = Modifier
.fillMaxWidth()
.padding(horizontal = 16.dp, vertical = 12.dp)
) {
Row(
modifier = Modifier.fillMaxWidth(),
horizontalArrangement = Arrangement.spacedBy(12.dp)
) {
TextButton(
modifier = Modifier.weight(1f),
text = stringResource(id = R.string.settings_wallpaper_replace),
onClick = {
wallpaperPicker.launch(
PickVisualMediaRequest(ActivityResultContracts.PickVisualMedia.ImageOnly)
)
}
)
TextButton(
modifier = Modifier.weight(1f),
text = stringResource(id = R.string.settings_wallpaper_remove),
onClick = {
wallpaperPreferenceState.removeWallpaper()
}
)
}
Spacer(modifier = Modifier.height(12.dp))
SuperDropdown(
title = stringResource(id = R.string.settings_wallpaper_mode),
summary = stringResource(id = R.string.settings_wallpaper_mode_summary),
items = wallpaperModes,
leftAction = {
Icon(
Icons.Rounded.Palette,
modifier = Modifier.padding(end = 16.dp),
contentDescription = stringResource(id = R.string.settings_wallpaper_mode),
tint = colorScheme.onBackground
)
},
selectedIndex = wallpaperPreferenceState.scaleMode,
onSelectedIndexChange = { index ->
wallpaperPreferenceState.updateScaleMode(index)
}
)
Column(
modifier = Modifier
.fillMaxWidth()
.padding(top = 12.dp)
) {
Text(
text = stringResource(
id = R.string.settings_wallpaper_opacity_label,
(wallpaperPreferenceState.sliderValue * 100).roundToInt()
),
color = colorScheme.onBackground
)
Slider(
modifier = Modifier
.fillMaxWidth()
.padding(top = 4.dp),
value = wallpaperPreferenceState.sliderValue,
onValueChange = wallpaperPreferenceState::onSliderChange,
valueRange = wallpaperPreferenceState.minAlpha..1f,
steps = 8,
colors = SliderDefaults.sliderColors(
thumbColor = colorScheme.primary,
),
onValueChangeFinished = {
wallpaperPreferenceState.onSliderChangeFinished()
}
)
}
}
}
}
}
}
}
}
@Composable
private fun rememberWallpaperPreferenceState(
prefs: SharedPreferences,
wallpaperAlphaMin: Float,
wallpaperEnabledAlpha: Float
): WallpaperPreferenceState {
val state = remember(prefs) {
WallpaperPreferenceState(
prefs = prefs,
initialUri = prefs.getString("wallpaper_uri", null),
initialScaleMode = prefs.getInt("wallpaper_scale_mode", 0),
initialAlpha = prefs.getFloat("wallpaper_alpha", wallpaperAlphaMin)
.coerceAtLeast(wallpaperAlphaMin),
initialMinAlpha = wallpaperAlphaMin,
initialEnabledAlpha = wallpaperEnabledAlpha
)
}
LaunchedEffect(wallpaperAlphaMin, wallpaperEnabledAlpha) {
state.updateBounds(wallpaperAlphaMin, wallpaperEnabledAlpha)
}
return state
}
@Stable
private class WallpaperPreferenceState(
private val prefs: SharedPreferences,
initialUri: String?,
initialScaleMode: Int,
initialAlpha: Float,
initialMinAlpha: Float,
initialEnabledAlpha: Float,
) {
var uri by mutableStateOf(initialUri)
private set
val isEnabled: Boolean
get() = !uri.isNullOrBlank()
var scaleMode by mutableIntStateOf(initialScaleMode)
private set
var sliderValue by mutableFloatStateOf(initialAlpha)
private set
var minAlpha by mutableFloatStateOf(initialMinAlpha)
private set
var enabledAlpha by mutableFloatStateOf(initialEnabledAlpha)
private set
private var persistedAlpha by mutableFloatStateOf(initialAlpha)
fun onSliderChange(value: Float) {
sliderValue = value
}
fun onSliderChangeFinished() {
setAlphaInternal(sliderValue)
}
fun setWallpaper(uriString: String) {
uri = uriString
val targetAlpha = enabledAlpha.coerceAtLeast(minAlpha)
prefs.edit {
putString("wallpaper_uri", uriString)
putFloat("wallpaper_alpha", targetAlpha)
}
setAlphaInternal(targetAlpha, skipPersist = true)
}
fun removeWallpaper() {
prefs.edit {
remove("wallpaper_uri")
putFloat("wallpaper_alpha", 1f)
}
uri = null
setAlphaInternal(1f, skipPersist = true)
}
fun updateScaleMode(index: Int) {
scaleMode = index
prefs.edit { putInt("wallpaper_scale_mode", index) }
}
fun updateBounds(min: Float, enabled: Float) {
val coercedMin = min.coerceIn(0f, 1f)
val coercedEnabled = enabled.coerceIn(coercedMin, 1f)
val alphaAdjusted = persistedAlpha.coerceAtLeast(coercedMin)
val needsAlphaUpdate = alphaAdjusted != persistedAlpha || coercedMin != minAlpha
minAlpha = coercedMin
enabledAlpha = coercedEnabled
if (sliderValue < coercedMin) {
sliderValue = coercedMin
}
if (needsAlphaUpdate) {
setAlphaInternal(alphaAdjusted, skipPersist = false)
}
}
private fun setAlphaInternal(target: Float, skipPersist: Boolean = false) {
val coerced = target.coerceIn(minAlpha, 1f)
persistedAlpha = coerced
sliderValue = coerced
if (!skipPersist) {
prefs.edit { putFloat("wallpaper_alpha", coerced) }
}
}
}

View File

@@ -53,8 +53,6 @@ import com.sukisu.ultra.ui.component.ConfirmResult
import com.sukisu.ultra.ui.component.DynamicManagerCard
import com.sukisu.ultra.ui.component.KsuIsValid
import com.sukisu.ultra.ui.component.rememberConfirmDialog
import com.sukisu.ultra.ui.theme.wallpaperCardColors
import com.sukisu.ultra.ui.theme.wallpaperContainerColor
import com.sukisu.ultra.ui.util.cleanRuntimeEnvironment
import com.sukisu.ultra.ui.util.getUidMultiUserScan
import com.sukisu.ultra.ui.util.readUidScannerFile
@@ -103,7 +101,6 @@ fun Tools(
val prefs = remember { context.getSharedPreferences("settings", Context.MODE_PRIVATE) }
Scaffold(
containerColor = wallpaperContainerColor(),
topBar = {
TopAppBar(
modifier = Modifier.hazeEffect(hazeState) {
@@ -146,7 +143,6 @@ fun Tools(
modifier = Modifier
.padding(top = 12.dp)
.fillMaxWidth(),
colors = wallpaperCardColors(),
) {
UidScannerSection(prefs = prefs, scope = scope, context = context)
}
@@ -157,7 +153,6 @@ fun Tools(
modifier = Modifier
.padding(top = 12.dp)
.fillMaxWidth(),
colors = wallpaperCardColors(),
) {
val lkmMode = Natives.isLkmMode
if (lkmMode) {
@@ -352,7 +347,6 @@ fun SelinuxToggleSection(
modifier = Modifier
.padding(top = 12.dp)
.fillMaxWidth(),
colors = wallpaperCardColors(),
) {
val statusLabel = getSELinuxStatus()
SuperSwitch(
@@ -463,7 +457,6 @@ private fun AllowlistBackupSection(
modifier = Modifier
.padding(vertical = 12.dp)
.fillMaxWidth(),
colors = wallpaperCardColors(),
) {
SuperArrow(
title = stringResource(R.string.allowlist_backup_title),

View File

@@ -1,74 +0,0 @@
package com.sukisu.ultra.ui.theme
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Stable
import androidx.compose.runtime.compositionLocalOf
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.lerp
import top.yukonga.miuix.kmp.basic.CardDefaults
import top.yukonga.miuix.kmp.theme.MiuixTheme
@Stable
data class WallpaperState(
val enabled: Boolean,
val surfaceAlpha: Float,
val transitionBlend: Float
)
val LocalWallpaperState = compositionLocalOf {
WallpaperState(
enabled = false,
surfaceAlpha = 1f,
transitionBlend = 0f
)
}
@Composable
fun wallpaperContainerColor(): Color {
val wallpaperState = LocalWallpaperState.current
if (!wallpaperState.enabled) {
return MiuixTheme.colorScheme.surface
}
val base = MiuixTheme.colorScheme.surface
val adjustedAlpha = wallpaperState.surfaceAlpha.coerceIn(0f, 1f)
return base.copy(alpha = adjustedAlpha)
}
@Composable
fun wallpaperSurfaceColor(base: Color = MiuixTheme.colorScheme.surface): Color {
val wallpaperState = LocalWallpaperState.current
if (!wallpaperState.enabled) {
return base
}
val alphaMultiplier = wallpaperState.surfaceAlpha.coerceIn(0f, 1f)
val dimOverlay = Color.Black.copy(alpha = 0.25f)
val tintedBase = lerp(base, dimOverlay, 0.15f)
return tintedBase.copy(alpha = tintedBase.alpha * alphaMultiplier)
}
@Composable
fun wallpaperContentColor(): Color {
return MiuixTheme.colorScheme.onSurface
}
@Composable
fun wallpaperTransitionAlpha(
enabledAlpha: Float,
disabledAlpha: Float = 1f
): Float {
val wallpaperState = LocalWallpaperState.current
val blend = wallpaperState.transitionBlend.coerceIn(0f, 1f)
val clampedEnabled = enabledAlpha.coerceIn(0f, 1f)
val clampedDisabled = disabledAlpha.coerceIn(0f, 1f)
return (clampedDisabled + (clampedEnabled - clampedDisabled) * blend)
.coerceIn(0f, 1f)
}
@Composable
fun wallpaperCardColors(
background: Color = wallpaperSurfaceColor(),
content: Color = wallpaperContentColor(),
) = CardDefaults.defaultColors(
color = background,
contentColor = content,
)

View File

@@ -1,21 +1,8 @@
package com.sukisu.ultra.ui.theme
import android.net.Uri
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.zIndex
import coil.compose.rememberAsyncImagePainter
import coil.request.ImageRequest
import top.yukonga.miuix.kmp.theme.ColorSchemeMode
import top.yukonga.miuix.kmp.theme.MiuixTheme
import top.yukonga.miuix.kmp.theme.ThemeController
@@ -24,9 +11,6 @@ import top.yukonga.miuix.kmp.theme.ThemeController
fun KernelSUTheme(
colorMode: Int = 0,
keyColor: Color? = null,
wallpaperUri: String? = null,
wallpaperAlpha: Float = 1f,
wallpaperScaleMode: Int = 0,
content: @Composable () -> Unit
) {
val isDark = isSystemInDarkTheme()
@@ -53,63 +37,6 @@ fun KernelSUTheme(
}
return MiuixTheme(
controller = controller,
) {
val context = LocalContext.current
val hasWallpaper = !wallpaperUri.isNullOrBlank()
val surfaceAlpha = if (hasWallpaper) wallpaperAlpha.coerceIn(0f, 1f) else 1f
val uri = wallpaperUri?.takeIf { it.isNotBlank() }?.let(Uri::parse)
Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
if (hasWallpaper && uri != null) {
val contentScale = when (wallpaperScaleMode) {
1 -> ContentScale.FillBounds
2 -> ContentScale.Fit
else -> ContentScale.Crop
}
Image(
modifier = Modifier.fillMaxSize(),
painter = rememberAsyncImagePainter(
ImageRequest.Builder(context)
.data(uri)
.crossfade(true)
.build()
),
contentDescription = null,
contentScale = contentScale
)
val scrimBase = if (isDark) 0.25f else 0.05f
val scrimScale = if (isDark) 0.75f else 0.4f
val overlayAlpha = (scrimBase + (1f - surfaceAlpha) * scrimScale).coerceIn(0f, if (isDark) 0.85f else 0.45f)
if (overlayAlpha > 0f) {
val overlayColor = if (isDark) {
Color.Black.copy(alpha = overlayAlpha)
} else {
Color.White.copy(alpha = overlayAlpha * 0.6f)
}
Box(
modifier = Modifier
.fillMaxSize()
.background(overlayColor)
)
}
}
CompositionLocalProvider(
LocalWallpaperState provides WallpaperState(
enabled = hasWallpaper,
surfaceAlpha = surfaceAlpha,
transitionBlend = if (hasWallpaper) 1f else 0f
)
) {
Box(
modifier = Modifier
.fillMaxSize()
.zIndex(1f)
) {
content()
}
}
}
}
content = content
)
}

View File

@@ -5,6 +5,8 @@
<string name="home_click_to_install">إضغط للتثبيت</string>
<string name="home_working">يعمل</string>
<string name="home_working_version">الإصدار: %d</string>
<string name="home_superuser_count">مستخدمين الجذر: %d</string>
<string name="home_module_count">الإضافات: %d</string>
<string name="home_unsupported">غير مدعوم</string>
<string name="home_unsupported_reason">KernelSU يدعم GKI kernels فقط</string>
<string name="home_kernel">إصدار النواة</string>
@@ -57,8 +59,12 @@
<string name="launch_app">تشغيل</string>
<string name="profile_default">الإفتراضي</string>
<string name="profile_template">نموذج</string>
<string name="profile_namespace_inherited">موروث</string>
<string name="profile_namespace_global">عالمي</string>
<string name="profile_namespace_individual">فردي</string>
<string name="profile_groups">مجموعات</string>
<string name="profile_custom">مُخصّص</string>
<string name="profile_namespace">تركيب مساحة الاسم</string>
<string name="profile_umount_modules">الغاء تحميل الإضافات</string>
<string name="failed_to_update_app_profile">فشل تحديث ملف تعريف التطبيق لـ %s</string>
<string name="profile_selinux_context">سياق SELinux</string>
@@ -83,6 +89,7 @@
<string name="app_profile_template_id_invalid">معرف القالب غير صالح</string>
<string name="app_profile_template_sync">مزامنة القوالب عبر الإنترنت</string>
<string name="app_profile_template_create">إنشاء قالب</string>
<string name="app_profile_template_readonly">للقراءة فقط</string>
<string name="app_profile_import_export">استيراد / تصدير</string>
<string name="app_profile_template_save_failed">فشل في حفظ القالب</string>
<string name="app_profile_template_edit">تحرير القالب</string>

View File

@@ -1,11 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="home">Ana səhifə</string>
<string name="home_superuser_count">Super istifadəçilər: %d</string>
<string name="home_kernel">Nüvə</string>
<string name="home_not_installed">Yüklənmədi</string>
<string name="home_click_to_install">Yükləmək üçün toxunun</string>
<string name="home_working">İşləyir</string>
<string name="home_working_version">Versiya: %d</string>
<string name="home_module_count">Modullar: %d</string>
<string name="home_unsupported_reason">Hal-hazırda KernelSU yalnız GKI nüvələrini dəstəkləyir</string>
<string name="home_unsupported">Dəstəklənmir</string>
<string name="module_install">Yüklə</string>
@@ -55,6 +57,10 @@
<string name="profile_name">Profil adı</string>
<string name="profile_capabilities">Bacarıqlar</string>
<string name="profile_umount_modules">Modulları umount et</string>
<string name="profile_namespace_inherited">Miras qalmış</string>
<string name="profile_namespace_global">Qlobal</string>
<string name="profile_namespace">Bölmənin ad sahəsi</string>
<string name="profile_namespace_individual">Fərdi</string>
<string name="profile_groups">Qruplar</string>
<string name="settings_umount_modules_default">Defolt olaraq modulları umount et</string>
<string name="profile_selinux_context">SELinux konteksi</string>
@@ -90,5 +96,6 @@
<string name="app_profile_template_save">Yadda saxla</string>
<string name="app_profile_template_delete">Sil</string>
<string name="app_profile_template_view">Şablonu göstər</string>
<string name="app_profile_template_readonly">Yalnız oxu</string>
<string name="app_profile_template_id_exist">Şablon ID-si artıq mövcuddur!</string>
</resources>

View File

@@ -6,6 +6,7 @@
<string name="module_failed_to_enable">মোডিউল ইনেবল করা যায়নি: %s</string>
<string name="home_click_to_install">ইন্সটল করটে চাপুন</string>
<string name="home_working">কাজ করছে</string>
<string name="home_module_count">মোডিউল: %d</string>
<string name="home_unsupported">অমূলক</string>
<string name="home_kernel">কর্নেল</string>
<string name="home_manager_version">ম্যানেজার ভারসন</string>
@@ -20,6 +21,7 @@
<string name="reboot">রিবুট</string>
<string name="settings">সেটিংস</string>
<string name="reboot_userspace">সফট রিবুট</string>
<string name="profile_namespace_global">গ্লোবাল</string>
<string name="profile_groups">গ্রুপস</string>
<string name="profile_selinux_context">এসইলিনাক্স কন্টেক্সট</string>
<string name="failed_to_update_app_profile">%s এর জন্য অ্যাপ প্রফাইল আপডেট করা যায়নি</string>
@@ -30,6 +32,10 @@
<string name="module_failed_to_disable">মোডিউল ডিসেবল করা যায়নি: %s</string>
<string name="module_empty">কোনো মোডিউল ইন্সটল করা নেই</string>
<string name="home_working_version">সংস্করণ: %d</string>
<string name="home_superuser_count">সুপার ইউজার: %d</string>
<string name="profile_namespace">নেইম স্পেস মাউন্ট</string>
<string name="profile_namespace_inherited">ইনহেরিটেড</string>
<string name="profile_namespace_individual">ইন্ডিভিজুয়াল</string>
<string name="profile_capabilities">ক্যাপাবিলিটিস</string>
<string name="profile_umount_modules">আনমাউন্ট মোডিউলস</string>
<string name="reboot_recovery">রিকভারিতে বুট</string>

View File

@@ -5,6 +5,8 @@
<string name="home_click_to_install">ইনস্টল করার জন্য ক্লিক করুন</string>
<string name="home_working"> ওয়ার্কিং</string>
<string name="home_working_version">ওয়ার্কিং সংস্করণ: %d</string>
<string name="home_superuser_count">সুপার ইউজার: %d</string>
<string name="home_module_count">মডিউল: %d</string>
<string name="home_unsupported">অসমর্থিত</string>
<string name="home_unsupported_reason">KernelSU শুধুমাত্র GKI কার্নেল সমর্থন করে</string>
<string name="home_kernel">কার্নেল</string>
@@ -50,12 +52,15 @@
<string name="home_support_content">কার্নেলএসইউ বিনামূল্যে এবং ওপেন সোর্স, এবং সবসময় থাকবে। আপনি সবসময় একটি অনুদান দিয়ে আপনার কৃতজ্ঞতা প্রদর্শন করতে পারেন.</string>
<string name="about_source_code"><![CDATA[Bekijk source code op %1$s<br/>আমাদের %2$s চ্যানেল মার্জ করুন]]></string>
<string name="profile_name">প্রফাইলের নাম</string>
<string name="profile_namespace">নেমস্পেস মাউন্ট</string>
<string name="profile_groups">গ্রুপস</string>
<string name="profile_capabilities">যোগ্যতা</string>
<string name="profile_selinux_context">এসই লিনাক্স কনটেক্সট</string>
<string name="profile_default">ডিফল্ট</string>
<string name="profile_template">টেমপ্লেট</string>
<string name="profile_custom">কাস্টম</string>
<string name="profile_namespace_global">গ্লোবাল</string>
<string name="profile_namespace_individual">আলাদাভাবে</string>
<string name="profile_umount_modules">আনমাউন্ট মোডিউল</string>
<string name="require_kernel_version">ম্যানেজার সঠিকভাবে কাজ করার জন্য বর্তমান KernelSU সংস্করণ %d খুবই কম। অনুগ্রহ করে %d বা উচ্চতর সংস্করণে আপগ্রেড করুন!</string>
<string name="save_log">লগ সংরক্ষণ করুন</string>

View File

@@ -1,5 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="profile_namespace">Imenski prostor nosača</string>
<string name="profile_namespace_inherited">Naslijeđen</string>
<string name="profile_namespace_global">Globalan</string>
<string name="profile_namespace_individual">Pojedinačan</string>
<string name="profile_groups">Grupe</string>
<string name="profile_capabilities">Sposobnosti</string>
<string name="profile_selinux_context">SELinux kontekst</string>
@@ -20,6 +24,8 @@
<string name="home">Početna</string>
<string name="home_not_installed">Nije instalirano</string>
<string name="home_click_to_install">Kliknite da instalirate</string>
<string name="home_superuser_count">Superkorisnici: %d</string>
<string name="home_module_count">Module: %d</string>
<string name="home_unsupported">Nepodržano</string>
<string name="home_unsupported_reason">KernelSU samo podržava GKI kernele sad</string>
<string name="home_manager_version">Verzija Upravitelja</string>

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="home_working">Arbejder</string>
<string name="home_module_count">Moduler: %d</string>
<string name="home_unsupported">Ikke understøttet</string>
<string name="home_kernel">Kernel-version</string>
<string name="home_unsupported_reason">KernelSU understøtter nu kun GKI-kerner.</string>
@@ -34,6 +35,9 @@
<string name="about_source_code"><![CDATA[View source code at %1$s<br/>Join our %2$s channel]]></string>
<string name="profile_default">Standard</string>
<string name="profile_template">Skabelon</string>
<string name="profile_namespace">Monter namespace</string>
<string name="profile_namespace_inherited">Arvet</string>
<string name="profile_namespace_global">Global</string>
<string name="profile_groups">Grupper</string>
<string name="profile_capabilities">Evner</string>
<string name="profile_selinux_context">SELinux-kontext</string>
@@ -51,6 +55,7 @@
<string name="home_working_version">Version: %d</string>
<string name="home">Hjem</string>
<string name="home_not_installed">Ikke installeret</string>
<string name="home_superuser_count">Superbrugere: %d</string>
<string name="home_fingerprint">Fingeraftryk</string>
<string name="selinux_status_unknown">Ukendt</string>
<string name="module_failed_to_enable">Aktivering af modul fejlede: %s</string>
@@ -66,6 +71,7 @@
<string name="home_support_content">KernelSU er, og vil altid være, gratis og åben kildekode. Du kan dog vise os, at du holder af os, ved at give en donation.</string>
<string name="profile_custom">Brugerdefineret</string>
<string name="profile_name">Profilnavn</string>
<string name="profile_namespace_individual">Individuel</string>
<string name="failed_to_update_app_profile">Opdatering af App Profil for %s fejlede</string>
<string name="settings_umount_modules_default_summary">Den globale standardværdi for \"Umount moduler\" i App Profile. Hvis aktiveret, fjernes alle modulændringer til systemet for apps, der ikke har en profil angivet.</string>
<string name="profile_selinux_domain">Domæne</string>
@@ -90,6 +96,7 @@
<string name="app_profile_template_save">Gem</string>
<string name="app_profile_template_delete">Slet</string>
<string name="app_profile_template_view">Visningsskabelon</string>
<string name="app_profile_template_readonly">Skrivebeskyttet</string>
<string name="app_profile_template_id_exist">Skabelon-ID findes allerede!</string>
<string name="app_profile_import_export">Import/Eksport</string>
<string name="app_profile_import_from_clipboard">Importér fra udklipsholder</string>

View File

@@ -7,6 +7,7 @@
<string name="home_working_version">Version: %d</string>
<string name="superuser">Superuser</string>
<string name="home_click_to_install">Tippe zum Installieren</string>
<string name="home_superuser_count">Superuser: %d</string>
<string name="selinux_status_unknown">Unbekannt</string>
<string name="selinux_status_enforcing">Erzwingen</string>
<string name="reboot_bootloader">In den Bootloader-Modus neustarten</string>
@@ -26,6 +27,9 @@
<string name="profile_template">Vorlage</string>
<string name="profile_custom">Benutzerdefiniert</string>
<string name="failed_to_update_app_profile">App-Profilaktualisierung für %s fehlgeschlagen</string>
<string name="profile_namespace_inherited">Geerbt</string>
<string name="profile_namespace_global">Global</string>
<string name="profile_namespace_individual">Individuell</string>
<string name="profile_selinux_domain">Domäne</string>
<string name="module_update">Aktualisieren</string>
<string name="profile_umount_modules_summary">Wenn du diese Option aktivierst, kann KernelSU alle von den Modulen für diese App geänderten Dateien wiederherstellen.</string>
@@ -36,6 +40,7 @@
<string name="new_version_available">Neue Version %s verfügbar, tippen zum Aktualisieren.</string>
<string name="force_stop_app">Stopp erzwingen</string>
<string name="restart_app">Neustarten</string>
<string name="home_module_count">Module: %d</string>
<string name="home_manager_version">Manager-Version</string>
<string name="home_selinux_status">SELinux Status</string>
<string name="selinux_status_disabled">Deaktiviert</string>
@@ -59,6 +64,7 @@
<string name="reboot_to_apply">Neustarten, damit Änderungen wirksam werden</string>
<string name="about_source_code"><![CDATA[Quellcode einsehen unter %1$s<br/>Unserem %2$s-Kanal beitreten]]></string>
<string name="profile_name">Profilname</string>
<string name="profile_namespace">Namespace einhängen</string>
<string name="profile_groups">Gruppen</string>
<string name="profile_capabilities">Fähigkeiten</string>
<string name="profile_umount_modules">Module aushängen</string>
@@ -83,6 +89,7 @@
<string name="app_profile_template_id_invalid">Ungültige Vorlagen-ID</string>
<string name="app_profile_template_sync">Online-Vorlagen synchronisieren</string>
<string name="app_profile_template_create">Vorlage erstellen</string>
<string name="app_profile_template_readonly">Schreibgeschützt</string>
<string name="app_profile_import_export">Import/Export</string>
<string name="app_profile_template_save_failed">Schlug beim Speichern der Vorlage fehl</string>
<string name="app_profile_template_edit">Vorlage bearbeiten</string>

View File

@@ -5,6 +5,8 @@
<string name="home_click_to_install">Haz clic para instalar</string>
<string name="home_working">Funcionando</string>
<string name="home_working_version">Versión: %d</string>
<string name="home_superuser_count">Superusuarios: %d</string>
<string name="home_module_count">Módulos: %d</string>
<string name="home_unsupported">Sin soporte</string>
<string name="home_unsupported_reason">KernelSU solo admite kernels GKI por ahora</string>
<string name="home_kernel">Versión del kernel</string>
@@ -54,6 +56,10 @@
<string name="profile_template">Plantilla</string>
<string name="profile_custom">Personalizado</string>
<string name="profile_name">Nombre de perfil</string>
<string name="profile_namespace">Montaje del espacio de nombres</string>
<string name="profile_namespace_inherited">Heredado</string>
<string name="profile_namespace_global">Global</string>
<string name="profile_namespace_individual">Individual</string>
<string name="profile_groups">Grupos</string>
<string name="profile_capabilities">Capacidades</string>
<string name="profile_selinux_context">Contexto SELinux</string>
@@ -84,6 +90,7 @@
<string name="app_profile_template_id_invalid">ID de plantilla no válida</string>
<string name="app_profile_template_sync">Sincronizar plantillas en línea</string>
<string name="app_profile_template_create">Crear plantilla</string>
<string name="app_profile_template_readonly">Sólo lectura</string>
<string name="app_profile_import_export">Importar/Exportar</string>
<string name="app_profile_template_save_failed">No se ha podido guardar la plantilla</string>
<string name="app_profile_template_edit">Editar plantilla</string>

View File

@@ -2,6 +2,7 @@
<resources>
<string name="home_working">Töötamine</string>
<string name="home_working_version">Versioon: %d</string>
<string name="home_module_count">Mooduleid: %d</string>
<string name="home_kernel">Tuum</string>
<string name="home_manager_version">Manageri versioon</string>
<string name="home_fingerprint">Sõrmejälg</string>
@@ -18,6 +19,7 @@
<string name="home_learn_kernelsu">Õpi KernelSUd</string>
<string name="home_learn_kernelsu_url">https://kernelsu.org/guide/what-is-kernelsu.html</string>
<string name="profile_default">Vaikimisi</string>
<string name="profile_namespace">Haagi nimeruum</string>
<string name="profile_umount_modules">Lahtihaagitud moodulid</string>
<string name="failed_to_update_app_profile">Rakenduseprofiili uuendamine %s jaoks ebaõnnestus</string>
<string name="settings_umount_modules_default">Haagi moodulid vaikimisi lahti</string>
@@ -26,6 +28,7 @@
<string name="app_profile_template_edit">Muuda malli</string>
<string name="settings_profile_template">Rakenduseprofiili mall</string>
<string name="app_profile_template_id">ID</string>
<string name="app_profile_template_readonly">Vaid lugemiseks</string>
<string name="app_profile_template_id_exist">Malli ID juba eksisteerib!</string>
<string name="app_profile_export_to_clipboard">Ekspordi lõikelauale</string>
<string name="app_profile_template_sync">Sünkrooni võrgumallid</string>
@@ -34,6 +37,7 @@
<string name="home_click_to_install">Klõpsa paigaldamiseks</string>
<string name="home_not_installed">Pole paigaldatud</string>
<string name="home_unsupported">Mittetoetatud</string>
<string name="home_superuser_count">Superkasutajaid: %d</string>
<string name="home_unsupported_reason">KernelSU toetab hetkel vaid GSI tuumasid</string>
<string name="home_selinux_status">SELinuxi olek</string>
<string name="selinux_status_disabled">Keelatud</string>
@@ -66,6 +70,9 @@
<string name="about_source_code">Vaata lähtekoodi %1$sis<br/>Liitu meie %2$si kanaliga</string>
<string name="profile_name">Profiili nimi</string>
<string name="profile_custom">Kohandatud</string>
<string name="profile_namespace_inherited">Päritud</string>
<string name="profile_namespace_global">Globaalne</string>
<string name="profile_namespace_individual">Individuaalne</string>
<string name="profile_capabilities">Võimekused</string>
<string name="app_profile_template_id_invalid">Sobimatu malli ID</string>
<string name="profile_selinux_context">SELinux kontekst</string>

View File

@@ -5,6 +5,8 @@
<string name="home_click_to_install">برای نصب ضربه بزنید</string>
<string name="home_working">به درستی کار می‌کند</string>
<string name="home_working_version">نسخه: %d</string>
<string name="home_superuser_count">برنامه های با دسترسی روت: %d</string>
<string name="home_module_count">ماژول‌ها: %d</string>
<string name="home_unsupported">پشتیبانی نشده</string>
<string name="home_unsupported_reason">کرنل اس یو فقط هسته های gki را پشتیبانی میکند</string>
<string name="home_kernel">هسته</string>
@@ -56,6 +58,10 @@
<string name="profile_template">قالب</string>
<string name="profile_custom">شخصی سازی شده</string>
<string name="profile_name">اسم پروفایل</string>
<string name="profile_namespace">Mount namespace</string>
<string name="profile_namespace_inherited">اثر گرفته</string>
<string name="profile_namespace_global">گلوبال</string>
<string name="profile_namespace_individual">تکی</string>
<string name="profile_umount_modules">جداکردن ماژول ها</string>
<string name="save_log">ذخیره گزارش‌ها</string>
</resources>

View File

@@ -10,6 +10,7 @@
<string name="home_working">Gumagana</string>
<string name="home_working_version">Bersyon: %d</string>
<string name="selinux_status_unknown">Hindi matukoy</string>
<string name="home_module_count">Mga Modyul: %d</string>
<string name="home_unsupported">Hindi Suportado</string>
<string name="home_unsupported_reason">Sinusuportahan lamang ng KernelSU ang mga GKI na kernel</string>
<string name="module_failed_to_enable">Nabigong paganahin ang module: %s</string>
@@ -37,6 +38,8 @@
<string name="home_support_title">Suportahan Kami</string>
<string name="home_support_content">Ang KernelSU ay, at palaging magiging, libre, at open source. Gayunpaman, maaari mong ipakita sa amin na nagmamalasakit ka sa pamamagitan ng pagbibigay ng donasyon.</string>
<string name="about_source_code"><![CDATA[Tignan ang source code sa %1$s<br/>Sumali sa aming %2$s channel]]></string>
<string name="profile_namespace">I-mount ang namespace</string>
<string name="profile_namespace_individual">Indibidwal</string>
<string name="profile_groups">Mga Grupo</string>
<string name="profile_capabilities">Mga Kakayanan</string>
<string name="profile_selinux_context">Konteksto ng SELinux</string>
@@ -60,8 +63,10 @@
<string name="uninstall">I-uninstall</string>
<string name="hide_system_apps">Itago ang mga application ng system</string>
<string name="profile_name">Pangalan ng profile</string>
<string name="profile_namespace_inherited">Minana</string>
<string name="settings_umount_modules_default_summary">Ang pangkalahatang default na halaga para sa \"Umount modules\" sa Mga Profile ng App. Kung pinagana, aalisin nito ang lahat ng mga pagbabago sa modyul sa system para sa mga aplikasyon na walang hanay ng Profile.</string>
<string name="save_log">I-save ang mga Log</string>
<string name="home_superuser_count">Mga Superuser: %d</string>
<string name="home_kernel">Bersyon ng kernel</string>
<string name="home_fingerprint">Fingerprint</string>
<string name="superuser">Superuser</string>
@@ -74,6 +79,7 @@
<string name="profile_default">Default</string>
<string name="profile_template">Template</string>
<string name="profile_custom">Pasadya</string>
<string name="profile_namespace_global">Global</string>
<string name="settings_umount_modules_default">I-unmount ang mga module bilang default</string>
<string name="profile_selinux_domain">Domain</string>
<string name="module_update">I-update</string>
@@ -90,6 +96,7 @@
<string name="app_profile_template_save">I-save</string>
<string name="app_profile_template_delete">Burahin</string>
<string name="app_profile_template_view">Tignan ang template</string>
<string name="app_profile_template_readonly">Read only</string>
<string name="app_profile_template_id_exist">Umiiral na ang Template ID!</string>
<string name="app_profile_import_export">I-import/I-export</string>
<string name="app_profile_import_from_clipboard">Mag-import mula sa clipboard</string>

View File

@@ -3,6 +3,8 @@
<string name="home_not_installed">Non installé</string>
<string name="home_working">Fonctionnel</string>
<string name="home_working_version">Version : %d</string>
<string name="home_superuser_count">Super-utilisateurs : %d</string>
<string name="home_module_count">Modules: %d</string>
<string name="home_unsupported_reason">KernelSU ne prend désormais en charge que les noyaux GKI</string>
<string name="home_kernel">Version du noyau</string>
<string name="home_fingerprint">Empreinte digitale</string>
@@ -53,7 +55,11 @@
<string name="profile_default">Par défaut</string>
<string name="profile_custom">Personnalisé</string>
<string name="profile_name">Nom du profil</string>
<string name="profile_namespace">Espace de noms de montage</string>
<string name="profile_namespace_inherited">Hérité</string>
<string name="profile_namespace_individual">Individuel</string>
<string name="profile_selinux_context">Contexte SELinux</string>
<string name="profile_namespace_global">Global</string>
<string name="profile_groups">Groupes</string>
<string name="profile_capabilities">Capacités</string>
<string name="profile_umount_modules">Démonter les modules</string>
@@ -83,6 +89,7 @@
<string name="app_profile_template_id_invalid">ID de modèle invalide</string>
<string name="app_profile_template_sync">Synchroniser les modèles en ligne</string>
<string name="app_profile_template_create">Créer un modèle</string>
<string name="app_profile_template_readonly">Lecture seule</string>
<string name="app_profile_import_export">Importer/exporter</string>
<string name="app_profile_template_save_failed">Échec de l\'enregistrement du modèle</string>
<string name="app_profile_template_edit">Modifier le modèle</string>

View File

@@ -9,19 +9,24 @@
<string name="send_log">लॉग भेजे</string>
<string name="selinux_status_disabled">डिसेबल्ड (बंद)</string>
<string name="home_support_title">हमें प्रोत्साहन दें</string>
<string name="profile_namespace_inherited">Inherited</string>
<string name="module_magisk_conflict">मॉड्यूल बंद कर दिए गए हैं क्योंकि यह मैजिक के साथ टकरा रहे है!</string>
<string name="module_changelog">क्या बदलाव हुए है</string>
<string name="selinux_status_permissive">पर्मिसिव</string>
<string name="reboot_download">डाउनलोड में रिबूट करें</string>
<string name="settings_umount_modules_default">डिफ़ॉल्ट रूप से मॉड्यूल अनमाउन्ट करें</string>
<string name="profile_umount_modules_summary">इस विकल्प को चालू करने से KernelSU को इस एप्लिकेशन के लिए मॉड्यूल द्वारा किसी भी मोडिफाइड फ़ाइल को रिस्टोर करें।</string>
<string name="profile_namespace_individual">Individual</string>
<string name="module_failed_to_enable">%s मॉड्यूल चालू करने में विफल</string>
<string name="force_stop_app">जबर्दस्ती बंद करें</string>
<string name="reboot_edl">EDL मोड में रिबूट करें</string>
<string name="restart_app">फिर से चालू करें</string>
<string name="profile_capabilities">क्षमताएं</string>
<string name="home_superuser_count">सुपरयूजर : %d</string>
<string name="module_start_downloading">%s की डाउनलोडिंग स्टार्ट करें</string>
<string name="profile_namespace_global">Global</string>
<string name="settings_umount_modules_default_summary">ऐप प्रोफाइल में \"अनमाउंट मॉड्यूल\" के लिए ग्लोबल डिफ़ॉल्ट वैल्यू। यदि चालू किया गया है, तो यह एप्लीकेशंस के लिऐ सिस्टम के सभी मॉड्यूल मोडिफिकेशन को हटा देगा जिनकी प्रोफ़ाइल सेट नहीं है।</string>
<string name="home_module_count">मॉड्यूल्स : %d</string>
<string name="selinux_status_enforcing">एनफोर्सिंग</string>
<string name="profile_selinux_context">SELinux context</string>
<string name="home_fingerprint">फिंगरप्रिंट</string>
@@ -34,6 +39,7 @@
<string name="profile_name">प्रोफाइल का नाम</string>
<string name="home_support_content">KernelSU मुफ़्त और ओपन सोर्स और हमेशा रहेगा। हालाँकि आप दान देकर हमें दिखा सकते हैं कि आप संरक्षण करते हैं।</string>
<string name="uninstall">अनइंस्टॉल करें</string>
<string name="profile_namespace">Namspace माउंट करें</string>
<string name="module_install">इंस्टाल करें</string>
<string name="home_click_to_install">इंस्टाल करने के लिए क्लिक करें</string>
<string name="profile_selinux_rules">नियम</string>

View File

@@ -11,6 +11,8 @@
<string name="home_working_version">Verzija: %d</string>
<string name="home_click_to_install">Kliknite da instalirate</string>
<string name="home_working">Radi</string>
<string name="home_superuser_count">Superkorisnici: %d</string>
<string name="home_module_count">Moduli: %d</string>
<string name="home_unsupported">Nepodržano</string>
<string name="home_unsupported_reason">KernelSU sada samo podržava GKI kernele</string>
<string name="home_kernel">Verzija kernela</string>
@@ -54,7 +56,11 @@
<string name="profile_template">Šablon</string>
<string name="profile_custom">Prilagođeno</string>
<string name="profile_name">Naziv profila</string>
<string name="profile_namespace_inherited">Naslijeđen</string>
<string name="profile_namespace">Imenski prostor nosača</string>
<string name="failed_to_update_app_profile">Ažuriranje Profila Aplikacije za %s nije uspjelo</string>
<string name="profile_namespace_global">Globalan</string>
<string name="profile_namespace_individual">Pojedinačan</string>
<string name="profile_umount_modules">Umount module</string>
<string name="profile_groups">Grupe</string>
<string name="profile_capabilities">Sposobnosti</string>
@@ -88,6 +94,7 @@
<string name="app_profile_template_save">Spremi</string>
<string name="app_profile_template_delete">Izbriši</string>
<string name="app_profile_template_view">Prikaži predložak</string>
<string name="app_profile_template_readonly">Samo za čitanje</string>
<string name="app_profile_template_id_exist">ID predloška već postoji!</string>
<string name="app_profile_import_export">Uvoz/Izvoz</string>
<string name="app_profile_import_from_clipboard">Uvezi iz međuspremnika</string>

View File

@@ -2,6 +2,7 @@
<resources>
<string name="home_working">Működik</string>
<string name="home_working_version">Verzió: %d</string>
<string name="home_module_count">Modulok: %d</string>
<string name="home_unsupported_reason">A KernelSU jelenleg csak GKI kerneleket támogat</string>
<string name="home_kernel">Kernel</string>
<string name="home_manager_version">Alkalmazás verziója</string>
@@ -26,7 +27,10 @@
<string name="profile_template">Sablon</string>
<string name="profile_custom">Egyedi</string>
<string name="profile_name">Profil neve</string>
<string name="profile_namespace">Névtér csatlakoztatása</string>
<string name="profile_namespace_inherited">Örökölt</string>
<string name="home_learn_kernelsu_url">https://kernelsu.org/guide/what-is-kernelsu.html</string>
<string name="profile_namespace_individual">Különálló</string>
<string name="profile_groups">Csoportok</string>
<string name="profile_capabilities">Jogosultságok</string>
<string name="profile_selinux_context">SELinux kontextus</string>
@@ -43,6 +47,7 @@
<string name="home">Kezdőlap</string>
<string name="home_not_installed">Nincs telepítve</string>
<string name="home_click_to_install">Kattintson a telepítéshez</string>
<string name="home_superuser_count">Engedélyezett alkalmazások: %d</string>
<string name="home_unsupported">Nem támogatott</string>
<string name="home_selinux_status">SELinux állapot</string>
<string name="selinux_status_enforcing">Kényszerített</string>
@@ -66,6 +71,7 @@
<string name="send_log">Naplók küldése</string>
<string name="reboot_to_apply">Indítsa újra a készüléket a változások érvényesítéséhez</string>
<string name="home_support_content">A KernelSU ingyenes, nyílt forráskódú és mindig is az lesz. Ön azonban adományozással megmutathatja, hogy törődik a projekttel.</string>
<string name="profile_namespace_global">Globális</string>
<string name="profile_umount_modules">Modulok leválasztása</string>
<string name="failed_to_update_app_profile">Nem sikerült frissíteni az App Profilt ehhez: %s</string>
<string name="settings_umount_modules_default_summary">A \"Modulok leválasztása\" globális alapértelmezett értéke az App Profile-ban. Ha engedélyezve van, eltávolít minden modulmódosítást a rendszerből azon alkalmazások esetében, amelyeknek nincs profilja beállítva.</string>
@@ -83,6 +89,7 @@
<string name="app_profile_template_id_invalid">Hibás sablon ID</string>
<string name="app_profile_template_sync">Online sablonok szinkronizálása</string>
<string name="app_profile_template_create">Sablon készítése</string>
<string name="app_profile_template_readonly">Csak olvasható</string>
<string name="app_profile_import_export">Import/Export</string>
<string name="app_profile_template_save_failed">A sablon mentése sikertelen</string>
<string name="app_profile_template_edit">Sablon szerkesztése</string>

View File

@@ -5,6 +5,8 @@
<string name="home_click_to_install">Klik untuk menginstal</string>
<string name="home_working">Berfungsi</string>
<string name="home_working_version">Versi: %d</string>
<string name="home_superuser_count">SuperUser: %d</string>
<string name="home_module_count">Modul: %d</string>
<string name="home_unsupported">Tidak didukung</string>
<string name="home_unsupported_reason">KernelSU saat ini hanya mendukung kernel GKI.</string>
<string name="home_kernel">Versi kernel</string>
@@ -54,6 +56,10 @@
<string name="profile_template">Templat</string>
<string name="profile_custom">Khusus</string>
<string name="profile_name">Nama profil</string>
<string name="profile_namespace">Gunakan Namespace</string>
<string name="profile_namespace_inherited">Diwariskan</string>
<string name="profile_namespace_global">Universal</string>
<string name="profile_namespace_individual">Individual</string>
<string name="profile_groups">Kelompok</string>
<string name="profile_capabilities">Kemampuan</string>
<string name="profile_selinux_context">Konteks SELinux</string>
@@ -95,6 +101,7 @@
<string name="app_profile_template_delete">Hapus</string>
<string name="app_profile_template_import_empty">Papan klip kosong!</string>
<string name="app_profile_template_view">Lihat templat</string>
<string name="app_profile_template_readonly">readonly</string>
<string name="enable_web_debugging">Debugging WebView</string>
<string name="enable_web_debugging_summary">Dapat digunakan untuk mendebug antarmuka web (WebUI). Harap aktifkan hanya saat diperlukan.</string>
<string name="select_file_tip">%1$s image partisi terekomendasi</string>

View File

@@ -5,6 +5,8 @@
<string name="home_click_to_install">Clicca per installare</string>
<string name="home_working">In esecuzione</string>
<string name="home_working_version">Versione: %d</string>
<string name="home_superuser_count">Applicazioni con accesso root: %d</string>
<string name="home_module_count">Moduli installati: %d</string>
<string name="home_unsupported">Non supportato</string>
<string name="home_unsupported_reason">KernelSU ora supporta solo i kernel GKI</string>
<string name="home_kernel">Kernel</string>
@@ -50,7 +52,11 @@
<string name="home_support_content">KernelSU è, e sempre sarà, gratuito e open source. Puoi comunque mostrarci il tuo apprezzamento facendo una donazione.</string>
<string name="about_source_code"><![CDATA[Visualizza il codice sorgente su %1$s<br/>Unisciti al nostro canale %2$s]]></string>
<string name="profile_name">Nome profilo</string>
<string name="profile_namespace">Spazio dei nomi del mount</string>
<string name="profile_namespace_global">Globale</string>
<string name="profile_groups">Gruppi</string>
<string name="profile_namespace_inherited">Ereditato</string>
<string name="profile_namespace_individual">Individuale</string>
<string name="profile_default">Predefinito</string>
<string name="profile_custom">Personalizzato</string>
<string name="profile_template">Modello</string>
@@ -79,6 +85,7 @@
<string name="app_profile_template_id_invalid">Identificativo modello non valido</string>
<string name="app_profile_template_name">Nome</string>
<string name="app_profile_template_view">Visualizza modello</string>
<string name="app_profile_template_readonly">Sola lettura</string>
<string name="app_profile_template_id_exist">L\'identificatore del modello è già in uso!</string>
<string name="app_profile_import_export">Importa/Esporta</string>
<string name="app_profile_import_from_clipboard">Importa dagli appunti</string>

View File

@@ -9,19 +9,24 @@
<string name="send_log">שלח לוג</string>
<string name="selinux_status_disabled">מושבת</string>
<string name="home_support_title">תמכו בנו</string>
<string name="profile_namespace_inherited">ירושה</string>
<string name="module_magisk_conflict">מודולים מושבתים מכיוון שהם מתנגשים עם זה של Magisk!</string>
<string name="module_changelog">יומן שינויים</string>
<string name="selinux_status_permissive">התרים</string>
<string name="reboot_download">הפעלה מחדש למצב הורדה</string>
<string name="settings_umount_modules_default">טעינת מודולים כברירת מחדל</string>
<string name="profile_umount_modules_summary">הפעלת אפשרות זו תאפשר ל-KernelSU לשחזר קבצים שהשתנו על ידי המודולים עבור יישום זה.</string>
<string name="profile_namespace_individual">אישי</string>
<string name="module_failed_to_enable">הפעלת המודל נכשלה: %s</string>
<string name="force_stop_app">עצירה בכח</string>
<string name="reboot_edl">הפעלה מחדש למצב EDL</string>
<string name="restart_app">איתחול</string>
<string name="profile_capabilities">יכולת</string>
<string name="home_superuser_count">משתמשי על: %d</string>
<string name="module_start_downloading">מפעיל מודל: %s</string>
<string name="profile_namespace_global">גלובלי</string>
<string name="settings_umount_modules_default_summary">ערך ברירת המחדל הגלובלי עבור \"טעינת מודולים\" בפרופילי אפליקציה. אם מופעל, זה יסיר את כל שינויי המודול למערכת עבור יישומים שאין להם ערכת פרופיל.</string>
<string name="home_module_count">מודלים:%d</string>
<string name="selinux_status_enforcing">אכיפה</string>
<string name="profile_selinux_context">הקשר SELinux</string>
<string name="home_fingerprint">טביעת אצבע</string>
@@ -34,6 +39,7 @@
<string name="profile_name">שם פרופיל</string>
<string name="home_support_content">KernelSU הוא, ותמיד יהיה, חינמי וקוד פתוח. עם זאת, תוכל להראות לנו שאכפת לך על ידי תרומה.</string>
<string name="uninstall">הסרה</string>
<string name="profile_namespace">טעינת מרחב שמות</string>
<string name="module_install">התקנה</string>
<string name="home_click_to_install">לחץ להתקנה</string>
<string name="profile_selinux_rules">כללים</string>

View File

@@ -5,6 +5,8 @@
<string name="home_click_to_install">タップでインストール</string>
<string name="home_working">動作中</string>
<string name="home_working_version">バージョン: %d</string>
<string name="home_superuser_count">スーパーユーザー: %d</string>
<string name="home_module_count">モジュール: %d</string>
<string name="home_unsupported">非対応</string>
<string name="home_unsupported_reason">現在、 KernelSU は GKI カーネルにのみ対応しています</string>
<string name="home_kernel">カーネル</string>
@@ -54,6 +56,10 @@
<string name="profile_template">テンプレート</string>
<string name="profile_custom">カスタム</string>
<string name="profile_name">プロファイル名</string>
<string name="profile_namespace">名前空間のマウント</string>
<string name="profile_namespace_inherited">継承</string>
<string name="profile_namespace_global">共通</string>
<string name="profile_namespace_individual">分離</string>
<string name="profile_umount_modules">モジュールのアンマウント</string>
<string name="profile_groups">グループ</string>
<string name="profile_selinux_context">SELinux コンテキスト</string>
@@ -84,6 +90,7 @@
<string name="app_profile_template_id_invalid">無効なテンプレート ID</string>
<string name="app_profile_template_sync">オンラインテンプレートの同期</string>
<string name="app_profile_template_create">テンプレートの作成</string>
<string name="app_profile_template_readonly">読み取り専用</string>
<string name="app_profile_import_export">インポート/エクスポート</string>
<string name="app_profile_template_save_failed">テンプレートの保存に失敗しました</string>
<string name="app_profile_template_edit">テンプレートの編集</string>

View File

@@ -8,17 +8,22 @@
<string name="profile_umount_modules">Umount ಮಾಡ್ಯೂಲ್‌ಗಳು</string>
<string name="send_log">ಲಾಗ್ ಕಳುಹಿಸಿ</string>
<string name="home_support_title">ನಮ್ಮನ್ನು ಬೆಂಬಲಿಸಿ</string>
<string name="profile_namespace_inherited">ಪಿತ್ರಾರ್ಜಿತ</string>
<string name="module_magisk_conflict">ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ ಏಕೆಂದರೆ ಇದು ಮ್ಯಾಜಿಸ್ಕ್‌ನೊಂದಿಗೆ ಸಂಘರ್ಷವಾಗಿದೆ!</string>
<string name="module_changelog">ಚೇಂಜ್ಲಾಗ್</string>
<string name="selinux_status_permissive">Permissive</string>
<string name="settings_umount_modules_default">ಡೀಫಾಲ್ಟ್ ಆಗಿ Umount ಮಾಡ್ಯೂಲ್</string>
<string name="profile_umount_modules_summary">ಈ ಆಯ್ಕೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವುದರಿಂದ ಈ ಅಪ್ಲಿಕೇಶನ್‌ಗಾಗಿ ಮಾಡ್ಯೂಲ್‌ಗಳ ಮೂಲಕ ಯಾವುದೇ ಮಾರ್ಪಡಿಸಿದ ಫೈಲ್‌ಗಳನ್ನು ಮರುಸ್ಥಾಪಿಸಲು KernelSU ಗೆ ಅನುಮತಿಸುತ್ತದೆ.</string>
<string name="profile_namespace_individual">ವೈಯಕ್ತಿಕ</string>
<string name="module_failed_to_enable">ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ವಿಫಲವಾಗಿದೆ: %s</string>
<string name="force_stop_app">ಫೋರ್ಸ್ ಸ್ಟಾಪ್</string>
<string name="reboot_edl">EDL ಗೆ ರೀಬೂಟ್</string>
<string name="profile_capabilities">ಸಾಮರ್ಥ್ಯಗಳು</string>
<string name="home_superuser_count">ಸೂಪರ್‌ಯೂಸರ್‌ಗಳು: %d</string>
<string name="module_start_downloading">ಡೌನ್‌ಲೋಡ್ ಮಾಡುವುದನ್ನು ಪ್ರಾರಂಭಿಸಿ: %s</string>
<string name="profile_namespace_global">ಜಾಗತಿಕ</string>
<string name="settings_umount_modules_default_summary">ಅಪ್ಲಿಕೇಶನ್ ಪ್ರೊಫೈಲ್‌ಗಳಲ್ಲಿ \"Umount ಮಾಡ್ಯೂಲ್\" ಗಾಗಿ ಜಾಗತಿಕ ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯ. ಸಕ್ರಿಯಗೊಳಿಸಿದರೆ, ಪ್ರೊಫೈಲ್ ಸೆಟ್ ಅನ್ನು ಹೊಂದಿರದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗಾಗಿ ಸಿಸ್ಟಮ್‌ಗೆ ಎಲ್ಲಾ ಮಾಡ್ಯೂಲ್ ಮಾರ್ಪಾಡುಗಳನ್ನು ಇದು ತೆಗೆದುಹಾಕುತ್ತದೆ.</string>
<string name="home_module_count">ಮಾಡ್ಯೂಲ್‌ಗಳು: %d</string>
<string name="profile_selinux_context">SELinux ಸಂದರ್ಭ</string>
<string name="profile_default">ಡೀಫಾಲ್ಟ್</string>
<string name="launch_app">ಲಾಂಚ್</string>
@@ -28,6 +33,7 @@
<string name="profile_name">ಪ್ರೊಫೈಲ್ ಹೆಸರು</string>
<string name="home_support_content">KernelSU ಉಚಿತ ಮತ್ತು ಮುಕ್ತ ಮೂಲವಾಗಿದೆ ಮತ್ತು ಯಾವಾಗಲೂ ಇರುತ್ತದೆ. ಆದಾಗ್ಯೂ ನೀವು ದೇಣಿಗೆ ನೀಡುವ ಮೂಲಕ ನೀವು ಕಾಳಜಿ ವಹಿಸುತ್ತೀರಿ ಎಂದು ನಮಗೆ ತೋರಿಸಬಹುದು.</string>
<string name="uninstall">ಅನ್‌ಇನ್‌ಸ್ಟಾಲ್</string>
<string name="profile_namespace">ಮೌಂಟ್ ನೇಮ್‌ಸ್ಪೇಸ್</string>
<string name="profile_selinux_rules">ನಿಯಮಗಳು</string>
<string name="profile_groups">ಗುಂಪುಗಳು</string>
<string name="module">ಮಾಡ್ಯೂಲ್</string>

View File

@@ -5,6 +5,8 @@
<string name="home_click_to_install">이 곳을 눌러 설치하기</string>
<string name="home_working">작동 중</string>
<string name="home_working_version">버전: %d</string>
<string name="home_superuser_count">슈퍼유저: %d개</string>
<string name="home_module_count">모듈: %d개</string>
<string name="home_unsupported">지원되지 않음</string>
<string name="home_unsupported_reason">KernelSU는 현재 GKI 커널만 지원합니다.</string>
<string name="home_kernel">커널 버전</string>
@@ -59,6 +61,10 @@
<string name="profile_custom">사용자 지정</string>
<string name="profile_template">템플릿</string>
<string name="profile_name">프로필 이름</string>
<string name="profile_namespace">마운트할 네임스페이스</string>
<string name="profile_namespace_inherited">상속</string>
<string name="profile_namespace_global">전역</string>
<string name="profile_namespace_individual">개별</string>
<string name="profile_groups">사용자 그룹</string>
<string name="profile_umount_modules">모듈 마운트 해제</string>
<string name="profile_selinux_context">SELinux 컨텍스트</string>
@@ -100,6 +106,7 @@
<string name="app_profile_template_description">설명</string>
<string name="app_profile_template_save">저장</string>
<string name="app_profile_template_delete">삭제</string>
<string name="app_profile_template_readonly">읽기 전용</string>
<string name="app_profile_template_id_exist">템플릿 ID가 이미 존재합니다!</string>
<string name="app_profile_import_export">불러오기/내보내기</string>
<string name="app_profile_import_from_clipboard">클립보드에서 불러오기</string>

View File

@@ -35,6 +35,10 @@
<string name="profile_template">Šablonas</string>
<string name="profile_custom">Pasirinktinis</string>
<string name="profile_name">Profilio pavadinimas</string>
<string name="profile_namespace">Prijungti vardų erdvę</string>
<string name="profile_namespace_inherited">Paveldėtas</string>
<string name="profile_namespace_global">Globalus</string>
<string name="profile_namespace_individual">Individualus</string>
<string name="profile_groups">Grupės</string>
<string name="profile_capabilities">Galimybės</string>
<string name="profile_selinux_context">SELinux kontekstas</string>
@@ -56,8 +60,10 @@
<string name="home_unsupported_reason">KernelSU dabar palaiko tik GKI branduolius</string>
<string name="home_click_to_install">Spustelėkite norėdami įdiegti</string>
<string name="home_working">Veikia</string>
<string name="home_superuser_count">Supernaudotojai: %d</string>
<string name="home_working_version">Versija: %d</string>
<string name="home_unsupported">Nepalaikoma</string>
<string name="home_module_count">Moduliai: %d</string>
<string name="home_manager_version">Tvarkyklės versija</string>
<string name="home_kernel">Branduolys</string>
<string name="home_selinux_status">SELinux statusas</string>

View File

@@ -14,6 +14,8 @@
<string name="home_click_to_install">Noklikšķiniet, lai uzstādītu</string>
<string name="home_working">Darbojas</string>
<string name="home_working_version">Versija: %d</string>
<string name="home_superuser_count">Superlietotāji: %d</string>
<string name="home_module_count">Moduļi: %d</string>
<string name="home_unsupported">Neatbalstīts</string>
<string name="home_unsupported_reason">KernelSU pagaidām atbalsta tikai GKI kodolus</string>
<string name="home_kernel">Kodols</string>
@@ -54,6 +56,8 @@
<string name="profile_template">Veidne</string>
<string name="profile_custom">Pielāgots</string>
<string name="profile_name">Profila vārds</string>
<string name="profile_namespace">Mount nosaukumvieta</string>
<string name="profile_namespace_individual">Individuāls</string>
<string name="profile_capabilities">Iespējas</string>
<string name="profile_selinux_context">SELinux konteksts</string>
<string name="profile_umount_modules">Atvienot moduļus</string>
@@ -79,6 +83,7 @@
<string name="app_profile_template_save">Saglabāt</string>
<string name="app_profile_template_delete">Dzēst</string>
<string name="app_profile_template_view">Skatīt veidni</string>
<string name="app_profile_template_readonly">tikai lasīt</string>
<string name="app_profile_import_export">Importēt/Eksportēt</string>
<string name="app_profile_template_export_empty">Nevar atrast vietējo eksportējamo veidni!</string>
<string name="app_profile_template_save_failed">Neizdevās saglabāt veidni</string>
@@ -93,10 +98,12 @@
<string name="module_magisk_conflict">Moduļi nav pieejami dēļ konflikta ar Magisk!</string>
<string name="home_support_content">KernelSU ir un vienmēr būs bezmaksas un atvērtā koda. Tomēr jūs varat parādīt mums, ka jums rūp, veicot ziedojumu.</string>
<string name="profile_groups">Grupas</string>
<string name="profile_namespace_global">Globāli</string>
<string name="require_kernel_version">Pašreizējā KernelSU versija %d ir pārāk zema, lai pārvaldnieks darbotos pareizi. Lūdzu, atjauniniet uz versiju %d vai jaunāku!</string>
<string name="enable_web_debugging">Iespējot WebView atkļūdošanu</string>
<string name="select_file_tip">Ieteicams %1$s nodalījuma attēls</string>
<string name="install_next">Nākamais</string>
<string name="profile_namespace_inherited">Mantots</string>
<string name="select_file">Izvēlieties failu</string>
<string name="install_inactive_slot">Instalēt neaktīvajā slotā (pēc OTA)</string>
<string name="install_inactive_slot_warning">Pēc restartēšanas jūsu ierīce tiks **PIESPIESTI** palaista pašreizējā neaktīvajā slotā!

View File

@@ -5,6 +5,8 @@
<string name="home_click_to_install">इंस्टॉल साठी क्लिक करा</string>
<string name="home_working">कार्यरत</string>
<string name="home_working_version">आवृत्ती: %d</string>
<string name="home_module_count">मॉड्यूल्स: %d</string>
<string name="home_superuser_count">सुपरयूझर: %d</string>
<string name="home_unsupported">असमर्थित</string>
<string name="home_unsupported_reason">KernelSU आता फक्त GKI कर्नलचे समर्थन करते</string>
<string name="home_kernel">कर्नल</string>
@@ -49,11 +51,15 @@
<string name="home_support_content">KernelSU विनामूल्य आणि मुक्त स्रोत आहे, आणि नेहमीच असेल. तथापि, देणगी देऊन तुम्ही आम्हाला दाखवू शकता की तुमची काळजी आहे.</string>
<string name="home_support_title">आम्हाला पाठिंबा द्या</string>
<string name="profile_custom">कस्टम</string>
<string name="profile_namespace">माउंट नेमस्पेस</string>
<string name="profile_default">डीफॉल्ट</string>
<string name="profile_template">साचा</string>
<string name="profile_namespace_individual">वैयक्तिक</string>
<string name="profile_capabilities">क्षमता</string>
<string name="about_source_code">%1$s वर स्रोत कोड पहा<br/>आमच्या %2$s चॅनेलमध्ये सामील व्हा</string>
<string name="profile_name">प्रोफाइल नाव</string>
<string name="profile_namespace_inherited">इनहेरीटेड</string>
<string name="profile_namespace_global">जागतिक</string>
<string name="profile_groups">गट</string>
<string name="profile_selinux_context">SELinux संदर्भ</string>
<string name="profile_umount_modules">उमाउंट मॉड्यूल्स</string>

View File

@@ -6,6 +6,8 @@
<string name="reboot_download">Reboot ke Download</string>
<string name="module_failed_to_enable">Modul tidak berjaya diaktifkan: %s</string>
<string name="reboot_edl">Reboot ke EDL</string>
<string name="home_superuser_count">Superusers: %d</string>
<string name="home_module_count">Modul: %d</string>
<string name="selinux_status_enforcing">Enforcing</string>
<string name="home_fingerprint">Cap Jari</string>
<string name="reboot_recovery">Reboot ke Recovery</string>

View File

@@ -5,6 +5,8 @@
<string name="home_click_to_install">Klik om te installeren</string>
<string name="home_working">Werkend</string>
<string name="home_working_version">Versie: %d</string>
<string name="home_superuser_count">Supergebruikers: %d</string>
<string name="home_module_count">Modules: %d</string>
<string name="home_unsupported">Niet ondersteund</string>
<string name="home_unsupported_reason">KernelSU ondersteunt alleen GKI kernels</string>
<string name="home_kernel">Kernel version</string>
@@ -54,6 +56,10 @@
<string name="profile_template">Sjabloon</string>
<string name="profile_custom">Aangepast</string>
<string name="profile_name">Profiel naam</string>
<string name="profile_namespace">Koppel naamruimte</string>
<string name="profile_namespace_inherited">Overgenomen</string>
<string name="profile_namespace_global">Globaal</string>
<string name="profile_namespace_individual">Individuëel</string>
<string name="profile_groups">Groepen</string>
<string name="profile_capabilities">Mogelijkheden</string>
<string name="profile_selinux_context">SELinux context</string>
@@ -85,6 +91,7 @@
<string name="app_profile_template_description">Beschrijving</string>
<string name="settings_profile_template_summary">Beheer lokale en online sjabloon van app-profiel.</string>
<string name="app_profile_template_delete">Verwijderen</string>
<string name="app_profile_template_readonly">Alleen lezen</string>
<string name="app_profile_template_id_exist">Sjabloon ID bestaat al!</string>
<string name="app_profile_template_sync">Synchroniseer online-sjablonen</string>
<string name="app_profile_template_save_failed">Mislukt naar opslaan sjabloon</string>

View File

@@ -6,6 +6,8 @@
<string name="home_click_to_install">Kliknij, aby zainstalować</string>
<string name="home_working">Działa</string>
<string name="home_working_version">Wersja: %d</string>
<string name="home_superuser_count">Superużytkownicy: %d</string>
<string name="home_module_count">Moduły: %d</string>
<string name="home_unsupported">Nieobsługiwany</string>
<string name="home_unsupported_reason">KernelSU obsługuje obecnie tylko jądra GKI.</string>
<string name="home_kernel">Wersja jądra</string>
@@ -55,6 +57,10 @@
<string name="profile_template">Szablon</string>
<string name="profile_custom">Własny</string>
<string name="profile_name">Nazwa profilu</string>
<string name="profile_namespace">Przestrzeń nazw montowania</string>
<string name="profile_namespace_inherited">Odziedziczona</string>
<string name="profile_namespace_global">Globalna</string>
<string name="profile_namespace_individual">Indywidualna</string>
<string name="profile_groups">Grupy</string>
<string name="profile_capabilities">Uprawnienia</string>
<string name="profile_selinux_context">Kontekst SELinux</string>
@@ -92,6 +98,7 @@
<string name="app_profile_template_description">Opis</string>
<string name="app_profile_template_save">Zapisz</string>
<string name="app_profile_template_delete">Usuń</string>
<string name="app_profile_template_readonly">Tylko do odczytu</string>
<string name="app_profile_import_export">Importuj/Eksportuj</string>
<string name="app_profile_import_from_clipboard">Importuj ze schowka</string>
<string name="app_profile_export_to_clipboard">Eksportuj do schowka</string>

View File

@@ -5,6 +5,8 @@
<string name="home_click_to_install">Clique para instalar</string>
<string name="home_working">Em execução</string>
<string name="home_working_version">Versão: %d</string>
<string name="home_superuser_count">SuperUsuários: %d</string>
<string name="home_module_count">Módulos: %d</string>
<string name="home_unsupported">Sem suporte</string>
<string name="home_unsupported_reason">KernelSU suporta apenas kernels GKI agora</string>
<string name="home_kernel">Versão do kernel</string>
@@ -54,6 +56,10 @@
<string name="profile_template">Modelo</string>
<string name="profile_custom">Personalizado</string>
<string name="profile_name">Nome do perfil</string>
<string name="profile_namespace">Montar namespace</string>
<string name="profile_namespace_inherited">Herdado</string>
<string name="profile_namespace_global">Global</string>
<string name="profile_namespace_individual">Individual</string>
<string name="profile_groups">Grupos</string>
<string name="profile_capabilities">Capacidades</string>
<string name="profile_selinux_context">Contexto do SELinux</string>
@@ -84,6 +90,7 @@
<string name="app_profile_template_id_invalid">ID do modelo inválido</string>
<string name="app_profile_template_sync">Sincronizar modelos online</string>
<string name="app_profile_template_create">Criar modelo</string>
<string name="app_profile_template_readonly">Somente leitura</string>
<string name="app_profile_import_export">Importar/Exportar</string>
<string name="app_profile_template_save_failed">Falha ao salvar o modelo</string>
<string name="app_profile_template_edit">Editar modelo</string>

View File

@@ -4,6 +4,8 @@
<string name="home">Início</string>
<string name="home_click_to_install">Clique para instalar</string>
<string name="home_working">Funcionando</string>
<string name="home_superuser_count">Super Usuário: %d</string>
<string name="home_module_count">Módulos: %d</string>
<string name="home_working_version">Versão: %d</string>
<string name="home_kernel">Kernel</string>
<string name="install">Instalar</string>
@@ -43,10 +45,14 @@
<string name="home_click_to_learn_kernelsu">Aprenda a instalar o KernelSU e usar os módulos</string>
<string name="home_support_content">O KernelSU é, e sempre será, gratuito e de código aberto. No entanto, você pode nos mostrar que se importa fazendo uma doação.</string>
<string name="about_source_code">Veja o código-fonte em %1$s<br/>Junte-se ao nosso canal %2$s</string>
<string name="profile_namespace_individual">Individual</string>
<string name="profile_namespace_global">Global</string>
<string name="profile_namespace_inherited">Herdado</string>
<string name="profile_default">Padrão</string>
<string name="profile_template">Modelo</string>
<string name="profile_custom">Personalizado</string>
<string name="profile_name">Nome do perfil</string>
<string name="profile_namespace">Montar namespace</string>
<string name="safe_mode">Modo de segurança</string>
<string name="reboot_to_apply">Reinicie para entrar em vigor</string>
<string name="home_learn_kernelsu">Aprender KernelSU</string>

View File

@@ -5,6 +5,8 @@
<string name="home_click_to_install">Click pentru a instala</string>
<string name="home_working">Funcționează</string>
<string name="home_working_version">Versiune: %d</string>
<string name="home_superuser_count">Super-utilizatori: %d</string>
<string name="home_module_count">Module: %d</string>
<string name="home_unsupported">Necompatibil</string>
<string name="home_unsupported_reason">KernelSU suportă doar nuclee GKI acum</string>
<string name="home_kernel">Nucleu</string>
@@ -53,6 +55,10 @@
<string name="profile_template">Șablon</string>
<string name="profile_custom">Personalizat</string>
<string name="profile_name">Nume profil</string>
<string name="profile_namespace">Montare spațiu de nume</string>
<string name="profile_namespace_inherited">Moștenit</string>
<string name="profile_namespace_global">Global</string>
<string name="profile_namespace_individual">Individual</string>
<string name="profile_groups">Grupuri</string>
<string name="profile_capabilities">Capabilități</string>
<string name="profile_selinux_context">Context SELinux</string>
@@ -83,6 +89,7 @@
<string name="app_profile_template_id_invalid">ID șablon nevalid</string>
<string name="app_profile_template_sync">Sincronizează șabloanele online</string>
<string name="app_profile_template_create">Creează un șablon</string>
<string name="app_profile_template_readonly">doar citire</string>
<string name="app_profile_import_export">Import/Export</string>
<string name="app_profile_template_save_failed">Nu s-a salvat șablonul</string>
<string name="app_profile_template_edit">Editează șablonul</string>

View File

@@ -5,7 +5,9 @@
<string name="home_click_to_install">Нажмите, чтобы установить</string>
<string name="home_working">Работает</string>
<string name="home_working_version">Версия: %d</string>
<string name="home_superuser_count">Суперпользователи: %d</string>
<!--Don't translate this string!-->
<string name="home_module_count">Модули: %d</string>
<string name="home_unsupported">Не поддерживается</string>
<string name="home_unsupported_reason">KernelSU поддерживает только GKI ядра.</string>
<string name="home_kernel">Версия ядра</string>
@@ -57,6 +59,10 @@
<string name="profile_template">Шаблон</string>
<string name="profile_custom">Пользовательский</string>
<string name="profile_name">Название профиля</string>
<string name="profile_namespace">Монтировать пространство имен</string>
<string name="profile_namespace_inherited">Унаследованный</string>
<string name="profile_namespace_global">Глобальный</string>
<string name="profile_namespace_individual">Индивидуальный</string>
<string name="profile_groups">Группы</string>
<string name="profile_capabilities">Возможности</string>
<string name="profile_selinux_context">Контекст SELinux</string>
@@ -87,6 +93,7 @@
<string name="app_profile_template_id_invalid">Неверный ID шаблона</string>
<string name="app_profile_template_sync">Синхронизировать онлайн-шаблоны</string>
<string name="app_profile_template_create">Создать шаблон</string>
<string name="app_profile_template_readonly">Только чтение</string>
<string name="app_profile_import_export">Импорт/Экспорт</string>
<string name="app_profile_template_save_failed">Не удалось сохранить шаблон</string>
<string name="app_profile_template_edit">Редактирование шаблона</string>

View File

@@ -3,6 +3,7 @@
<string name="home_click_to_install">Klikni za namestitev</string>
<string name="home_working">V obdelavi</string>
<string name="home_working_version">Verzija: %d</string>
<string name="home_superuser_count">Superuporabniki: %d</string>
<string name="home_unsupported_reason">KernelSU podpira samo GKI kernele</string>
<string name="home_kernel">Kernel</string>
<string name="home_manager_version">Verzija upravitelja</string>
@@ -31,6 +32,10 @@
<string name="about_source_code">Glej odprto kodo na %1$s<br/>Pridružite se našem %2$s kanalu</string>
<string name="profile_default">Privzeto</string>
<string name="profile_template">Predloga</string>
<string name="profile_namespace">Imenski prostor vmestitve</string>
<string name="profile_namespace_inherited">Podedovano</string>
<string name="profile_namespace_global">Globalno</string>
<string name="profile_namespace_individual">Pozameznik</string>
<string name="profile_capabilities">Zmožnosti</string>
<string name="profile_umount_modules">Izvrzi module</string>
<string name="settings_umount_modules_default">Po privzetem izvrzi module</string>
@@ -42,6 +47,7 @@
<string name="module_changelog">Dnevnik sprememb</string>
<string name="settings_profile_template">Predloga za aplikacijski profil</string>
<string name="home">Domov</string>
<string name="home_module_count">Moduli: %d</string>
<string name="home_unsupported">Ne podpira</string>
<string name="superuser">SuperUporabnik</string>
<string name="module_failed_to_enable">Napaka pri omogočanju modula: %s</string>
@@ -80,6 +86,7 @@
<string name="app_profile_template_description">Opis</string>
<string name="app_profile_template_save">Shrani</string>
<string name="app_profile_template_delete">Odstrani</string>
<string name="app_profile_template_readonly">le za branje</string>
<string name="app_profile_template_id_exist">id predloge že obstaja!</string>
<string name="app_profile_import_from_clipboard">Uvoz iz odložišča</string>
<string name="app_profile_export_to_clipboard">Izvoz v odložišče</string>

View File

@@ -1,5 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="home_superuser_count">Superkorisnici</string>
<string name="home_module_count">Moduli: %d</string>
<string name="home_click_to_install">Додирните да бисте инсталирали</string>
<string name="home">Почетна</string>
<string name="home_not_installed">Није инсталирано</string>

View File

@@ -15,5 +15,7 @@
<string name="home_click_to_install">ఇన్‌స్టాల్ చేయడానికి క్లిక్ చేయండి</string>
<string name="home_working">పని చేస్తోంది</string>
<string name="home_working_version">వెర్షన్: %d</string>
<string name="home_superuser_count">సూపర్‌యూజర్‌లు: %d</string>
<string name="home_module_count">మాడ్యూల్స్: %d</string>
<string name="save_log">లాగ్‌లు సేవ్ చేయండి</string>
</resources>

View File

@@ -6,6 +6,8 @@
<string name="home_working">กำลังทำงาน</string>
<string name="home_working_version">เวอร์ชัน: %d</string>
<string name="home_manager_version">เวอร์ชันตัวจัดการ</string>
<string name="home_superuser_count">สิทธิ์ผู้ใช้ขั้นสูง: %d</string>
<string name="home_module_count">โมดูล: %d</string>
<string name="home_unsupported">ไม่รองรับ</string>
<string name="selinux_status_enforcing">Enforcing</string>
<string name="reboot_recovery">รีบูตเข้าสู่โหมดกู้คืน</string>
@@ -53,6 +55,10 @@
<string name="profile_default">ค่าเริ่มต้น</string>
<string name="profile_template">เทมเพลต</string>
<string name="profile_name">ชื่อโปรไฟล์</string>
<string name="profile_namespace">Mount เนมสเปซ</string>
<string name="profile_namespace_global">ทั่วไป</string>
<string name="profile_namespace_inherited">สืบทอด</string>
<string name="profile_namespace_individual">ส่วนบุคคล</string>
<string name="profile_groups">หมวดหมู่</string>
<string name="profile_capabilities">ความสามารถของแอป</string>
<string name="profile_umount_modules_summary">การเปิดใช้งานตัวเลือกนี้จะทำให้ KernelSU สามารถกู้คืนไฟล์ที่แก้ไขโดยโมดูลสำหรับแอปนี้ได้</string>
@@ -82,6 +88,7 @@
<string name="app_profile_template_id_invalid">ไอดีเทมเพลตไม่ถูกต้อง</string>
<string name="app_profile_template_sync">ซิงค์เทมเพลตออนไลน์</string>
<string name="app_profile_template_create">สร้างเทมเพลต</string>
<string name="app_profile_template_readonly">อ่านเท่านั้น</string>
<string name="app_profile_import_export">นำเข้า/ส่งออก</string>
<string name="app_profile_template_save_failed">ไม่สามารถบันทึกเทมเพลต</string>
<string name="app_profile_template_edit">แก้ไขเทมเพลต</string>

View File

@@ -6,6 +6,8 @@
<string name="home_click_to_install">Kurmak için tıklayın</string>
<string name="home_working">Çalışıyor</string>
<string name="home_working_version">Sürüm: %d</string>
<string name="home_superuser_count">Süper kullanıcılar: %d</string>
<string name="home_module_count">Modüller: %d</string>
<string name="home_unsupported">Desteklenmiyor</string>
<string name="home_unsupported_reason">KernelSU şimdilik sadece GKI çekirdeklerini destekliyor</string>
<string name="home_kernel">Çekirdek Versiyonu</string>
@@ -55,6 +57,10 @@
<string name="profile_template">Şablon</string>
<string name="profile_custom">Özel</string>
<string name="profile_name">Profil adı</string>
<string name="profile_namespace">Ad alanını bağla</string>
<string name="profile_namespace_inherited">Kalıtsal</string>
<string name="profile_namespace_global">Küresel</string>
<string name="profile_namespace_individual">Bireysel</string>
<string name="profile_groups">Gruplar</string>
<string name="profile_capabilities">Yetkinlikler</string>
<string name="profile_selinux_context">SELinux içeriği</string>
@@ -86,6 +92,7 @@
<string name="app_profile_template_save">Kaydet</string>
<string name="app_profile_template_delete">Sil</string>
<string name="app_profile_template_view">Şablonu görüntüle</string>
<string name="app_profile_template_readonly">Salt okunur</string>
<string name="app_profile_template_id_exist">Şablon kimliği zaten var!</string>
<string name="app_profile_import_export">İçe aktar/Dışa aktar</string>
<string name="app_profile_import_from_clipboard">Panodan içe aktar</string>

View File

@@ -5,6 +5,8 @@
<string name="home_click_to_install">Натисніть щоб встановити</string>
<string name="home_working">Працює</string>
<string name="home_working_version">Версія: %d</string>
<string name="home_superuser_count">Суперкористувачі: %d</string>
<string name="home_module_count">Модулі: %d</string>
<string name="home_unsupported">Не підтримується</string>
<string name="home_unsupported_reason">KernelSU зараз підтримує лише ядра GKI.</string>
<string name="home_kernel">Версія ядра</string>
@@ -54,6 +56,10 @@
<string name="profile_template">Шаблон</string>
<string name="profile_custom">Власний</string>
<string name="profile_name">Назва профілю</string>
<string name="profile_namespace">Змонтувати простір імен</string>
<string name="profile_namespace_inherited">Наслідуваний</string>
<string name="profile_namespace_global">Глобальний</string>
<string name="profile_namespace_individual">Індивідуальний</string>
<string name="profile_groups">Групи</string>
<string name="profile_capabilities">Можливості</string>
<string name="profile_selinux_context">Контекст SELinux</string>
@@ -84,6 +90,7 @@
<string name="app_profile_template_id_invalid">Недійсний ідентифікатор шаблону</string>
<string name="app_profile_template_sync">Синхронізувати мережеві шаблони</string>
<string name="app_profile_template_create">Створити шаблон</string>
<string name="app_profile_template_readonly">Тільки для читання</string>
<string name="app_profile_import_export">Імпорт/Експорт</string>
<string name="app_profile_template_save_failed">Помилка при збереженні шаблону</string>
<string name="app_profile_template_edit">Редагувати шаблон</string>

View File

@@ -63,13 +63,19 @@
<string name="safe_mode">Chế độ an toàn</string>
<string name="reboot_to_apply">Khởi động lại để có hiệu lực</string>
<string name="home_learn_kernelsu_url">https://kernelsu.org/guide/what-is-kernelsu.html</string>
<string name="home_superuser_count">Superusers: %d</string>
<string name="home_module_count">Modules: %d</string>
<string name="profile_selinux_domain">Tên miền</string>
<string name="profile_selinux_rules">Quy tắc</string>
<string name="launch_app">Khởi chạy</string>
<string name="restart_app">Khởi động lại</string>
<string name="profile_namespace">Không gian tên</string>
<string name="profile_capabilities">Tính tương thích</string>
<string name="failed_to_update_sepolicy">Cập nhật quy tắc SELinux cho %s thất bại</string>
<string name="force_stop_app">Buộc dừng</string>
<string name="profile_namespace_inherited">Thừa hưởng</string>
<string name="profile_namespace_global">Toàn cục</string>
<string name="profile_namespace_individual">Riêng biệt</string>
<string name="profile_selinux_context">Bối cảnh SELinux</string>
<string name="profile_umount_modules">Umount modules</string>
<string name="require_kernel_version">Phiên bản KernelSU hiện tại %d quá thấp để trình quản lý hoạt động bình thường. Vui lòng cập nhật lên phiên bản %d hoặc cao hơn!</string>
@@ -94,6 +100,7 @@
<string name="app_profile_template_delete">Xóa</string>
<string name="app_profile_template_import_empty">Bộ nhớ tạm đang trống!</string>
<string name="app_profile_template_view">Xem mẫu</string>
<string name="app_profile_template_readonly">Chỉ đọc</string>
<string name="app_profile_template_id">ID</string>
<string name="enable_web_debugging">Gỡ lỗi WebView</string>
<string name="enable_web_debugging_summary">Có thể sử dụng để gỡ lỗi WebUI. Vui lòng chỉ bật khi cần thiết.</string>

View File

@@ -5,6 +5,7 @@
<string name="home_click_to_install">点击安装</string>
<string name="home_working">工作中</string>
<string name="home_working_version">版本:%d</string>
<string name="home_superuser_count">超级用户数:%d</string>
<string name="home_unsupported">不支持</string>
<string name="home_unsupported_reason">内核上未检测到 KernelSU 驱动程序,内核错误?</string>
<string name="home_kernel">内核版本</string>
@@ -46,6 +47,7 @@
<string name="safe_mode">安全模式</string>
<string name="reboot_to_apply">重启生效</string>
<string name="module_magisk_conflict">因与 Magisk 有冲突,所有模块不可用!</string>
<string name="home_module_count">模块数:%d</string>
<string name="home_learn_kernelsu">了解 KernelSU</string>
<string name="home_learn_kernelsu_url">https://kernelsu.org/zh_CN/guide/what-is-kernelsu.html</string>
<string name="home_click_to_learn_kernelsu">了解如何安装 KernelSU 以及如何开发模块</string>
@@ -56,6 +58,10 @@
<string name="profile_template">模版</string>
<string name="profile_custom">自定义</string>
<string name="profile_name">名称</string>
<string name="profile_namespace">命名空间</string>
<string name="profile_namespace_inherited">继承</string>
<string name="profile_namespace_global">全局</string>
<string name="profile_namespace_individual">私有</string>
<string name="profile_groups"></string>
<string name="profile_capabilities">权能</string>
<string name="profile_selinux_context">SELinux</string>
@@ -88,6 +94,7 @@
<string name="app_profile_template_save">保存</string>
<string name="app_profile_template_delete">删除</string>
<string name="app_profile_template_view">查看模版</string>
<string name="app_profile_template_readonly">只读</string>
<string name="app_profile_template_id_exist">模版 ID 已存在!</string>
<string name="app_profile_import_export">导入/导出</string>
<string name="app_profile_import_from_clipboard">从剪切板导入</string>
@@ -186,6 +193,7 @@
<string name="log_viewer_search">搜索</string>
<string name="log_viewer_clear_logs">清空日志</string>
<string name="log_viewer_clear_logs_confirm">确定要清空选中的日志文件吗?此操作无法撤销。</string>
<string name="log_viewer_logs_cleared">日志清空成功</string>
<string name="log_viewer_filter_type">按类型筛选</string>
<string name="log_viewer_all_types">所有类型</string>
<string name="log_viewer_showing_entries">显示 %1$d / %2$d 条记录</string>
@@ -194,6 +202,7 @@
<string name="log_viewer_refresh">刷新</string>
<string name="log_viewer_raw_log">原始日志</string>
<string name="log_viewer_search_placeholder">按 UID、命令或详情搜索…</string>
<string name="log_viewer_clear_search">清除搜索</string>
<string name="log_viewer_view_logs">查看 KernelSU 超级用户访问日志</string>
<string name="log_viewer_exclude_subtypes">排除子类型</string>
<string name="log_viewer_exclude_current_app">当前应用</string>
@@ -211,6 +220,7 @@
<string name="enable_dynamic_manager">启用动态管理器</string>
<string name="signature_size">动态管理器签名大小</string>
<string name="signature_hash">动态管理器签名哈希</string>
<string name="hash_must_be_64_chars">哈希必须是 64 个 16 进制字符</string>
<string name="dynamic_manager_set_success">动态管理器配置设置成功</string>
<string name="dynamic_manager_set_failed">设置动态管理器配置失败</string>
<string name="invalid_sign_config">无效的管理器配置</string>
@@ -228,12 +238,14 @@
<string name="clean_runtime_environment_failed">运行环境清理失败</string>
<!-- umount Manager -->
<string name="umount_path_manager">Umount 路径管理</string>
<string name="umount_path_manager_summary">管理内核卸载路径</string>
<string name="umount_path_restart_notice">添加或删除路径后需要重启设备才能生效。系统会在下次启动时应用新的配置。</string>
<string name="add_umount_path">添加 Umount 路径</string>
<string name="mount_path">挂载路径</string>
<string name="umount_flags">卸载标志</string>
<string name="umount_flags_hint">0=正常卸载, 8=MNT_DETACH, -1=自动</string>
<string name="flags">标志</string>
<string name="default_entry">默认条目</string>
<string name="confirm_delete">确认删除</string>
<string name="confirm_delete_umount_path">确定要删除路径 %s 吗?</string>
<string name="umount_path_added">路径已添加,重启后生效</string>
@@ -248,17 +260,9 @@
<!-- Personalization Settings -->
<string name="personalization">个性化</string>
<string name="personalization_summary">自定义应用外观和主题</string>
<string name="settings_wallpaper">自定义壁纸</string>
<string name="settings_wallpaper_summary">选择一张图片作为应用背景。</string>
<string name="settings_wallpaper_summary_selected">已应用壁纸</string>
<string name="settings_wallpaper_replace">更换</string>
<string name="settings_wallpaper_remove">移除</string>
<string name="settings_wallpaper_opacity_label">壁纸透明度:%1$d%%</string>
<string name="settings_wallpaper_mode">壁纸缩放</string>
<string name="settings_wallpaper_mode_summary">选择壁纸如何适配背景</string>
<string name="settings_wallpaper_mode_fill">填充</string>
<string name="settings_wallpaper_mode_stretch">拉伸</string>
<string name="settings_wallpaper_mode_fit">适应</string>
<string name="theme_settings">主题设置</string>
<string name="theme_mode">主题模式</string>
<string name="theme_mode_summary">选择应用的显示主题</string>
<!-- Kernel Flash Progress Related -->
<string name="horizon_flash_complete">刷入完成</string>
<string name="horizon_preparing">准备中…</string>
@@ -280,14 +284,20 @@
<string name="horizon_copy_failed">复制失败</string>
<string name="horizon_unknown_error">未知错误</string>
<string name="flash_failed_message">刷入失败</string>
<string name="Lkm_install_methods">LKM 修复/安装</string>
<string name="GKI_install_methods">刷入 AnyKernel3</string>
<string name="kernel_version_log">内核版本:%1$s</string>
<string name="tool_version_log">使用的修补工具:%1$s</string>
<string name="configuration">配置</string>
<string name="app_settings">应用程序设置</string>
<string name="tools">工具</string>
<string name="root_required">需要root权限</string>
<string name="kpm_patch_options">KPM 补丁</string>
<string name="kpm_patch_description">用于添加额外的KPM功能</string>
<string name="enable_kpm_patch">KPM 补丁</string>
<string name="kpm_patch_switch_description">在刷入前对内核镜像应用KPM补丁</string>
<string name="enable_kpm_undo_patch">KPM 撤销补丁</string>
<string name="kpm_undo_patch_switch_description">撤销之前应用的KPM补丁</string>
<string name="kpm_patch_enabled">KPM 补丁已启用</string>
<string name="kpm_undo_patch_enabled">KPM 撤销补丁已启用</string>
<string name="kpm_patch_mode">KPM 补丁模式</string>
@@ -305,6 +315,7 @@
<string name="kpm_undo_patch_failed">KPM 撤销补丁失败</string>
<string name="kpm_patch_operation_failed">KPM 补丁操作失败: %s</string>
<string name="kpm_follow_kernel_file">跟随内核</string>
<string name="kpm_follow_kernel_description">原样使用内核不进行任何KPM修改</string>
<string name="kernel_flashing">内核刷入</string>
<string name="horizon_kernel">AnyKernel3 内核</string>
<string name="horizon_kernel_summary">刷入AnyKernel3格式的内核zip包</string>
@@ -320,11 +331,18 @@
<string name="kpm_install_failed">kpm 模块加载失败</string>
<string name="kpm_args">参数</string>
<string name="kpm_control">执行</string>
<string name="home_kpm_version">KPM 版本</string>
<string name="close_notice">关闭</string>
<string name="kernel_module_notice">以下内核模块功能由 KernelPatch 开发,并经过修改后加入了 SukiSU Ultra 的内核模块功能</string>
<string name="home_ContributionCard_kernelsu">SukiSU Ultra 期待</string>
<string name="kpm_control_success">成功</string>
<string name="kpm_control_failed">失败</string>
<string name="home_click_to_ContributionCard_kernelsu">SukiSU Ultra 在未来将是 KSU 的相对独立分支,但我们仍然感谢官方 KernelSU 和 MKSU 等的贡献!</string>
<string name="not_supported">不支持</string>
<string name="supported">支持</string>
<string name="kernel_patched">内核未修补</string>
<string name="kernel_not_enabled">内核未配置</string>
<string name="custom_settings">自定义设置</string>
<string name="kpm_install_mode">KPM 安装</string>
<string name="kpm_install_mode_load">加载</string>
<string name="kpm_install_mode_embed">嵌入</string>

View File

@@ -5,6 +5,8 @@
<string name="home_click_to_install">按一下以安裝</string>
<string name="home_working">運作中</string>
<string name="home_working_version">KernelSU 版本:%d</string>
<string name="home_superuser_count">超級使用者:%d 個</string>
<string name="home_module_count">已安裝模組:%d 個</string>
<string name="home_unsupported">不支援</string>
<string name="home_unsupported_reason">KernelSU 現在僅支援 GKI 核心</string>
<string name="home_kernel">核心</string>
@@ -52,6 +54,8 @@
<string name="profile_default">預設</string>
<string name="profile_name">設定檔名稱</string>
<string name="profile_template">範本</string>
<string name="profile_namespace_inherited">繼承</string>
<string name="profile_namespace_global">全域</string>
<string name="profile_capabilities">功能</string>
<string name="profile_umount_modules">卸載模組</string>
<string name="failed_to_update_app_profile">無法更新 %s 應用程式設定檔</string>
@@ -62,6 +66,8 @@
<string name="profile_selinux_domain">網域</string>
<string name="module_update">更新</string>
<string name="profile_custom">自訂</string>
<string name="profile_namespace">掛載命名空間</string>
<string name="profile_namespace_individual">個人</string>
<string name="profile_groups">群組</string>
<string name="profile_selinux_context">SELinux 環境</string>
<string name="settings_umount_modules_default">預設解除安裝模組</string>
@@ -83,6 +89,7 @@
<string name="app_profile_template_id_invalid">模板 ID 無效</string>
<string name="app_profile_template_sync">同步在線規則</string>
<string name="app_profile_template_create">創建模板</string>
<string name="app_profile_template_readonly">只讀</string>
<string name="app_profile_import_export">匯出 / 匯入</string>
<string name="app_profile_template_save_failed">模板儲存失敗</string>
<string name="app_profile_template_edit">編輯模板</string>

View File

@@ -5,6 +5,7 @@
<string name="home_click_to_install">點選開始安裝</string>
<string name="home_working">已開始運作</string>
<string name="home_working_version">版本:%d</string>
<string name="home_superuser_count">授權:%d 個應用程式</string>
<string name="home_unsupported">未受支援</string>
<string name="home_unsupported_reason">KernelSU 目前僅支援 GKI 核心</string>
<string name="home_kernel">核心版本</string>
@@ -43,6 +44,7 @@
<string name="safe_mode">安全模式</string>
<string name="reboot_to_apply">將在重新啟動時生效</string>
<string name="module_magisk_conflict">與 Magisk 發生衝突,無法使用模組功能!</string>
<string name="home_module_count">掛載:%d 個模組</string>
<string name="home_learn_kernelsu">深入瞭解 KernelSU</string>
<string name="home_learn_kernelsu_url">https://kernelsu.org/zh_TW/guide/what-is-kernelsu.html</string>
<string name="home_click_to_learn_kernelsu">知曉安裝、使用 KernelSU 本體與其模組功能的方法</string>
@@ -63,6 +65,10 @@
<string name="restart_app">重新執行</string>
<string name="profile_template">範本</string>
<string name="profile_name">Profile 名稱</string>
<string name="profile_namespace">命名空間掛載</string>
<string name="profile_namespace_inherited">繼承</string>
<string name="profile_namespace_global">全域</string>
<string name="profile_namespace_individual">個體</string>
<string name="profile_groups">群組</string>
<string name="profile_selinux_context">SELinux 上下文</string>
<string name="profile_selinux_domain">定域</string>
@@ -87,6 +93,7 @@
<string name="module_changelog_failed">無法取得更新說明:%s</string>
<string name="app_profile_template_name">名稱</string>
<string name="app_profile_template_sync">同步線上範本</string>
<string name="app_profile_template_readonly">唯讀</string>
<string name="app_profile_import_export">匯入/匯出</string>
<string name="app_profile_template_save_failed">無法儲存範本</string>
<string name="app_profile_template_description">說明</string>

View File

@@ -6,6 +6,8 @@
<string name="home_click_to_install">Click to install</string>
<string name="home_working">Working</string>
<string name="home_working_version">Version: %d</string>
<string name="home_superuser_count">Superusers: %d</string>
<string name="home_module_count">Modules: %d</string>
<string name="home_unsupported">Unsupported</string>
<string name="home_unsupported_reason">No KernelSU driver detected on your kernel, wrong kernel?</string>
<string name="home_kernel">Kernel version</string>
@@ -60,6 +62,10 @@
<string name="profile_template">Template</string>
<string name="profile_custom">Custom</string>
<string name="profile_name">Profile name</string>
<string name="profile_namespace">Mount namespace</string>
<string name="profile_namespace_inherited">Inherited</string>
<string name="profile_namespace_global">Global</string>
<string name="profile_namespace_individual">Individual</string>
<string name="profile_groups">Groups</string>
<string name="profile_capabilities">Capabilities</string>
<string name="profile_selinux_context">SELinux context</string>
@@ -92,6 +98,7 @@
<string name="app_profile_template_save">Save</string>
<string name="app_profile_template_delete">Delete</string>
<string name="app_profile_template_view">View template</string>
<string name="app_profile_template_readonly">Read only</string>
<string name="app_profile_template_id_exist">Template ID already exists!</string>
<string name="app_profile_import_export">Import/Export</string>
<string name="app_profile_import_from_clipboard">Import from clipboard</string>
@@ -191,6 +198,7 @@
<string name="log_viewer_search">Search</string>
<string name="log_viewer_clear_logs">Clear Logs</string>
<string name="log_viewer_clear_logs_confirm">Are you sure you want to clear the selected log file? This action cannot be undone.</string>
<string name="log_viewer_logs_cleared">Logs cleared successfully</string>
<string name="log_viewer_filter_type">Filter by Type</string>
<string name="log_viewer_all_types">All Types</string>
<string name="log_viewer_showing_entries">Showing %1$d of %2$d entries</string>
@@ -199,6 +207,7 @@
<string name="log_viewer_refresh">Refresh</string>
<string name="log_viewer_raw_log">Raw Log</string>
<string name="log_viewer_search_placeholder">Search by UID, command, or details…</string>
<string name="log_viewer_clear_search">Clear search</string>
<string name="log_viewer_view_logs">View KernelSU superuser access logs</string>
<string name="log_viewer_exclude_subtypes">Exclude sub-types</string>
<string name="log_viewer_exclude_current_app">Current App</string>
@@ -216,6 +225,7 @@
<string name="enable_dynamic_manager">Enable Dynamic Manager</string>
<string name="signature_size">Dynamic Manager Signature Size</string>
<string name="signature_hash">Dynamic Manager Signature Hash</string>
<string name="hash_must_be_64_chars">Hash must be 64 hexadecimal characters</string>
<string name="dynamic_manager_set_success">Dynamic Manager configuration set successfully</string>
<string name="dynamic_manager_set_failed">Failed to set dynamic Manager configuration</string>
<string name="invalid_sign_config">Invalid Manager configuration</string>
@@ -234,12 +244,14 @@
<string name="clean_runtime_environment_failed">Failed to clean runtime environment</string>
<!-- umount Manager -->
<string name="umount_path_manager">Umount Path Management</string>
<string name="umount_path_manager_summary">Manage kernel unmount paths</string>
<string name="umount_path_restart_notice">A reboot is required for changes to take effect. The system will apply the new configuration on the next boot.</string>
<string name="add_umount_path">Add Umount Path</string>
<string name="mount_path">Mount Path</string>
<string name="umount_flags">Unmount Flags</string>
<string name="umount_flags_hint">0=Normal unmount, 8=MNT_DETACH, -1=Auto</string>
<string name="flags">Flags</string>
<string name="default_entry">Default Entry</string>
<string name="confirm_delete">Confirm Delete</string>
<string name="confirm_delete_umount_path">Are you sure you want to delete the path %s?</string>
<string name="umount_path_added">Path added, will take effect after reboot</string>
@@ -255,17 +267,9 @@
<!-- Personalization Settings -->
<string name="personalization">Personalization</string>
<string name="personalization_summary">Customize the app\'s appearance and theme</string>
<string name="settings_wallpaper">Custom wallpaper</string>
<string name="settings_wallpaper_summary">Choose an image as the app background.</string>
<string name="settings_wallpaper_summary_selected">Wallpaper applied</string>
<string name="settings_wallpaper_replace">Replace</string>
<string name="settings_wallpaper_remove">Remove</string>
<string name="settings_wallpaper_opacity_label">Wallpaper transparency: %1$d%%</string>
<string name="settings_wallpaper_mode">Wallpaper scaling</string>
<string name="settings_wallpaper_mode_summary">Choose how the wallpaper should fit the background.</string>
<string name="settings_wallpaper_mode_fill">Fill</string>
<string name="settings_wallpaper_mode_stretch">Stretch</string>
<string name="settings_wallpaper_mode_fit">Fit</string>
<string name="theme_settings">Theme Settings</string>
<string name="theme_mode">Theme Mode</string>
<string name="theme_mode_summary">Select the app\'s display theme</string>
<!-- Kernel Flash Progress Related -->
<string name="horizon_flash_complete">Flash Complete</string>
<string name="horizon_preparing">Preparing…</string>
@@ -287,14 +291,20 @@
<string name="horizon_copy_failed">Copy failed</string>
<string name="horizon_unknown_error">Unknown error</string>
<string name="flash_failed_message">Flash failed</string>
<string name="Lkm_install_methods">LKM repair/installation</string>
<string name="GKI_install_methods">Flashing AnyKernel3</string>
<string name="kernel_version_log">Kernel version%1$s</string>
<string name="tool_version_log">Using the patching tool%1$s</string>
<string name="configuration">Configure</string>
<string name="app_settings">Application Settings</string>
<string name="tools">Tools</string>
<string name="root_required">Requires root privileges</string>
<string name="kpm_patch_options">KPM Patch</string>
<string name="kpm_patch_description">For adding additional KPM features</string>
<string name="enable_kpm_patch">KPM Patch</string>
<string name="kpm_patch_switch_description">Apply KPM patch to kernel image before flashing</string>
<string name="enable_kpm_undo_patch">KPM Undo Patch</string>
<string name="kpm_undo_patch_switch_description">Undo previously applied KPM patch</string>
<string name="kpm_patch_enabled">KPM patch enabled</string>
<string name="kpm_undo_patch_enabled">KPM undo patch enabled</string>
<string name="kpm_patch_mode">KPM Patch Mode</string>
@@ -312,6 +322,7 @@
<string name="kpm_undo_patch_failed">KPM undo patch failed</string>
<string name="kpm_patch_operation_failed">KPM patch operation failed: %s</string>
<string name="kpm_follow_kernel_file">Follow Kernel</string>
<string name="kpm_follow_kernel_description">Use kernel as-is without any KPM modifications</string>
<string name="kernel_flashing">Kernel Flashing</string>
<string name="horizon_kernel">AnyKernel3 Kernel</string>
<string name="horizon_kernel_summary">Flash AnyKernel3 format kernel zip</string>
@@ -328,11 +339,18 @@
<string name="kpm_install_failed">Load of kpm module failed</string>
<string name="kpm_args">Parameters</string>
<string name="kpm_control">Execute</string>
<string name="home_kpm_version">KPM Version</string>
<string name="close_notice">Close</string>
<string name="kernel_module_notice">The following kernel module functions were developed by KernelPatch and modified to include the kernel module functions of SukiSU Ultra</string>
<string name="home_ContributionCard_kernelsu">SukiSU Ultra Look forward to</string>
<string name="kpm_control_success">Success</string>
<string name="kpm_control_failed">Failed</string>
<string name="home_click_to_ContributionCard_kernelsu">SukiSU Ultra will be a relatively independent branch of KSU in the future, but we still appreciate the official KernelSU and MKSU etc. for their contributions!</string>
<string name="not_supported">Unsupported</string>
<string name="supported">Supported</string>
<string name="kernel_patched">Kernel not patched</string>
<string name="kernel_not_enabled">Kernel not configured</string>
<string name="custom_settings">Custom settings</string>
<string name="kpm_install_mode">KPM Install</string>
<string name="kpm_install_mode_load">Load</string>
<string name="kpm_install_mode_embed">Embed</string>