mirror of
https://github.com/null2264/yokai.git
synced 2025-06-21 10:44:42 +00:00
refactor: Use J2K's cutout behaviour for Tachi's cutout support
Doesn't work at the moment (only work on landscape mode)
This commit is contained in:
parent
7daf8fefc7
commit
296c9eae67
48 changed files with 163 additions and 118 deletions
|
@ -35,7 +35,7 @@ android {
|
|||
minSdk = AndroidConfig.minSdk
|
||||
targetSdk = AndroidConfig.targetSdk
|
||||
applicationId = "eu.kanade.tachiyomi"
|
||||
versionCode = 120
|
||||
versionCode = 121
|
||||
versionName = "1.7.12"
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
multiDexEnabled = true
|
||||
|
|
|
@ -1,9 +1,24 @@
|
|||
package dev.yokai.domain.ui.settings
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.core.preference.PreferenceStore
|
||||
import eu.kanade.tachiyomi.core.preference.getEnum
|
||||
import eu.kanade.tachiyomi.data.preference.PreferenceKeys
|
||||
|
||||
class ReaderPreferences(private val preferenceStore: PreferenceStore) {
|
||||
fun cutoutShort() = preferenceStore.getBoolean("cutout_short", true)
|
||||
fun pagerCutoutBehavior() = preferenceStore.getEnum(PreferenceKeys.pagerCutoutBehavior, CutoutBehaviour.SHOW)
|
||||
|
||||
fun landscapeCutoutBehavior() = preferenceStore.getInt("landscape_cutout_behavior", 0)
|
||||
fun landscapeCutoutBehavior() = preferenceStore.getEnum("landscape_cutout_behavior", LandscapeCutoutBehaviour.DEFAULT)
|
||||
|
||||
enum class CutoutBehaviour(@StringRes val titleResId: Int) {
|
||||
SHOW(R.string.cutout_show),
|
||||
HIDE(R.string.cutout_hide),
|
||||
IGNORE(R.string.cutout_ignore),
|
||||
}
|
||||
|
||||
enum class LandscapeCutoutBehaviour(@StringRes val titleResId: Int) {
|
||||
HIDE(R.string.cutout_hide),
|
||||
DEFAULT(R.string.cutout_landscape),
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,6 +3,9 @@ package eu.kanade.tachiyomi
|
|||
import androidx.core.content.edit
|
||||
import androidx.preference.PreferenceManager
|
||||
import dev.yokai.domain.base.BasePreferences
|
||||
import dev.yokai.domain.ui.settings.ReaderPreferences
|
||||
import dev.yokai.domain.ui.settings.ReaderPreferences.CutoutBehaviour
|
||||
import dev.yokai.domain.ui.settings.ReaderPreferences.LandscapeCutoutBehaviour
|
||||
import eu.kanade.tachiyomi.data.backup.BackupCreatorJob
|
||||
import eu.kanade.tachiyomi.data.download.DownloadProvider
|
||||
import eu.kanade.tachiyomi.data.library.LibraryUpdateJob
|
||||
|
@ -21,6 +24,7 @@ import eu.kanade.tachiyomi.network.PREF_DOH_CLOUDFLARE
|
|||
import eu.kanade.tachiyomi.ui.library.LibraryPresenter
|
||||
import eu.kanade.tachiyomi.ui.library.LibrarySort
|
||||
import eu.kanade.tachiyomi.ui.reader.settings.OrientationType
|
||||
import eu.kanade.tachiyomi.ui.reader.viewer.pager.PagerConfig
|
||||
import eu.kanade.tachiyomi.ui.recents.RecentsPresenter
|
||||
import eu.kanade.tachiyomi.util.system.launchIO
|
||||
import eu.kanade.tachiyomi.util.system.toast
|
||||
|
@ -277,6 +281,33 @@ object Migrations {
|
|||
basePreferences.extensionInstaller().set(BasePreferences.ExtensionInstaller.PACKAGEINSTALLER)
|
||||
}
|
||||
}
|
||||
if (oldVersion < 121) {
|
||||
val readerPreferences: ReaderPreferences = Injekt.get()
|
||||
try {
|
||||
val oldCutoutBehaviour = prefs.getInt(PreferenceKeys.pagerCutoutBehavior, 0)
|
||||
readerPreferences.pagerCutoutBehavior().set(
|
||||
when (oldCutoutBehaviour) {
|
||||
PagerConfig.CUTOUT_PAD -> CutoutBehaviour.HIDE
|
||||
PagerConfig.CUTOUT_IGNORE -> CutoutBehaviour.IGNORE
|
||||
else -> CutoutBehaviour.SHOW
|
||||
}
|
||||
)
|
||||
} catch (_: Exception) {
|
||||
readerPreferences.pagerCutoutBehavior().set(CutoutBehaviour.SHOW)
|
||||
}
|
||||
|
||||
try {
|
||||
val oldCutoutBehaviour = prefs.getInt("landscape_cutout_behavior", 0)
|
||||
readerPreferences.landscapeCutoutBehavior().set(
|
||||
when (oldCutoutBehaviour) {
|
||||
0 -> LandscapeCutoutBehaviour.HIDE
|
||||
else -> LandscapeCutoutBehaviour.DEFAULT
|
||||
}
|
||||
)
|
||||
} catch (_: Exception) {
|
||||
readerPreferences.landscapeCutoutBehavior().set(LandscapeCutoutBehaviour.DEFAULT)
|
||||
}
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
|
|
@ -2,6 +2,8 @@ package eu.kanade.tachiyomi.data.backup
|
|||
|
||||
import android.content.Context
|
||||
import android.net.Uri
|
||||
import dev.yokai.domain.ui.settings.ReaderPreferences
|
||||
import dev.yokai.domain.ui.settings.ReaderPreferences.CutoutBehaviour
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.backup.models.BackupCategory
|
||||
import eu.kanade.tachiyomi.data.backup.models.BackupHistory
|
||||
|
@ -25,6 +27,8 @@ import eu.kanade.tachiyomi.data.library.CustomMangaManager
|
|||
import eu.kanade.tachiyomi.data.library.LibraryUpdateJob
|
||||
import eu.kanade.tachiyomi.core.preference.AndroidPreferenceStore
|
||||
import eu.kanade.tachiyomi.core.preference.PreferenceStore
|
||||
import eu.kanade.tachiyomi.core.preference.getEnum
|
||||
import eu.kanade.tachiyomi.data.preference.PreferenceKeys
|
||||
import eu.kanade.tachiyomi.extension.ExtensionUpdateJob
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.source.sourcePreferences
|
||||
|
@ -407,6 +411,15 @@ class BackupRestorer(val context: Context, val notifier: BackupNotifier) {
|
|||
return@forEach
|
||||
}
|
||||
// end j2k fork differences
|
||||
|
||||
// <-- yokai
|
||||
if (key == "cutout_short" && value is BooleanPreferenceValue) {
|
||||
preferenceStore.getEnum(PreferenceKeys.pagerCutoutBehavior, CutoutBehaviour.SHOW)
|
||||
.set(if (value.value) CutoutBehaviour.SHOW else CutoutBehaviour.HIDE)
|
||||
return@forEach
|
||||
}
|
||||
// --> yokai
|
||||
|
||||
when (value) {
|
||||
is IntPreferenceValue -> {
|
||||
if (prefs[key] is Int?) {
|
||||
|
|
|
@ -105,9 +105,6 @@ class PreferencesHelper(val context: Context, val preferenceStore: PreferenceSto
|
|||
|
||||
fun pageTransitions() = preferenceStore.getBoolean(Keys.enableTransitions, true)
|
||||
|
||||
// ReaderPrefs
|
||||
fun pagerCutoutBehavior() = preferenceStore.getInt(Keys.pagerCutoutBehavior, 0)
|
||||
|
||||
fun doubleTapAnimSpeed() = preferenceStore.getInt(Keys.doubleTapAnimationSpeed, 500)
|
||||
|
||||
fun showPageNumber() = preferenceStore.getBoolean(Keys.showPageNumber, true)
|
||||
|
|
|
@ -72,6 +72,7 @@ import com.google.android.material.snackbar.Snackbar
|
|||
import com.google.android.material.transition.platform.MaterialContainerTransform
|
||||
import com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback
|
||||
import dev.yokai.domain.ui.settings.ReaderPreferences
|
||||
import dev.yokai.domain.ui.settings.ReaderPreferences.LandscapeCutoutBehaviour
|
||||
import eu.kanade.tachiyomi.BuildConfig
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.database.models.Chapter
|
||||
|
@ -951,7 +952,7 @@ class ReaderActivity : BaseActivity<ReaderActivityBinding>() {
|
|||
setNavColor(insets)
|
||||
val systemInsets = insets.ignoredSystemInsets
|
||||
val currentOrientation = resources.configuration.orientation
|
||||
val isLandscapeFully = currentOrientation == Configuration.ORIENTATION_LANDSCAPE && readerPreferences.landscapeCutoutBehavior().get() == 1
|
||||
val isLandscapeFully = currentOrientation == Configuration.ORIENTATION_LANDSCAPE && readerPreferences.landscapeCutoutBehavior().get() == LandscapeCutoutBehaviour.DEFAULT
|
||||
val cutOutInsets = if (isLandscapeFully) insets.displayCutout else null
|
||||
val vis = insets.isVisible(statusBars())
|
||||
val fullscreen = preferences.fullscreen().get() && !isSplitScreen
|
||||
|
@ -1827,18 +1828,14 @@ class ReaderActivity : BaseActivity<ReaderActivityBinding>() {
|
|||
val params = window.attributes
|
||||
if (currentOrientation == Configuration.ORIENTATION_LANDSCAPE) {
|
||||
params.layoutInDisplayCutoutMode =
|
||||
if (readerPreferences.landscapeCutoutBehavior().get() == 0) {
|
||||
if (readerPreferences.landscapeCutoutBehavior().get() == LandscapeCutoutBehaviour.HIDE) {
|
||||
WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER
|
||||
} else {
|
||||
WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
|
||||
}
|
||||
} else {
|
||||
params.layoutInDisplayCutoutMode =
|
||||
if (readerPreferences.cutoutShort().get()) {
|
||||
WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
|
||||
} else {
|
||||
WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1921,11 +1918,6 @@ class ReaderActivity : BaseActivity<ReaderActivityBinding>() {
|
|||
.onEach { setCutoutMode() }
|
||||
.launchIn(scope)
|
||||
|
||||
readerPreferences.cutoutShort().changes()
|
||||
.drop(1)
|
||||
.onEach { setCutoutMode() }
|
||||
.launchIn(scope)
|
||||
|
||||
preferences.trueColor().changesIn(scope) { setTrueColor(it) }
|
||||
|
||||
preferences.fullscreen().changesIn(scope) { setFullscreen(it) }
|
||||
|
|
|
@ -41,7 +41,7 @@ class ReaderPagedView @JvmOverloads constructor(context: Context, attrs: Attribu
|
|||
pageTransitions.bindToPreference(preferences.pageTransitions())
|
||||
pagerNav.bindToPreference(preferences.navigationModePager())
|
||||
pagerInvert.bindToPreference(preferences.pagerNavInverted())
|
||||
extendPastCutout.bindToPreference(preferences.pagerCutoutBehavior())
|
||||
extendPastCutout.bindToPreference(readerPreferences.pagerCutoutBehavior())
|
||||
extendPastCutoutLandscape.bindToPreference(readerPreferences.landscapeCutoutBehavior()) {
|
||||
needsActivityRecreate = true
|
||||
}
|
||||
|
|
|
@ -25,6 +25,8 @@ import com.davemorrissey.labs.subscaleview.ImageSource
|
|||
import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView
|
||||
import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView.SCALE_TYPE_CENTER_INSIDE
|
||||
import com.github.chrisbanes.photoview.PhotoView
|
||||
import dev.yokai.domain.ui.settings.ReaderPreferences
|
||||
import dev.yokai.domain.ui.settings.ReaderPreferences.CutoutBehaviour
|
||||
import eu.kanade.tachiyomi.ui.reader.viewer.pager.PagerConfig
|
||||
import eu.kanade.tachiyomi.ui.reader.viewer.webtoon.WebtoonSubsamplingImageView
|
||||
import eu.kanade.tachiyomi.util.system.GLUtil
|
||||
|
@ -161,7 +163,7 @@ open class ReaderPageImageView @JvmOverloads constructor(
|
|||
val insetInfo = config.insetInfo ?: return
|
||||
val topInsets = insetInfo.topCutoutInset
|
||||
val bottomInsets = insetInfo.bottomCutoutInset
|
||||
if (insetInfo.cutoutBehavior == PagerConfig.CUTOUT_START_EXTENDED &&
|
||||
if (insetInfo.cutoutBehavior == CutoutBehaviour.SHOW &&
|
||||
topInsets + bottomInsets > 0 &&
|
||||
insetInfo.scaleTypeIsFullFit
|
||||
) {
|
||||
|
@ -180,15 +182,14 @@ open class ReaderPageImageView @JvmOverloads constructor(
|
|||
setMinimumScaleType(config.minimumScaleType)
|
||||
setMinimumDpi(1) // Just so that very small image will be fit for initial load
|
||||
setCropBorders(config.cropBorders)
|
||||
/*
|
||||
if (config.insetInfo != null) {
|
||||
val topInsets = config.insetInfo.topCutoutInset
|
||||
val bottomInsets = config.insetInfo.bottomCutoutInset
|
||||
setExtendPastCutout(
|
||||
config.insetInfo.cutoutBehavior == PagerConfig.CUTOUT_START_EXTENDED &&
|
||||
config.insetInfo.cutoutBehavior == CutoutBehaviour.SHOW &&
|
||||
config.insetInfo.scaleTypeIsFullFit && topInsets + bottomInsets > 0,
|
||||
)
|
||||
if ((config.insetInfo.cutoutBehavior != PagerConfig.CUTOUT_IGNORE || !config.insetInfo.scaleTypeIsFullFit) &&
|
||||
if ((config.insetInfo.cutoutBehavior != CutoutBehaviour.IGNORE || !config.insetInfo.scaleTypeIsFullFit) &&
|
||||
android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q &&
|
||||
config.insetInfo.isFullscreen
|
||||
) {
|
||||
|
@ -201,7 +202,6 @@ open class ReaderPageImageView @JvmOverloads constructor(
|
|||
)
|
||||
}
|
||||
}
|
||||
*/
|
||||
setOnImageEventListener(
|
||||
object : SubsamplingScaleImageView.DefaultOnImageEventListener() {
|
||||
override fun onReady() {
|
||||
|
@ -318,7 +318,7 @@ open class ReaderPageImageView @JvmOverloads constructor(
|
|||
)
|
||||
|
||||
data class InsetInfo(
|
||||
val cutoutBehavior: Int,
|
||||
val cutoutBehavior: CutoutBehaviour,
|
||||
val topCutoutInset: Float,
|
||||
val bottomCutoutInset: Float,
|
||||
val scaleTypeIsFullFit: Boolean,
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
package eu.kanade.tachiyomi.ui.reader.viewer.pager
|
||||
|
||||
import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView
|
||||
import dev.yokai.domain.ui.settings.ReaderPreferences
|
||||
import dev.yokai.domain.ui.settings.ReaderPreferences.CutoutBehaviour
|
||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||
import eu.kanade.tachiyomi.ui.reader.settings.PageLayout
|
||||
import eu.kanade.tachiyomi.ui.reader.viewer.ViewerConfig
|
||||
|
@ -24,6 +26,7 @@ class PagerConfig(
|
|||
scope: CoroutineScope,
|
||||
private val viewer: PagerViewer,
|
||||
preferences: PreferencesHelper = Injekt.get(),
|
||||
readerPreferences: ReaderPreferences = Injekt.get(),
|
||||
) :
|
||||
ViewerConfig(preferences, scope) {
|
||||
|
||||
|
@ -48,7 +51,7 @@ class PagerConfig(
|
|||
var readerTheme = 0
|
||||
private set
|
||||
|
||||
var cutoutBehavior = 0
|
||||
var cutoutBehavior: CutoutBehaviour = CutoutBehaviour.SHOW
|
||||
private set
|
||||
|
||||
var isFullscreen = true
|
||||
|
@ -99,7 +102,7 @@ class PagerConfig(
|
|||
}
|
||||
.launchIn(scope)
|
||||
|
||||
preferences.pagerCutoutBehavior()
|
||||
readerPreferences.pagerCutoutBehavior()
|
||||
.register({ cutoutBehavior = it }, { imagePropertyChangedListener?.invoke() })
|
||||
|
||||
preferences.zoomStart()
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
package eu.kanade.tachiyomi.ui.setting
|
||||
|
||||
import android.hardware.display.DisplayManager
|
||||
import android.os.Build
|
||||
import android.view.Display
|
||||
import androidx.core.content.getSystemService
|
||||
import androidx.preference.PreferenceScreen
|
||||
import dev.yokai.domain.ui.settings.ReaderPreferences
|
||||
import dev.yokai.domain.ui.settings.ReaderPreferences.CutoutBehaviour
|
||||
import dev.yokai.domain.ui.settings.ReaderPreferences.LandscapeCutoutBehaviour
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.preference.PreferenceValues
|
||||
import eu.kanade.tachiyomi.data.preference.changesIn
|
||||
|
@ -127,21 +126,38 @@ class SettingsReaderController : SettingsController() {
|
|||
titleRes = R.string.show_page_number
|
||||
defaultValue = true
|
||||
}
|
||||
switchPreference {
|
||||
bindTo(readerPreferences.cutoutShort())
|
||||
titleRes = R.string.pref_cutout_short
|
||||
isVisible = DeviceUtil.hasCutout(activity) || preferences.fullscreen().get()
|
||||
listPreference(activity) {
|
||||
bindTo(readerPreferences.pagerCutoutBehavior())
|
||||
titleRes = R.string.cutout_area_behavior
|
||||
val values = CutoutBehaviour.entries
|
||||
entriesRes = values.map { it.titleResId }.toTypedArray()
|
||||
entryValues = values.map { it.name }.toTypedArray().toList()
|
||||
// Calling this once to show only on cutout
|
||||
isVisible = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
||||
activityBinding?.root?.rootWindowInsets?.displayCutout?.safeInsetTop != null ||
|
||||
activityBinding?.root?.rootWindowInsets?.displayCutout?.safeInsetBottom != null
|
||||
} else {
|
||||
false
|
||||
} && preferences.fullscreen().get()
|
||||
// Calling this a second time in case activity is recreated while on this page
|
||||
// Keep the first so it shouldn't animate hiding the preference for phones without
|
||||
// cutouts
|
||||
activityBinding?.root?.post {
|
||||
isVisible = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
||||
activityBinding?.root?.rootWindowInsets?.displayCutout?.safeInsetTop != null ||
|
||||
activityBinding?.root?.rootWindowInsets?.displayCutout?.safeInsetBottom != null
|
||||
} else {
|
||||
false
|
||||
} && preferences.fullscreen().get()
|
||||
}
|
||||
intListPreference(activity) {
|
||||
}
|
||||
listPreference(activity) {
|
||||
bindTo(readerPreferences.landscapeCutoutBehavior())
|
||||
title = "${context.getString(R.string.cutout_area_behavior)} (${context.getString(R.string.landscape)})"
|
||||
entriesRes = arrayOf(
|
||||
R.string.pad_cutout_areas,
|
||||
R.string.ignore_cutout_areas,
|
||||
)
|
||||
entryRange = 0..1
|
||||
defaultValue = 0
|
||||
isVisible = DeviceUtil.hasCutout(activity)
|
||||
val values = LandscapeCutoutBehaviour.entries
|
||||
entriesRes = values.map { it.titleResId }.toTypedArray()
|
||||
entryValues = values.map { it.name }.toTypedArray().toList()
|
||||
isVisible = DeviceUtil.hasCutout(activity) && preferences.fullscreen().get()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -214,36 +230,6 @@ class SettingsReaderController : SettingsController() {
|
|||
defaultValue = 1
|
||||
}
|
||||
|
||||
intListPreference(activity) {
|
||||
key = Keys.pagerCutoutBehavior
|
||||
titleRes = R.string.cutout_area_behavior
|
||||
entriesRes = arrayOf(
|
||||
R.string.pad_cutout_areas,
|
||||
R.string.start_past_cutout,
|
||||
R.string.ignore_cutout_areas,
|
||||
)
|
||||
summaryRes = R.string.cutout_behavior_only_applies
|
||||
entryRange = 0..2
|
||||
defaultValue = 0
|
||||
// Calling this once to show only on cutout
|
||||
isVisible = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
||||
activityBinding?.root?.rootWindowInsets?.displayCutout?.safeInsetTop != null ||
|
||||
activityBinding?.root?.rootWindowInsets?.displayCutout?.safeInsetBottom != null
|
||||
} else {
|
||||
false
|
||||
}
|
||||
// Calling this a second time in case activity is recreated while on this page
|
||||
// Keep the first so it shouldn't animate hiding the preference for phones without
|
||||
// cutouts
|
||||
activityBinding?.root?.post {
|
||||
isVisible = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
||||
activityBinding?.root?.rootWindowInsets?.displayCutout?.safeInsetTop != null ||
|
||||
activityBinding?.root?.rootWindowInsets?.displayCutout?.safeInsetBottom != null
|
||||
} else {
|
||||
false
|
||||
}
|
||||
}
|
||||
}
|
||||
switchPreference {
|
||||
bindTo(preferences.landscapeZoom())
|
||||
titleRes = R.string.zoom_double_page_spreads
|
||||
|
|
|
@ -151,16 +151,18 @@ class MaterialSpinnerView constructor(context: Context, attrs: AttributeSet?) :
|
|||
}
|
||||
}
|
||||
|
||||
inline fun <reified T : Enum<T>> bindToPreference(pref: Preference<T>) {
|
||||
inline fun <reified T : Enum<T>> bindToPreference(pref: Preference<T>, crossinline block: (T) -> Unit) {
|
||||
val enumConstants = T::class.java.enumConstants
|
||||
enumConstants?.indexOf(pref.get())?.let { setSelection(it) }
|
||||
val popup = makeSettingsPopup(pref)
|
||||
val popup = makeSettingsPopup(pref, block)
|
||||
setOnTouchListener(popup.dragToOpenListener)
|
||||
setOnClickListener {
|
||||
popup.show()
|
||||
}
|
||||
}
|
||||
|
||||
inline fun <reified T : Enum<T>> bindToPreference(pref: Preference<T>) = bindToPreference(pref) { }
|
||||
|
||||
fun bindToIntPreference(
|
||||
pref: Preference<Int>,
|
||||
@ArrayRes intValuesResource: Int,
|
||||
|
@ -177,7 +179,7 @@ class MaterialSpinnerView constructor(context: Context, attrs: AttributeSet?) :
|
|||
}
|
||||
}
|
||||
|
||||
inline fun <reified T : Enum<T>> makeSettingsPopup(preference: Preference<T>): PopupMenu {
|
||||
inline fun <reified T : Enum<T>> makeSettingsPopup(preference: Preference<T>, crossinline block: (T) -> Unit): PopupMenu {
|
||||
val popup = popup()
|
||||
|
||||
// Set a listener so we are notified if a menu item is clicked
|
||||
|
@ -190,7 +192,10 @@ class MaterialSpinnerView constructor(context: Context, attrs: AttributeSet?) :
|
|||
popup.setOnMenuItemClickListener { menuItem ->
|
||||
val enumConstants = T::class.java.enumConstants
|
||||
val pos = menuClicked(menuItem)
|
||||
enumConstants?.get(pos)?.let { preference.set(it) }
|
||||
enumConstants?.get(pos)?.let {
|
||||
preference.set(it)
|
||||
block.invoke(it)
|
||||
}
|
||||
true
|
||||
}
|
||||
return popup
|
||||
|
|
|
@ -858,7 +858,7 @@
|
|||
<string name="add_tag">سِم</string>
|
||||
<string name="mark_all_chapters_as_unread">أأحدِّد كلَّ الفصول غير مقروءة؟</string>
|
||||
<string name="cutout_behavior_only_applies">لا ينطبق سلوك الحزِّ إلا في الوضع الطولي وفي أنواع معينة من التحجيم</string>
|
||||
<string name="ignore_cutout_areas">تجاهَل الحزوز</string>
|
||||
<string name="cutout_ignore">تجاهَل الحزوز</string>
|
||||
<string name="start_past_cutout">ابدأ بعد الحزِّ</string>
|
||||
<string name="pad_cutout_areas">أزح الحزوز</string>
|
||||
<string name="cutout_area_behavior">سلوك الحَزِّ</string>
|
||||
|
|
|
@ -643,7 +643,7 @@
|
|||
<string name="cutout_area_behavior">Поведение на зоната на изрязване</string>
|
||||
<string name="pad_cutout_areas">Области на изрязване на подложката</string>
|
||||
<string name="start_past_cutout">Започнете след изрязване</string>
|
||||
<string name="ignore_cutout_areas">Игнориране на областите на изрязване</string>
|
||||
<string name="cutout_ignore">Игнориране на областите на изрязване</string>
|
||||
<string name="cutout_behavior_only_applies">Поведението на зоната на изрязване се прилага само в портретен режим с определени типове мащаби</string>
|
||||
<string name="page_layout">Оформление на страница</string>
|
||||
<string name="automatic_orientation">Автоматично (в зависимост от ориентацията)</string>
|
||||
|
|
|
@ -795,7 +795,7 @@
|
|||
<string name="cutout_area_behavior">কাটআউট এলাকার আচরণ</string>
|
||||
<string name="pad_cutout_areas">প্যাড কাটআউটএর এলাকা</string>
|
||||
<string name="start_past_cutout">অতীত কাটআউট শুরু কর</string>
|
||||
<string name="ignore_cutout_areas">কাটআউট এলাকা উপেক্ষা কর</string>
|
||||
<string name="cutout_ignore">কাটআউট এলাকা উপেক্ষা কর</string>
|
||||
<string name="cutout_behavior_only_applies">কাটআউট এলাকার আচরণ শুধুমাত্র নির্দিষ্ট স্কেলের প্রকারের সাথে প্রতিকৃতি মোডে প্রযোজ্য</string>
|
||||
<string name="automatic_can_still_switch">স্বয়ংক্রিয় পৃষ্ঠা বিন্যাস ব্যবহার করার সময়, আপনি এখনও এই সেটিং ওভাররাইড না করে পড়ার সময় লেআউটগুলির মধ্যে স্যুইচ করতে পারেন</string>
|
||||
<string name="show_on_long_press">দীর্ঘ প্রেসে দেখও</string>
|
||||
|
|
|
@ -743,7 +743,7 @@
|
|||
<string name="gray_background">Gris</string>
|
||||
<string name="switch_to_double">Canvia a pàgines dobles</string>
|
||||
<string name="switch_to_single">Canvia a pàgina única</string>
|
||||
<string name="ignore_cutout_areas">Ignora les àrees retallades</string>
|
||||
<string name="cutout_ignore">Ignora les àrees retallades</string>
|
||||
<string name="cutout_behavior_only_applies">El comportament de l’àrea retallada només s’aplica en mode vertical amb certs tipus d’escalat</string>
|
||||
<string name="automatic_can_still_switch">Quan utilitzeu la distribució de pàgines automàtiques, podeu canviar igualment entre distribucions mentre llegiu sense canviar aquesta configuració</string>
|
||||
<string name="continue_reading_chapter_">Continua llegint el capítol %1$s</string>
|
||||
|
|
|
@ -551,7 +551,7 @@
|
|||
<string name="error_saving_cover">Při ukládání přebalu došlo k chybě</string>
|
||||
<string name="cover_saved">Přebal uložen</string>
|
||||
<string name="page_layout">Rozložení stránek</string>
|
||||
<string name="ignore_cutout_areas">Ignorovat vyřežané oblasti</string>
|
||||
<string name="cutout_ignore">Ignorovat vyřežané oblasti</string>
|
||||
<string name="cutout_area_behavior">Chování oblasti výřezu</string>
|
||||
<string name="both_axes">Na Obou Osách</string>
|
||||
<string name="vertically">Vertikálně</string>
|
||||
|
|
|
@ -696,7 +696,7 @@
|
|||
<string name="last_used_library_recents">Zuletzt benutzt (Bibliothek oder Neueste)</string>
|
||||
<string name="custom_manga_info">Benutzerdefinierte Infos des Mangas</string>
|
||||
<string name="mark_all_chapters_as_unread">Alle Kapitel als ungelesen markieren\?</string>
|
||||
<string name="ignore_cutout_areas">Ausschnittbereiche ignorieren</string>
|
||||
<string name="cutout_ignore">Ausschnittbereiche ignorieren</string>
|
||||
<string name="start_past_cutout">Nach dem Ausschnitt starten</string>
|
||||
<string name="pad_cutout_areas">Ausschnittbereich füllen</string>
|
||||
<string name="cutout_area_behavior">Verhalten des Ausschnittbereichs</string>
|
||||
|
|
|
@ -671,7 +671,7 @@
|
|||
<string name="automatic_orientation">Αυτόματη (βάση προσανατολισμού)</string>
|
||||
<string name="page_layout">Διάταξη σελίδας</string>
|
||||
<string name="cutout_behavior_only_applies">Η συμπεριφορά της περιοχής αποκοπής ισχύει μόνο σε λειτουργία πορτραίτου με ορισμένους τύπους κλίμακας</string>
|
||||
<string name="ignore_cutout_areas">Παράβλεψη περιοχών αποκοπής</string>
|
||||
<string name="cutout_ignore">Παράβλεψη περιοχών αποκοπής</string>
|
||||
<string name="start_past_cutout">Έναρξη μετά την αποκοπή</string>
|
||||
<string name="pad_cutout_areas">Γέμισμα περιοχής αποκοπής</string>
|
||||
<string name="cutout_area_behavior">Συμπεριφορά περιοχής αποκοπής</string>
|
||||
|
|
|
@ -657,7 +657,7 @@
|
|||
<string name="use_first_source">Utilice la primera fuente con alternativa</string>
|
||||
<string name="custom_manga_info">Información sobre las series personalizadas</string>
|
||||
<string name="mark_all_chapters_as_unread">¿Marcar todos los capítulos como no leídos\?</string>
|
||||
<string name="ignore_cutout_areas">Ignorar áreas recortadas</string>
|
||||
<string name="cutout_ignore">Ignorar áreas recortadas</string>
|
||||
<string name="start_past_cutout">Empezar más allá del recorte</string>
|
||||
<string name="cutout_area_behavior">Comportamiento del área de corte</string>
|
||||
<string name="both_axes">Ambos Ejes</string>
|
||||
|
|
|
@ -509,7 +509,7 @@
|
|||
<string name="automatic_orientation">Automatikoa (orientazioan oinarrituta)</string>
|
||||
<string name="about_this_">Honi buruz %1$s</string>
|
||||
<string name="start_past_cutout">Hasi mozketaren ostean</string>
|
||||
<string name="ignore_cutout_areas">Ez egin kasurik mozturiko eremuei</string>
|
||||
<string name="cutout_ignore">Ez egin kasurik mozturiko eremuei</string>
|
||||
<string name="keep_both_on_service">Mantendu biak %1$s-n eta ordeztu lokalean soilik</string>
|
||||
<string name="custom_manga_info">Mangaren informazio pertsonalizatua</string>
|
||||
<string name="finished_reading_date">Irakurketa-amaitze data</string>
|
||||
|
|
|
@ -610,7 +610,7 @@
|
|||
<string name="clear_cached_covers_non_library">Tyhjennä välimuistiin tallennetut kannet, joita ei ole kirjastossa</string>
|
||||
<string name="delete_old_covers_in_library_used_">Poista kirjastossasi olevat vanhat ja käyttämättömät välimuistiin tallennetut mangakannet, jotka on päivitetty.
|
||||
\nTällä hetkellä käytössä: %1$s</string>
|
||||
<string name="ignore_cutout_areas">Jätä leikkausalueet huomiotta</string>
|
||||
<string name="cutout_ignore">Jätä leikkausalueet huomiotta</string>
|
||||
<string name="start_past_cutout">Aloita leikkauksen jälkeen</string>
|
||||
<string name="pad_cutout_areas">Täytä leikkausalueet</string>
|
||||
<string name="clean_up_cached_covers">Poista välimuistissa olevat kannet</string>
|
||||
|
|
|
@ -817,7 +817,7 @@
|
|||
<string name="pref_update_only_completely_read_summary">I-update lang ang manga kung walang kabanatang di pa nabasa (lahat nabasa)</string>
|
||||
<string name="both_axes">Pareho</string>
|
||||
<string name="cutout_area_behavior">Gagawin sa cutout area</string>
|
||||
<string name="ignore_cutout_areas">Balewalain ang mga cutout area</string>
|
||||
<string name="cutout_ignore">Balewalain ang mga cutout area</string>
|
||||
<string name="all_but_bookmarked_chapters">Lahat ng walang pananda</string>
|
||||
<string name="clear_tags">Tanggalin ang mga tag</string>
|
||||
<string name="reset_cover">I-reset ang pabalat</string>
|
||||
|
|
|
@ -689,7 +689,7 @@
|
|||
<string name="crash_log_saved">Rapports de plantage sauvegardés</string>
|
||||
<string name="updated_to_">Mise à jour de v%1$s</string>
|
||||
<string name="pressing_back_to_start">Revenir à l\'écran de démarrage en appuyant sur retour</string>
|
||||
<string name="ignore_cutout_areas">Ignorer les zones de découpe</string>
|
||||
<string name="cutout_ignore">Ignorer les zones de découpe</string>
|
||||
<string name="previous">Précédent</string>
|
||||
<string name="next">Suivant</string>
|
||||
<string name="menu">menu</string>
|
||||
|
|
|
@ -724,7 +724,7 @@
|
|||
<string name="add_x_to">Dodaj %1$s u …</string>
|
||||
<string name="move_x_to">Premjesti %1$s u …</string>
|
||||
<string name="use_last_saved_migration_preferences">Za grupno migriranje koristi zadnje spremljene postavke i izvore prije migracije</string>
|
||||
<string name="ignore_cutout_areas">Zanemari područja izreska</string>
|
||||
<string name="cutout_ignore">Zanemari područja izreska</string>
|
||||
<string name="start_past_cutout">Počni izvan izreska</string>
|
||||
<string name="pad_cutout_areas">Područjima izreska dodaj odmak</string>
|
||||
<string name="cutout_area_behavior">Ponašanje područja izreska</string>
|
||||
|
|
|
@ -638,7 +638,7 @@
|
|||
<string name="automatic_can_still_switch">Ketika menggunakan tata letak halaman secara otomatis, Anda masih dapat menukar tata letak ketika sedang membaca tanpa menimpa pengaturan ini</string>
|
||||
<string name="page_layout">Tata letak halaman</string>
|
||||
<string name="cutout_behavior_only_applies">Tingkah area potong hanya diterapkan pada mode tegak dengan beberapa jenis skala</string>
|
||||
<string name="ignore_cutout_areas">Abaikan area potong</string>
|
||||
<string name="cutout_ignore">Abaikan area potong</string>
|
||||
<string name="start_past_cutout">Mulai potong terakhir</string>
|
||||
<string name="pad_cutout_areas">Area potong pad</string>
|
||||
<string name="cutout_area_behavior">Tingkah area potong</string>
|
||||
|
|
|
@ -825,7 +825,7 @@
|
|||
<string name="no_match_found">Nessun risultato trovato</string>
|
||||
<string name="source_unsupported">Fonte non supportata</string>
|
||||
<string name="custom_manga_info">Informazioni serie personalizzate</string>
|
||||
<string name="ignore_cutout_areas">Ignora aree ritagliate</string>
|
||||
<string name="cutout_ignore">Ignora aree ritagliate</string>
|
||||
<string name="pad_cutout_areas">Riempi aree ritagliate</string>
|
||||
<plurals name="_updates_pending">
|
||||
<item quantity="one">%d aggiornamento in attesa</item>
|
||||
|
|
|
@ -691,7 +691,7 @@
|
|||
\nダウンロードを削除しますか?</item>
|
||||
</plurals>
|
||||
<string name="show_on_long_press">長押しで表示</string>
|
||||
<string name="ignore_cutout_areas">カットアウト領域を無視</string>
|
||||
<string name="cutout_ignore">カットアウト領域を無視</string>
|
||||
<string name="automatic_removal">自動削除</string>
|
||||
<string name="search_">%1$sを検索</string>
|
||||
<string name="date_fetched">登録された日付</string>
|
||||
|
|
|
@ -717,7 +717,7 @@
|
|||
<string name="dont_migrate">마이그레이션하지 않음</string>
|
||||
<string name="details_page">세부내용 페이지</string>
|
||||
<string name="turn_off_">%s 끄기</string>
|
||||
<string name="ignore_cutout_areas">컷아웃 영역 무시</string>
|
||||
<string name="cutout_ignore">컷아웃 영역 무시</string>
|
||||
<string name="page_layout">페이지 레이아웃</string>
|
||||
<string name="remember_this_choice">이 선택을 기억하십시오</string>
|
||||
<string name="stop_migrating">마이그레이션을 중지하시겠습니까\?</string>
|
||||
|
|
|
@ -632,7 +632,7 @@
|
|||
<string name="last_used_library_recents">Akhir digunakan (Pustaka atau Terkini)</string>
|
||||
<string name="custom_manga_info">Maklumat manga tersuai</string>
|
||||
<string name="mark_all_chapters_as_unread">Tanda semua bab sebagai belum dibaca\?</string>
|
||||
<string name="ignore_cutout_areas">Abai kawasan bertakuk</string>
|
||||
<string name="cutout_ignore">Abai kawasan bertakuk</string>
|
||||
<string name="start_past_cutout">Mula selepas kawasan bertakuk</string>
|
||||
<string name="pad_cutout_areas">Berpad kawasan bertakuk</string>
|
||||
<string name="cutout_area_behavior">Kelakuan kawasan bertakuk</string>
|
||||
|
|
|
@ -820,7 +820,7 @@
|
|||
<string name="automatic_can_still_switch">Ved bruk av automatisk sideoppsett kan du fremdeles bytte mellom oppsett mens du leser, uten å overstyre denne innstillingen</string>
|
||||
<string name="page_layout">Sideoppsett</string>
|
||||
<string name="cutout_behavior_only_applies">Oppførsel for utklippsområde har kun innvirkning i stående sideretning med noen skaleringstyper</string>
|
||||
<string name="ignore_cutout_areas">Ignorer utklipte områder</string>
|
||||
<string name="cutout_ignore">Ignorer utklipte områder</string>
|
||||
<string name="start_past_cutout">Start etter utklipp</string>
|
||||
<string name="cutout_area_behavior">Oppførsel for utklippsområde</string>
|
||||
<string name="if_disabled_transition_will_skip">Hvis avskrudd vil overgangssiden hoppes over hvis neste kapittel er innlastet</string>
|
||||
|
|
|
@ -867,7 +867,7 @@
|
|||
<string name="automatic_orientation">स्वचालित (अभिमुखीकरणमा आधारित)</string>
|
||||
<string name="switch_to_single">एकल पृष्ठमा स्विच गर्नुहोस्</string>
|
||||
<string name="smart_based_on_page">स्मार्ट (पृष्ठमा आधारित)</string>
|
||||
<string name="ignore_cutout_areas">कटआउट क्षेत्रहरू बेवास्ता गर्नुहोस्</string>
|
||||
<string name="cutout_ignore">कटआउट क्षेत्रहरू बेवास्ता गर्नुहोस्</string>
|
||||
<string name="cutout_behavior_only_applies">कटआउट क्षेत्र व्यवहार निश्चित स्केल प्रकारहरूसँग पोर्ट्रेट मोडमा मात्र लागू हुन्छ</string>
|
||||
<string name="search_chapters">अध्यायहरू खोज्नुहोस्</string>
|
||||
<string name="mark_all_chapters_as_unread">सबै अध्यायहरू नपढिएको रूपमा चिन्ह लगाउने हो\?</string>
|
||||
|
|
|
@ -652,7 +652,7 @@
|
|||
<string name="last_used_library_recents">Laatst gebruikt (Bibliotheek of Nieuwste)</string>
|
||||
<string name="custom_manga_info">Aangepaste manga-informatie</string>
|
||||
<string name="mark_all_chapters_as_unread">Alle hoofstukken als ongelezen markeren\?</string>
|
||||
<string name="ignore_cutout_areas">Uitgeknipte gebieden negeren</string>
|
||||
<string name="cutout_ignore">Uitgeknipte gebieden negeren</string>
|
||||
<string name="start_past_cutout">Beginnen na het uitgeknipte gebied</string>
|
||||
<string name="pad_cutout_areas">Uitgesneden gebied opvullen</string>
|
||||
<string name="cutout_area_behavior">Gedrag van het uitgesneden gebied</string>
|
||||
|
|
|
@ -730,7 +730,7 @@
|
|||
<string name="last_used_library_recents">Ostatnio użyte (Biblioteka lub Ostatnie)</string>
|
||||
<string name="custom_manga_info">Własna informacja o mandze</string>
|
||||
<string name="mark_all_chapters_as_unread">Oznaczyć wszystkie rozdziały jako nieprzeczytane\?</string>
|
||||
<string name="ignore_cutout_areas">Ignoruj obszary wycięcia</string>
|
||||
<string name="cutout_ignore">Ignoruj obszary wycięcia</string>
|
||||
<string name="start_past_cutout">Zacznij za wycięciem</string>
|
||||
<string name="pad_cutout_areas">Wypełnij obszar wycięcia</string>
|
||||
<string name="cutout_area_behavior">Zachowanie obszaru wycięcia</string>
|
||||
|
|
|
@ -770,7 +770,7 @@
|
|||
<string name="automatic_can_still_switch">Ao usar o layout de página automático, você ainda pode mudar entre os layouts enquanto lê sem sobrepôr esta configuração</string>
|
||||
<string name="page_layout">Layout de página</string>
|
||||
<string name="cutout_behavior_only_applies">O comportamento da área de corte da tela aplica apenas no modo paisagem com certos tipos de escala</string>
|
||||
<string name="ignore_cutout_areas">Ignorar as áreas de corte da tela</string>
|
||||
<string name="cutout_ignore">Ignorar as áreas de corte da tela</string>
|
||||
<string name="start_past_cutout">Iniciar após o corte da tela</string>
|
||||
<string name="pad_cutout_areas">Preencher as áreas de corte da tela</string>
|
||||
<plurals name="pages_plural">
|
||||
|
|
|
@ -738,7 +738,7 @@
|
|||
<string name="automatic_can_still_switch">Ao usar o layout de página automático, ainda pode mudar entre os layouts enquanto lê sem sobrepôr esta configuração</string>
|
||||
<string name="page_layout">Layout de página</string>
|
||||
<string name="cutout_behavior_only_applies">O comportamento da área de corte do ecrã aplica apenas no modo paisagem com certos tipos de escala</string>
|
||||
<string name="ignore_cutout_areas">Ignorar as áreas de corte do ecrã</string>
|
||||
<string name="cutout_ignore">Ignorar as áreas de corte do ecrã</string>
|
||||
<string name="start_past_cutout">Iniciar após o corte do ecrã</string>
|
||||
<string name="pad_cutout_areas">Preencher as áreas de corte do ecrã</string>
|
||||
<string name="cutout_area_behavior">Comportamento da área de corte do ecrã</string>
|
||||
|
|
|
@ -485,7 +485,7 @@
|
|||
<string name="automatic_can_still_switch">În timp ce utilizați aspectul automat al paginii, puteți comuta între diferitele aspecte în timp ce citiți fără a suprascrie această setare</string>
|
||||
<string name="page_layout">Aspect pagină</string>
|
||||
<string name="cutout_behavior_only_applies">Comportamentul zonei de decupaj se aplică numai în modul portret cu anumite tipuri de scală</string>
|
||||
<string name="ignore_cutout_areas">Ignoră zonele de decupaj</string>
|
||||
<string name="cutout_ignore">Ignoră zonele de decupaj</string>
|
||||
<string name="start_past_cutout">Începeți după decupaj</string>
|
||||
<string name="cutout_area_behavior">Comportamentul zonei de decupare</string>
|
||||
<string name="both_axes">Ambele axe</string>
|
||||
|
|
|
@ -721,7 +721,7 @@
|
|||
<string name="show_unread_count">Показывать значки и счётчик непрочитанных глав</string>
|
||||
<string name="show_unread_badges">Показывать значки непрочитанных глав</string>
|
||||
<string name="hide_unread_badges">Скрыть значки непрочитанных глав</string>
|
||||
<string name="ignore_cutout_areas">Игнорировать области выреза</string>
|
||||
<string name="cutout_ignore">Игнорировать области выреза</string>
|
||||
<string name="cutout_area_behavior">Поведение области выреза</string>
|
||||
<string name="pad_cutout_areas">Блокнотная область выреза</string>
|
||||
<string name="start_past_cutout">Начать с прошлого выреза</string>
|
||||
|
|
|
@ -666,7 +666,7 @@
|
|||
</plurals>
|
||||
<string name="hide_bottom_nav">Cua automaticamente su butone de navigatzione</string>
|
||||
<string name="custom_manga_info">Informatziones personalizadas de su manga</string>
|
||||
<string name="ignore_cutout_areas">Ignora sas àreas segadas</string>
|
||||
<string name="cutout_ignore">Ignora sas àreas segadas</string>
|
||||
<string name="cutout_area_behavior">Cumportamentu de s\'àrea de segadura</string>
|
||||
<string name="filter_languages">Filtra sas limbas</string>
|
||||
<string name="selection">Seletzione</string>
|
||||
|
|
|
@ -677,7 +677,7 @@
|
|||
<string name="sort_by_ignoring_articles">Sortiraj ignorisanjem članova</string>
|
||||
<string name="restrictions_">Ograničenja: %1$s</string>
|
||||
<string name="smart_based_on_page">Pametno (na osnovu stranice)</string>
|
||||
<string name="ignore_cutout_areas">Zanemarite područja izreza</string>
|
||||
<string name="cutout_ignore">Zanemarite područja izreza</string>
|
||||
<string name="page_layout">Raspored na stranici</string>
|
||||
<plurals name="pages_plural">
|
||||
<item quantity="one">%1$d strana</item>
|
||||
|
|
|
@ -577,7 +577,7 @@
|
|||
<string name="automatic_can_still_switch">När du använder automatisk sidlayout kan du ändå växla mellan layouter medan du läser utan att åsidosätta denna inställning</string>
|
||||
<string name="page_layout">Sidlayout</string>
|
||||
<string name="cutout_behavior_only_applies">Beteende för skärningsområde gäller endast i stående läge med vissa skaltyper</string>
|
||||
<string name="ignore_cutout_areas">Ignorera utskärningsområden</string>
|
||||
<string name="cutout_ignore">Ignorera utskärningsområden</string>
|
||||
<string name="start_past_cutout">Börja efter utskärningen</string>
|
||||
<string name="pad_cutout_areas">Pad utskärning områden</string>
|
||||
<string name="cutout_area_behavior">Beteende för utskärningsområdet</string>
|
||||
|
|
|
@ -847,7 +847,7 @@
|
|||
<string name="tag">แท็ก</string>
|
||||
<string name="amount_of_pages_to_preload">จำนวนหน้าที่จะโหลดล่วงหน้าเมื่ออ่าน ค่าที่สูงขึ้นจะส่งผลให้ประสบการณ์การอ่านราบรื่นขึ้น แต่จะต้องใช้พื้นที่แคชและเครือข่ายที่มากขึ้น</string>
|
||||
<string name="smart_by_theme">อัตโนมัติ (ตามธีม)</string>
|
||||
<string name="ignore_cutout_areas">ไม่สนใจพื้นที่ที่ตัดออก</string>
|
||||
<string name="cutout_ignore">ไม่สนใจพื้นที่ที่ตัดออก</string>
|
||||
<string name="cutout_behavior_only_applies">ลักษณะการทำงานของพื้นที่ที่ตัดออกจะใช้ได้เฉพาะในโหมดแนวตั้งตามขนาดที่กำหนด</string>
|
||||
<string name="search_manually">ค้นหาด้วยตนเอง</string>
|
||||
<string name="include_extra_search_parameter">รวมพารามิเตอร์การค้นหาเพิ่มเติมเมื่อค้นหา</string>
|
||||
|
|
|
@ -538,7 +538,7 @@
|
|||
<item quantity="one">%1$d sayfa</item>
|
||||
<item quantity="other">%1$d sayfa</item>
|
||||
</plurals>
|
||||
<string name="ignore_cutout_areas">Kesme alanlarını yoksay</string>
|
||||
<string name="cutout_ignore">Kesme alanlarını yoksay</string>
|
||||
<string name="single_page">Tek Sayfa</string>
|
||||
<string name="page_layout">Sayfa düzeni</string>
|
||||
<string name="pad_cutout_areas">Kesme alanlarını dolgula</string>
|
||||
|
|
|
@ -842,7 +842,7 @@
|
|||
<string name="cutout_area_behavior">Поведінка вирізу</string>
|
||||
<string name="pad_cutout_areas">Заповніть площу вирізу</string>
|
||||
<string name="start_past_cutout">Почати після вирізання</string>
|
||||
<string name="ignore_cutout_areas">Ігнорувати виріз</string>
|
||||
<string name="cutout_ignore">Ігнорувати виріз</string>
|
||||
<string name="cutout_behavior_only_applies">Поведінка вирізу вживається лише в портретному режимі з визначеними типами масштабів</string>
|
||||
<string name="automatic_orientation">Автоматичне (на основі орієнтації)</string>
|
||||
<string name="custom_manga_info">Користувальницька інформація про манґу</string>
|
||||
|
|
|
@ -625,7 +625,7 @@
|
|||
<string name="automatic_can_still_switch">Khi sử dụng dạng trang tự động, bạn có thể chuyển qua từng loại dạng trang trong khi đọc mà không cần ghi đè cài đặt này</string>
|
||||
<string name="page_layout">Dạng trang</string>
|
||||
<string name="cutout_behavior_only_applies">Hành vị cắt khu vực chỉ được áp dụng trong chế độ dọc với một số kiểu tỉ lệ</string>
|
||||
<string name="ignore_cutout_areas">Bỏ qua khu vực bị cắt</string>
|
||||
<string name="cutout_ignore">Bỏ qua khu vực bị cắt</string>
|
||||
<string name="start_past_cutout">Bắt đầu sau phần bị cắt</string>
|
||||
<string name="pad_cutout_areas">Chèn khoảng trống vào khu vực bị cắt</string>
|
||||
<string name="cutout_area_behavior">Hành vi khi cắt khu vực</string>
|
||||
|
|
|
@ -648,7 +648,7 @@
|
|||
<string name="saves_error_logs">将错误记录保存到文件中,以便与开发人员共享</string>
|
||||
<string name="crash_log_saved">崩溃日志已保存</string>
|
||||
<string name="updated_to_">已更新到 v%1$s</string>
|
||||
<string name="ignore_cutout_areas">忽略刘海屏区域</string>
|
||||
<string name="cutout_ignore">忽略刘海屏区域</string>
|
||||
<string name="pad_cutout_areas">平板刘海屏区域</string>
|
||||
<string name="cutout_area_behavior">刘海屏行为</string>
|
||||
<string name="mark_all_chapters_as_unread">标记所有章节为未读?</string>
|
||||
|
|
|
@ -896,7 +896,7 @@
|
|||
<string name="remove_crop">移除裁剪</string>
|
||||
<string name="vertically">縱向</string>
|
||||
<string name="both_axes">兩個軸</string>
|
||||
<string name="ignore_cutout_areas">忽略切割區域</string>
|
||||
<string name="cutout_ignore">忽略切割區域</string>
|
||||
<string name="cutout_behavior_only_applies">切割區域行為僅適用於特定縮放類型的直向模式</string>
|
||||
<plurals name="pages_plural">
|
||||
<item quantity="other">%1$d 頁</item>
|
||||
|
|
|
@ -135,14 +135,14 @@
|
|||
</string-array>
|
||||
|
||||
<string-array name="cutout_behavior">
|
||||
<item>@string/pad_cutout_areas</item>
|
||||
<item>@string/start_past_cutout</item>
|
||||
<item>@string/ignore_cutout_areas</item>
|
||||
<item>@string/cutout_show</item>
|
||||
<item>@string/cutout_hide</item>
|
||||
<item>@string/cutout_ignore</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="cutout_behavior_landscape">
|
||||
<item>@string/pad_cutout_areas</item>
|
||||
<item>@string/ignore_cutout_areas</item>
|
||||
<item>@string/cutout_hide</item>
|
||||
<item>@string/cutout_landscape</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="clean_up_downloads">
|
||||
|
|
|
@ -500,9 +500,12 @@
|
|||
<string name="cutout_area_behavior">Cutout area behavior</string>
|
||||
<string name="pad_cutout_areas">Pad cutout areas</string>
|
||||
<string name="start_past_cutout">Start past cutout</string>
|
||||
<string name="ignore_cutout_areas">Ignore cutout areas</string>
|
||||
<string name="cutout_behavior_only_applies">Cutout area behavior only applies in portrait mode with certain scale types</string>
|
||||
<string name="pref_cutout_short">Show content in cutout area</string>
|
||||
<string name="cutout_landscape">Same as portrait</string>
|
||||
<string name="cutout_show">Show content in cutout area</string>
|
||||
<string name="cutout_hide">Hide content in cutout area</string>
|
||||
<string name="cutout_ignore">Ignore cutout areas</string>
|
||||
<string name="page_layout">Page layout</string>
|
||||
<string name="automatic_can_still_switch">While using automatic page layout, you can still switch between layouts while reading without overriding this setting</string>
|
||||
<string name="automatic_orientation">Automatic (based on orientation)</string>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue