0
0
Fork 0
mirror of https://github.com/YTVanced/VancedManager synced 2024-11-22 03:05:11 +00:00
This commit is contained in:
X1nto 2021-04-19 19:57:14 +04:00
parent 108ca5ae5d
commit 82ba0b2615
108 changed files with 624 additions and 387 deletions

View file

@ -34,7 +34,8 @@ class ExpandableAppListAdapter(
private var isAnimationRunning = false
inner class ListViewHolder(private val binding: ViewAppExpandableBinding) : RecyclerView.ViewHolder(binding.root) {
inner class ListViewHolder(private val binding: ViewAppExpandableBinding) :
RecyclerView.ViewHolder(binding.root) {
private var isExpanded = false
fun bind(position: Int) {
@ -77,7 +78,12 @@ class ExpandableAppListAdapter(
}
dataModel?.buttonTag?.observe(activity) { buttonTag ->
appDownload.apply {
setOnClickListener { viewModel.openInstallDialog(buttonTag, apps[position]) }
setOnClickListener {
viewModel.openInstallDialog(
buttonTag,
apps[position]
)
}
contentDescription = activity.getString(
if (buttonTag == ButtonTag.UPDATE)
R.string.accessibility_update

View file

@ -10,7 +10,8 @@ import com.vanced.manager.databinding.ViewNotificationSettingBinding
import com.vanced.manager.model.NotifModel
import com.vanced.manager.utils.defPrefs
class GetNotifAdapter(private val context: Context) : RecyclerView.Adapter<GetNotifAdapter.GetNotifViewHolder>() {
class GetNotifAdapter(private val context: Context) :
RecyclerView.Adapter<GetNotifAdapter.GetNotifViewHolder>() {
private val prefs = context.defPrefs
@ -35,7 +36,8 @@ class GetNotifAdapter(private val context: Context) : RecyclerView.Adapter<GetNo
private val apps = arrayOf(vanced, music, microg)
inner class GetNotifViewHolder(val binding: ViewNotificationSettingBinding) : RecyclerView.ViewHolder(binding.root) {
inner class GetNotifViewHolder(val binding: ViewNotificationSettingBinding) :
RecyclerView.ViewHolder(binding.root) {
val switch = binding.notifSwitch
fun bind(position: Int) {
val app = apps[position]
@ -44,15 +46,21 @@ class GetNotifAdapter(private val context: Context) : RecyclerView.Adapter<GetNo
setSummary(app.switchSummary)
setTitle(app.switchTitle)
setDefaultValue(true)
with (prefs) {
setChecked(getBoolean( "enable_" + app.key.substringBefore("_"), true) && getBoolean(app.key, true))
with(prefs) {
setChecked(
getBoolean(
"enable_" + app.key.substringBefore("_"),
true
) && getBoolean(app.key, true)
)
}
}
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): GetNotifViewHolder {
val view = ViewNotificationSettingBinding.inflate(LayoutInflater.from(context), parent, false)
val view =
ViewNotificationSettingBinding.inflate(LayoutInflater.from(context), parent, false)
return GetNotifViewHolder(view)
}

View file

@ -57,7 +57,8 @@ class LinkAdapter(
val links = arrayOf(instagram, youtube, github, website, telegram, twitter, discord, reddit)
inner class LinkViewHolder(private val binding: ViewSocialLinkBinding) : RecyclerView.ViewHolder(binding.root) {
inner class LinkViewHolder(private val binding: ViewSocialLinkBinding) :
RecyclerView.ViewHolder(binding.root) {
val logo = binding.linkImage

View file

@ -32,7 +32,8 @@ class SelectAppsAdapter(private val context: Context) :
val apps = arrayOf(vanced, music)
inner class SelectAppsViewHolder(binding: ViewAppCheckboxBinding) : RecyclerView.ViewHolder(binding.root) {
inner class SelectAppsViewHolder(binding: ViewAppCheckboxBinding) :
RecyclerView.ViewHolder(binding.root) {
val appName = binding.appCheckboxText
val appDescription = binding.appCheckboxDescription
val appCard = binding.appCheckboxBg

View file

@ -18,7 +18,10 @@ class SponsorAdapter(
) : RecyclerView.Adapter<SponsorAdapter.LinkViewHolder>() {
private val brave = SponsorModel(
if (currentTheme == LIGHT) AppCompatResources.getDrawable(context, R.drawable.ic_brave_light) else AppCompatResources.getDrawable(context, R.drawable.ic_brave),
if (currentTheme == LIGHT) AppCompatResources.getDrawable(
context,
R.drawable.ic_brave_light
) else AppCompatResources.getDrawable(context, R.drawable.ic_brave),
"Brave",
BRAVE
)

View file

@ -17,7 +17,7 @@ import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.SupervisorJob
import kotlinx.coroutines.launch
open class App: Application() {
open class App : Application() {
private val prefs by lazy { getDefaultSharedPreferences(this) }
private val scope = CoroutineScope(SupervisorJob() + Dispatchers.IO)
@ -26,7 +26,8 @@ open class App: Application() {
scope.launch { loadJson(this@App) }
super.onCreate()
mutableAccentColor.value = prefs.managerAccent
Crowdin.init(this,
Crowdin.init(
this,
CrowdinConfig.Builder().apply {
withDistributionHash(CROWDIN_HASH)
withNetworkType(NetworkType.WIFI)

View file

@ -22,7 +22,9 @@ object MusicDownloader {
fun downloadMusic(context: Context, version: String? = null) {
val prefs = context.defPrefs
musicVersion = version ?: prefs.musicVersion?.getLatestAppVersion(musicVersions.value?.value ?: listOf(""))
musicVersion = version ?: prefs.musicVersion?.getLatestAppVersion(
musicVersions.value?.value ?: listOf("")
)
versionCode = music.value?.int("versionCode")
variant = prefs.managerVariant
baseurl = "$baseInstallUrl/music/v$musicVersion"
@ -35,31 +37,43 @@ object MusicDownloader {
private fun downloadApk(context: Context, apk: String = "music") {
val url = if (apk == "stock") "$baseurl/stock/${getArch()}.apk" else "$baseurl/$variant.apk"
download(url, "$baseurl/", folderName!!, getFileNameFromUrl(url), context, onDownloadComplete = {
if (variant == "root" && apk != "stock") {
downloadApk(context, "stock")
return@download
}
when (apk) {
"music" -> {
if (variant == "root") {
if (validateTheme(downloadPath!!, "root", hashUrl!!, context)) {
if (downloadStockCheck(musicRootPkg, versionCode!!, context))
downloadApk(context, "stock")
else
startMusicInstall(context)
} else {
downloadApk(context, apk)
}
} else
startMusicInstall(context)
download(
url,
"$baseurl/",
folderName!!,
getFileNameFromUrl(url),
context,
onDownloadComplete = {
if (variant == "root" && apk != "stock") {
downloadApk(context, "stock")
return@download
}
"stock" -> startMusicInstall(context)
}
}, onError = {
downloadingFile.postValue(context.getString(R.string.error_downloading, getFileNameFromUrl(url)))
})
when (apk) {
"music" -> {
if (variant == "root") {
if (validateTheme(downloadPath!!, "root", hashUrl!!, context)) {
if (downloadStockCheck(musicRootPkg, versionCode!!, context))
downloadApk(context, "stock")
else
startMusicInstall(context)
} else {
downloadApk(context, apk)
}
} else
startMusicInstall(context)
}
"stock" -> startMusicInstall(context)
}
},
onError = {
downloadingFile.postValue(
context.getString(
R.string.error_downloading,
getFileNameFromUrl(url)
)
)
})
}
fun startMusicInstall(context: Context) {

View file

@ -16,7 +16,7 @@ import com.vanced.manager.utils.PackageHelper.installVancedRoot
import java.io.File
object VancedDownloader {
private lateinit var prefs: SharedPreferences
private lateinit var defPrefs: SharedPreferences
private lateinit var arch: String
@ -47,7 +47,9 @@ object VancedDownloader {
lang = it.split(", ").toMutableList()
}
theme = prefs.theme
vancedVersion = version ?: defPrefs.vancedVersion?.getLatestAppVersion(vancedVersions.value?.value ?: listOf(""))
vancedVersion = version ?: defPrefs.vancedVersion?.getLatestAppVersion(
vancedVersions.value?.value ?: listOf("")
)
themePath = "$baseInstallUrl/apks/v$vancedVersion/$variant/Theme"
hashUrl = "apks/v$vancedVersion/$variant/Theme/hash.json"
arch = getArch()
@ -68,53 +70,68 @@ object VancedDownloader {
"theme" -> "$themePath/$theme.apk"
"arch" -> "$baseInstallUrl/apks/v$vancedVersion/$variant/Arch/split_config.$arch.apk"
"stock" -> "$themePath/stock.apk"
"dpi" -> "$themePath/dpi.apk"
"dpi" -> "$themePath/dpi.apk"
"lang" -> "$baseInstallUrl/apks/v$vancedVersion/$variant/Language/split_config.${lang[count]}.apk"
else -> throw NotImplementedError("This type of APK is NOT valid. What the hell did you even do?")
}
download(url, "$baseInstallUrl/", folderName!!, getFileNameFromUrl(url), context, onDownloadComplete = {
when (type) {
"theme" ->
if (variant == "root") {
if (validateTheme(downloadPath!!, theme!!, hashUrl, context)) {
if (downloadStockCheck(vancedRootPkg, vancedVersionCode, context))
downloadSplits(context, "arch")
else
startVancedInstall(context)
download(
url,
"$baseInstallUrl/",
folderName!!,
getFileNameFromUrl(url),
context,
onDownloadComplete = {
when (type) {
"theme" ->
if (variant == "root") {
if (validateTheme(downloadPath!!, theme!!, hashUrl, context)) {
if (downloadStockCheck(vancedRootPkg, vancedVersionCode, context))
downloadSplits(context, "arch")
else
startVancedInstall(context)
} else
downloadSplits(context, "theme")
} else
downloadSplits(context, "theme")
} else
downloadSplits(context, "arch")
"arch" -> if (variant == "root") downloadSplits(context, "stock") else downloadSplits(context, "lang")
"stock" -> downloadSplits(context, "dpi")
"dpi" -> downloadSplits(context, "lang")
"lang" -> {
count++
succesfulLangCount++
if (count < lang.size)
downloadSplits(context, "lang")
else
startVancedInstall(context)
}
}
}, onError = {
if (type == "lang") {
count++
when {
count < lang.size -> downloadSplits(context, "lang")
succesfulLangCount == 0 -> {
lang.add("en")
downloadSplits(context, "lang")
downloadSplits(context, "arch")
"arch" -> if (variant == "root") downloadSplits(
context,
"stock"
) else downloadSplits(context, "lang")
"stock" -> downloadSplits(context, "dpi")
"dpi" -> downloadSplits(context, "lang")
"lang" -> {
count++
succesfulLangCount++
if (count < lang.size)
downloadSplits(context, "lang")
else
startVancedInstall(context)
}
else -> startVancedInstall(context)
}
} else {
downloadingFile.postValue(context.getString(R.string.error_downloading, getFileNameFromUrl(url)))
}
})
}
},
onError = {
if (type == "lang") {
count++
when {
count < lang.size -> downloadSplits(context, "lang")
succesfulLangCount == 0 -> {
lang.add("en")
downloadSplits(context, "lang")
}
else -> startVancedInstall(context)
}
} else {
downloadingFile.postValue(
context.getString(
R.string.error_downloading,
getFileNameFromUrl(url)
)
)
}
})
}
fun startVancedInstall(context: Context, variant: String? = this.variant) {

View file

@ -9,7 +9,7 @@ import com.vanced.manager.utils.AppUtils.sendCloseDialog
import com.vanced.manager.utils.AppUtils.sendFailure
import com.vanced.manager.utils.AppUtils.sendRefresh
class AppInstallerService: Service() {
class AppInstallerService : Service() {
override fun onStartCommand(intent: Intent, flags: Int, startId: Int): Int {
when (intent.getIntExtra(PackageInstaller.EXTRA_STATUS, -999)) {
@ -31,7 +31,7 @@ class AppInstallerService: Service() {
else -> {
sendCloseDialog(this)
intent.getStringExtra(PackageInstaller.EXTRA_STATUS_MESSAGE)?.let {
sendFailure(it,this)
sendFailure(it, this)
}
}
}

View file

@ -7,7 +7,7 @@ import android.os.IBinder
import com.vanced.manager.utils.AppUtils.log
import com.vanced.manager.utils.AppUtils.sendRefresh
class AppUninstallerService: Service() {
class AppUninstallerService : Service() {
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
val pkgName = intent?.getStringExtra("pkg")

View file

@ -21,7 +21,7 @@ class RootDataModel(
//Although it's impossible for it to be null.
//Ironic, isn't it?
private val scriptName: String?
): DataModel(
) : DataModel(
jsonObject, context, lifecycleOwner, appPkg, appName, appDescription, appIcon
) {

View file

@ -3,7 +3,7 @@ package com.vanced.manager.model
import android.graphics.drawable.Drawable
data class SponsorModel(
val logo: Drawable?,
val name: String,
val url: String
val logo: Drawable?,
val name: String,
val url: String
)

View file

@ -86,7 +86,10 @@ class MainActivity : AppCompatActivity() {
}
private fun setDisplayHomeAsUpEnabled(isNeeded: Boolean) {
binding.toolbar.navigationIcon = if (isNeeded) ContextCompat.getDrawable(this, R.drawable.ic_keyboard_backspace_black_24dp) else null
binding.toolbar.navigationIcon = if (isNeeded) ContextCompat.getDrawable(
this,
R.drawable.ic_keyboard_backspace_black_24dp
) else null
}
override fun onPause() {
@ -137,7 +140,8 @@ class MainActivity : AppCompatActivity() {
}
}
R.id.toolbar_update_manager -> {
ManagerUpdateDialog.newInstance(false).show(supportFragmentManager, "manager_update")
ManagerUpdateDialog.newInstance(false)
.show(supportFragmentManager, "manager_update")
true
}
R.id.dev_settings -> {
@ -170,8 +174,14 @@ class MainActivity : AppCompatActivity() {
}
when (newConfig.orientation) {
Configuration.ORIENTATION_PORTRAIT -> log("VMUI", "screen orientation changed to portrait")
Configuration.ORIENTATION_LANDSCAPE -> log("VMUI", "screen orientation changed to landscape")
Configuration.ORIENTATION_PORTRAIT -> log(
"VMUI",
"screen orientation changed to portrait"
)
Configuration.ORIENTATION_LANDSCAPE -> log(
"VMUI",
"screen orientation changed to landscape"
)
else -> log("VMUI", "screen orientation changed to [REDACTED]")
}

View file

@ -45,7 +45,7 @@ class WelcomeActivity : AppCompatActivity() {
}
override fun onBackPressed() {
with (binding) {
with(binding) {
if (welcomeViewpager.currentItem == 0) {
super.onBackPressed()
} else {
@ -63,7 +63,7 @@ class WelcomeActivity : AppCompatActivity() {
//Shit way to implement animation duration, but at least it works
private var ViewPager2.currentPosition: Int
get() = currentItem
set(value) {
set(value) {
val pixelsToDrag: Int = width * (value - currentItem)
val animator = ValueAnimator.ofInt(0, pixelsToDrag)
var previousValue = 0

View file

@ -31,7 +31,7 @@ class EmptyPreference @JvmOverloads constructor(
}
fun setSummary(newSummary: String) {
with (binding) {
with(binding) {
preferenceSummary.text = newSummary
preferenceSummary.isVisible = true
preferenceTitle.setPadding(0, 0, 0, 0)
@ -40,10 +40,11 @@ class EmptyPreference @JvmOverloads constructor(
private fun initAttrs(context: Context, attrs: AttributeSet?) {
attrs?.let { mAttrs ->
val typedArray = context.obtainStyledAttributes(mAttrs, R.styleable.EmptyPreference, 0, 0)
val typedArray =
context.obtainStyledAttributes(mAttrs, R.styleable.EmptyPreference, 0, 0)
val title = typedArray.getText(R.styleable.EmptyPreference_preference_title)
val summary = typedArray.getText(R.styleable.EmptyPreference_preference_summary)
with (binding) {
with(binding) {
if (summary != null) {
preferenceSummary.text = summary
} else {

View file

@ -27,7 +27,8 @@ class PreferenceCategory @JvmOverloads constructor(
private fun initAttrs(context: Context, attrs: AttributeSet?) {
attrs.let { mAttrs ->
val typedArray = context.obtainStyledAttributes(mAttrs, R.styleable.PreferenceCategory, 0, 0)
val typedArray =
context.obtainStyledAttributes(mAttrs, R.styleable.PreferenceCategory, 0, 0)
val title = typedArray.getText(R.styleable.PreferenceCategory_category_title)
binding.categoryTitle.text = title

View file

@ -32,11 +32,12 @@ class PreferenceSwitch @JvmOverloads constructor(
private var mListener: OnCheckedListener? = null
private val prefListener = SharedPreferences.OnSharedPreferenceChangeListener { sharedPreferences, key ->
if (key == prefKey) {
binding.preferenceSwitch.isChecked = sharedPreferences.getBoolean(key, defValue)
private val prefListener =
SharedPreferences.OnSharedPreferenceChangeListener { sharedPreferences, key ->
if (key == prefKey) {
binding.preferenceSwitch.isChecked = sharedPreferences.getBoolean(key, defValue)
}
}
}
private var _binding: ViewPreferenceSwitchBinding? = null

View file

@ -4,7 +4,6 @@ import android.content.Context
import android.content.res.ColorStateList
import android.util.AttributeSet
import android.widget.Toast
import androidx.appcompat.widget.AppCompatImageButton
import com.google.android.material.button.MaterialButton
import com.vanced.manager.utils.accentColor

View file

@ -23,6 +23,9 @@ class ThemedOutlinedMaterialButton @JvmOverloads constructor(
private fun applyAccent(color: Int) {
setTextColor(color)
rippleColor = ColorStateList(arrayOf(intArrayOf()), intArrayOf(ColorUtils.setAlphaComponent(color, 50)))
rippleColor = ColorStateList(
arrayOf(intArrayOf()),
intArrayOf(ColorUtils.setAlphaComponent(color, 50))
)
}
}

View file

@ -14,10 +14,17 @@ class ThemedSwipeRefreshlayout @JvmOverloads constructor(
setColorSchemeColors(accentColor.value!!)
initAttrs(context, attributeSet)
}
private fun initAttrs(context: Context, attributeSet: AttributeSet?) {
attributeSet.let {
val typedAttrs = context.obtainStyledAttributes(it, R.styleable.ThemedSwipeRefreshlayout, 0, 0)
setProgressBackgroundColorSchemeColor(typedAttrs.getColor(R.styleable.ThemedSwipeRefreshlayout_progressBackgroundColor, 0))
val typedAttrs =
context.obtainStyledAttributes(it, R.styleable.ThemedSwipeRefreshlayout, 0, 0)
setProgressBackgroundColorSchemeColor(
typedAttrs.getColor(
R.styleable.ThemedSwipeRefreshlayout_progressBackgroundColor,
0
)
)
typedAttrs.recycle()
}
}

View file

@ -16,7 +16,8 @@ class ThemedSwitchCompat @JvmOverloads constructor(
attributeSet: AttributeSet? = null,
) : SwitchCompat(context, attributeSet, R.attr.switchStyle) {
private val states = arrayOf(intArrayOf(-android.R.attr.state_checked), intArrayOf(android.R.attr.state_checked))
private val states =
arrayOf(intArrayOf(-android.R.attr.state_checked), intArrayOf(android.R.attr.state_checked))
init {
context.lifecycleOwner?.let { owner ->
@ -29,7 +30,13 @@ class ThemedSwitchCompat @JvmOverloads constructor(
private fun setSwitchColors(color: Int) {
val thumbColors = intArrayOf(Color.LTGRAY, color)
val trackColors = intArrayOf(Color.GRAY, ColorUtils.setAlphaComponent(color, 70))
DrawableCompat.setTintList(DrawableCompat.wrap(thumbDrawable), ColorStateList(states, thumbColors))
DrawableCompat.setTintList(DrawableCompat.wrap(trackDrawable), ColorStateList(states, trackColors))
DrawableCompat.setTintList(
DrawableCompat.wrap(thumbDrawable),
ColorStateList(states, thumbColors)
)
DrawableCompat.setTintList(
DrawableCompat.wrap(trackDrawable),
ColorStateList(states, trackColors)
)
}
}

View file

@ -73,8 +73,14 @@ class AppDownloadDialog : BindingDialogFragment<DialogAppDownloadBinding>() {
appDownloadHeader.text = app
if (arguments?.getBoolean(TAG_INSTALLING) == false) {
when (app) {
getString(R.string.vanced) -> downloadVanced(requireContext(), arguments?.getString(TAG_VERSION))
getString(R.string.music) -> downloadMusic(requireContext(), arguments?.getString(TAG_VERSION))
getString(R.string.vanced) -> downloadVanced(
requireContext(),
arguments?.getString(TAG_VERSION)
)
getString(R.string.music) -> downloadMusic(
requireContext(),
arguments?.getString(TAG_VERSION)
)
getString(R.string.microg) -> downloadMicrog(requireContext())
}
}

View file

@ -11,11 +11,12 @@ import com.vanced.manager.core.ui.base.BindingBottomSheetDialogFragment
import com.vanced.manager.core.ui.ext.showDialog
import com.vanced.manager.databinding.DialogBottomRadioButtonBinding
import com.vanced.manager.ui.core.ThemedMaterialRadioButton
import com.vanced.manager.utils.checkedButtonTag
import com.vanced.manager.utils.defPrefs
import com.vanced.manager.utils.formatVersion
import com.vanced.manager.utils.checkedButtonTag
class AppVersionSelectorDialog : BindingBottomSheetDialogFragment<DialogBottomRadioButtonBinding>() {
class AppVersionSelectorDialog :
BindingBottomSheetDialogFragment<DialogBottomRadioButtonBinding>() {
private val prefs by lazy { requireActivity().defPrefs }

View file

@ -5,9 +5,9 @@ import androidx.core.content.edit
import androidx.preference.PreferenceManager
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.vanced.manager.R
import com.vanced.manager.utils.showWithAccent
import com.vanced.manager.utils.isMiuiOptimizationsEnabled
import com.vanced.manager.utils.openUrl
import com.vanced.manager.utils.showWithAccent
object DialogContainer {
@ -68,24 +68,50 @@ object DialogContainer {
when (msg) {
context.getString(R.string.installation_signature) -> {
setPositiveButton(context.getString(R.string.guide)) { _, _ ->
openUrl("https://lmgtfy.com/?q=andnixsh+apk+verification+disable", R.color.Twitter, context)
openUrl(
"https://lmgtfy.com/?q=andnixsh+apk+verification+disable",
R.color.Twitter,
context
)
}
setNeutralButton(context.getString(R.string.close)) { dialog, _ -> dialog.dismiss() }
if (fullMsg != null)
setNegativeButton(context.getString(R.string.advanced)) { _, _ -> basicDialog(context.getString(R.string.advanced), fullMsg, context) }
setNegativeButton(context.getString(R.string.advanced)) { _, _ ->
basicDialog(
context.getString(R.string.advanced),
fullMsg,
context
)
}
}
context.getString(R.string.installation_miui) -> {
setPositiveButton(context.getString(R.string.guide)) { _, _ ->
openUrl("https://telegra.ph/How-to-install-v15-on-MIUI-02-11", R.color.Telegram, context)
openUrl(
"https://telegra.ph/How-to-install-v15-on-MIUI-02-11",
R.color.Telegram,
context
)
}
setNeutralButton(context.getString(R.string.close)) { dialog, _ -> dialog.dismiss() }
if (fullMsg != null)
setNegativeButton(context.getString(R.string.advanced)) { _, _ -> basicDialog(context.getString(R.string.advanced), fullMsg, context) }
setNegativeButton(context.getString(R.string.advanced)) { _, _ ->
basicDialog(
context.getString(R.string.advanced),
fullMsg,
context
)
}
}
else -> {
setPositiveButton(context.getString(R.string.close)) { dialog, _ -> dialog.dismiss() }
if (fullMsg != null)
setNegativeButton(context.getString(R.string.advanced)) { _, _ -> basicDialog(context.getString(R.string.advanced), fullMsg, context) }
setNegativeButton(context.getString(R.string.advanced)) { _, _ ->
basicDialog(
context.getString(R.string.advanced),
fullMsg,
context
)
}
}
}
create()

View file

@ -13,7 +13,8 @@ import com.vanced.manager.databinding.DialogInstallationFilesDetectedBinding
import com.vanced.manager.utils.defPrefs
import com.vanced.manager.utils.managerVariant
class InstallationFilesDetectedDialog : BindingBottomSheetDialogFragment<DialogInstallationFilesDetectedBinding>() {
class InstallationFilesDetectedDialog :
BindingBottomSheetDialogFragment<DialogInstallationFilesDetectedBinding>() {
companion object {
@ -40,9 +41,11 @@ class InstallationFilesDetectedDialog : BindingBottomSheetDialogFragment<DialogI
private fun bindData() {
with(binding) {
val app = arguments?.getString(TAG_APP) ?: throw IllegalArgumentException("app name is null")
val app =
arguments?.getString(TAG_APP) ?: throw IllegalArgumentException("app name is null")
installationDetectedTitle.text = getString(R.string.app_install_files_detected, app)
installationDetectedSummary.text = getString(R.string.app_install_files_detected_summary, app)
installationDetectedSummary.text =
getString(R.string.app_install_files_detected_summary, app)
installationDetectedRedownload.setOnClickListener {
dismiss()
when (app) {

View file

@ -50,9 +50,20 @@ class ManagerAccentColorDialog : BindingDialogFragment<DialogManagerAccentColorB
hexEdittext.apply {
setText(accent.toHex(), TextView.BufferType.EDITABLE)
addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}
override fun beforeTextChanged(
s: CharSequence?,
start: Int,
count: Int,
after: Int
) {
}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
override fun onTextChanged(
s: CharSequence?,
start: Int,
before: Int,
count: Int
) {
if (length() == 0) {
setText("#")
setSelection(1)
@ -63,7 +74,8 @@ class ManagerAccentColorDialog : BindingDialogFragment<DialogManagerAccentColorB
val colorFromEditText = Color.parseColor(text.toString())
accentPicker.setColor(colorFromEditText)
mutableAccentColor.value = colorFromEditText
} catch (e: IllegalArgumentException) {}
} catch (e: IllegalArgumentException) {
}
}
}
@ -96,7 +108,11 @@ class ManagerAccentColorDialog : BindingDialogFragment<DialogManagerAccentColorB
prefs.managerAccent = colorFromEditText
} catch (e: IllegalArgumentException) {
log("VMTheme", getString(R.string.failed_accent))
Toast.makeText(requireActivity(), getString(R.string.failed_accent), Toast.LENGTH_SHORT).show()
Toast.makeText(
requireActivity(),
getString(R.string.failed_accent),
Toast.LENGTH_SHORT
).show()
return@setOnClickListener
}

View file

@ -58,7 +58,8 @@ class ManagerUpdateDialog : BindingDialogFragment<DialogManagerUpdateBinding>()
dialog?.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
bindData()
if (arguments?.getBoolean(TAG_FORCE_UPDATE) == true) {
binding.managerUpdatePatient.text = requireActivity().getString(R.string.please_be_patient)
binding.managerUpdatePatient.text =
requireActivity().getString(R.string.please_be_patient)
downloadManager(requireActivity())
} else {
checkUpdates()
@ -99,10 +100,12 @@ class ManagerUpdateDialog : BindingDialogFragment<DialogManagerUpdateBinding>()
private fun checkUpdates() {
if (manager.value?.int("versionCode") ?: 0 > VERSION_CODE) {
binding.managerUpdatePatient.text = requireActivity().getString(R.string.please_be_patient)
binding.managerUpdatePatient.text =
requireActivity().getString(R.string.please_be_patient)
downloadManager(requireActivity())
} else {
binding.managerUpdatePatient.text = requireActivity().getString(R.string.update_not_found)
binding.managerUpdatePatient.text =
requireActivity().getString(R.string.update_not_found)
}
}

View file

@ -41,7 +41,7 @@ class ManagerVariantDialog : BindingBottomSheetDialogFragment<DialogManagerVaria
if (variant != newPref) {
prefs.managerVariant =
if (newPref == "root" && Shell.rootAccess()) {
"root"
"root"
} else {
"nonroot"
}

View file

@ -33,8 +33,12 @@ class MusicPreferencesDialog : BindingBottomSheetDialogFragment<DialogMusicPrefe
private fun bindData() {
with(binding) {
val musicVersionsConv = musicVersions.value?.value?.convertToAppVersions()
musicInstallTitle.text = getString(R.string.app_installation_preferences, getString(R.string.music))
musicVersion.text = getString(R.string.chosen_version, prefs.musicVersion?.formatVersion(requireActivity()))
musicInstallTitle.text =
getString(R.string.app_installation_preferences, getString(R.string.music))
musicVersion.text = getString(
R.string.chosen_version,
prefs.musicVersion?.formatVersion(requireActivity())
)
openVersionSelectorLayout.setOnClickListener {
dismiss()
showDialog(

View file

@ -43,7 +43,11 @@ class SelectAppsDialog : BindingBottomSheetDialogFragment<DialogSelectAppsBindin
}
selectAppsSave.setOnClickListener {
if (ad.apps.all { app -> !app.isChecked }) {
Toast.makeText(requireActivity(), R.string.select_at_least_one_app, Toast.LENGTH_SHORT).show()
Toast.makeText(
requireActivity(),
R.string.select_at_least_one_app,
Toast.LENGTH_SHORT
).show()
return@setOnClickListener
}
prefs.edit {

View file

@ -32,7 +32,7 @@ class ServiceDTimerDialog : BindingDialogFragment<DialogServicedTimerBinding>()
}
private fun bindData() {
with (binding) {
with(binding) {
servicedSlider.value = prefs.getInt("serviced_sleep_timer", 1).toFloat()
servicedCancel.setOnClickListener {
dismiss()
@ -41,12 +41,26 @@ class ServiceDTimerDialog : BindingDialogFragment<DialogServicedTimerBinding>()
try {
arrayOf("vanced", "music").forEach { app ->
if (scriptExists(app)) {
val apkFPath = "${PackageHelper.apkInstallPath}/${app.capitalize(Locale.ROOT)}/base.apk"
getPackageDir(requireActivity(), getPkgNameRoot(app))?.let { it1 -> requireActivity().writeServiceDScript(apkFPath, it1, app) }
val apkFPath =
"${PackageHelper.apkInstallPath}/${app.capitalize(Locale.ROOT)}/base.apk"
getPackageDir(
requireActivity(),
getPkgNameRoot(app)
)?.let { it1 ->
requireActivity().writeServiceDScript(
apkFPath,
it1,
app
)
}
}
}
} catch (e: IOException) {
Toast.makeText(requireActivity(), R.string.script_save_failed, Toast.LENGTH_SHORT).show()
Toast.makeText(
requireActivity(),
R.string.script_save_failed,
Toast.LENGTH_SHORT
).show()
return@setOnClickListener
}

View file

@ -45,11 +45,12 @@ class URLChangeDialog : BindingDialogFragment<DialogCustomUrlBinding>() {
TextView.BufferType.EDITABLE
)
urlSave.setOnClickListener {
val finalUrl = if (urlInput.text?.startsWith("https://") == true || urlInput.text?.startsWith("http://") == true) {
urlInput.text?.removeSuffix("/").toString()
} else {
"https://${urlInput.text}".removeSuffix("/")
}
val finalUrl =
if (urlInput.text?.startsWith("https://") == true || urlInput.text?.startsWith("http://") == true) {
urlInput.text?.removeSuffix("/").toString()
} else {
"https://${urlInput.text}".removeSuffix("/")
}
saveUrl(finalUrl)
}
urlReset.setOnClickListener { saveUrl(baseUrl) }

View file

@ -19,7 +19,8 @@ import com.vanced.manager.utils.lang
import com.vanced.manager.utils.vanced
import java.util.*
class VancedLanguageSelectionDialog : BindingBottomSheetDialogFragment<DialogVancedLanguageSelectionBinding>() {
class VancedLanguageSelectionDialog :
BindingBottomSheetDialogFragment<DialogVancedLanguageSelectionBinding>() {
companion object {
@ -52,7 +53,11 @@ class VancedLanguageSelectionDialog : BindingBottomSheetDialogFragment<DialogVan
}
}
if (chosenLangs.isEmpty()) {
Toast.makeText(requireActivity(), R.string.select_at_least_one_lang, Toast.LENGTH_SHORT).show()
Toast.makeText(
requireActivity(),
R.string.select_at_least_one_lang,
Toast.LENGTH_SHORT
).show()
return@setOnClickListener
}
prefs.lang = chosenLangs.joinToString()

View file

@ -43,9 +43,16 @@ class VancedPreferencesDialog : BindingBottomSheetDialogFragment<DialogVancedPre
showLang.add(loc.getDisplayLanguage(loc).capitalize(Locale.ROOT))
}
val vancedVersionsConv = vancedVersions.value?.value?.convertToAppVersions()
vancedInstallTitle.text = getString(R.string.app_installation_preferences, getString(R.string.vanced))
vancedTheme.text = getString(R.string.chosen_theme, installPrefs.theme?.convertToAppTheme(requireActivity()))
vancedVersion.text = getString(R.string.chosen_version, defPrefs.vancedVersion?.formatVersion(requireActivity()))
vancedInstallTitle.text =
getString(R.string.app_installation_preferences, getString(R.string.vanced))
vancedTheme.text = getString(
R.string.chosen_theme,
installPrefs.theme?.convertToAppTheme(requireActivity())
)
vancedVersion.text = getString(
R.string.chosen_version,
defPrefs.vancedVersion?.formatVersion(requireActivity())
)
vancedLang.text = getString(R.string.chosen_lang, showLang)
openThemeSelectorLayout.setOnClickListener {
dismiss()
@ -79,7 +86,13 @@ class VancedPreferencesDialog : BindingBottomSheetDialogFragment<DialogVancedPre
)
}
if (defPrefs.managerVariant == "nonroot" && isMicrogBroken && defPrefs.vancedVersion?.getLatestAppVersion(vancedVersions.value?.value ?: listOf(""))?.take(2)?.toIntOrNull() == 16 && !isPackageInstalled(vancedPkg, requireActivity().packageManager)) {
if (defPrefs.managerVariant == "nonroot" && isMicrogBroken && defPrefs.vancedVersion?.getLatestAppVersion(
vancedVersions.value?.value ?: listOf("")
)?.take(2)?.toIntOrNull() == 16 && !isPackageInstalled(
vancedPkg,
requireActivity().packageManager
)
) {
MaterialAlertDialogBuilder(requireActivity()).apply {
setTitle(R.string.microg_bug)
setMessage(R.string.microg_bug_summary)

View file

@ -10,12 +10,13 @@ import com.vanced.manager.core.ui.base.BindingBottomSheetDialogFragment
import com.vanced.manager.core.ui.ext.showDialog
import com.vanced.manager.databinding.DialogBottomRadioButtonBinding
import com.vanced.manager.ui.core.ThemedMaterialRadioButton
import com.vanced.manager.utils.convertToAppTheme
import com.vanced.manager.utils.checkedButtonTag
import com.vanced.manager.utils.convertToAppTheme
import com.vanced.manager.utils.theme
import com.vanced.manager.utils.vanced
class VancedThemeSelectorDialog : BindingBottomSheetDialogFragment<DialogBottomRadioButtonBinding>() {
class VancedThemeSelectorDialog :
BindingBottomSheetDialogFragment<DialogBottomRadioButtonBinding>() {
companion object {
@ -24,7 +25,12 @@ class VancedThemeSelectorDialog : BindingBottomSheetDialogFragment<DialogBottomR
}
}
private val prefs by lazy { requireActivity().getSharedPreferences("installPrefs", Context.MODE_PRIVATE) }
private val prefs by lazy {
requireActivity().getSharedPreferences(
"installPrefs",
Context.MODE_PRIVATE
)
}
override fun binding(
inflater: LayoutInflater,
@ -60,7 +66,7 @@ class VancedThemeSelectorDialog : BindingBottomSheetDialogFragment<DialogBottomR
}
}
private fun loadButtons() = vanced.value?.array<String>("themes")?.value?.map {theme ->
private fun loadButtons() = vanced.value?.array<String>("themes")?.value?.map { theme ->
ThemedMaterialRadioButton(requireActivity()).apply {
text = theme.convertToAppTheme(requireActivity())
tag = theme

View file

@ -60,10 +60,18 @@ class AboutFragment : BindingFragment<FragmentAboutBinding>() {
val prefs = PreferenceManager.getDefaultSharedPreferences(requireContext())
val devSettings = prefs.getBoolean("devSettings", false)
if (!devSettings) {
Toast.makeText(requireContext(), "Dev options unlocked!", Toast.LENGTH_SHORT).show()
Toast.makeText(
requireContext(),
"Dev options unlocked!",
Toast.LENGTH_SHORT
).show()
prefs.edit { putBoolean("devSettings", true) }
} else
Toast.makeText(requireContext(), "Dev options already unlocked", Toast.LENGTH_SHORT).show()
Toast.makeText(
requireContext(),
"Dev options already unlocked",
Toast.LENGTH_SHORT
).show()
}
return@setOnTouchListener true

View file

@ -41,7 +41,12 @@ class GrantRootFragment : BindingFragment<FragmentGrantRootBinding>() {
private fun grantRoot() {
if (Shell.rootAccess()) {
getDefaultSharedPreferences(requireActivity()).edit { putString("vanced_variant", "root") }
getDefaultSharedPreferences(requireActivity()).edit {
putString(
"vanced_variant",
"root"
)
}
navigateToFirstLaunch()
} else {
Toast.makeText(requireActivity(), R.string.root_not_granted, Toast.LENGTH_SHORT).show()

View file

@ -52,13 +52,13 @@ class HomeFragment : BindingFragment<FragmentHomeBinding>() {
private fun bindData() {
requireActivity().title = getString(R.string.title_home)
setHasOptionsMenu(true)
with (binding) {
with(binding) {
homeRefresh.setOnRefreshListener { viewModel.fetchData() }
isFetching.observe(viewLifecycleOwner) { homeRefresh.isRefreshing = it }
recyclerAppList.apply {
layoutManager = LinearLayoutManager(requireActivity())
adapter = ExpandableAppListAdapter(requireActivity(), viewModel /*, tooltip*/ )
adapter = ExpandableAppListAdapter(requireActivity(), viewModel /*, tooltip*/)
setHasFixedSize(true)
}
@ -98,7 +98,11 @@ class HomeFragment : BindingFragment<FragmentHomeBinding>() {
private val broadcastReceiver: BroadcastReceiver = object : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
when (intent.action) {
INSTALL_FAILED -> installAlertBuilder(intent.getStringExtra("errorMsg").toString(), intent.getStringExtra("fullErrorMsg"), requireActivity())
INSTALL_FAILED -> installAlertBuilder(
intent.getStringExtra("errorMsg").toString(),
intent.getStringExtra("fullErrorMsg"),
requireActivity()
)
REFRESH_HOME -> viewModel.fetchData()
}
}

View file

@ -38,7 +38,8 @@ class LogFragment : BindingFragment<FragmentLogBinding>() {
val hour = calendar.get(Calendar.HOUR_OF_DAY)
val minute = calendar.get(Calendar.MINUTE)
val second = calendar.get(Calendar.SECOND)
val log = File(requireActivity().getExternalFilesDir("logs")?.path + "/$year$month${day}_$hour$minute$second.log")
val log =
File(requireActivity().getExternalFilesDir("logs")?.path + "/$year$month${day}_$hour$minute$second.log")
FileWriter(log).apply {
append(logs)
flush()
@ -46,7 +47,8 @@ class LogFragment : BindingFragment<FragmentLogBinding>() {
}
Toast.makeText(requireActivity(), R.string.logs_saved, Toast.LENGTH_SHORT).show()
} catch (e: IOException) {
Toast.makeText(requireActivity(), R.string.logs_not_saved, Toast.LENGTH_SHORT).show()
Toast.makeText(requireActivity(), R.string.logs_not_saved, Toast.LENGTH_SHORT)
.show()
}
}
}

View file

@ -45,7 +45,8 @@ class SelectAppsFragment : BindingFragment<FragmentSelectAppsBinding>() {
private fun actionOnClickAppsFab() {
if (selectAdapter.apps.all { app -> !app.isChecked }) {
Toast.makeText(requireActivity(), R.string.select_at_least_one_app, Toast.LENGTH_SHORT).show()
Toast.makeText(requireActivity(), R.string.select_at_least_one_app, Toast.LENGTH_SHORT)
.show()
return
}
val prefs = getDefaultSharedPreferences(requireActivity())

View file

@ -96,7 +96,13 @@ class SettingsFragment : BindingFragment<FragmentSettingsBinding>() {
private fun FragmentSettingsBinding.bindClearFiles() {
clearFiles.setOnClickListener {
with(requireActivity()) {
listOf("vanced/nonroot", "vanced/root", "music/nonroot", "music/root", "microg").forEach { dir ->
listOf(
"vanced/nonroot",
"vanced/root",
"music/nonroot",
"music/root",
"microg"
).forEach { dir ->
File(getExternalFilesDir(dir)?.path.toString()).deleteRecursively()
}
Toast.makeText(this, getString(R.string.cleared_files), Toast.LENGTH_SHORT).show()
@ -119,7 +125,7 @@ class SettingsFragment : BindingFragment<FragmentSettingsBinding>() {
}
private fun FragmentSettingsBinding.bindManagerAccentColor() {
managerAccentColor.apply{
managerAccentColor.apply {
setSummary(prefs.getInt("manager_accent_color", defAccentColor).toHex())
setOnClickListener { showDialog(ManagerAccentColorDialog()) }
accentColor.observe(viewLifecycleOwner) {
@ -138,7 +144,8 @@ class SettingsFragment : BindingFragment<FragmentSettingsBinding>() {
}
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
val devSettings = getDefaultSharedPreferences(requireActivity()).getBoolean("devSettings", false)
val devSettings =
getDefaultSharedPreferences(requireActivity()).getBoolean("devSettings", false)
if (devSettings) {
inflater.inflate(R.menu.dev_settings_menu, menu)
}

View file

@ -5,7 +5,7 @@ import androidx.lifecycle.AndroidViewModel
import com.vanced.manager.R
import com.vanced.manager.utils.openUrl
class AboutViewModel(application: Application): AndroidViewModel(application) {
class AboutViewModel(application: Application) : AndroidViewModel(application) {
fun openUrl(url: String) {
openUrl(url, R.color.GitHub, getApplication())

View file

@ -41,7 +41,7 @@ import kotlinx.coroutines.launch
//TODO fix leak
@SuppressLint("StaticFieldLeak")
class HomeViewModel(private val activity: FragmentActivity): ViewModel() {
class HomeViewModel(private val activity: FragmentActivity) : ViewModel() {
private val prefs = getDefaultSharedPreferences(activity)
private val variant get() = prefs.getString("vanced_variant", "nonroot")
@ -59,7 +59,7 @@ class HomeViewModel(private val activity: FragmentActivity): ViewModel() {
Crowdin.forceUpdate(activity)
}
}
private val microgToast = Toast.makeText(activity, R.string.no_microg, Toast.LENGTH_LONG)
fun openUrl(url: String) {
@ -72,15 +72,24 @@ class HomeViewModel(private val activity: FragmentActivity): ViewModel() {
BRAVE -> R.color.Brave
else -> R.color.Vanced
}
openUrl(url, color, activity)
}
fun launchApp(app: String, isRoot: Boolean) {
val componentName = when (app) {
activity.getString(R.string.vanced) -> if (isRoot) ComponentName(vancedRootPkg, "$vancedRootPkg.HomeActivity") else ComponentName(vancedPkg, "$vancedRootPkg.HomeActivity")
activity.getString(R.string.music) -> if (isRoot) ComponentName(musicRootPkg, "$musicRootPkg.activities.MusicActivity") else ComponentName(musicPkg, "$musicRootPkg.activities.MusicActivity")
activity.getString(R.string.microg) -> ComponentName(microgPkg, "org.microg.gms.ui.SettingsActivity")
activity.getString(R.string.vanced) -> if (isRoot) ComponentName(
vancedRootPkg,
"$vancedRootPkg.HomeActivity"
) else ComponentName(vancedPkg, "$vancedRootPkg.HomeActivity")
activity.getString(R.string.music) -> if (isRoot) ComponentName(
musicRootPkg,
"$musicRootPkg.activities.MusicActivity"
) else ComponentName(musicPkg, "$musicRootPkg.activities.MusicActivity")
activity.getString(R.string.microg) -> ComponentName(
microgPkg,
"org.microg.gms.ui.SettingsActivity"
)
else -> throw IllegalArgumentException("Can't open this app")
}
try {
@ -101,7 +110,7 @@ class HomeViewModel(private val activity: FragmentActivity): ViewModel() {
when (app) {
activity.getString(R.string.vanced) -> VancedPreferencesDialog().show(activity)
activity.getString(R.string.music) -> MusicPreferencesDialog().show(activity)
else -> AppDownloadDialog.newInstance(app).show(activity)
else -> AppDownloadDialog.newInstance(app).show(activity)
}
return
}
@ -155,16 +164,66 @@ class HomeViewModel(private val activity: FragmentActivity): ViewModel() {
}
init {
with (activity) {
with(activity) {
if (variant == "root") {
vancedRootModel.value = RootDataModel(vanced, this, this, vancedRootPkg, this.getString(R.string.vanced), activity.getString(R.string.description_vanced), R.drawable.ic_vanced, "vanced")
musicRootModel.value = RootDataModel(music, this, this, musicRootPkg, this.getString(R.string.music), activity.getString(R.string.description_vanced_music), R.drawable.ic_music, "music")
vancedRootModel.value = RootDataModel(
vanced,
this,
this,
vancedRootPkg,
this.getString(R.string.vanced),
activity.getString(R.string.description_vanced),
R.drawable.ic_vanced,
"vanced"
)
musicRootModel.value = RootDataModel(
music,
this,
this,
musicRootPkg,
this.getString(R.string.music),
activity.getString(R.string.description_vanced_music),
R.drawable.ic_music,
"music"
)
} else {
vancedModel.value = DataModel(vanced, this, this, vancedPkg, this.getString(R.string.vanced), activity.getString(R.string.description_vanced), R.drawable.ic_vanced)
musicModel.value = DataModel(music, this, this, musicPkg, this.getString(R.string.music), activity.getString(R.string.description_vanced_music), R.drawable.ic_music)
microgModel.value = DataModel(microg, this, this, microgPkg, this.getString(R.string.microg), activity.getString(R.string.description_microg), R.drawable.ic_microg)
vancedModel.value = DataModel(
vanced,
this,
this,
vancedPkg,
this.getString(R.string.vanced),
activity.getString(R.string.description_vanced),
R.drawable.ic_vanced
)
musicModel.value = DataModel(
music,
this,
this,
musicPkg,
this.getString(R.string.music),
activity.getString(R.string.description_vanced_music),
R.drawable.ic_music
)
microgModel.value = DataModel(
microg,
this,
this,
microgPkg,
this.getString(R.string.microg),
activity.getString(R.string.description_microg),
R.drawable.ic_microg
)
}
managerModel.value = DataModel(manager, this, this, managerPkg, this.getString(R.string.app_name), "Just manager meh", R.mipmap.ic_launcher)
managerModel.value = DataModel(
manager,
this,
this,
managerPkg,
this.getString(R.string.app_name),
"Just manager meh",
R.mipmap.ic_launcher
)
}
}
}

View file

@ -20,7 +20,7 @@ import java.io.IOException
import java.security.MessageDigest
import java.util.*
object AppUtils: CoroutineScope by CoroutineScope(Dispatchers.IO) {
object AppUtils : CoroutineScope by CoroutineScope(Dispatchers.IO) {
const val vancedPkg = "com.vanced.android.youtube"
const val vancedRootPkg = "com.google.android.youtube"
@ -40,7 +40,12 @@ object AppUtils: CoroutineScope by CoroutineScope(Dispatchers.IO) {
SpannableString("$tag: $message\n").apply {
setSpan(ForegroundColorSpan(Color.parseColor("#2e73ff")), 0, tag.length + 1, 0)
setSpan(StyleSpan(Typeface.BOLD), 0, tag.length + 1, 0)
setSpan(ForegroundColorSpan(Color.MAGENTA), tag.length + 2, tag.length + message.length + 2, 0)
setSpan(
ForegroundColorSpan(Color.MAGENTA),
tag.length + 2,
tag.length + message.length + 2,
0
)
}
)
Log.d(tag, message)
@ -49,7 +54,8 @@ object AppUtils: CoroutineScope by CoroutineScope(Dispatchers.IO) {
fun sendRefresh(context: Context): Job {
return launch {
delay(700)
LocalBroadcastManager.getInstance(context).sendBroadcast(Intent(HomeFragment.REFRESH_HOME))
LocalBroadcastManager.getInstance(context)
.sendBroadcast(Intent(HomeFragment.REFRESH_HOME))
}
}
@ -57,7 +63,8 @@ object AppUtils: CoroutineScope by CoroutineScope(Dispatchers.IO) {
return launch {
delay(700)
installing.postValue(false)
LocalBroadcastManager.getInstance(context).sendBroadcast(Intent(AppDownloadDialog.CLOSE_DIALOG))
LocalBroadcastManager.getInstance(context)
.sendBroadcast(Intent(AppDownloadDialog.CLOSE_DIALOG))
}
}
@ -92,7 +99,7 @@ object AppUtils: CoroutineScope by CoroutineScope(Dispatchers.IO) {
private fun printableHexString(data: ByteArray): String {
// Create Hex String
val hexString: StringBuilder = StringBuilder()
for (aMessageDigest:Byte in data) {
for (aMessageDigest: Byte in data) {
var h: String = Integer.toHexString(0xFF and aMessageDigest.toInt())
while (h.length < 2)
h = "0$h"
@ -127,7 +134,9 @@ object AppUtils: CoroutineScope by CoroutineScope(Dispatchers.IO) {
status.contains("ModApk_Missing") -> context.getString(R.string.modapk_missing)
status.contains("Files_Missing_VA") -> context.getString(R.string.files_missing_va)
status.contains("Path_Missing") -> context.getString(R.string.path_missing)
status.contains("INSTALL_FAILED_INTERNAL_ERROR: Permission Denied") -> context.getString(R.string.installation_miui)
status.contains("INSTALL_FAILED_INTERNAL_ERROR: Permission Denied") -> context.getString(
R.string.installation_miui
)
else -> context.getString(R.string.installation_failed)
}
}

View file

@ -49,12 +49,20 @@ object DownloadHelper : CoroutineScope by CoroutineScope(Dispatchers.IO) {
override fun onResponse(call: Call<ResponseBody>, response: Response<ResponseBody>) {
if (response.isSuccessful) {
launch {
if (response.body()?.let { writeFile(it, context.getExternalFilesDir(fileFolder)?.path + "/" + fileName) } == true) {
if (response.body()?.let {
writeFile(
it,
context.getExternalFilesDir(fileFolder)?.path + "/" + fileName
)
} == true) {
onDownloadComplete()
} else {
onError("Could not save file")
downloadProgress.postValue(0)
log("VMDownloader", "Failed to save file: $url\n${response.errorBody()}")
log(
"VMDownloader",
"Failed to save file: $url\n${response.errorBody()}"
)
}
}
} else {
@ -111,33 +119,40 @@ object DownloadHelper : CoroutineScope by CoroutineScope(Dispatchers.IO) {
fun downloadManager(context: Context) {
val url = "https://github.com/YTVanced/VancedManager/releases/latest/download/manager.apk"
download(url,"https://github.com/YTVanced/VancedManager/", "manager", "manager.apk", context, onDownloadComplete = {
val apk = File("${context.getExternalFilesDir("manager")?.path}/manager.apk")
val uri =
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
FileProvider.getUriForFile(context, "${context.packageName}.provider", apk)
else
Uri.fromFile(apk)
download(
url,
"https://github.com/YTVanced/VancedManager/",
"manager",
"manager.apk",
context,
onDownloadComplete = {
val apk = File("${context.getExternalFilesDir("manager")?.path}/manager.apk")
val uri =
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
FileProvider.getUriForFile(context, "${context.packageName}.provider", apk)
else
Uri.fromFile(apk)
val intent = Intent(Intent.ACTION_VIEW)
intent.setDataAndType(uri, "application/vnd.android.package-archive")
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
try {
context.startActivity(intent)
} catch (e: ActivityNotFoundException) {
log("VMDownloader", e.stackTraceToString())
} finally {
sendCloseDialog(context)
}
}, onError = {
downloadingFile.postValue(
context.getString(
R.string.error_downloading,
"manager.apk"
val intent = Intent(Intent.ACTION_VIEW)
intent.setDataAndType(uri, "application/vnd.android.package-archive")
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
try {
context.startActivity(intent)
} catch (e: ActivityNotFoundException) {
log("VMDownloader", e.stackTraceToString())
} finally {
sendCloseDialog(context)
}
},
onError = {
downloadingFile.postValue(
context.getString(
R.string.error_downloading,
"manager.apk"
)
)
)
})
})
}
}

View file

@ -17,7 +17,10 @@ import com.vanced.manager.R
import com.vanced.manager.utils.AppUtils.log
import java.util.*
val RadioGroup.checkedButtonTag: String? get() = findViewById<MaterialRadioButton>(checkedRadioButtonId)?.tag?.toString()
val RadioGroup.checkedButtonTag: String?
get() = findViewById<MaterialRadioButton>(
checkedRadioButtonId
)?.tag?.toString()
fun DialogFragment.show(activity: FragmentActivity) {
try {
@ -29,19 +32,25 @@ fun DialogFragment.show(activity: FragmentActivity) {
fun List<String>.convertToAppVersions(): List<String> = listOf("latest") + reversed()
fun String.formatVersion(context: Context): String = if (this == "latest") context.getString(R.string.install_latest) else this
fun String.formatVersion(context: Context): String =
if (this == "latest") context.getString(R.string.install_latest) else this
fun String.convertToAppTheme(context: Context): String = with(context) {
getString(R.string.light_plus_other, if (this@convertToAppTheme == "dark") getString(R.string.vanced_dark) else getString(R.string.vanced_black))
getString(
R.string.light_plus_other,
if (this@convertToAppTheme == "dark") getString(R.string.vanced_dark) else getString(R.string.vanced_black)
)
}
fun String.getLatestAppVersion(versions: List<String>): String = if (this == "latest") versions.reversed()[0] else this
fun String.getLatestAppVersion(versions: List<String>): String =
if (this == "latest") versions.reversed()[0] else this
val Context.lifecycleOwner: LifecycleOwner? get() = when (this) {
is LifecycleOwner -> this
!is LifecycleOwner -> (this as ContextWrapper).baseContext as LifecycleOwner
else -> null
}
val Context.lifecycleOwner: LifecycleOwner?
get() = when (this) {
is LifecycleOwner -> this
!is LifecycleOwner -> (this as ContextWrapper).baseContext as LifecycleOwner
else -> null
}
fun Int.toHex(): String = java.lang.String.format("#%06X", 0xFFFFFF and this)
@ -74,5 +83,5 @@ fun Context.writeServiceDScript(apkFPath: String, path: String, app: String) {
chcon u:object_r:apk_data_file:s0 $apkFPath
mount -o bind $apkFPath $path
""".trimIndent()
SuFileOutputStream.open(shellFileZ).use { out -> out.write(script.toByteArray())}
SuFileOutputStream.open(shellFileZ).use { out -> out.write(script.toByteArray()) }
}

View file

@ -4,7 +4,11 @@ import android.content.Context
import android.content.SharedPreferences
import androidx.core.content.edit
val Context.installPrefs: SharedPreferences get() = getSharedPreferences("installPrefs", Context.MODE_PRIVATE)
val Context.installPrefs: SharedPreferences
get() = getSharedPreferences(
"installPrefs",
Context.MODE_PRIVATE
)
var SharedPreferences.lang
get() = getString("lang", getDefaultVancedLanguages())

View file

@ -43,16 +43,23 @@ var baseInstallUrl = ""
fun openUrl(url: String, color: Int, context: Context) {
try {
val customTabPrefs = getDefaultSharedPreferences(context).getBoolean("use_custom_tabs", true)
val customTabPrefs =
getDefaultSharedPreferences(context).getBoolean("use_custom_tabs", true)
if (customTabPrefs) {
val builder = CustomTabsIntent.Builder()
val params = CustomTabColorSchemeParams.Builder().setToolbarColor(ContextCompat.getColor(context, color))
val params = CustomTabColorSchemeParams.Builder()
.setToolbarColor(ContextCompat.getColor(context, color))
builder.setDefaultColorSchemeParams(params.build())
val customTabsIntent = builder.build()
customTabsIntent.intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
customTabsIntent.launchUrl(context, url.toUri())
} else
context.startActivity(Intent(Intent.ACTION_VIEW, url.toUri()).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK))
context.startActivity(
Intent(
Intent.ACTION_VIEW,
url.toUri()
).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
)
} catch (e: ActivityNotFoundException) {
Toast.makeText(context, R.string.error, Toast.LENGTH_SHORT).show()
@ -103,7 +110,7 @@ suspend fun loadJson(context: Context) = withContext(Dispatchers.IO) {
val versions = getJson("$baseInstallUrl/versions.json?$fetchTime")
isMicrogBroken = latest?.boolean("is_microg_broken") ?: false
vanced.postValue(latest?.obj("vanced"))
vancedVersions.postValue(versions?.array("vanced") )
vancedVersions.postValue(versions?.array("vanced"))
music.postValue(latest?.obj("music"))
musicVersions.postValue(versions?.array("music"))
microg.postValue(latest?.obj("microg"))

View file

@ -23,7 +23,10 @@ class LanguageContextWrapper(base: Context?) : ContextWrapper(base) {
val sysLocale = Resources.getSystem().configuration.locale
val locale = when {
pref == "System Default" -> Locale(sysLocale.language, sysLocale.country)
pref?.length!! > 2 -> Locale(pref.substring(0, pref.length - 3), pref.substring(pref.length - 2))
pref?.length!! > 2 -> Locale(
pref.substring(0, pref.length - 3),
pref.substring(pref.length - 2)
)
else -> Locale(pref)
}
currentLocale = locale

View file

@ -34,7 +34,10 @@ fun getLanguageFormat(context: Context, language: String): String {
@Suppress("DEPRECATION")
fun getDefaultVancedLanguages(): String {
val serverLangs = vanced.value?.array("langs") ?: mutableListOf("")
val sysLocales = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) Resources.getSystem().configuration.locales.toLangTags() else arrayOf(Resources.getSystem().configuration.locale.language)
val sysLocales =
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) Resources.getSystem().configuration.locales.toLangTags() else arrayOf(
Resources.getSystem().configuration.locale.language
)
val finalLangs = mutableListOf<String>()
sysLocales.forEach { sysLocale ->
when {

View file

@ -5,4 +5,8 @@ import android.provider.Settings
private const val MIUI_OPTIMIZATION = "miui_optimization"
val Context.isMiuiOptimizationsEnabled: Boolean get() = Settings.Secure.getString(contentResolver, MIUI_OPTIMIZATION) == "1"
val Context.isMiuiOptimizationsEnabled: Boolean
get() = Settings.Secure.getString(
contentResolver,
MIUI_OPTIMIZATION
) == "1"

View file

@ -32,7 +32,8 @@ object PackageHelper {
const val apkInstallPath = "/data/adb"
private const val INSTALLER_TAG = "VMInstall"
private val vancedThemes = vanced.value?.array<String>("themes")?.value ?: listOf("black", "dark", "pink", "blue")
private val vancedThemes =
vanced.value?.array<String>("themes")?.value ?: listOf("black", "dark", "pink", "blue")
init {
Shell.enableVerboseLogging = BuildConfig.DEBUG
@ -67,6 +68,7 @@ object PackageHelper {
else -> ""
}
}
fun isPackageInstalled(packageName: String, packageManager: PackageManager): Boolean {
return try {
packageManager.getPackageInfo(packageName, 0)
@ -84,7 +86,7 @@ object PackageHelper {
}
@Suppress("DEPRECATION")
fun getPkgVerCode(pkg: String, pm:PackageManager): Int? {
fun getPkgVerCode(pkg: String, pm: PackageManager): Int? {
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P)
pm.getPackageInfo(pkg, 0)?.longVersionCode?.and(0xFFFFFFFF)?.toInt()
else
@ -125,9 +127,15 @@ object PackageHelper {
if (files?.isNotEmpty() == true) {
for (file in files) {
when {
vancedThemes.any { file.name == "$it.apk" } && !splitFiles.contains("base") -> splitFiles.add("base")
file.name.matches(Regex("split_config\\.(..)\\.apk")) && !splitFiles.contains("lang") -> splitFiles.add("lang")
(file.name.startsWith("split_config.arm") || file.name.startsWith("split_config.x86")) && !splitFiles.contains("arch") -> splitFiles.add("arch")
vancedThemes.any { file.name == "$it.apk" } && !splitFiles.contains("base") -> splitFiles.add(
"base"
)
file.name.matches(Regex("split_config\\.(..)\\.apk")) && !splitFiles.contains(
"lang"
) -> splitFiles.add("lang")
(file.name.startsWith("split_config.arm") || file.name.startsWith("split_config.x86")) && !splitFiles.contains(
"arch"
) -> splitFiles.add("arch")
}
if (splitFiles.size == 3) {
@ -163,7 +171,8 @@ object PackageHelper {
val callbackIntent = Intent(context, AppInstallerService::class.java)
val pendingIntent = PendingIntent.getService(context, 0, callbackIntent, 0)
val packageInstaller = context.packageManager.packageInstaller
val params = PackageInstaller.SessionParams(PackageInstaller.SessionParams.MODE_FULL_INSTALL)
val params =
PackageInstaller.SessionParams(PackageInstaller.SessionParams.MODE_FULL_INSTALL)
val sessionId: Int
var session: PackageInstaller.Session? = null
try {
@ -210,7 +219,13 @@ object PackageHelper {
return false
}
private fun installRootApp(context: Context, app: String, appVerCode: Int?, pkg: String, modApkBool: (fileName: String) -> Boolean) = CoroutineScope(Dispatchers.IO).launch {
private fun installRootApp(
context: Context,
app: String,
appVerCode: Int?,
pkg: String,
modApkBool: (fileName: String) -> Boolean
) = CoroutineScope(Dispatchers.IO).launch {
Shell.getShell {
val apkFilesPath = context.getExternalFilesDir("$app/root")?.path
val files = File(apkFilesPath.toString()).listFiles()?.toList()
@ -271,7 +286,8 @@ object PackageHelper {
val folder = File(context.getExternalFilesDir("$appName/nonroot")?.path.toString())
var session: PackageInstaller.Session? = null
val sessionId: Int
val sessionParams = PackageInstaller.SessionParams(PackageInstaller.SessionParams.MODE_FULL_INSTALL)
val sessionParams =
PackageInstaller.SessionParams(PackageInstaller.SessionParams.MODE_FULL_INSTALL)
val callbackIntent = Intent(context, AppInstallerService::class.java)
val pendingIntent = PendingIntent.getService(context, 0, callbackIntent, 0)
try {
@ -302,7 +318,9 @@ object PackageHelper {
private fun installSplitApkFilesRoot(apkFiles: List<File>?, context: Context): Boolean {
val filenames = arrayOf("black.apk", "dark.apk", "blue.apk", "pink.apk", "hash.json")
log(INSTALLER_TAG, "installing split apk files: ${apkFiles?.map { it.name }}")
val sessionId = Shell.su("pm install-create -r").exec().out.joinToString(" ").filter { it.isDigit() }.toIntOrNull()
val sessionId =
Shell.su("pm install-create -r").exec().out.joinToString(" ").filter { it.isDigit() }
.toIntOrNull()
if (sessionId == null) {
sendFailure("Session ID is null", context)
@ -363,12 +381,18 @@ object PackageHelper {
return false
}
private fun setupScript(apkFPath: String, path: String, app: String, pkg: String, context: Context): Boolean
{
private fun setupScript(
apkFPath: String,
path: String,
app: String,
pkg: String,
context: Context
): Boolean {
try {
log(INSTALLER_TAG, "Setting up script")
context.writeServiceDScript(apkFPath, path, app)
Shell.su("""echo "#!/system/bin/sh\nwhile read line; do echo \${"$"}{line} | grep $pkg | awk '{print \${'$'}2}' | xargs umount -l; done< /proc/mounts" > /data/adb/post-fs-data.d/$app.sh""").exec()
Shell.su("""echo "#!/system/bin/sh\nwhile read line; do echo \${"$"}{line} | grep $pkg | awk '{print \${'$'}2}' | xargs umount -l; done< /proc/mounts" > /data/adb/post-fs-data.d/$app.sh""")
.exec()
return Shell.su("chmod 744 /data/adb/service.d/$app.sh").exec().isSuccess
} catch (e: IOException) {
sendFailure(e.stackTraceToString(), context)
@ -381,7 +405,8 @@ object PackageHelper {
private fun linkApp(apkFPath: String, pkg: String, path: String): Boolean {
log(INSTALLER_TAG, "Linking app")
Shell.su("am force-stop $pkg").exec()
Shell.su("""for i in ${'$'}(ls /data/app/ | grep $pkg | tr " "); do umount -l "/data/app/${"$"}i/base.apk"; done """).exec()
Shell.su("""for i in ${'$'}(ls /data/app/ | grep $pkg | tr " "); do umount -l "/data/app/${"$"}i/base.apk"; done """)
.exec()
val response = Shell.su("""su -mm -c "mount -o bind $apkFPath $path"""").exec()
Thread.sleep(500)
Shell.su("am force-stop $pkg").exec()
@ -393,12 +418,17 @@ object PackageHelper {
}
//check version and perform action based on result
private fun checkVersion(versionCode: Int, baseApkFiles: List<File>, pkg: String, context: Context): Boolean {
private fun checkVersion(
versionCode: Int,
baseApkFiles: List<File>,
pkg: String,
context: Context
): Boolean {
log(INSTALLER_TAG, "Checking stock version")
val path = getPackageDir(context, pkg)
if (path != null) {
if (path.contains("/data/app/")) {
when (getVersionNumber(pkg, context)?.let { compareVersion(it,versionCode) } ) {
when (getVersionNumber(pkg, context)?.let { compareVersion(it, versionCode) }) {
1 -> return fixHigherVer(baseApkFiles, pkg, context)
-1 -> return installStock(baseApkFiles, pkg, context)
}
@ -412,7 +442,7 @@ object PackageHelper {
private fun getPkgInfo(pkg: String, context: Context): PackageInfo? {
return try {
context.packageManager.getPackageInfo(pkg, 0)
} catch (e:Exception) {
} catch (e: Exception) {
log(INSTALLER_TAG, "Unable to get package info")
null
}
@ -427,10 +457,13 @@ object PackageHelper {
}
//uninstall current update and install base that works with patch
private fun fixHigherVer(apkFiles: List<File>, pkg: String, context: Context) : Boolean {
private fun fixHigherVer(apkFiles: List<File>, pkg: String, context: Context): Boolean {
log(INSTALLER_TAG, "Downgrading stock")
if (uninstallRootApk(pkg)) {
return if (pkg == vancedRootPkg) installSplitApkFilesRoot(apkFiles, context) else installRootMusic(apkFiles, context)
return if (pkg == vancedRootPkg) installSplitApkFilesRoot(
apkFiles,
context
) else installRootMusic(apkFiles, context)
}
sendFailure(listOf("Failed_Uninstall").toMutableList(), context)
sendCloseDialog(context)
@ -440,7 +473,10 @@ object PackageHelper {
//install stock youtube matching vanced version
private fun installStock(baseApkFiles: List<File>, pkg: String, context: Context): Boolean {
log(INSTALLER_TAG, "Installing stock")
return if (pkg == vancedRootPkg) installSplitApkFilesRoot(baseApkFiles, context) else installRootMusic(baseApkFiles, context)
return if (pkg == vancedRootPkg) installSplitApkFilesRoot(
baseApkFiles,
context
) else installRootMusic(baseApkFiles, context)
}
//set chcon to apk_data_file
@ -458,20 +494,20 @@ object PackageHelper {
}
//move patch to data/app
private fun moveAPK(apkFile: String, path: String, pkg: String, context: Context) : Boolean {
private fun moveAPK(apkFile: String, path: String, pkg: String, context: Context): Boolean {
log(INSTALLER_TAG, "Moving app")
val apkinF = SuFile.open(apkFile)
val apkoutF = SuFile.open(path)
if(apkinF.exists()) {
if (apkinF.exists()) {
try {
Shell.su("am force-stop $pkg").exec()
//Shell.su("rm -r SuFile.open(path).parent")
copy(apkinF,apkoutF)
copy(apkinF, apkoutF)
Shell.su("chmod 644 $path").exec().isSuccess
return if(Shell.su("chown system:system $path").exec().isSuccess) {
return if (Shell.su("chown system:system $path").exec().isSuccess) {
true
} else {
sendFailure(listOf("Chown_Fail").toMutableList(), context)
@ -479,9 +515,7 @@ object PackageHelper {
false
}
}
catch (e: IOException)
{
} catch (e: IOException) {
sendFailure(listOf("${e.message}").toMutableList(), context)
sendCloseDialog(context)
log(INSTALLER_TAG, e.stackTraceToString())
@ -504,13 +538,14 @@ object PackageHelper {
private fun getVersionNumber(pkg: String, context: Context): Int? {
try {
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P)
context.packageManager.getPackageInfo(vancedRootPkg, 0).longVersionCode.and(0xFFFFFFFF).toInt()
context.packageManager.getPackageInfo(vancedRootPkg, 0).longVersionCode.and(
0xFFFFFFFF
).toInt()
else
context.packageManager.getPackageInfo(vancedRootPkg, 0).versionCode
}
catch (e : Exception) {
} catch (e: Exception) {
val execRes = Shell.su("dumpsys package $pkg | grep versionCode").exec()
if(execRes.isSuccess) {
if (execRes.isSuccess) {
val result = execRes.out
var version = 0
result
@ -534,9 +569,8 @@ object PackageHelper {
val execRes = Shell.su("dumpsys package $pkg | grep codePath").exec()
if (execRes.isSuccess) {
val result = execRes.out
for (line in result)
{
if(line.contains("data/app")) "${line.substringAfter("=")}/base.apk"
for (line in result) {
if (line.contains("data/app")) "${line.substringAfter("=")}/base.apk"
}
}
null
@ -548,7 +582,8 @@ object PackageHelper {
try {
log(INSTALLER_TAG, "Setting installer package to $installer for $target")
val installerUid = context.packageManager.getPackageUid(installer, 0)
val res = Shell.su("""su $installerUid -c 'pm set-installer $target $installer'""").exec()
val res =
Shell.su("""su $installerUid -c 'pm set-installer $target $installer'""").exec()
if (res.out.any { line -> line.contains("Success") }) {
log(INSTALLER_TAG, "Installer package successfully set")
return

View file

@ -7,15 +7,15 @@ import androidx.preference.PreferenceManager.getDefaultSharedPreferences
val Context.defPrefs: SharedPreferences get() = getDefaultSharedPreferences(this)
var SharedPreferences.managerTheme
var SharedPreferences.managerTheme
get() = getString("manager_theme", "System Default")
set(value) = edit { putString("manager_theme", value) }
var SharedPreferences.managerAccent
var SharedPreferences.managerAccent
get() = getInt("manager_accent_color", defAccentColor)
set(value) = edit { putInt("manager_accent_color", value) }
var SharedPreferences.managerVariant
var SharedPreferences.managerVariant
get() = getString("vanced_variant", "nonroot")
set(value) = edit { putString("vanced_variant", value) }
@ -23,11 +23,11 @@ var SharedPreferences.managerLang
get() = getString("manager_lang", "System Default")
set(value) = edit { putString("manager_lang", value) }
var SharedPreferences.installUrl
var SharedPreferences.installUrl
get() = getString("install_url", baseUrl)
set(value) = edit { putString("install_url", value) }
var SharedPreferences.vancedVersion
var SharedPreferences.vancedVersion
get() = getString("vanced_version", "latest")
set(value) = edit { putString("vanced_version", value) }

View file

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@android:color/darker_gray">
<item android:id="@android:id/mask">
<shape android:shape="oval" >
<solid android:color="@android:color/transparent" />
</shape>
</item>
</ripple>

View file

@ -81,7 +81,6 @@
<string name="version">Version</string>
<string name="microg_bug">Bug in microG</string>
<string name="microg_bug_summary">Due to a bug in the original microG, installing Vanced v16+ first requires you to install v15.43.32, open it, then login and only then can you install v16 and higher. Do you want to proceed with the installation of v15.43.32?</string>
<string name="microg_bug_summary_music">Due to a bug in the original microG, installing Music v4.11+ first requires you to install v4.07.51, open it, then login and only then can you install v4.11 and higher. Do you want to proceed with the installation of v4.07.51?</string>
<string name="please_be_patient">Please do NOT exit the app during this process!</string>
<string name="welcome">Welcome</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Failed to locate the required files for installation. Re-download the installation files, then try again.</string>
<string name="ifile_missing">Failed to locate apk file for black/dark theme from storage, please try again.</string>
<string name="installation_aborted">Installation failed because the user aborted the installation.</string>
<string name="installation_blocked">Installation failed because the user blocked the installation.</string>
<string name="installation_downgrade">Installation failed because the user tried to downgrade the package. Uninstall updates from the stock app, then try again.</string>
<string name="installation_conflict">Installation failed because the app conflicts with an already installed app. Uninstall the current version of the app, then try again.</string>
<string name="installation_failed">Installation failed for unknown reasons, join our Telegram or Discord for further support. Please also attach a screenshot from the Advanced menu</string>

View file

@ -81,7 +81,6 @@
<string name="version">الإصدار</string>
<string name="microg_bug">خطأ في المايكروجي</string>
<string name="microg_bug_summary">نظرًا لوجود خطأ في microG الأساسي، يتطلب تثبيت ڤاسند v16 + أولاً تثبيت الإصدار 15.43.32 ، وفتحه ، ثم تسجيل الدخول وبعد ذلك فقط يمكنك تثبيت الإصدار 16 والإصدارات الأحدث. هل تريد متابعة تثبيت الإصدار 15.43.32؟</string>
<string name="microg_bug_summary_music">نظرًا لوجود خطأ في microG الرئيسي، يتطلب تثبيت Music v4.11 + أولاً تثبيت الإصدار 4.07.51، وفتحه، ثم تسجيل الدخول وعندها فقط يمكنك تثبيت الإصدار 4.11 وما بعده. هل تريد متابعة تثبيت الإصدار 4.07.51؟</string>
<string name="please_be_patient">الرجاء عدم الخروج من التطبيق أثناء هذه العملية!</string>
<string name="welcome">مرحباً بك</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">فشل العثور على الملفات المطلوبة للتثبيت. أعد تحميل ملفات التثبيت، ثم حاول مرة أخرى.</string>
<string name="ifile_missing">فشل العثور على حزمة تثبيت السمة السوداء/المظلمة من وحدة التخزين، الرجاء المحاولة مرة أخرى.</string>
<string name="installation_aborted">فشل التثبيت لأن المستخدم ألغى التثبيت.</string>
<string name="installation_blocked">فشل التثبيت لأن المستخدم قام بحظر التثبيت.</string>
<string name="installation_downgrade">فشل التثبيت لأن المستخدم حاول تثبيت إصدار قديم. قم بألغاء تثبيت التحديثات الخاصة باليوتيوب الأصلي، ثم حاول مرة أخرى.</string>
<string name="installation_conflict">فشل التثبيت، لأن هذا التطبيق يتعارض مع تطبيق مثبت بالفعل. قم بإلغاء تثبيت الإصدار الحالي من Vanced، ثم حاول مرة أخرى.</string>
<string name="installation_failed">فشل التثبيت لأسباب غير معروفة، انضم إلى تيليجرام أو ديسكورد لمزيد من الدعم. يرجى أيضاً إرفاق لقطة الشاشة من القائمة المتقدمة</string>

View file

@ -81,7 +81,6 @@
<string name="version">Versiya</string>
<string name="microg_bug">Amma microG\'də</string>
<string name="microg_bug_summary">microG\'də olan xəta səbəbindən Vanced 16+ yükləmək üçün əvvəlcə v15.43.32 versiyasını yükləməlisiniz, bunun üçün onu açıb giriş etməlisiniz, ancaq ondan sonra v16 ya da üstünü quraşdıra bilərsiniz. v15.43.32 versiyasını yükləmək istəyirsiniz?</string>
<string name="microg_bug_summary_music">microG\'də olan xəta səbəbindən Music 4.11+ yükləmək üçün əvvəlcə v4.07.51 versiyasını yükləməlisiniz, bunun üçün onu açıb giriş etməlisiniz, ancaq ondan sonra v4.11 ya da üstünü quraşdıra bilərsiniz. v4.15.11 versiyasını yükləmək istəyirsiniz?</string>
<string name="please_be_patient">Xahiş olunur iş gedərkən tətbiqi TƏRK ETMƏYİN!</string>
<string name="welcome">Xoş gəlmisiniz</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Quraşdırmaq üçün lazımi fayllar tapılmadı. Quraşdırma fayllarını yenidən endirib təkrar sınayın.</string>
<string name="ifile_missing">Anbarda qara/tünd mövzu üçün apk faylı tapılmadı, yenidən sınayın.</string>
<string name="installation_aborted">İstifadəçi quraşdırmanı ləğv etdiyi üçün quraşdırılma uğursuz oldu.</string>
<string name="installation_blocked">İstifadəçi quraşdırmanı əngəllədiyi üçün quraşdırılma uğursuz oldu.</string>
<string name="installation_downgrade">İstifadəçi paketi alt versiyaya keçirməyə çalışdığı üçün quraşdırılma uğursuz oldu. Stok YouTube tətbiqindən yeniləmələri silib yenidən sınayın.</string>
<string name="installation_conflict">Tətbiq əvvəlcədən quraşdırılmış bir tətbiqlə toqquşduğu üçün quraşdırılma uğursuz oldu. Vanced-in cari versiyasını silib yenidən sınayın.</string>
<string name="installation_failed">Bilinməyən səbəblərdən qurma alınmadı, əlavə yardım üçün Telegram və ya Discordumuza qoşulun. Xahiş olunur Qabaqcıl bölməsindən ekran görüntüsü də əlavə edin</string>

View file

@ -81,7 +81,6 @@
<string name="version">Версия</string>
<string name="microg_bug">Бъг в microG</string>
<string name="microg_bug_summary">Поради бъг в microG инсталирането на Vanced версия 16 изисква първо да се инсталира версия 15.43.32 след това да влезете в профила си след което може да инсталирате 16 и по-нова. Да се инсталира ли версия 15.43.32?</string>
<string name="microg_bug_summary_music">Поради бъг в microG инсталирането на Music версия 4.11 изисква първо да се инсталира версия 4.07.51 след това да влезете в профила си след което може да инсталирате 4.11 и по-нова. Да се инсталира ли версия 4.07.51?</string>
<string name="please_be_patient">Моля, НЕ излизайте от приложението по време на този процес!</string>
<string name="welcome">Добре дошли</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Необходимите файлове за инсталация не са открити. Изтеглете ги отново и опитайте пак.</string>
<string name="ifile_missing">Не може да бъде открит apk файла за черна/тъмна тема, моля опитайте отново.</string>
<string name="installation_aborted">Инсталацията е неуспешна, защото е прекратена от потребителя.</string>
<string name="installation_blocked">Инсталацията е неуспешна, защото е блокирана от потребителя.</string>
<string name="installation_downgrade">Инсталацията е неуспешна, защото потребителя се опитва да инсталира по-стара версия на пакета. Деинсталирайте актуализациите на оригиналното приложение и опитайте отново.</string>
<string name="installation_conflict">Инсталацията е неуспешна, поради конфликт с вече инсталирано приложение. Деинсталирайте го и опитайте отново.</string>
<string name="installation_failed">Инсталацията не бе успешна по неизвестни причини, присъединете се към нашия Telegram или Discord за допълнителна поддръжка. Моля, прикачете и екранна снимка от меню Разширени</string>

View file

@ -81,7 +81,6 @@
<string name="version">Version</string>
<string name="microg_bug">Bug in microG</string>
<string name="microg_bug_summary">Due to a bug in the original microG, installing Vanced v16+ first requires you to install v15.43.32, open it, then login and only then can you install v16 and higher. Do you want to proceed with the installation of v15.43.32?</string>
<string name="microg_bug_summary_music">Due to a bug in the original microG, installing Music v4.11+ first requires you to install v4.07.51, open it, then login and only then can you install v4.11 and higher. Do you want to proceed with the installation of v4.07.51?</string>
<string name="please_be_patient">Please do NOT exit the app during this process!</string>
<string name="welcome">স্বাগতম</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">সফটওয়্যার টি ইনস্টল এর জন্য প্রয়োজনী ফাইল সংগ্রহতে ব্যর্থ হয়েছে। পুনরায় ডাওনলোড এবং ইনস্টল করে চেষ্টা করুন.</string>
<string name="ifile_missing">স্টোরেজ থেকে কালো / অন্ধকান থিমের জন্য apk ফাইল সনাক্ত করতে ব্যর্থ হয়েছে, দয়া করে আবার চেষ্টা করুন।.</string>
<string name="installation_aborted">Installation failed because the user aborted the installation.</string>
<string name="installation_blocked">Installation failed because the user blocked the installation.</string>
<string name="installation_downgrade">Installation failed because the user tried to downgrade the package. Uninstall updates from the stock app, then try again.</string>
<string name="installation_conflict">Installation failed because the app conflicts with an already installed app. Uninstall the current version of the app, then try again.</string>
<string name="installation_failed">Installation failed for unknown reasons, join our Telegram or Discord for further support. Please also attach a screenshot from the Advanced menu</string>

View file

@ -81,7 +81,6 @@
<string name="version">সংস্করণ</string>
<string name="microg_bug">মাইক্রোজি তে ত্রুটি</string>
<string name="microg_bug_summary">আসল মাইক্রোজিতে ত্রুটির কারণে, ভ্যান্সড ভি১৬+ ইনস্টল করার জন্য প্রথমে আপনাকে ভি১৫.৪৩.৩২ ইনস্টল করতে হবে, এটি খুলুন, তারপরে লগইন করুন এবং তারপরেই আপনি ভি১৬ এবং পরবর্তী ভার্সন ইনস্টল করতে পারবেন। আপনি কি ভি১৫.৪৩.৩২ এর ইনস্টলেশনের মধ্য দিয়ে এগিয়ে যেতে চান?</string>
<string name="microg_bug_summary_music">আসল মাইক্রোজিতে ত্রুটির কারণে, মিউজিক ভি৪.১১+ ইনস্টল করার জন্য প্রথমে আপনাকে ভি৪..৫১ ইনস্টল করতে হবে, এটি খুলুন, তারপরে লগইন করুন এবং তারপরেই আপনি ভি৪.১১ এবং পরবর্তী ভার্সন ইনস্টল করতে পারবেন। আপনি কি ভি৪..৫১ এর ইনস্টলেশনের মধ্য দিয়ে এগিয়ে যেতে চান?</string>
<string name="please_be_patient">এই প্রক্রিয়া চলাকালীন দয়া করে অ্যাপ্লিকেশন থেকে কোনোমতেই প্রস্থান করবেন না!</string>
<string name="welcome">স্বাগত</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">ইনস্টলেশনের জন্য প্রয়োজনীয় ফাইলগুলি খুঁজে পাওয়া যায় নি। ইনস্টল করার জন্য ফাইলগুলি পুনরায় ডাউনলোড করুন, তারপরে আবার চেষ্টা করুন।</string>
<string name="ifile_missing">স্টোরেজ থেকে কালো/গাঢ় থিমের জন্য এপিকে ফাইল সনাক্ত করতে ব্যর্থ, দয়া করে আবার চেষ্টা করুন।</string>
<string name="installation_aborted">ইনস্টল করা যায়নি কারণ ব্যবহারকারী ইনস্টল করা বাতিল করে দিয়েছেন।</string>
<string name="installation_blocked">ইনস্টল করা যায়নি কারণ ব্যবহারকারী ইনস্টল করা অবরুদ্ধ করেছেন।</string>
<string name="installation_downgrade">ইনস্টলেশন ব্যর্থ হয়েছে কারণ ব্যবহারকারী প্যাকেজটি ডাউনগ্রেড করার চেষ্টা করেছিল। স্টক অ্যাপ্লিকেশন থেকে আপডেটগুলি আনইনস্টল করুন, তারপরে আবার চেষ্টা করুন।</string>
<string name="installation_conflict">ইনস্টলেশন ব্যর্থ হয়েছে কারণ অ্যাপ্লিকেশনটি ইতিমধ্যে ইনস্টল হওয়া আরেকটি অ্যাপ্লিকেশানের সাথে দ্বন্দ্ব করেছে। অ্যাপটির বর্তমান সংস্করণটি আনইনস্টল করুন, তারপরে আবার চেষ্টা করুন।</string>
<string name="installation_failed">অজানা কারণে ইনস্টলেশন ব্যর্থ হয়েছে, আরও সহায়তার জন্য আমাদের টেলিগ্রাম বা ডিসকর্ডে যোগ দিন। অ্যাডভান্সড মেনু থেকে স্ক্রিনশটটিও সংযুক্ত করুন</string>

View file

@ -81,7 +81,6 @@
<string name="version">Version</string>
<string name="microg_bug">Bug in microG</string>
<string name="microg_bug_summary">Due to a bug in the original microG, installing Vanced v16+ first requires you to install v15.43.32, open it, then login and only then can you install v16 and higher. Do you want to proceed with the installation of v15.43.32?</string>
<string name="microg_bug_summary_music">Due to a bug in the original microG, installing Music v4.11+ first requires you to install v4.07.51, open it, then login and only then can you install v4.11 and higher. Do you want to proceed with the installation of v4.07.51?</string>
<string name="please_be_patient">Please do NOT exit the app during this process!</string>
<string name="welcome">Benvingut</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Failed to locate the required files for installation. Re-download the installation files, then try again.</string>
<string name="ifile_missing">Failed to locate apk file for black/dark theme from storage, please try again.</string>
<string name="installation_aborted">Installation failed because the user aborted the installation.</string>
<string name="installation_blocked">Installation failed because the user blocked the installation.</string>
<string name="installation_downgrade">Installation failed because the user tried to downgrade the package. Uninstall updates from the stock app, then try again.</string>
<string name="installation_conflict">Installation failed because the app conflicts with an already installed app. Uninstall the current version of the app, then try again.</string>
<string name="installation_failed">Installation failed for unknown reasons, join our Telegram or Discord for further support. Please also attach a screenshot from the Advanced menu</string>

View file

@ -81,7 +81,6 @@
<string name="version">وەشان</string>
<string name="microg_bug">کێشە لە microG</string>
<string name="microg_bug_summary">Due to a bug in the original microG, installing Vanced v16+ first requires you to install v15.43.32, open it, then login and only then can you install v16 and higher. Do you want to proceed with the installation of v15.43.32?</string>
<string name="microg_bug_summary_music">Due to a bug in the original microG, installing Music v4.11+ first requires you to install v4.07.51, open it, then login and only then can you install v4.11 and higher. Do you want to proceed with the installation of v4.07.51?</string>
<string name="please_be_patient">Please do NOT exit the app during this process!</string>
<string name="welcome">بەخێربێیت</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">سەرکەوتو نەبوو لە دۆزینەوەی فایلە پێویستەکان بۆ دامەزراندن، فایلە پێویستیەکان دووبارە دابگرەوە بۆ جێگیرکردن، پاشان دووبارە هەوڵبدەرەوە.</string>
<string name="ifile_missing">سەرکەوتوو نەبوو لەدۆزینەوەی شوێنی فایلی Apk بۆ ڕووکاری ڕەش/تاریک لە بیرگەدا، تکایە دووبارە هەوڵبدەرەوە.</string>
<string name="installation_aborted">دامەزراندن سەرکەوتو نەبوو، لەبەر ئەوەی بەکارهێنەر کۆتاییهێنا بە دابەزاندنەکە.</string>
<string name="installation_blocked">دامەزراندن سەرکەوتو نەبوو، لەبەر ئەوەی بەکارهێنەر ڕێگریکرد لە دابەزاندنەکە.</string>
<string name="installation_downgrade">دامەزراندن سەرکەوتو نەبوو، لەبەر ئەوەی بەکارهێنەر هەوڵیدا بۆ نزمکردنەوەی وەشان، نوێکارییەکانی بەرنامەی بنەڕەتی YouTube بسڕەوە و دووبارە هەوڵبدەرەوە.</string>
<string name="installation_conflict">دامەزراندن سەرکەوتو نەبوو لەبەرئەوەی وەشانێکی تری بەرنامەکە پێشتر دامەزرێنراوە، وەشانی ئێستای Vanced بسڕەوە و پاشان دووبارە هەوڵبدەرەوە.</string>
<string name="installation_failed">Installation failed for unknown reasons, join our Telegram or Discord for further support. Please also attach a screenshot from the Advanced menu</string>

View file

@ -81,7 +81,6 @@
<string name="version">Verze</string>
<string name="microg_bug">Chyba v microG</string>
<string name="microg_bug_summary">Kvůli chybě v původním microG, vyžaduje instalace Vanced v16+ nejprve instalaci verze 15.43.32. Otevřete ji, poté se přihlaste ke svému účtu a teprve poté nainstalujte verzi 16 a vyšší. Přejete si pokračovat v instalaci verze 15.43.32?</string>
<string name="microg_bug_summary_music">Kvůli chybě v původním microG, vyžaduje instalace Music v4.11+ nejprve instalaci verze 4.07.51. Otevřete ji, poté se přihlaste ke svému účtu a teprve poté nainstalujte verzi 4.11 a vyšší. Přejete si pokračovat v instalaci verze 4.07.51?</string>
<string name="please_be_patient">Během tohoto procesu NEUKONČUJTE aplikaci!</string>
<string name="welcome">Vítejte</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Nepodařilo se najít požadované soubory pro instalaci. Stáhněte znovu instalační soubory a poté to zkuste znovu.</string>
<string name="ifile_missing">Ve vnitřním úložišti se nepodařilo najít soubor APK pro černý/tmavý motiv. Zkuste to prosím znovu.</string>
<string name="installation_aborted">Instalace se nezdařila, protože uživatel přerušil instalaci.</string>
<string name="installation_blocked">Instalace se nezdařila, protože uživatel zablokoval instalaci.</string>
<string name="installation_downgrade">Instalace se nezdařila, protože se uživatel pokusil balíček downgradovat. Odinstalujte aktualizace z výchozí aplikace a poté to zkuste znovu.</string>
<string name="installation_conflict">Instalace se nezdařila, protože aplikace je v konfliktu s již nainstalovanou aplikací. Odinstalujte aktuální verzi aplikace a poté to zkuste znovu.</string>
<string name="installation_failed">Instalace se z neznámých důvodů nezdařila. Pro další podporu se připojte k našemu Telegramu nebo Discordu. Připojte také snímek obrazovky z nabídky Pokročilé</string>

View file

@ -81,7 +81,6 @@
<string name="version">Version</string>
<string name="microg_bug">Fejl i microG</string>
<string name="microg_bug_summary">På grund af en fejl i microG, kræver installationen af Vanced 16+ først at du installerer v15.43.32, åbner, logger ind og først derefter kan du installere v16 og over. Vil du fortsætte med at installere v15.43.32?</string>
<string name="microg_bug_summary_music">På grund af en fejl i microG, kræver installationen af Music v4.11+ først at du installerer v4.07.51, åbner, logger ind og først derefter kan du installere v4.11 og over. Vil du at fortsætte med at installere v4.07.51?</string>
<string name="please_be_patient">Afslut venligst IKKE appen under denne proces!</string>
<string name="welcome">Velkommen</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Kunne ikke finde de påkrævede filer til installation. Download installationsfilerne igen, og prøv igen.</string>
<string name="ifile_missing">Kunne ikke finde apk-fil til sort/mørkt tema fra lager. Prøv venligst igen.</string>
<string name="installation_aborted">Installationen fejlede fordi brugeren lukkede installationen.</string>
<string name="installation_blocked">Installationen fejlede fordi brugeren blokerede installationen.</string>
<string name="installation_downgrade">Installationen fejlede fordi brugeren prøvede at nedgradere pakken. Fjern opdateringer fra Youtube appen og prøv igen.</string>
<string name="installation_conflict">Installationen fejlede fordi appen konflikter med en allerede installeret app. Fjern den nuværende version af appen og prøv igen.</string>
<string name="installation_failed">Installation mislykkedes af ukendte årsager, kom på vores Telegram eller Discord for yderligere hjælp. Vedhæft venligst også et skærmbillede fra menuen Avanceret</string>

View file

@ -81,7 +81,6 @@
<string name="version">Version</string>
<string name="microg_bug">Fehler in MicroG</string>
<string name="microg_bug_summary">Aufgrund eines Fehlers in MicroG ist es erforderlich, zuerst die Version v15.43.32 zu installieren, öffnen und sich anzumelden, um Vanced v16 und höher zu verwenden. Möchten Sie mit der Installation von v15.43.32 fortfahren?</string>
<string name="microg_bug_summary_music">Aufgrund eines Fehlers in MicroG, ist es erforderlich zuerst die Version v4.07.51 zu installieren, öffnen und sich anzumelden, um Vanced Music v4.11+ zu verwenden. Möchten Sie mit der Installation von v4.07.51 fortfahren?</string>
<string name="please_be_patient">Bitte schließen Sie die App NICHT während dieses Prozesses!</string>
<string name="welcome">Willkommen</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Die benötigten Dateien für die Installation konnten nicht gefunden werden. Laden Sie die Installationsdateien erneut herunter und versuchen Sie es erneut.</string>
<string name="ifile_missing">Apk-Datei für schwarzes/dunkles Theme konnte nicht gefunden werden, bitte versuchen Sie es erneut.</string>
<string name="installation_aborted">Installation fehlgeschlagen, da der Benutzer die Installation abgebrochen hat.</string>
<string name="installation_blocked">Installation fehlgeschlagen, da der Benutzer die Installation blockiert hat.</string>
<string name="installation_downgrade">Installation fehlgeschlagen, da der Benutzer versucht hat, eine ältere Version des Paketes zu installieren. Deinstallieren Sie Updates von der YouTube App und versuchen Sie es erneut.</string>
<string name="installation_conflict">Die Installation ist fehlgeschlagen, weil die App in Konflikt mit einer bereits installierten App steht. Deinstalliere die aktuell installierte Version der App und versuchen es dann erneut.</string>
<string name="installation_failed">Die Installation ist aus unbekannten Gründen fehlgeschlagen. Betrete unser Telegram Chat oder Discord Server für weitere Unterstützung und halte bitte einen Screenshot aus dem erweiterten Menü bereit</string>

View file

@ -81,7 +81,6 @@
<string name="version">Έκδοση</string>
<string name="microg_bug">Σφάλμα στο microG</string>
<string name="microg_bug_summary">Λόγο ενός σφάλματος του microG, για να εγκαταστήσετε την έκδοση v16 και άνω, του Vanced, πρέπει πρώτα να εγκαταστήσετε την έκδοση v15.43.32, να την ανοίξετε, και να συνδεθείτε στον λογαριασμό σας, μόνο τότε μπορείτε να εγκαταστήσετε την έκδοση v16 και άνω. Θέλετε να συνεχίσετε με την εγκατάσταση της έκδοσης v15.43.32;</string>
<string name="microg_bug_summary_music">Λόγο ενός σφάλματος του microG, για να εγκαταστήσετε την έκδοση v4.11 και άνω, του YouTube Vanced Music, πρέπει πρώτα να εγκαταστήσετε την έκδοση v4.07.51, να την ανοίξετε, και να συνδεθείτε στον λογαριασμό σας, μόνο τότε μπορείτε να εγκαταστήσετε την έκδοση v4.11 και άνω. Θέλετε να συνεχίσετε με την εγκατάσταση της έκδοσης v4.07.51;</string>
<string name="please_be_patient">Παρακαλώ ΜΗΝ βγείτε από την εφαρμογή κατά τη διάρκεια αυτής της διαδικασίας!</string>
<string name="welcome">Καλώς ορίσατε</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Αδυναμία εντοπισμού των απαιτούμενων αρχείων για την εγκατάσταση. Κατεβάστε τα αρχεία εγκατάστασης, και προσπαθήστε ξανά.</string>
<string name="ifile_missing">Αδυναμία εντοπισμού του αρχείου apk σκουρόχρωμου/απολύτου μαύρου θέματος στον αποθηκευτικό χώρο, παρακαλώ προσπαθήστε ξανά.</string>
<string name="installation_aborted">Η εγκατάσταση απέτυχε διότι ο χρήστης ακύρωσε την εγκατάσταση.</string>
<string name="installation_blocked">Η εγκατάσταση απέτυχε διότι ο χρήστης απέκλεισε την εγκατάσταση.</string>
<string name="installation_downgrade">Η εγκατάσταση απέτυχε διότι ο χρήστης προσπάθησε να υποβαθμίσει το πακέτο. Απεγκαταστήστε τις ενημερώσεις της αρχικής εφαρμογής YouTube, στη συνέχεια προσπαθήστε ξανά.</string>
<string name="installation_conflict">Η εγκατάσταση απέτυχε διότι η εφαρμογή αντικρούεται με μια ήδη εγκατεστημένη εφαρμογή. Κάντε απεγκατάσταση την τρέχουσα έκδοση της εφαρμογής, και μετά προσπαθήστε ξανά.</string>
<string name="installation_failed">Η εγκατάσταση απέτυχε για άγνωστους λόγους, μπείτε στο Telegram ή στο Discord μας για περαιτέρω υποστήριξη. Παρακαλώ επισυνάψτε ένα στιγμιότυπο οθόνης από τις επιλογές για προχωρημένους</string>

View file

@ -81,7 +81,6 @@
<string name="version">Versión</string>
<string name="microg_bug">Error en microG</string>
<string name="microg_bug_summary">Debido a un error en el microG original, la instalación de Vanced v16+ requiere primero la instalación de la versión v15.43.32, abrirla, iniciar sesión y sólo entonces podrás instalar la versión v16 y superior. ¿Quieres proceder con la instalada de la versión v15.43.32?</string>
<string name="microg_bug_summary_music">Debido a un error en microG, para poder instalar Vanced v16+ hay que instalar primero la versión v15.11, abrirla, iniciar sesión y solo entonces podrás instalar la versión v16 y superior. ¿Quieres instalar la versión v15.07.51?</string>
<string name="please_be_patient">¡Por favor, NO salga de la aplicación durante este proceso!</string>
<string name="welcome">Bienvenido</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Falla al localizar los archivos necesarios para la instalación. Vuelva a descargar los archivos de instalación y vuelva a intentarlo.</string>
<string name="ifile_missing">Falla al localizar en el almacenamiento el archivo apk para el tema negro/oscuro, por favor intente otra vez.</string>
<string name="installation_aborted">La instalación ha fallado debido a que el usuario ha abortado la instalación.</string>
<string name="installation_blocked">La instalación ha fallado debido a que el usuario bloqueo la instalación.</string>
<string name="installation_downgrade">La instalación falló porque el usuario trató de degradar el paquete. Desinstala las actualizaciones de la aplicación original e intenta de nuevo.</string>
<string name="installation_conflict">La instalación ha fallado porque la aplicación entra en conflicto con una aplicación ya instalada. Desinstala la versión actual de la aplicación y vuelve a intentarlo.</string>
<string name="installation_failed">La instalación ha fallado por razones desconocidas, únete a nuestro Telegram o Discord para más soporte. Por favor, también adjunta una captura de pantalla desde el menú Avanzado</string>

View file

@ -81,7 +81,6 @@
<string name="version">Versioon</string>
<string name="microg_bug">microG viga</string>
<string name="microg_bug_summary">Seoses originaal microG veaga, vajab Vanced v16+ paigaldus ennem v15.43.32 versiooni paigaldust, sisselogimist ja alles siis saab paigaldada v16 või uuema. Kas soovite jätkata v15.43.32 paigaldusega?</string>
<string name="microg_bug_summary_music">Seoses originaal microG veaga, vajab Music v4.11+ paigaldus ennem v4.07.51 versiooni paigaldust, sisselogimist ja alles siis saab paigaldada v4.11 või uuema. Kas soovite jätkata v4.07.51 paigaldusega?</string>
<string name="please_be_patient">Palun ärge väljuge rakendusest protsessi ajal!</string>
<string name="welcome">Tere tulemast</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Paigalduseks vajalike failide leidmine ebaõnnestus. Laadige paigaldusfailid uuesti alla ja proovige uuesti.</string>
<string name="ifile_missing">Apk faili musta/tumeda teema jaoks leidmine ebaõnnestus, proovige palun uuesti.</string>
<string name="installation_aborted">Paigaldamine ebaõnnestus kuna kasutaja katkestas selle.</string>
<string name="installation_blocked">Paigaldamine ebaõnnestus kuna kasutaja peatas selle.</string>
<string name="installation_downgrade">Paigaldamine ebaõnnestus kuna kasutaja proovis paketti madalamale versioonile üle viia. Eemaldage värskendused originaalrakendusest ja proovige uuesti.</string>
<string name="installation_conflict">Paigaldamine ebaõnnestus, kuna tekkis konflikt olemasoleva versiooniga. Eemaldage praegune rakenduse versioon, ning proovige uuesti.</string>
<string name="installation_failed">Installation failed for unknown reasons, join our Telegram or Discord for further support. Please also attach a screenshot from the Advanced menu</string>

View file

@ -81,7 +81,6 @@
<string name="version">Versio</string>
<string name="microg_bug">Virhe microG:ssä</string>
<string name="microg_bug_summary">Alkuperäisessä microG:ssä olevan bugin takia sinun tulee asentaa Vancedin versio 15.43.32, avata se ja kirjautua sisään, ennen kuin voin asentaa version 16 tai uudemman. Haluatko jatkaa version 15.43.32 asentamista?</string>
<string name="microg_bug_summary_music">Alkuperäisessä microG:ssä olevan bugin takia sinun tulee asentaa Musicin versio 4.07.51, avata se ja kirjautua sisään, ennen kuin voin asentaa version 4.11 tai uudemman. Haluatko jatkaa version 4.07.51 asentamista?</string>
<string name="please_be_patient">ÄLÄ poistu sovelluksesta tämän prosessin aikana!</string>
<string name="welcome">Tervetuloa</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Asennukseen vaadittavien tiedostojen paikannus epäonnistui. Yritä ladata asennustiedostot uudelleen.</string>
<string name="ifile_missing">APK-tiedostoa mustalle/tummalle teemalle ei voitu paikantaa tallennustilasta, yritä uudelleen.</string>
<string name="installation_aborted">Asennus epäonnistui, koska käyttäjä keskeytti asennuksen.</string>
<string name="installation_blocked">Asennus epäonnistui, koska käyttäjä on estänyt asennuksen.</string>
<string name="installation_downgrade">Asennus epäonnistui, koska käyttäjä yritti asentaa paketin vanhempaa versiota. Poista YouTube-sovelluksen päivitykset ja yritä sitten uudelleen.</string>
<string name="installation_conflict">Asennus epäonnistui, koska sovellus on ristiriidassa jo asennetun sovelluksen kanssa. Poista sovelluksen nykyinen versio ja yritä uudelleen.</string>
<string name="installation_failed">Asennus epäonnistui tuntemattomasta syystä, liity Vancedin Telegramiin tai Discordiin saadaksesi tukea. Liitä myös kuvankaappaus Lisäasetukset valikosta</string>

View file

@ -81,7 +81,6 @@
<string name="version">Bersyon</string>
<string name="microg_bug">Bug sa microG</string>
<string name="microg_bug_summary">Due to a bug in the original microG, installing Vanced v16+ first requires you to install v15.43.32, open it, then login and only then can you install v16 and higher. Do you want to proceed with the installation of v15.43.32?</string>
<string name="microg_bug_summary_music">Due to a bug in the original microG, installing Music v4.11+ first requires you to install v4.07.51, open it, then login and only then can you install v4.11 and higher. Do you want to proceed with the installation of v4.07.51?</string>
<string name="please_be_patient">Please do NOT exit the app during this process!</string>
<string name="welcome">Maligayang Pagdating</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Nabigo ang paghanap sa kailangan na files para sa installation. I-download ulit ang mga installation files, at ulitin muli.</string>
<string name="ifile_missing">Nabigo ang paghanap ng apk file para sa itim na tema galing sa storage, ulitin muli.</string>
<string name="installation_aborted">Nabigo ang pag-install dahil kinansela ito.</string>
<string name="installation_blocked">Nabigo ang pag-install dahil binlock ito.</string>
<string name="installation_downgrade">Installation failed because the user tried to downgrade the package. Uninstall updates from the stock app, then try again.</string>
<string name="installation_conflict">Nabigo ang pag-install dahil meron hidwaan sa naka-install na app. I-uninstall ang kasalukuyang bersyon ng Vanced, at ulitin muli.</string>
<string name="installation_failed">Installation failed for unknown reasons, join our Telegram or Discord for further support. Please also attach a screenshot from the Advanced menu</string>

View file

@ -81,7 +81,6 @@
<string name="version">Version</string>
<string name="microg_bug">Bug dans microG</string>
<string name="microg_bug_summary">En raison d\'un bug dans le microG d\'origine, l\'installation de Vanced v16+ nécessite d\'abord l\'installation de la v15.43.32., ouvrez celle-ci, puis connectez-vous et vous pourrez désormais installer la v16 ou plus. Voulez-vous procéder à l\'installation de la v15.43.32 ?</string>
<string name="microg_bug_summary_music">En raison d\'un but dans le microG d\'origine, l\'installation de Music 4.11+ nécessite d\'abord l\'installation de la v4.07.51, ouvrez-la, puis connectez-vous et vous pourrez désormais installer la v14.11 et plus. Voulez-vous procéder à l\'installation de la v4.07.51 ?</string>
<string name="please_be_patient">Veuillez NE PAS quitter l\'application pendant que celle-ci est en cours de modification !</string>
<string name="welcome">Bienvenue</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Impossible de localiser les fichiers nécessaires à l\'installation. Retéléchargez les fichiers d\'installation, puis réessayez.</string>
<string name="ifile_missing">Impossible de localiser le fichier apk pour le thème noir/foncé, veuillez réessayer.</string>
<string name="installation_aborted">L\'installation a échoué car l\'utilisateur a abandonné l\'installation.</string>
<string name="installation_blocked">L\'installation a échoué, car l\'utilisateur a bloqué l\'installation.</string>
<string name="installation_downgrade">L\'installation a échoué parce que l\'utilisateur a essayé de downgrader le paquet. Désinstallez les mises à jour de l\'application d\'origine, puis réessayez.</string>
<string name="installation_conflict">L\'installation a échoué parce que l\'application est en conflit avec une application déjà installée. Désinstallez la version actuelle de Vanced, puis réessayez.</string>
<string name="installation_failed">L\'installation a échoué pour des raisons inconnues, rejoignez notre Telegram ou Discord pour plus de support. Veuillez également joindre une capture d\'écran dans le menu Avancé</string>

View file

@ -81,7 +81,6 @@
<string name="version">संस्करण</string>
<string name="microg_bug">MicroG में bug</string>
<string name="microg_bug_summary">MicroG में एक बग के कारण, Vanced v16 + को स्थापित करने के लिए आपको पहले v15.43.32 स्थापित करना होगा, इसे खोलें, फिर लॉगिन करें और उसके बाद ही आप v16 और उच्चतर स्थापित कर सकते हैं। क्या आप v15.43.32 की स्थापना के साथ आगे बढ़ना चाहते हैं?</string>
<string name="microg_bug_summary_music">MicroG में एक बग के कारण, Music v4.11 + को स्थापित करने के लिए आपको पहले v4.07.51 स्थापित करने की आवश्यकता है, इसे खोलें, फिर लॉगिन करें और उसके बाद ही आप v4.11 और उच्चतर स्थापित कर सकते हैं। क्या आप v4.07.51 की स्थापना के साथ आगे बढ़ना चाहते हैं?</string>
<string name="please_be_patient">कृपया इस प्रक्रिया के दौरान ऐप को बंद ना करें!</string>
<string name="welcome">स्वागत है!</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">स्थापना के लिए आवश्यक फ़ाइलों का पता लगाने में विफल। स्थापना फ़ाइलों को फिर से डाउनलोड करें, फिर पुनः प्रयास करें।</string>
<string name="ifile_missing">भंडारण से काले / अंधेरे विषय के लिए apk फ़ाइल खोजने में विफल, कृपया पुनः प्रयास करें।</string>
<string name="installation_aborted">स्थापना विफल रही क्योंकि उपयोगकर्ता ने स्थापना रद्द कर दी।</string>
<string name="installation_blocked">स्थापना विफल रही क्योंकि उपयोगकर्ता ने स्थापना को ब्लॉक कर दिया।</string>
<string name="installation_downgrade">स्थापना विफल रही क्योंकि उपयोगकर्ता ने पैकेज को डाउनग्रेड करने का प्रयास किया। स्टॉक ऐप से अपडेट अनइंस्टॉल करें, फिर प्रयास करें।</string>
<string name="installation_conflict">इंस्टॉलेशन विफल रहा क्योंकि ऐप पहले से इंस्टॉल किए गए ऐप के साथ टकराव करता है। एप्लिकेशन के वर्तमान संस्करण को अनइंस्टॉल करें, फिर प्रयास करें।</string>
<string name="installation_failed">अज्ञात कारणों से इंस्टॉलेशन विफल हो गया, आगे के समर्थन के लिए हमारे टेलीग्राम या डिस्कॉर्ड में शामिल हों। कृपया उन्नत मेनू से स्क्रीनशॉट भी संलग्न करें ।</string>

View file

@ -81,7 +81,6 @@
<string name="version">Inačica</string>
<string name="microg_bug">Greška u microG aplikaciji</string>
<string name="microg_bug_summary">Zbog greške u microG, instaliranje Vanced 16+ prvo zahtijeva instalaciju v15.43.32, otvorite, a zatim se prijavite i tek onda možete instalirati v16 i novije inačice. Želite li nastaviti s instalacijom v15.43.32?</string>
<string name="microg_bug_summary_music">Zbog greške u microG, za instalaciju Music 4.11+ prvo je potrebno instalirati v4.07.51, otvoriti, a zatim se prijaviti i tek tada možete instalirati v16 i novije inačice. Želite li nastaviti s instalacijom v4.07.51?</string>
<string name="please_be_patient">NE zatvarajte aplikaciju tijekom ovog postupka!</string>
<string name="welcome">Dobrodošli</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Neuspjelo lociranje potrebnih datoteka za instalaciju. Ponovno preuzmite datoteke za instalaciju, zatim ponovno pokušajte.</string>
<string name="ifile_missing">Neuspjelo lociranje apk datoteke za crnu/tamnu temu iz pohrane, pokušajte ponovno.</string>
<string name="installation_aborted">Instalacija je prekinuta zato jer ju je korisnik prekinuo.</string>
<string name="installation_blocked">Instalacija nije uspjela jer je korisnik blokirao instalaciju.</string>
<string name="installation_downgrade">Instalacija nije uspjela jer je korisnik pokušao instalirati stariju inačicu paketa. Deinstalirajte ažuriranja izvorne YouTube aplikacije, zatim pokušajte ponovno.</string>
<string name="installation_conflict">Instalacija nije uspjela jer je aplikacija u sukobu s već instaliranom aplikacijom. Deinstalirajte trenutnu inačicu aplikacije zatim pokušajte ponovno.</string>
<string name="installation_failed">Neuspjela instalacija, nepoznati razlog. Priključite se našem Telegramu ili Diskordu za našu pomoć. Molimo Vas da priključite sliku ekrana iz Proširenog Menua</string>

View file

@ -83,8 +83,6 @@ Akarod telepíteni?</string>
<string name="microg_bug">Hiba a microG-ben</string>
<string name="microg_bug_summary">Egy, a microG-ben jelenlévő hiba miatt, a Vanced 16+ verzióihoz először telepítse a 15.43.32-es verziót, nyissa meg, jelentkezzen be, majd csak ezután tudja telepíteni a 16-os vagy újabb verziót.
Akarja folytatni a 15.43.32-es verzió telepítésével?</string>
<string name="microg_bug_summary_music">Egy, a microG-ben jelenlévő hiba miatt, a Vanced Music 4.11+ verzióihoz először telepítse a 4.07.51-es verziót, nyissa meg, jelentkezzen be, majd csak ezután tudja telepíteni a 4.11-es vagy újabb verziót.
Akarja folytatni a 4.07.51-es verzió telepítésével?</string>
<string name="please_be_patient">Kérjük NE lépjen ki a telepítési folyamat alatt!</string>
<string name="welcome">Üdvözöljük</string>
<!-- Install Page -->
@ -107,7 +105,6 @@ Akarja folytatni a 4.07.51-es verzió telepítésével?</string>
<string name="files_missing_va">A telepítéshez szükséges file-ok megtalálása meghiúsult. Töltse le újra a telepítőfile-okat és próbálja újra.</string>
<string name="ifile_missing">Nem sikerült az apk file-t megtalálni a fekete/sötét kinézethez, kérjük próbálja újra.</string>
<string name="installation_aborted">A művelet végrehajtása nem sikerült, mert a felhasználó megszakította a telepítést.</string>
<string name="installation_blocked">A telepítés nem sikerült, mert a felhasználó megszakította azt.</string>
<string name="installation_downgrade">A telepítés nem sikerült, mert a felhasználó, régebbi verzióra próbált frissíteni. Távolítsa el az eredeti alkalmazás frissítéseit, majd próbálja újra.</string>
<string name="installation_conflict">A telepítés nem sikerült, mert az alkalmazás egy másik, már telepített alkalmazással ütközik. Távolítsd el a jelenlegi verziót és próbáld újra.</string>
<string name="installation_failed">A telepítés ismeretlen ok miatt meghiúsult, kérjük csatlakozzon a Telegram vagy a Discord csatornánkhoz további támogatásért. Kérjük egy képernyőképet is mellékeljen ami a Haladó menüben készült</string>

View file

@ -81,7 +81,6 @@
<string name="version">Versi</string>
<string name="microg_bug">Bug di microG</string>
<string name="microg_bug_summary">Dikarenakan bug yang ada pada microG original, memasang Vanced v16+ memerlukan anda untuk terlebih dahulu memasang v15.43.32, buka aplikasinya, lalu login dan sekarang anda dapat memasang v16 keatas. Apakah anda ingin melanjutkan untuk pemasangan v15.43.32?</string>
<string name="microg_bug_summary_music">Dikarenakan bug yang ada pada microG original, memasang Music v4.11+ memerlukan anda untuk terlebih dahulu memasang v4.07.51, buka aplikasinya, lalu login dan sekarang anda dapat memasang v4.11 keatas. Apakah anda ingin melanjutkan untuk pemasangan v4.07.51?</string>
<string name="please_be_patient">Mohon untuk TIDAK keluar dari aplikasi saat proses ini!</string>
<string name="welcome">Selamat datang</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Gagal untuk menemukan file yang diperlukan untuk instalasi. Unduh ulang file instalasi, lalu coba lagi.</string>
<string name="ifile_missing">Gagal untuk menemukan file apk untuk tema hitam/gelap dari penyimpanan, mohon coba lagi.</string>
<string name="installation_aborted">Pemasangan gagal dikarenakan pengguna membatalkan pemasangan.</string>
<string name="installation_blocked">Pemasangan gagal dikarenakan pengguna memblokir pemasangan.</string>
<string name="installation_downgrade">Pemasangan gagal dikarenakan pengguna mencoba menurunkan versi paket. Hapus pembaruan dari aplikasi bawaan, lalu coba lagi.</string>
<string name="installation_conflict">Pemasangan gagal dikarenakan aplikasi konflik dengan aplikasi yang sudah terpasang. Copot pemasangan aplikasi versi saat ini, lalu coba lagi.</string>
<string name="installation_failed">Pemasangan gagal untuk alasan yang tidak diketahui, gabung Telegram atau Discord kami untuk bantuan lebih lanjut. Mohon untuk melampirkan screenshot dari menu Tingkat Lanjut</string>

View file

@ -81,7 +81,6 @@
<string name="version">Versione</string>
<string name="microg_bug">Bug in microG</string>
<string name="microg_bug_summary">A causa di un bug nel microG originale, l\'installazione di Vanced v16+ richiede prima l\'installazione della v15.43.32, avviarla, quindi effettuare il login e solo allora è possibile installare la v16 e versioni successive. Vuoi procedere con l\'installazione della v15.43.32?</string>
<string name="microg_bug_summary_music">A causa di un bug nel microG originale, l\'installazione di Music v4.11+ richiede prima l\'installazione della v4.07.51, avviarla, quindi effettuare il login e solo allora è possibile installare la v4.11 e successive. Vuoi procedere con l\'installazione della v4.07.51?</string>
<string name="please_be_patient">Si prega di NON uscire dall\'app durante questo processo!</string>
<string name="welcome">Benvenuto</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Impossibile individuare i file richiesti per l\'installazione. Scaricali nuovamente e riprova.</string>
<string name="ifile_missing">Impossibile individuare il file apk per il tema nero/scuro dalla memoria, per favore riprova.</string>
<string name="installation_aborted">Installazione non riuscita. L\'utente ha annullato l\'installazione.</string>
<string name="installation_blocked">Installazione non riuscita. L\'utente ha bloccato l\'installazione.</string>
<string name="installation_downgrade">Installazione fallita. È stato effettuato un tentativo di downgrade del pacchetto. Disinstalla gli aggiornamenti dall\'app stock, quindi riprova.</string>
<string name="installation_conflict">Installazione fallita perché l\'applicazione è in conflitto con un\'app già installata. Disinstallare la versione corrente dell\'applicazione, quindi riprovare.</string>
<string name="installation_failed">Installazione non riuscita per motivi sconosciuti, unisciti al nostro Telegram o Discord per ulteriore supporto. Allega anche uno screenshot dal menu Avanzate</string>

View file

@ -81,7 +81,6 @@
<string name="version">גרסא</string>
<string name="microg_bug">באג בmicroG</string>
<string name="microg_bug_summary">Due to a bug in the original microG, installing Vanced v16+ first requires you to install v15.43.32, open it, then login and only then can you install v16 and higher. Do you want to proceed with the installation of v15.43.32?</string>
<string name="microg_bug_summary_music">Due to a bug in the original microG, installing Music v4.11+ first requires you to install v4.07.51, open it, then login and only then can you install v4.11 and higher. Do you want to proceed with the installation of v4.07.51?</string>
<string name="please_be_patient">Please do NOT exit the app during this process!</string>
<string name="welcome">ברוכים הבאים</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">איתור הקבצים הנדרשים להתקנה נכשל. הורד מחדש את קבצי ההתקנה ונסה שוב.</string>
<string name="ifile_missing">נכשל האיתור של קובץ APK לערכת נושא שחורה/כהה מהאחסון, אנא נסה שוב.</string>
<string name="installation_aborted">ההתקנה נכשלה כיוון שהמשתמש ביטל אותה.</string>
<string name="installation_blocked">ההתקנה נכשלה כיוון שהמשתמש חסם אותה.</string>
<string name="installation_downgrade">Installation failed because the user tried to downgrade the package. Uninstall updates from the stock app, then try again.</string>
<string name="installation_conflict">ההתקנה נכשלה כיוון שהאפליקציה מתנגשת עם גרסה מותקנת שלה, מחק את הגרסה הנוכחית של Vanced ולאחר מכן נסה שוב.</string>
<string name="installation_failed">Installation failed for unknown reasons, join our Telegram or Discord for further support. Please also attach a screenshot from the Advanced menu</string>

View file

@ -81,7 +81,6 @@
<string name="version">バージョン</string>
<string name="microg_bug">microG のバグ</string>
<string name="microg_bug_summary">最新版の microG のバグにより、Vanced のバージョン16以上をインストールするには、先にバージョン15.43.32をインストールし、起動して、ログインする必要があります。バージョン15.43.32をインストールしますか?</string>
<string name="microg_bug_summary_music">最新版の microG のバグにより、Music のバージョン4.11以上をインストールするには、先にバージョン4.07.51をインストールし、起動して、ログインする必要があります。バージョン4.07.51をインストールしますか?</string>
<string name="please_be_patient">この処理中はアプリを終了しないでください!</string>
<string name="welcome">ようこそ</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">インストールに必要なファイルが見つかりませんでした。再ダウンロードし、もう一度お試しください。</string>
<string name="ifile_missing">ストレージからブラック/ダークテーマの APK ファイルが見つかりませんでした。もう一度お試しください。</string>
<string name="installation_aborted">ユーザーがインストールを中断したためインストールに失敗しました。</string>
<string name="installation_blocked">ユーザーがインストールをブロックしたためインストールに失敗しました。</string>
<string name="installation_downgrade">アプリをダウングレードしようとしたため、インストールに失敗しました。インストールされたアプリをアンインストールしてから、再度お試しください。</string>
<string name="installation_conflict">既にインストールされたアプリと競合したため、インストールに失敗しました。インストールされたアプリをアンインストールしてから、もう一度やり直してください。</string>
<string name="installation_failed">不明な理由でインストールに失敗しました。さらなるサポートのためには、Telegram か Discord に参加してください。詳細メニューからスクリーンショットを添付してください。</string>

View file

@ -81,7 +81,6 @@
<string name="version">ვერსია</string>
<string name="microg_bug">Bug in microG</string>
<string name="microg_bug_summary">Due to a bug in the original microG, installing Vanced v16+ first requires you to install v15.43.32, open it, then login and only then can you install v16 and higher. Do you want to proceed with the installation of v15.43.32?</string>
<string name="microg_bug_summary_music">Due to a bug in the original microG, installing Music v4.11+ first requires you to install v4.07.51, open it, then login and only then can you install v4.11 and higher. Do you want to proceed with the installation of v4.07.51?</string>
<string name="please_be_patient">Please do NOT exit the app during this process!</string>
<string name="welcome">მოგესალმებით</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Failed to locate the required files for installation. Re-download the installation files, then try again.</string>
<string name="ifile_missing">Failed to locate apk file for black/dark theme from storage, please try again.</string>
<string name="installation_aborted">Installation failed because the user aborted the installation.</string>
<string name="installation_blocked">Installation failed because the user blocked the installation.</string>
<string name="installation_downgrade">Installation failed because the user tried to downgrade the package. Uninstall updates from the stock app, then try again.</string>
<string name="installation_conflict">Installation failed because the app conflicts with an already installed app. Uninstall the current version of the app, then try again.</string>
<string name="installation_failed">Installation failed for unknown reasons, join our Telegram or Discord for further support. Please also attach a screenshot from the Advanced menu</string>

View file

@ -81,7 +81,6 @@
<string name="version">Versiyon</string>
<string name="microg_bug">Çewtî di MicroG de</string>
<string name="microg_bug_summary">Ji ber çewtiyek di mîkroG ya orîjînal de, sazkirina Vanced v16+ yekem hewce dike ku hûn v15.43.32 saz bikin, vekin, paşê têbikevin û tenê paşê hûn dikarin v16 û bilindtir saz bikin. Hûn dixwazin sazkirina v15.43.32 berdewam bikin?</string>
<string name="microg_bug_summary_music">Ji ber çewtiyek di microG ya orîjînal de, sazkirina Music v4.11+ yekem hewce dike ku hûn v4.07.51 saz bikin, vekin, paşê têbikevin û tenê paşê hûn dikarin v4.11 û bilindtir saz bikin. Hûn dixwazin sazkirina v4.07.51 berdewam bikin?</string>
<string name="please_be_patient">Ji kerema xwe di vê pêvajoyê de ji sepanê dernakeve!</string>
<string name="welcome">Bi xêr hatî</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Sazkirina pelên pêwîst bi ser neket. Pelên sazkirinê ji nû ve dakêşin, piştre dîsa biceribînin.</string>
<string name="ifile_missing">Nekarî pelê apk ji bo dirba reş/tarî ji hilanînê bicîh bike, ji kerema xwe re dîsa biceribîne.</string>
<string name="installation_aborted">Sazkirin bi ser neket ji ber ku bikarhêner sazkirin bete betalkirin.</string>
<string name="installation_blocked">Sazkirin bi ser neket ji ber ku bikarhêner sazkirin asteng kir.</string>
<string name="installation_downgrade">Sazkirin bi ser neket ji ber ku bikarhêner hewl da pakêtê kêm bike. Nûvekirinên ji parsûyê rabike, paşê dîsa biceribîne.</string>
<string name="installation_conflict">Sazkirin bi ser neket ji ber ku pêvek bi pêvek berê sazkirî re naqede. Vê versiyona heyî ya vê appê saz bike, paşê dîsa biceribîne.</string>
<string name="installation_failed">Sazkirin ji ber sedemên nediyar têk çû, ji bo piştgiriya zêdetir tevlî Telegram an Jî Discordê me bibin. Ji kerema xwe dîmenek ekranê jî ji menuya Pêşkeftî ve girêdayî bikin</string>

View file

@ -81,7 +81,6 @@
<string name="version">버전</string>
<string name="microg_bug">microG의 버그</string>
<string name="microg_bug_summary">기존 microG의 버그로 인해 v15.43.32를 먼저 설치하고 연 다음 로그인해야 Vanced v16 이상을 설치할 수 있습니다. v15.43.32 설치를 진행하시겠습니까?</string>
<string name="microg_bug_summary_music">기존 microG의 버그로 인해 v4.07.51를 먼저 설치하고 연 다음 로그인해야 Music v4.11 이상을 설치할 수 있습니다. v4.07.51 설치를 진행하시겠습니까?</string>
<string name="please_be_patient">이 작업을 하는 동안 이 앱에서 나가지 마세요!</string>
<string name="welcome">환영합니다</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">설치에 필요한 파일을 찾지 못했습니다. 설치 파일을 다시 다운로드한 다음 재시도하십시오.</string>
<string name="ifile_missing">저장소에서 블랙/다크 테마에 대한 apk 파일을 찾지 못했습니다. 다시 시도하십시오.</string>
<string name="installation_aborted">사용자가 설치를 중단했기 때문에 앱을 설치하지 못했습니다.</string>
<string name="installation_blocked">사용자가 설치를 차단했기 때문에 앱을 설치하지 못했습니다.</string>
<string name="installation_downgrade">사용자가 패키지를 이전 버전으로 변경하려고 하여 앱을 설치하지 못했습니다. 기본 앱의 업데이트를 제거한 후, 설치를 다시 시도해주세요.</string>
<string name="installation_conflict">앱이 이미 설치된 앱과 충돌하여 설치하지 못했습니다. 현재 버전의 앱을 제거한 다음 다시 시도하십시오.</string>
<string name="installation_failed">알 수 없는 이유로 인해 설치가 실패했습니다. 저희 텔레그램 또는 디스코드에 알려주시면 도와드리겠습니다. \'고급\' 메뉴의 스크린샷도 첨부하여 주십시오.</string>

View file

@ -81,7 +81,6 @@
<string name="version">Guherto</string>
<string name="microg_bug">Bug in microG</string>
<string name="microg_bug_summary">Due to a bug in the original microG, installing Vanced v16+ first requires you to install v15.43.32, open it, then login and only then can you install v16 and higher. Do you want to proceed with the installation of v15.43.32?</string>
<string name="microg_bug_summary_music">Due to a bug in the original microG, installing Music v4.11+ first requires you to install v4.07.51, open it, then login and only then can you install v4.11 and higher. Do you want to proceed with the installation of v4.07.51?</string>
<string name="please_be_patient">Please do NOT exit the app during this process!</string>
<string name="welcome">Bi xêr hatî</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Dozîna dosiyên pêwîst ji bo sazkirinê bi ser neket. Dosiyên sazkirinê dîsa daxîne, paşê dubare biceribîne.</string>
<string name="ifile_missing">Dozîna dosiya apk ji bo rûkara reş/tarî ji bîrgehê bi ser neket, jkx dîsa biceribîne.</string>
<string name="installation_aborted">Sazkirin bi ser neket ji ber ku bikarîner dawî li pêvajoya sazkirinê anî.</string>
<string name="installation_blocked">Sazkirin bi ser neket ji ber ku bikarînerê sazkirin asteng kir.</string>
<string name="installation_downgrade">Sazkirin bi ser neket ji ber ku bikarîner hewl dida derecebendiya pakêtê kêm bike. Hildeman ji bernameya YouTube\'ê ya heyî rakin, paşê dîsa biceribînin.</string>
<string name="installation_conflict">Sazkirin bi ser neket ji ber ku ev bernameya ligel bernameyeke din ya sazkirî li hev nake. Guhertoya heyî ya Vanced\'ê rakin, paşê dîsa biceribînin.</string>
<string name="installation_failed">Installation failed for unknown reasons, join our Telegram or Discord for further support. Please also attach a screenshot from the Advanced menu</string>

View file

@ -81,7 +81,6 @@
<string name="version">പതിപ്പ്</string>
<string name="microg_bug">മൈക്രോജിയിൽ ബഗ്</string>
<string name="microg_bug_summary">യഥാർത്ഥ മൈക്രോജിയിലെ ഒരു ബഗ് കാരണം, ആദ്യം വാൻ‌സ്ഡ് വി 16 + ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന് നിങ്ങൾ വി 15.43.32 ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതുണ്ട്, അത് തുറക്കുക, തുടർന്ന് ലോഗിൻ ചെയ്യുക, അതിനുശേഷം മാത്രമേ നിങ്ങൾക്ക് വി 16 ഉം അതിലും ഉയർന്നതും ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയൂ. V15.43.32 ഇൻസ്റ്റാളേഷൻ തുടരാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ?</string>
<string name="microg_bug_summary_music">യഥാർത്ഥ മൈക്രോജിയിലെ ഒരു ബഗ് കാരണം, ആദ്യം മ്യൂസിക് v4.11 + ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന് നിങ്ങൾ ആദ്യം v4.07.51 ഇൻസ്റ്റാൾ ചെയ്യണം, അത് തുറക്കുക, തുടർന്ന് ലോഗിൻ ചെയ്യുക, അപ്പോൾ മാത്രമേ നിങ്ങൾക്ക് v4.11 ഉം അതിലും ഉയർന്നതും ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയൂ. V4.07.51 ഇൻസ്റ്റാളേഷൻ തുടരാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ?</string>
<string name="please_be_patient">പ്രോസസ്സ് സമയത്ത് അപ്ലിക്കേഷനിൽ നിന്ന് പുറത്തുകടക്കരുത്!</string>
<string name="welcome">സ്വാഗതം</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">ഇൻസ്റ്റാളേഷന് ആവശ്യമായ ഫയലുകൾ കണ്ടെത്തുന്നതിൽ പരാജയപ്പെട്ടു. ഇൻസ്റ്റാളേഷൻ ഫയലുകൾ വീണ്ടും ഡ download ൺലോഡ് ചെയ്യുക, തുടർന്ന് വീണ്ടും ശ്രമിക്കുക.</string>
<string name="ifile_missing">സംഭരണത്തിൽ നിന്ന് കറുപ്പ് / ഇരുണ്ട തീമിനായി Apk ഫയൽ കണ്ടെത്തുന്നതിൽ പരാജയപ്പെട്ടു, ദയവായി വീണ്ടും ശ്രമിക്കുക.</string>
<string name="installation_aborted">ഉപയോക്താവ് ഇൻസ്റ്റാളേഷൻ നിർത്തലാക്കിയതിനാൽ ഇൻസ്റ്റാളേഷൻ പരാജയപ്പെട്ടു.</string>
<string name="installation_blocked">ഉപയോക്താവ് ഇൻസ്റ്റാളേഷൻ തടഞ്ഞതിനാൽ ഇൻസ്റ്റാളേഷൻ പരാജയപ്പെട്ടു.</string>
<string name="installation_downgrade">ഉപയോക്താവ് പാക്കേജ് തരംതാഴ്ത്താൻ ശ്രമിച്ചതിനാൽ ഇൻസ്റ്റാളേഷൻ പരാജയപ്പെട്ടു. സ്റ്റോക്ക് അപ്ലിക്കേഷനിൽ നിന്ന് അപ്‌ഡേറ്റുകൾ അൺഇൻസ്റ്റാൾ ചെയ്യുക, തുടർന്ന് വീണ്ടും ശ്രമിക്കുക.</string>
<string name="installation_conflict">ഇതിനകം ഇൻസ്റ്റാളുചെയ്‌ത അപ്ലിക്കേഷനുമായി അപ്ലിക്കേഷൻ പൊരുത്തപ്പെടുന്നതിനാൽ ഇൻസ്റ്റാളേഷൻ പരാജയപ്പെട്ടു. അപ്ലിക്കേഷന്റെ നിലവിലെ പതിപ്പ് അൺ‌ഇൻസ്റ്റാൾ ചെയ്യുക, തുടർന്ന് വീണ്ടും ശ്രമിക്കുക.</string>
<string name="installation_failed">അജ്ഞാതമായ കാരണങ്ങളാൽ ഇൻസ്റ്റാളേഷൻ പരാജയപ്പെട്ടു, കൂടുതൽ പിന്തുണയ്ക്കായി ഞങ്ങളുടെ ടെലിഗ്രാം അല്ലെങ്കിൽ ഡിസ്കോർഡിൽ ചേരുക. വിപുലമായ മെനുവിൽ നിന്ന് ഒരു സ്ക്രീൻഷോട്ട് അറ്റാച്ചുചെയ്യുക</string>

View file

@ -81,7 +81,6 @@
<string name="version">Version</string>
<string name="microg_bug">Bug in microG</string>
<string name="microg_bug_summary">Due to a bug in the original microG, installing Vanced v16+ first requires you to install v15.43.32, open it, then login and only then can you install v16 and higher. Do you want to proceed with the installation of v15.43.32?</string>
<string name="microg_bug_summary_music">Due to a bug in the original microG, installing Music v4.11+ first requires you to install v4.07.51, open it, then login and only then can you install v4.11 and higher. Do you want to proceed with the installation of v4.07.51?</string>
<string name="please_be_patient">Please do NOT exit the app during this process!</string>
<string name="welcome">Welcome</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Failed to locate the required files for installation. Re-download the installation files, then try again.</string>
<string name="ifile_missing">Failed to locate apk file for black/dark theme from storage, please try again.</string>
<string name="installation_aborted">Installation failed because the user aborted the installation.</string>
<string name="installation_blocked">Installation failed because the user blocked the installation.</string>
<string name="installation_downgrade">Installation failed because the user tried to downgrade the package. Uninstall updates from the stock app, then try again.</string>
<string name="installation_conflict">Installation failed because the app conflicts with an already installed app. Uninstall the current version of the app, then try again.</string>
<string name="installation_failed">Installation failed for unknown reasons, join our Telegram or Discord for further support. Please also attach a screenshot from the Advanced menu</string>

View file

@ -81,7 +81,6 @@
<string name="version">Versie</string>
<string name="microg_bug">Probleem met microG</string>
<string name="microg_bug_summary">Als gevolg van een fout in microG, vereist de installatie van Vanced 16+ dat je v15.43.32 eerst installeert, die opent en je aanmeldt en pas daarna kan je versie v16 en hoger installeren. Wil je doorgaan met de installatie van v15.43.32?</string>
<string name="microg_bug_summary_music">Als gevolg van een fout in microG, vereist de installatie van Music v4.11+ dat je v4.07.51 eerst installeert, die opent en je aanmeldt en pas daarna kan je versie v4.11 en hoger installeren. Wil je doorgaan met de installatie van v4.07.51?</string>
<string name="please_be_patient">Gelieve de app NIET af te sluiten tijdens dit proces!</string>
<string name="welcome">Welkom</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Kan de vereiste bestanden voor de installatie niet vinden. Download de installatiebestanden opnieuw en probeer het opnieuw.</string>
<string name="ifile_missing">Kan het apk-bestand voor zwart/donker thema niet vinden in opslag. Probeer het opnieuw.</string>
<string name="installation_aborted">Installatie mislukt omdat de gebruiker de installatie heeft afgebroken.</string>
<string name="installation_blocked">Installatie mislukt omdat de gebruiker de installatie heeft geblokkeerd.</string>
<string name="installation_downgrade">Installatie mislukt omdat de gebruiker het pakket probeerde te downgraden. Verwijder updates van de standaard app en probeer het daarna opnieuw.</string>
<string name="installation_conflict">Installatie mislukt omdat de app conflicten heeft met een reeds geïnstalleerde app. Verwijder de huidige versie van die app en probeer het opnieuw.</string>
<string name="installation_failed">Installatie is mislukt om onbekende redenen, ga naar Telegram of Discord voor verdere ondersteuning. Voeg een screenshot toe via het menu Geavanceerd.</string>

View file

@ -81,7 +81,6 @@
<string name="version">Versjon</string>
<string name="microg_bug">Bug in microG</string>
<string name="microg_bug_summary">Due to a bug in the original microG, installing Vanced v16+ first requires you to install v15.43.32, open it, then login and only then can you install v16 and higher. Do you want to proceed with the installation of v15.43.32?</string>
<string name="microg_bug_summary_music">Due to a bug in the original microG, installing Music v4.11+ first requires you to install v4.07.51, open it, then login and only then can you install v4.11 and higher. Do you want to proceed with the installation of v4.07.51?</string>
<string name="please_be_patient">Please do NOT exit the app during this process!</string>
<string name="welcome">Velkommen</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Kunne ikke finne de nødvendige filene for installasjon. Last ned installasjonsfilene på nytt, og prøv på nytt.</string>
<string name="ifile_missing">Klarte ikke å finne apk-filen for svart/mørkt tema på enheten, vennligst prøv igjen.</string>
<string name="installation_aborted">Installasjonen mislyktes fordi brukeren avbrutt installasjonen.</string>
<string name="installation_blocked">Installasjonen mislyktes på grunn av at brukeren blokkerte installasjonen.</string>
<string name="installation_downgrade">Installation failed because the user tried to downgrade the package. Uninstall updates from the stock app, then try again.</string>
<string name="installation_conflict">Installation failed because the app conflicts with an already installed app. Uninstall the current version of the app, then try again.</string>
<string name="installation_failed">Installation failed for unknown reasons, join our Telegram or Discord for further support. Please also attach a screenshot from the Advanced menu</string>

View file

@ -81,7 +81,6 @@
<string name="version">ਵਰਜਨ</string>
<string name="microg_bug">ਮਾਈਕਰੋਜੀ ਵਿੱਚ ਬੱਗ</string>
<string name="microg_bug_summary">Due to a bug in the original microG, installing Vanced v16+ first requires you to install v15.43.32, open it, then login and only then can you install v16 and higher. Do you want to proceed with the installation of v15.43.32?</string>
<string name="microg_bug_summary_music">Due to a bug in the original microG, installing Music v4.11+ first requires you to install v4.07.51, open it, then login and only then can you install v4.11 and higher. Do you want to proceed with the installation of v4.07.51?</string>
<string name="please_be_patient">Please do NOT exit the app during this process!</string>
<string name="welcome">ਜੀ ਆਇਆਂ ਨੂੰ</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">ਇੰਸਟਾਲੇਸ਼ਨ ਲਈ ਲੋੜੀਂਦੀਆਂ ਫਾਈਲਾਂ ਦਾ ਪਤਾ ਲਗਾਉਣ ਵਿੱਚ ਅਸਫਲ. ਇੰਸਟਾਲੇਸ਼ਨ ਫਾਈਲਾਂ ਨੂੰ ਮੁੜ ਡਾਉਨਲੋਡ ਕਰੋ, ਫਿਰ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ.</string>
<string name="ifile_missing">ਸਟੋਰੇਜ ਤੋਂ ਕਾਲੇ / ਹਨੇਰੇ ਥੀਮ ਲਈ ਏਪੀਕੇ ਫਾਈਲ ਲੱਭਣ ਵਿੱਚ ਅਸਫਲ, ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ.</string>
<string name="installation_aborted">ਇੰਸਟਾਲ ਨਾਕਾਮ ਰਹੀ ਕਿਓਂਕਿ ਉਪਯੋਗਕਰਤਾ ਨੇ ਇੰਸਟਾਲੇਸ਼ਨ ਰੱਦ ਕਰ ਦਿੱਤੀ.</string>
<string name="installation_blocked">ਇੰਸਟਾਲੇਸ਼ਨ ਨਾਕਾਮ ਰਹੀ ਕਿਓਂਕਿ ਉਪਯੋਗਕਰਤਾ ਨੇ ਇੰਸਟਾਲੇਸ਼ਨ ਬਲਾਕ ਕਰ ਦਿੱਤੀ.</string>
<string name="installation_downgrade">Installation failed because the user tried to downgrade the package. Uninstall updates from the stock app, then try again.</string>
<string name="installation_conflict">ਸਥਾਪਨਾ ਅਸਫਲ ਕਿਉਂਕਿ ਐਪ ਪਹਿਲਾਂ ਤੋਂ ਸਥਾਪਤ ਐਪ ਨਾਲ ਟਕਰਾਉਂਦੀ ਹੈ. ਐਪ ਦੇ ਮੌਜੂਦਾ ਸੰਸਕਰਣ ਨੂੰ ਅਣਇੰਸਟੌਲ ਕਰੋ, ਫਿਰ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ.</string>
<string name="installation_failed">Installation failed for unknown reasons, join our Telegram or Discord for further support. Please also attach a screenshot from the Advanced menu</string>

View file

@ -81,7 +81,6 @@
<string name="version">Version</string>
<string name="microg_bug">Bug in microG</string>
<string name="microg_bug_summary">Due to a bug in the original microG, installing Vanced v16+ first requires you to install v15.43.32, open it, then login and only then can you install v16 and higher. Do you want to proceed with the installation of v15.43.32?</string>
<string name="microg_bug_summary_music">Due to a bug in the original microG, installing Music v4.11+ first requires you to install v4.07.51, open it, then login and only then can you install v4.11 and higher. Do you want to proceed with the installation of v4.07.51?</string>
<string name="please_be_patient">Please do NOT exit the app during this process!</string>
<string name="welcome">Welcome</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Failed to locate the required files for installation. Re-download the installation files, then try again.</string>
<string name="ifile_missing">Failed to locate apk file for black/dark theme from storage, please try again.</string>
<string name="installation_aborted">Installation failed because the user aborted the installation.</string>
<string name="installation_blocked">Installation failed because the user blocked the installation.</string>
<string name="installation_downgrade">Installation failed because the user tried to downgrade the package. Uninstall updates from the stock app, then try again.</string>
<string name="installation_conflict">Installation failed because the app conflicts with an already installed app. Uninstall the current version of the app, then try again.</string>
<string name="installation_failed">Installation failed for unknown reasons, join our Telegram or Discord for further support. Please also attach a screenshot from the Advanced menu</string>

View file

@ -81,7 +81,6 @@
<string name="version">Wersja</string>
<string name="microg_bug">Błąd w microG</string>
<string name="microg_bug_summary">Ze względu na błąd w microG, instalacja Vanced 16+ wymaga najpierw instalacji v15.43.32, otwórz go, a następnie zaloguj się i tylko wtedy możesz zainstalować v16 i nowsze. Czy chcesz kontynuować instalację v15.43.32?</string>
<string name="microg_bug_summary_music">Ze względu na błąd w microG głównej, instalacja Muzyka v4.11+ wymaga najpierw instalacji v4.07.51, otwórz go, a następnie zaloguj się i tylko wtedy możesz zainstalować v4.11 i nowsze. Czy chcesz kontynuować instalację v4.07.51?</string>
<string name="please_be_patient">NIE wychodź z aplikacji podczas trwania tego procesu!</string>
<string name="welcome">Witaj</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Nie udało się zlokalizować wymaganych plików do instalacji. Pobierz ponownie pliki instalacyjne, a następnie spróbuj ponownie.</string>
<string name="ifile_missing">Nie udało się zlokalizować pliku apk dla czarnego/ciemnego motywu, spróbuj ponownie.</string>
<string name="installation_aborted">Instalacja nie powiodła się, ponieważ użytkownik przerwał instalację.</string>
<string name="installation_blocked">Instalacja nie powiodła się, ponieważ użytkownik zablokował instalację.</string>
<string name="installation_downgrade">Instalacja nie powiodła się, ponieważ użytkownik próbował obniżyć paczkę. Odinstaluj aktualizacje z domyślnej aplikacji YouTube, a następnie spróbuj ponownie.</string>
<string name="installation_conflict">Instalacja nie powiodła się ponieważ aplikacja konfliktuje z już zainstalowaną aplikacją. Odinstaluj aktualną wersję aplikacji a następnie spróbuj ponownie.</string>
<string name="installation_failed">Instalacja nie powiodła się z nieznanych powodów, dołącz do naszego Telegrama lub Discorda, aby uzyskać dalsze wsparcie. Proszę również dołączyć zrzut ekranu z zaawansowanego menu</string>

View file

@ -81,7 +81,6 @@
<string name="version">Version</string>
<string name="microg_bug">Bug in microG</string>
<string name="microg_bug_summary">Due to a bug in the original microG, installing Vanced v16+ first requires you to install v15.43.32, open it, then login and only then can you install v16 and higher. Do you want to proceed with the installation of v15.43.32?</string>
<string name="microg_bug_summary_music">Due to a bug in the original microG, installing Music v4.11+ first requires you to install v4.07.51, open it, then login and only then can you install v4.11 and higher. Do you want to proceed with the installation of v4.07.51?</string>
<string name="please_be_patient">Please do NOT exit the app during this process!</string>
<string name="welcome">Welcome</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Failed to locate the required files for installation. Re-download the installation files, then try again.</string>
<string name="ifile_missing">Failed to locate apk file for black/dark theme from storage, please try again.</string>
<string name="installation_aborted">Installation failed because the user aborted the installation.</string>
<string name="installation_blocked">Installation failed because the user blocked the installation.</string>
<string name="installation_downgrade">Installation failed because the user tried to downgrade the package. Uninstall updates from the stock app, then try again.</string>
<string name="installation_conflict">Installation failed because the app conflicts with an already installed app. Uninstall the current version of the app, then try again.</string>
<string name="installation_failed">Installation failed for unknown reasons, join our Telegram or Discord for further support. Please also attach a screenshot from the Advanced menu</string>

View file

@ -81,7 +81,6 @@
<string name="version">Versão</string>
<string name="microg_bug">Bug no microG</string>
<string name="microg_bug_summary">Devido a um bug no microG original, instalar a versão 16+ requer que você instale a versão 15.43.32, abra ela, faça login e só então você pode instalar a versão 16 em diante. Você deseja proceder com a instalação da versão 15.43.32?</string>
<string name="microg_bug_summary_music">Devido a um erro no microG original, instalar a versão 4.11+ do Music primeiro requer que você instale a versão 4.07.51, abra ela, faça login e só então você pode instalar a versão 4.11 e adiante. Você deseja proceder com a instalação da versão 4.07.51?</string>
<string name="please_be_patient">Por favor NÃO saia do aplicativo durante este processo!</string>
<string name="welcome">Bem-vindo</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Falha ao localizar os arquivos necessários para instalação. Baixe novamente os arquivos de instalação e tente novamente.</string>
<string name="ifile_missing">Falha ao localizar o arquivo apk para o tema preto/escuro a partir do armazenamento, por favor tente novamente.</string>
<string name="installation_aborted">A instalação falhou porque o usuário abortou a instalação.</string>
<string name="installation_blocked">A instalação falhou porque o usuário bloqueou a instalação.</string>
<string name="installation_downgrade">A instalação falhou porque o usuário tentou fazer o downgrade do pacote. Desinstale as atualizações do aplicativo padrão e tente novamente.</string>
<string name="installation_conflict">A instalação falhou porque o app está em conflito com um app já instalado. Desinstale a versão atual do aplicativo e tente novamente.</string>
<string name="installation_failed">A instalação falhou por razões desconhecidas, junte-se ao nosso Telegram ou Discord para obter mais suporte. Por favor, anexe também uma captura de tela do menu Avançado</string>

View file

@ -81,7 +81,6 @@
<string name="version">Versão</string>
<string name="microg_bug">Bug no microG</string>
<string name="microg_bug_summary">Devido a um bug no microG original, instalar o Vanced v16+ primeiro requer que você instale o v15.43. 2, abra-o, em seguida, faça o login e só depois poderá instalar a v16 ou superior. Você deseja prosseguir com a instalação da v15.43.32?</string>
<string name="microg_bug_summary_music">Devido a um erro no microG original, instalar o Music v4.11+ primeiro requer que você instale o v4.07. 1, abra-o, depois faça o login e só depois você pode instalar o v4.11 e superior. Você deseja prosseguir com a instalação da v4.07.51?</string>
<string name="please_be_patient">Por favor NÃO saia do aplicativo durante este processo!</string>
<string name="welcome">Bem-Vindo</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Falha ao localizar os arquivos necessários para instalação. Faça o download dos arquivos de instalação e tente novamente.</string>
<string name="ifile_missing">Falha ao localizar o apk para o tema preto/escuro no armazenamento, por favor, tente novamente.</string>
<string name="installation_aborted">A instalação falhou porque o usuário abortou a instalação.</string>
<string name="installation_blocked">A instalação falhou porque o usuário bloqueou a instalação.</string>
<string name="installation_downgrade">A instalação falhou porque o usuário tentou fazer o downgrade do pacote. Desinstale as atualizações do app do YouTube e, em seguida, tente novamente.</string>
<string name="installation_conflict">A instalação falhou porque o app entra em conflito com um app já instalado. Desinstale a versão atual do app e tente novamente.</string>
<string name="installation_failed">A instalação falhou por razões desconhecidas, junte-se ao nosso Telegram ou Discord para mais suporte. Por favor, anexe também uma captura de tela do menu Avançado</string>

View file

@ -81,7 +81,6 @@
<string name="version">Versiune</string>
<string name="microg_bug">Eroare la microG</string>
<string name="microg_bug_summary">Din cauza unei erori în microG, pentru a instala Vanced versiunea 16, este nevoie mai întâi să instalați versiunea 15.43.32, să o deschideți, apoi să vă autentificați și abia apoi puteți instala versiunea 16 și alte versiuni ulterioare. Doriți să continuați cu instalarea versiunii 15.43.32?</string>
<string name="microg_bug_summary_music">Din cauza unei erori în microG, pentru a instala Music Vanced versiunea 4.11, este nevoie mai întâi să instalați versiunea 4.07.51, să o deschideți, apoi să vă autentificați și abia apoi puteți instala versiunea 4.11 și alte versiuni ulterioare. Doriți să continuați cu instalarea versiunii 4.07.51?</string>
<string name="please_be_patient">Vă rugăm să NU ieșiți din aplicație în timpul acestui proces!</string>
<string name="welcome">Bun venit</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Nu s-a reușit localizarea fișierelor necesare pentru instalare. Redescărcați fișierele de instalare, apoi încercați din nou.</string>
<string name="ifile_missing">Nu s-a reuşit localizarea fişierului apk pentru tema neagră/întunecată din stocare, vă rugăm să încercaţi din nou.</string>
<string name="installation_aborted">Instalarea a eșuat deoarece utilizatorul a anulat instalarea.</string>
<string name="installation_blocked">Instalarea a eșuat deoarece utilizatorul a blocat instalarea.</string>
<string name="installation_downgrade">Instalarea a eșuat deoarece utilizatorul a încercat să retrogradeze pachetul. Dezinstalați actualizările din aplicația stock YouTube, apoi încercați din nou.</string>
<string name="installation_conflict">Instalarea a eșuat deoarece aplicația intră în conflict cu o aplicație deja instalată. Dezinstalați versiunea curentă a aplicației, apoi încercați din nou.</string>
<string name="installation_failed">Instalarea a eșuat din motive necunoscute. Pentru asistență, intră pe grupul nostru de Telegram sau Discord. Te rugăm să atașezi și o captură de ecran din meniul Avansat</string>

View file

@ -81,7 +81,6 @@
<string name="version">Версия</string>
<string name="microg_bug">Ошибка в microG</string>
<string name="microg_bug_summary">В связи с ошибкой в microG, установка Vanced версии 16+ сначала требует установку версии 15.43.32, затем необходимо открыть приложение, авторизоваться в аккаунте и только после этого можно будет установить версию 16 и выше. Вы хотите продолжить установку версии 15.43.32?</string>
<string name="microg_bug_summary_music">В связи с ошибкой в microG, установка Music версии 4.11+ сначала требует установку версии 4.07.51, затем необходимо открыть приложение, авторизоваться в аккаунте и только после этого можно будет установить версию 4.11 и выше. Вы хотите продолжить установку версии 4.07.51?</string>
<string name="please_be_patient">Пожалуйста, НЕ выходите из приложения в течение этого процесса!</string>
<string name="welcome">Добро пожаловать</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Не удалось найти необходимые файлы для установки. Повторно загрузите установочные файлы и попробуйте еще раз.</string>
<string name="ifile_missing">Не удалось найти apk-файл для черной/темной темы в памяти устройства, повторите попытку.</string>
<string name="installation_aborted">Установка не была выполнена, поскольку пользователь прервал установку.</string>
<string name="installation_blocked">Установка не была выполнена, поскольку пользователь заблокировал установку.</string>
<string name="installation_downgrade">Установка не удалась, так как пользователь попытался понизить версию приложения. Удалите обновления обычного приложения YouTube, затем повторите попытку.</string>
<string name="installation_conflict">Установка не удалась, так как приложение конфликтует с уже установленным приложением. Удалите текущую версию приложения, затем повторите попытку.</string>
<string name="installation_failed">Установка не удалась по неизвестным причинам, присоединитесь к нашим каналам Telegram или Discord для дальнейшей поддержки. Пожалуйста, также прикрепите скриншот из расширенного меню</string>

View file

@ -81,7 +81,6 @@
<string name="version">අනුවාදය</string>
<string name="microg_bug">Bug in microG</string>
<string name="microg_bug_summary">Due to a bug in the original microG, installing Vanced v16+ first requires you to install v15.43.32, open it, then login and only then can you install v16 and higher. Do you want to proceed with the installation of v15.43.32?</string>
<string name="microg_bug_summary_music">Due to a bug in the original microG, installing Music v4.11+ first requires you to install v4.07.51, open it, then login and only then can you install v4.11 and higher. Do you want to proceed with the installation of v4.07.51?</string>
<string name="please_be_patient">Please do NOT exit the app during this process!</string>
<string name="welcome">ආයුබෝවන්</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Failed to locate the required files for installation. Re-download the installation files, then try again.</string>
<string name="ifile_missing">Failed to locate apk file for black/dark theme from storage, please try again.</string>
<string name="installation_aborted">Installation failed because the user aborted the installation.</string>
<string name="installation_blocked">Installation failed because the user blocked the installation.</string>
<string name="installation_downgrade">Installation failed because the user tried to downgrade the package. Uninstall updates from the stock app, then try again.</string>
<string name="installation_conflict">Installation failed because the app conflicts with an already installed app. Uninstall the current version of the app, then try again.</string>
<string name="installation_failed">Installation failed for unknown reasons, join our Telegram or Discord for further support. Please also attach a screenshot from the Advanced menu</string>

View file

@ -81,7 +81,6 @@
<string name="version">Verzia</string>
<string name="microg_bug">Chyba v microG</string>
<string name="microg_bug_summary">Kvôli chybe v pôvodnom microG si inštalácia Vanced v16+ vyžaduje najskôr inštaláciu v15.43.32, otvorenie, následné prihlásenie a až potom môžete nainštalovať v16 a vyššiu. Chcete pokračovať v inštalácii verzie 15.43.32?</string>
<string name="microg_bug_summary_music">Kvôli chybe v pôvodnom microG si inštalácia aplikácie Music v4.11+ vyžaduje najskôr inštaláciu verzie 4.0.0.51, otvorenie, následné prihlásenie a až potom môžete nainštalovať verziu 4.14 a vyššiu. Chcete pokračovať v inštalácii verzie v4.07.51?</string>
<string name="please_be_patient">Počas tohto procesu NEODCHÁDZAJTE z aplikácie!</string>
<string name="welcome">Vitajte</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Nepodarilo sa nájsť požadované súbory na inštaláciu. Opätovne stiahnite inštalačné súbory a skúste to znova.</string>
<string name="ifile_missing">V lokálnom úložisku sa nepodarilo nájsť APK súbor pre čiernu/tmavú tému. Skúste to prosím znova.</string>
<string name="installation_aborted">Inštalácia zlyhala, kvôli zrušeniu užívateľom.</string>
<string name="installation_blocked">Inštalácia zlyhala, kvôli zablokovaniu užívateľom.</string>
<string name="installation_downgrade">Inštalácia zlyhala, pretože užívateľ sa pokúsil downgradovať balík. Odinštalujte aktualizácie z pôvodnej aplikácie a potom to skúste znova.</string>
<string name="installation_conflict">Inštalácia zlyhala, pretože aplikácia je v konflikte s už nainštalovanou aplikáciou. Odinštalujte aktuálnu verziu aplikácie a potom to skúste znova.</string>
<string name="installation_failed">Inštalácia zlyhala z neznámych dôvodov. Pre poskytnutie podpory sa pripojte sa k nášmu Telegramu alebo Discordu. Pripojte tiež snímky obrazovky z ponuky Pokročilé</string>

View file

@ -81,7 +81,6 @@
<string name="version">Tirsiga</string>
<string name="microg_bug">Cillad xaga microG ah</string>
<string name="microg_bug_summary">Due to a bug in the original microG, installing Vanced v16+ first requires you to install v15.43.32, open it, then login and only then can you install v16 and higher. Do you want to proceed with the installation of v15.43.32?</string>
<string name="microg_bug_summary_music">Due to a bug in the original microG, installing Music v4.11+ first requires you to install v4.07.51, open it, then login and only then can you install v4.11 and higher. Do you want to proceed with the installation of v4.07.51?</string>
<string name="please_be_patient">Please do NOT exit the app during this process!</string>
<string name="welcome">Soo dhawoow</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Laguma guulaysan in la helo faylashii ku shubi lahaa. Dib-usoodaji faylasha, kadibna isku day markale.</string>
<string name="ifile_missing">Laguma guulaysanin in faylka apk-ga ee nashqada madow/mugdiga laga helo kaydka aalaada, fadlan markale isku day.</string>
<string name="installation_aborted">Ku shubidii way guuldaraysatay sababtoo ah qofka aalada isticmaalaya ayaa joojiyay.</string>
<string name="installation_blocked">Ku shubidii way guuldaraysatay sababtoo ah qofka aalada isticmaalaya ayaa xanibay.</string>
<string name="installation_downgrade">Installation failed because the user tried to downgrade the package. Uninstall updates from the stock app, then try again.</string>
<string name="installation_conflict">Ku shubidii way guuldaraysatay sababtoo ah app-ka waxay iskhilaafeen mid horay ugu jiray aalada. Ka saar nooca hadda ee kujira, kadib markale ku celi.</string>
<string name="installation_failed">Installation failed for unknown reasons, join our Telegram or Discord for further support. Please also attach a screenshot from the Advanced menu</string>

View file

@ -81,7 +81,6 @@
<string name="version">Верзија</string>
<string name="microg_bug">Грешка у МикроГ апликацији</string>
<string name="microg_bug_summary">Услед грешке у оригиналној МикроГ апликацији инсталација Vanced v16+ захтева инсталирање v15.43.32 апликације, отворите улогујете се и онда инсталирати v16 или новију верзију. Желите да наставите инсталацију v15.43.32?</string>
<string name="microg_bug_summary_music">Услед грешке у оригиналној МикроГ апликацији инсталација Music v4.11+ захтева инсталирање v4.07.51 апликације, отворите улогујете се и онда инсталирати v4.11 или новију верзију. Желите да наставите инсталацију v4.07.51?</string>
<string name="please_be_patient">Немојте излазити из апликације у току овога процеса!</string>
<string name="welcome">Добро дошли</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Није могуће пронаћи датотеке за инсталацију. Преузмите их поново и поновите инсталацију.</string>
<string name="ifile_missing">Није могуће пронаћи apk датотеку за црно/тамну тему у меморијском простору, покушајте поново.</string>
<string name="installation_aborted">Инсталација није успешна, корисник је обуставио инсталацију.</string>
<string name="installation_blocked">Инсталација није успешна, корисник је блокирао инсталацију.</string>
<string name="installation_downgrade">Инсталација није успешна, корисник је покушао да инсталира старију верзију преко новије верзије апликације. Деинсталирајте све до предодређене инсталиране верзије YouTubе апликације, затим покушајте поново.</string>
<string name="installation_conflict">Инсталација неуспешна, зато што је дошло до конфликта са већ инсталираном верзијом. Деинсталирајте тренутну верзију Vanced-а и затим покушајте поново.</string>
<string name="installation_failed">Неуспешна инсталација услед непознатих разлога, Прикључите се нашем Telegram или Discord каналима за помоћ. Молимо да прикључите снимак екрана из Проширеног Менија</string>

View file

@ -81,7 +81,6 @@
<string name="version">Version</string>
<string name="microg_bug">Bugg i microG</string>
<string name="microg_bug_summary">På grund av en bugg i mainline microG, måste du installera Vanced v16+ först installera v15.43. 2, öppna den, sedan logga in och endast då kan du installera v16 och högre. Vill du fortsätta med installationen av v15.43.32?</string>
<string name="microg_bug_summary_music">På grund av en bugg i mainline microG, måste du installera Vanced v16+ först installera v15.43. 2, öppna den, sedan logga in och endast då kan du installera v16 och högre. Vill du fortsätta med installationen av v15.11?</string>
<string name="please_be_patient">Vänligen avsluta INTE appen under denna process!</string>
<string name="welcome">Välkommen</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">Det gick inte att hitta de nödvändiga filerna för installationen. Ladda ner installationsfilerna igen och försök igen.</string>
<string name="ifile_missing">Det gick inte att hitta apk-fil för svart/mörkt tema från lagring, försök igen.</string>
<string name="installation_aborted">Åtgärden misslyckades eftersom användaren avbröt installationen.</string>
<string name="installation_blocked">Åtgärden misslyckades eftersom användaren avbröt installationen.</string>
<string name="installation_downgrade">Installationen misslyckades eftersom användaren försökte nedgradera paketet. Avinstallera uppdateringar från lagerappen YouTube, försök sedan igen.</string>
<string name="installation_conflict">Installationen misslyckades eftersom appen står i konflikt med en redan installerad app. Avinstallera den aktuella versionen av Vanced, försök sedan igen.</string>
<string name="installation_failed">Installationen misslyckades av okända skäl, gå med i vårt Telegram eller Discord för ytterligare stöd. Vänligen bifoga även en skärmdump från menyn Avancerat</string>

View file

@ -81,7 +81,6 @@
<string name="version">பதிப்பு</string>
<string name="microg_bug">மைக்ரோஜியில் பிழை</string>
<string name="microg_bug_summary">அசல் மைக்ரோஜில் ஒரு பிழை காரணமாக, Vanced V16 + ஐ நிறுவுதல் நீங்கள் V15.43.32 ஐ நிறுவ வேண்டும், அதைத் திறக்க வேண்டும், பின்னர் உள்நுழைந்து, பின்னர் நீங்கள் V16 மற்றும் அதிக நிறுவ முடியும். V15.43.32 இன் நிறுவலுடன் தொடர வேண்டுமா?</string>
<string name="microg_bug_summary_music">அசல் மைக்ரோக்கில் ஒரு பிழை காரணமாக, இசை v4.11 + ஐ நிறுவுதல் முதலில் நீங்கள் V4.07.51 ஐ நிறுவ வேண்டும், அதைத் திறக்க வேண்டும், பின்னர் உள்நுழைந்து, பின்னர் நீங்கள் V4.11 ஐ நிறுவலாம். V4.07.51 இன் நிறுவலுடன் தொடர வேண்டுமா?</string>
<string name="please_be_patient">இந்த செயல்முறையின் போது பயன்பாட்டை விட்டு வெளியேற வேண்டாம்!</string>
<string name="welcome">வரவேற்பு</string>
<!-- Install Page -->
@ -104,7 +103,6 @@
<string name="files_missing_va">நிறுவலுக்கு தேவையான கோப்புகளை கண்டுபிடிப்பதில் தோல்வி. நிறுவல் கோப்புகளை மீண்டும் பதிவிறக்கவும், பின்னர் மீண்டும் முயற்சிக்கவும்.</string>
<string name="ifile_missing">சேமிப்பகத்திலிருந்து கருப்பு / இருண்ட கருப்பொருளுக்கான Apk கோப்பை கண்டுபிடிப்பதில் தோல்வி, தயவுசெய்து மீண்டும் முயற்சிக்கவும்.</string>
<string name="installation_aborted">பயனர் நிறுவலை நிறுத்தியதால் நிறுவல் தோல்வியடைந்தது.</string>
<string name="installation_blocked">பயனர் நிறுவலைத் தடுத்ததால் நிறுவல் தோல்வியடைந்தது.</string>
<string name="installation_downgrade">பயனர் தொகுப்பை தரமிறக்க முயற்சித்ததால் நிறுவல் தோல்வியடைந்தது. பங்கு பயன்பாட்டிலிருந்து புதுப்பிப்புகளை நிறுவல் நீக்க, பின்னர் மீண்டும் முயற்சிக்கவும்.</string>
<string name="installation_conflict">ஏற்கனவே நிறுவப்பட்ட பயன்பாட்டுடன் பயன்பாடு முரண்படுவதால் நிறுவல் தோல்வியடைந்தது. பயன்பாட்டின் தற்போதைய பதிப்பை நிறுவல் நீக்கி, பின்னர் மீண்டும் முயற்சிக்கவும்.</string>
<string name="installation_failed">நிறுவல் அறியப்படாத காரணங்களுக்காக தோல்வியடைந்தது, எங்கள் டெலிகிராம் அல்லது மேலும் ஆதரவுக்கு இணக்கமாக இருக்கலாம். மேம்பட்ட மெனுவிலிருந்து ஒரு ஸ்கிரீன் ஷாட்டை இணைக்கவும்</string>

Some files were not shown because too many files have changed in this diff Show more