Compare commits

..

29 Commits

Author SHA1 Message Date
43c11c6ac5 Release 0.9.2 2020-05-02 15:00:10 -04:00
ede42cd6aa Add link to extensions repo 2020-05-02 15:00:03 -04:00
33901dd72f More ActionToolbar tweaks 2020-05-02 14:51:28 -04:00
ac4ae8103e Force FastScrollers to be on right even in RTL (closes #3038) 2020-05-02 14:39:47 -04:00
2c93704b4a Translated using Weblate (Malay) (#3007)
Currently translated at 100.0% (526 of 526 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/

Translated using Weblate (French)

Currently translated at 99.8% (525 of 526 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/

Translated using Weblate (German)

Currently translated at 100.0% (526 of 526 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/

Translated using Weblate (Malay)

Currently translated at 100.0% (525 of 525 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/

Translated using Weblate (Hindi)

Currently translated at 100.0% (525 of 525 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hi/

Translated using Weblate (French)

Currently translated at 99.6% (523 of 525 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/

Translated using Weblate (German)

Currently translated at 100.0% (525 of 525 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/

Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/

Translated using Weblate (Finnish)

Currently translated at 99.8% (522 of 523 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fi/

Translated using Weblate (Catalan)

Currently translated at 100.0% (523 of 523 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ca/

Translated using Weblate (Greek)

Currently translated at 100.0% (523 of 523 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (523 of 523 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/

Translated using Weblate (Turkish)

Currently translated at 100.0% (523 of 523 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/

Translated using Weblate (Portuguese)

Currently translated at 100.0% (523 of 523 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt/

Translated using Weblate (Malay)

Currently translated at 100.0% (523 of 523 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/

Translated using Weblate (French)

Currently translated at 100.0% (523 of 523 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (523 of 523 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/

Translated using Weblate (Japanese)

Currently translated at 79.3% (415 of 523 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/

Translated using Weblate (German)

Currently translated at 100.0% (523 of 523 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (522 of 522 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/

Translated using Weblate (French)

Currently translated at 100.0% (522 of 522 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/

Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/

Translated using Weblate (French)

Currently translated at 100.0% (523 of 523 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/

Translated using Weblate (German)

Currently translated at 100.0% (523 of 523 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/

Translated using Weblate (French)

Currently translated at 99.6% (521 of 523 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/

Translated using Weblate (Russian)

Currently translated at 100.0% (523 of 523 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (523 of 523 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (523 of 523 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/

Translated using Weblate (French)

Currently translated at 98.8% (517 of 523 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (523 of 523 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/

Translated using Weblate (Russian)

Currently translated at 100.0% (523 of 523 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/

Translated using Weblate (German)

Currently translated at 100.0% (523 of 523 strings)

Translation: Tachiyomi/Strings
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/

Co-authored-by: Hosted Weblate <hosted@weblate.org>
2020-05-02 12:34:55 -04:00
e2158af592 Swap bottom nav and ActionToolbar when appropriate 2020-05-02 12:27:23 -04:00
b06189ff95 Revert last_updated change 2020-05-02 12:11:51 -04:00
d72c51c8dd Hide app/nav bars on scroll 2020-05-02 11:33:31 -04:00
e29e94a5a1 Revert to old sorting library (fixes #3034) 2020-05-02 10:56:03 -04:00
04d7eccc63 Show number of categories in setting summary 2020-05-02 10:47:21 -04:00
e58896bdfb Separate out series viewer setting to its own group in reader sheet 2020-05-02 10:41:56 -04:00
d2bb4487e1 Move pager-specific settings into proper category, add summary for 32-bit color setting 2020-05-02 10:41:38 -04:00
e8623fbd7d Show 32-bit color setting in reader sheet 2020-05-02 10:40:55 -04:00
0a6de2b3ea Fix backup failing when source isn't installed 2020-05-02 10:24:37 -04:00
23a8e31791 Hide filter FAB when opened (closes #3024) 2020-05-02 10:22:28 -04:00
286d2b4cf6 Release 0.9.1 2020-05-01 21:42:34 -04:00
1ab07d169d Add gray reader background option (closes #3019) 2020-05-01 21:40:36 -04:00
abf2d4b718 Start storing extension ID/source name mapping in backup files 2020-05-01 21:25:23 -04:00
37045c77cb Fix manga info being cut off (closes #3006) 2020-05-01 21:09:05 -04:00
fd5d52a709 Remove confirmation prompt for passive biometric unlock (e.g. iris/face) 2020-05-01 21:08:52 -04:00
abcb21491c Reset sort on update if using old sort by source setting 2020-05-01 19:59:08 -04:00
33d2b0984f Fix chapter list selection uninverting (closes #3014) 2020-05-01 19:53:26 -04:00
fc7a040509 Move queue start/pause to FAB 2020-05-01 19:39:30 -04:00
be09dded20 Attempt to remove sound from backup/restore completion notifications 2020-05-01 19:29:15 -04:00
6493b9a6b3 Reword title display mode (closes #3008) 2020-05-01 19:20:05 -04:00
f07fbcc196 Relay extension changes to sources controller (fixes #3002) 2020-05-01 19:17:37 -04:00
cae90ddd08 Disable Proguard
Caused issues for some extensions (e.g. Komga)
2020-05-01 18:28:52 -04:00
7bd9b21e5a Update issue templates 2020-05-01 18:18:29 -04:00
e29fb68375 fix preload never being restricted (#3012)
Fix preload never being restricted
2020-05-01 18:03:27 -04:00
80 changed files with 633 additions and 451 deletions

View File

@ -1,10 +1,10 @@
1. **Before reporting a new issue, take a look at the [FAQ](https://github.com/inorichi/tachiyomi/wiki/FAQ), the [changelog](https://github.com/inorichi/tachiyomi/releases) and the already opened [issues](https://github.com/inorichi/tachiyomi/issues).** 1. **Before reporting a new issue, take a look at the [FAQ](https://tachiyomi.org/help/faq/), the [changelog](https://github.com/inorichi/tachiyomi/releases) and the already opened [issues](https://github.com/inorichi/tachiyomi/issues).**
2. If you are unsure, ask here: [![Discord](https://img.shields.io/discord/349436576037732353.svg)](https://discord.gg/tachiyomi) 2. If you are unsure, ask here: [![Discord](https://img.shields.io/discord/349436576037732353.svg)](https://discord.gg/tachiyomi)
3. What is your type of issue? 3. What is your type of issue?
* [Catalogue request](#catalogue-requests) * [Catalogue request](#catalogue-requests)
* [Bugs](#bugs) * [Bugs](#bugs)
* [Feature requests](#feature-requests) * [Feature requests](#feature-requests)
* [Translations](https://github.com/inorichi/tachiyomi/wiki/Translation) * [Translations](https://tachiyomi.org/help/contribution/#translation)
4. After following 1. and 3. you can [open your issue](https://github.com/inorichi/tachiyomi/issues/new) 4. After following 1. and 3. you can [open your issue](https://github.com/inorichi/tachiyomi/issues/new)
*** ***
@ -29,5 +29,5 @@ DON'T: https://github.com/inorichi/tachiyomi/issues/75
# Feature requests # Feature requests
* Write a detailed issue, explaning what it should do or how. Avoid writing just "like X app does" * Write a detailed issue, explaining what it should do or how. Avoid writing just "like X app does"
* Include screenshot (if needed) * Include screenshot (if needed)

View File

@ -2,7 +2,7 @@
I acknowledge that: I acknowledge that:
- I have updated to the latest version of the app (stable is v0.8.5) - I have updated to the latest version of the app (stable is v0.9.0)
- I have updated all extensions - I have updated all extensions
- If this is an issue with an extension, that I should be opening an issue in https://github.com/inorichi/tachiyomi-extensions - If this is an issue with an extension, that I should be opening an issue in https://github.com/inorichi/tachiyomi-extensions

View File

@ -9,7 +9,7 @@ labels: "bug"
I acknowledge that: I acknowledge that:
- I have updated to the latest version of the app (stable is v0.8.5) - I have updated to the latest version of the app (stable is v0.9.0)
- I have updated all extensions - I have updated all extensions
- If this is an issue with an extension, that I should be opening an issue in https://github.com/inorichi/tachiyomi-extensions - If this is an issue with an extension, that I should be opening an issue in https://github.com/inorichi/tachiyomi-extensions

View File

@ -9,7 +9,7 @@ labels: "feature"
I acknowledge that: I acknowledge that:
- I have updated to the latest version of the app (stable is v0.8.5) - I have updated to the latest version of the app (stable is v0.9.0)
- I have updated all extensions - I have updated all extensions
- If this is an issue with an extension, that I should be opening an issue in https://github.com/inorichi/tachiyomi-extensions - If this is an issue with an extension, that I should be opening an issue in https://github.com/inorichi/tachiyomi-extensions

View File

@ -38,8 +38,8 @@ android {
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 29 targetSdkVersion 29
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
versionCode 43 versionCode 45
versionName "0.9.0" versionName "0.9.2"
buildConfigField "String", "COMMIT_COUNT", "\"${getCommitCount()}\"" buildConfigField "String", "COMMIT_COUNT", "\"${getCommitCount()}\""
buildConfigField "String", "COMMIT_SHA", "\"${getGitSha()}\"" buildConfigField "String", "COMMIT_SHA", "\"${getGitSha()}\""
@ -62,11 +62,11 @@ android {
versionNameSuffix "-${getCommitCount()}" versionNameSuffix "-${getCommitCount()}"
applicationIdSuffix ".debug" applicationIdSuffix ".debug"
} }
release { // release {
minifyEnabled true // minifyEnabled true
shrinkResources true // shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' // proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
} // }
} }
flavorDimensions "default" flavorDimensions "default"
@ -210,6 +210,9 @@ dependencies {
final acra_version = '5.5.0' final acra_version = '5.5.0'
implementation "ch.acra:acra-http:$acra_version" implementation "ch.acra:acra-http:$acra_version"
// Sort
implementation 'com.github.gpanther:java-nat-sort:natural-comparator-1.1'
// UI // UI
implementation 'com.dmitrymalkovich.android:material-design-dimens:1.4' implementation 'com.dmitrymalkovich.android:material-design-dimens:1.4'
implementation 'com.github.dmytrodanylyk.android-process-button:library:1.0.4' implementation 'com.github.dmytrodanylyk.android-process-button:library:1.0.4'

View File

@ -5,6 +5,7 @@ import eu.kanade.tachiyomi.data.library.LibraryUpdateJob
import eu.kanade.tachiyomi.data.preference.PreferencesHelper import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.data.updater.UpdaterJob import eu.kanade.tachiyomi.data.updater.UpdaterJob
import eu.kanade.tachiyomi.extension.ExtensionUpdateJob import eu.kanade.tachiyomi.extension.ExtensionUpdateJob
import eu.kanade.tachiyomi.ui.library.LibrarySort
import java.io.File import java.io.File
object Migrations { object Migrations {
@ -82,6 +83,12 @@ object Migrations {
// New extension update check job // New extension update check job
ExtensionUpdateJob.setupTask(context) ExtensionUpdateJob.setupTask(context)
} }
if (oldVersion < 44) {
// Reset sorting preference if using removed sort by source
if (preferences.librarySortingMode().get() == LibrarySort.SOURCE) {
preferences.librarySortingMode().set(LibrarySort.ALPHA)
}
}
return true return true
} }
return false return false

View File

@ -24,6 +24,7 @@ import eu.kanade.tachiyomi.data.backup.models.Backup
import eu.kanade.tachiyomi.data.backup.models.Backup.CATEGORIES import eu.kanade.tachiyomi.data.backup.models.Backup.CATEGORIES
import eu.kanade.tachiyomi.data.backup.models.Backup.CHAPTERS import eu.kanade.tachiyomi.data.backup.models.Backup.CHAPTERS
import eu.kanade.tachiyomi.data.backup.models.Backup.CURRENT_VERSION import eu.kanade.tachiyomi.data.backup.models.Backup.CURRENT_VERSION
import eu.kanade.tachiyomi.data.backup.models.Backup.EXTENSIONS
import eu.kanade.tachiyomi.data.backup.models.Backup.HISTORY import eu.kanade.tachiyomi.data.backup.models.Backup.HISTORY
import eu.kanade.tachiyomi.data.backup.models.Backup.MANGA import eu.kanade.tachiyomi.data.backup.models.Backup.MANGA
import eu.kanade.tachiyomi.data.backup.models.Backup.TRACK import eu.kanade.tachiyomi.data.backup.models.Backup.TRACK
@ -110,24 +111,38 @@ class BackupManager(val context: Context, version: Int = CURRENT_VERSION) {
// Create category array // Create category array
val categoryEntries = JsonArray() val categoryEntries = JsonArray()
// Create extension ID/name mapping
val extensionEntries = JsonArray()
// Add value's to root // Add value's to root
root[Backup.VERSION] = CURRENT_VERSION root[Backup.VERSION] = CURRENT_VERSION
root[Backup.MANGAS] = mangaEntries root[Backup.MANGAS] = mangaEntries
root[CATEGORIES] = categoryEntries root[CATEGORIES] = categoryEntries
root[EXTENSIONS] = extensionEntries
databaseHelper.inTransaction { databaseHelper.inTransaction {
// Get manga from database // Get manga from database
val mangas = getFavoriteManga() val mangas = getFavoriteManga()
val extensions: MutableSet<String> = mutableSetOf()
// Backup library manga and its dependencies // Backup library manga and its dependencies
mangas.forEach { manga -> mangas.forEach { manga ->
mangaEntries.add(backupMangaObject(manga, flags)) mangaEntries.add(backupMangaObject(manga, flags))
// Maintain set of extensions/sources used (excludes local source)
if (manga.source != 0L && sourceManager.get(manga.source) != null) {
extensions.add("${manga.source}:${sourceManager.get(manga.source)!!.name}")
}
} }
// Backup categories // Backup categories
if ((flags and BACKUP_CATEGORY_MASK) == BACKUP_CATEGORY) { if ((flags and BACKUP_CATEGORY_MASK) == BACKUP_CATEGORY) {
backupCategories(categoryEntries) backupCategories(categoryEntries)
} }
// Backup extension ID/name mapping
backupExtensionInfo(extensionEntries, extensions)
} }
try { try {
@ -170,6 +185,12 @@ class BackupManager(val context: Context, version: Int = CURRENT_VERSION) {
} }
} }
private fun backupExtensionInfo(root: JsonArray, extensions: Set<String>) {
extensions.sorted().forEach {
root.add(it)
}
}
/** /**
* Backup the categories of library * Backup the categories of library
* *

View File

@ -14,6 +14,7 @@ object Backup {
const val TRACK = "track" const val TRACK = "track"
const val CHAPTERS = "chapters" const val CHAPTERS = "chapters"
const val CATEGORIES = "categories" const val CATEGORIES = "categories"
const val EXTENSIONS = "extensions"
const val HISTORY = "history" const val HISTORY = "history"
const val VERSION = "version" const val VERSION = "version"

View File

@ -53,10 +53,14 @@ object Notifications {
const val CHANNEL_BACKUP_RESTORE_PROGRESS = "backup_restore_progress_channel" const val CHANNEL_BACKUP_RESTORE_PROGRESS = "backup_restore_progress_channel"
const val ID_BACKUP_PROGRESS = -501 const val ID_BACKUP_PROGRESS = -501
const val ID_RESTORE_PROGRESS = -503 const val ID_RESTORE_PROGRESS = -503
const val CHANNEL_BACKUP_RESTORE_COMPLETE = "backup_restore_complete_channel" const val CHANNEL_BACKUP_RESTORE_COMPLETE = "backup_restore_complete_channel_v2"
const val ID_BACKUP_COMPLETE = -502 const val ID_BACKUP_COMPLETE = -502
const val ID_RESTORE_COMPLETE = -504 const val ID_RESTORE_COMPLETE = -504
private val deprecatedChannels = listOf(
"backup_restore_complete_channel"
)
/** /**
* Creates the notification channels introduced in Android Oreo. * Creates the notification channels introduced in Android Oreo.
* *
@ -106,8 +110,14 @@ object Notifications {
).apply { ).apply {
group = GROUP_BACK_RESTORE group = GROUP_BACK_RESTORE
setShowBadge(false) setShowBadge(false)
setSound(null, null)
} }
) )
context.notificationManager.createNotificationChannels(channels) context.notificationManager.createNotificationChannels(channels)
// Delete old notification channels
deprecatedChannels.forEach {
context.notificationManager.deleteNotificationChannel(it)
}
} }
} }

View File

@ -12,6 +12,7 @@ import com.bluelinelabs.conductor.RouterTransaction
import com.bluelinelabs.conductor.support.RouterPagerAdapter import com.bluelinelabs.conductor.support.RouterPagerAdapter
import com.google.android.material.badge.BadgeDrawable import com.google.android.material.badge.BadgeDrawable
import com.google.android.material.tabs.TabLayout import com.google.android.material.tabs.TabLayout
import com.jakewharton.rxrelay.PublishRelay
import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.preference.PreferencesHelper import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.databinding.PagerControllerBinding import eu.kanade.tachiyomi.databinding.PagerControllerBinding
@ -41,6 +42,8 @@ class BrowseController :
private val toExtensions = args.getBoolean(TO_EXTENSIONS_EXTRA, false) private val toExtensions = args.getBoolean(TO_EXTENSIONS_EXTRA, false)
val extensionListUpdateRelay: PublishRelay<Boolean> = PublishRelay.create()
private var adapter: BrowseAdapter? = null private var adapter: BrowseAdapter? = null
override fun getTitle(): String? { override fun getTitle(): String? {

View File

@ -181,7 +181,9 @@ open class ExtensionController :
drawExtensions() drawExtensions()
// Update badge on parent controller tab // Update badge on parent controller tab
(parentController as BrowseController).setExtensionUpdateBadge() val ctrl = parentController as BrowseController
ctrl.setExtensionUpdateBadge()
ctrl.extensionListUpdateRelay.call(true)
} }
private fun drawExtensions() { private fun drawExtensions() {

View File

@ -92,6 +92,12 @@ class SourceController :
adapter?.fastScroller = binding.fastScroller adapter?.fastScroller = binding.fastScroller
requestPermissionsSafe(arrayOf(WRITE_EXTERNAL_STORAGE), 301) requestPermissionsSafe(arrayOf(WRITE_EXTERNAL_STORAGE), 301)
// Update list on extension changes (e.g. new installation)
(parentController as BrowseController).extensionListUpdateRelay
.subscribeUntilDestroy {
presenter.updateSources()
}
} }
override fun onDestroyView(view: View) { override fun onDestroyView(view: View) {

View File

@ -31,6 +31,7 @@ import eu.kanade.tachiyomi.source.online.HttpSource
import eu.kanade.tachiyomi.ui.base.controller.NucleusController import eu.kanade.tachiyomi.ui.base.controller.NucleusController
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
import eu.kanade.tachiyomi.ui.library.ChangeMangaCategoriesDialog import eu.kanade.tachiyomi.ui.library.ChangeMangaCategoriesDialog
import eu.kanade.tachiyomi.ui.main.offsetFabAppbarHeight
import eu.kanade.tachiyomi.ui.manga.MangaController import eu.kanade.tachiyomi.ui.manga.MangaController
import eu.kanade.tachiyomi.ui.webview.WebViewActivity import eu.kanade.tachiyomi.ui.webview.WebViewActivity
import eu.kanade.tachiyomi.util.system.connectivityManager import eu.kanade.tachiyomi.util.system.connectivityManager
@ -152,7 +153,13 @@ open class BrowseSourceController(bundle: Bundle) :
) )
filterSheet?.setFilters(presenter.filterItems) filterSheet?.setFilters(presenter.filterItems)
// TODO: [ExtendedFloatingActionButton] hide/show methods don't work properly
filterSheet?.setOnShowListener { binding.fabFilter.gone() }
filterSheet?.setOnDismissListener { binding.fabFilter.visible() }
binding.fabFilter.setOnClickListener { filterSheet?.show() } binding.fabFilter.setOnClickListener { filterSheet?.show() }
binding.fabFilter.offsetFabAppbarHeight(activity!!)
binding.fabFilter.visible() binding.fabFilter.visible()
} }

View File

@ -17,6 +17,7 @@ import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.Category import eu.kanade.tachiyomi.data.database.models.Category
import eu.kanade.tachiyomi.databinding.CategoriesControllerBinding import eu.kanade.tachiyomi.databinding.CategoriesControllerBinding
import eu.kanade.tachiyomi.ui.base.controller.NucleusController import eu.kanade.tachiyomi.ui.base.controller.NucleusController
import eu.kanade.tachiyomi.ui.main.offsetFabAppbarHeight
import eu.kanade.tachiyomi.util.system.toast import eu.kanade.tachiyomi.util.system.toast
import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onEach
@ -93,6 +94,8 @@ class CategoryController :
CategoryCreateDialog(this@CategoryController).showDialog(router, null) CategoryCreateDialog(this@CategoryController).showDialog(router, null)
} }
.launchIn(scope) .launchIn(scope)
binding.fab.offsetFabAppbarHeight(activity!!)
} }
/** /**

View File

@ -13,8 +13,12 @@ import eu.kanade.tachiyomi.data.download.model.Download
import eu.kanade.tachiyomi.databinding.DownloadControllerBinding import eu.kanade.tachiyomi.databinding.DownloadControllerBinding
import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.Page
import eu.kanade.tachiyomi.ui.base.controller.NucleusController import eu.kanade.tachiyomi.ui.base.controller.NucleusController
import eu.kanade.tachiyomi.ui.main.offsetFabAppbarHeight
import java.util.HashMap import java.util.HashMap
import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import reactivecircus.flowbinding.android.view.clicks
import rx.Observable import rx.Observable
import rx.Subscription import rx.Subscription
import rx.android.schedulers.AndroidSchedulers import rx.android.schedulers.AndroidSchedulers
@ -74,6 +78,23 @@ class DownloadController :
binding.recycler.layoutManager = LinearLayoutManager(view.context) binding.recycler.layoutManager = LinearLayoutManager(view.context)
binding.recycler.setHasFixedSize(true) binding.recycler.setHasFixedSize(true)
binding.fab.clicks()
.onEach {
val context = applicationContext ?: return@onEach
if (isRunning) {
DownloadService.stop(context)
presenter.pauseDownloads()
} else {
DownloadService.start(context)
}
setInformationView()
}
.launchIn(scope)
binding.fab.offsetFabAppbarHeight(activity!!)
// Subscribe to changes // Subscribe to changes
DownloadService.runningRelay DownloadService.runningRelay
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
@ -102,8 +123,6 @@ class DownloadController :
} }
override fun onPrepareOptionsMenu(menu: Menu) { override fun onPrepareOptionsMenu(menu: Menu) {
menu.findItem(R.id.start_queue).isVisible = !isRunning && !presenter.downloadQueue.isEmpty()
menu.findItem(R.id.pause_queue).isVisible = isRunning
menu.findItem(R.id.clear_queue).isVisible = !presenter.downloadQueue.isEmpty() menu.findItem(R.id.clear_queue).isVisible = !presenter.downloadQueue.isEmpty()
menu.findItem(R.id.reorder).isVisible = !presenter.downloadQueue.isEmpty() menu.findItem(R.id.reorder).isVisible = !presenter.downloadQueue.isEmpty()
} }
@ -111,11 +130,6 @@ class DownloadController :
override fun onOptionsItemSelected(item: MenuItem): Boolean { override fun onOptionsItemSelected(item: MenuItem): Boolean {
val context = applicationContext ?: return false val context = applicationContext ?: return false
when (item.itemId) { when (item.itemId) {
R.id.start_queue -> DownloadService.start(context)
R.id.pause_queue -> {
DownloadService.stop(context)
presenter.pauseDownloads()
}
R.id.clear_queue -> { R.id.clear_queue -> {
DownloadService.stop(context) DownloadService.stop(context)
presenter.clearQueue() presenter.clearQueue()
@ -253,8 +267,18 @@ class DownloadController :
private fun setInformationView() { private fun setInformationView() {
if (presenter.downloadQueue.isEmpty()) { if (presenter.downloadQueue.isEmpty()) {
binding.emptyView.show(R.string.information_no_downloads) binding.emptyView.show(R.string.information_no_downloads)
binding.fab.hide()
} else { } else {
binding.emptyView.hide() binding.emptyView.hide()
binding.fab.show()
binding.fab.setImageResource(
if (isRunning) {
R.drawable.ic_pause_24dp
} else {
R.drawable.ic_play_arrow_24dp
}
)
} }
} }

View File

@ -32,6 +32,7 @@ import eu.kanade.tachiyomi.ui.base.controller.RootController
import eu.kanade.tachiyomi.ui.base.controller.TabbedController import eu.kanade.tachiyomi.ui.base.controller.TabbedController
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
import eu.kanade.tachiyomi.ui.main.MainActivity import eu.kanade.tachiyomi.ui.main.MainActivity
import eu.kanade.tachiyomi.ui.main.offsetFabAppbarHeight
import eu.kanade.tachiyomi.ui.manga.MangaController import eu.kanade.tachiyomi.ui.manga.MangaController
import eu.kanade.tachiyomi.util.system.getResourceColor import eu.kanade.tachiyomi.util.system.getResourceColor
import eu.kanade.tachiyomi.util.system.toast import eu.kanade.tachiyomi.util.system.toast
@ -177,6 +178,8 @@ class LibraryController(
if (preferences.downloadedOnly().get()) { if (preferences.downloadedOnly().get()) {
binding.downloadedOnly.visible() binding.downloadedOnly.visible()
} }
binding.actionToolbar.offsetFabAppbarHeight(activity!!)
} }
override fun onChangeStarted(handler: ControllerChangeHandler, type: ControllerChangeType) { override fun onChangeStarted(handler: ControllerChangeHandler, type: ControllerChangeType) {
@ -316,6 +319,7 @@ class LibraryController(
actionMode!!, actionMode!!,
R.menu.library_selection R.menu.library_selection
) { onActionItemClicked(actionMode!!, it!!) } ) { onActionItemClicked(actionMode!!, it!!) }
(activity as? MainActivity)?.showBottomNav(visible = false, collapse = true)
} }
} }
@ -430,10 +434,13 @@ class LibraryController(
} }
override fun onDestroyActionMode(mode: ActionMode?) { override fun onDestroyActionMode(mode: ActionMode?) {
binding.actionToolbar.hide()
// Clear all the manga selections and notify child views. // Clear all the manga selections and notify child views.
selectedMangas.clear() selectedMangas.clear()
selectionRelay.call(LibrarySelectionEvent.Cleared()) selectionRelay.call(LibrarySelectionEvent.Cleared())
binding.actionToolbar.hide()
(activity as? MainActivity)?.showBottomNav(visible = true, collapse = true)
actionMode = null actionMode = null
} }

View File

@ -8,4 +8,7 @@ object LibrarySort {
const val UNREAD = 3 const val UNREAD = 3
const val TOTAL = 4 const val TOTAL = 4
const val LATEST_CHAPTER = 6 const val LATEST_CHAPTER = 6
@Deprecated("Removed in favor of searching by source")
const val SOURCE = 5
} }

View File

@ -1,15 +1,21 @@
package eu.kanade.tachiyomi.ui.main package eu.kanade.tachiyomi.ui.main
import android.app.Activity
import android.app.SearchManager import android.app.SearchManager
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.Toast import android.widget.Toast
import androidx.coordinatorlayout.widget.CoordinatorLayout
import com.bluelinelabs.conductor.Conductor import com.bluelinelabs.conductor.Conductor
import com.bluelinelabs.conductor.Controller import com.bluelinelabs.conductor.Controller
import com.bluelinelabs.conductor.ControllerChangeHandler import com.bluelinelabs.conductor.ControllerChangeHandler
import com.bluelinelabs.conductor.Router import com.bluelinelabs.conductor.Router
import com.bluelinelabs.conductor.RouterTransaction import com.bluelinelabs.conductor.RouterTransaction
import com.google.android.material.appbar.AppBarLayout
import com.google.android.material.behavior.HideBottomViewOnScrollBehavior
import com.google.android.material.tabs.TabLayout
import eu.kanade.tachiyomi.Migrations import eu.kanade.tachiyomi.Migrations
import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.notification.NotificationReceiver import eu.kanade.tachiyomi.data.notification.NotificationReceiver
@ -318,11 +324,15 @@ class MainActivity : BaseActivity<MainActivityBinding>() {
supportActionBar?.setDisplayHomeAsUpEnabled(router.backstackSize != 1) supportActionBar?.setDisplayHomeAsUpEnabled(router.backstackSize != 1)
// Always show appbar again when changing controllers
binding.appbar.setExpanded(true)
if ((from == null || from is RootController) && to !is RootController) { if ((from == null || from is RootController) && to !is RootController) {
bottomNavAnimator.collapse() showBottomNav(visible = false, collapse = true)
} }
if (to is RootController && from !is RootController) { if (to is RootController) {
bottomNavAnimator.expand() // Always show bottom nav again when returning to a RootController
showBottomNav(visible = true, collapse = from !is RootController)
} }
if (from is TabbedController) { if (from is TabbedController) {
@ -343,6 +353,24 @@ class MainActivity : BaseActivity<MainActivityBinding>() {
} }
} }
fun showBottomNav(visible: Boolean, collapse: Boolean = false) {
val layoutParams = binding.bottomNav.layoutParams as CoordinatorLayout.LayoutParams
val bottomViewNavigationBehavior = layoutParams.behavior as HideBottomViewOnScrollBehavior
if (visible) {
if (collapse) {
bottomNavAnimator.expand()
}
bottomViewNavigationBehavior.slideUp(binding.bottomNav)
} else {
if (collapse) {
bottomNavAnimator.collapse()
}
bottomViewNavigationBehavior.slideDown(binding.bottomNav)
}
}
companion object { companion object {
// Shortcut actions // Shortcut actions
const val SHORTCUT_LIBRARY = "eu.kanade.tachiyomi.SHOW_LIBRARY" const val SHORTCUT_LIBRARY = "eu.kanade.tachiyomi.SHOW_LIBRARY"
@ -358,3 +386,18 @@ class MainActivity : BaseActivity<MainActivityBinding>() {
const val INTENT_SEARCH_FILTER = "filter" const val INTENT_SEARCH_FILTER = "filter"
} }
} }
/**
* Used to manually offset a FAB within child views that might be cut off due to the collapsing
* AppBarLayout.
*/
fun View.offsetFabAppbarHeight(activity: Activity) {
val appbar: AppBarLayout = activity.findViewById(R.id.appbar)
val tabs: TabLayout = activity.findViewById(R.id.tabs)
appbar.addOnOffsetChangedListener(
AppBarLayout.OnOffsetChangedListener { appBarLayout, verticalOffset ->
val maxAbsOffset = appBarLayout.measuredHeight - tabs.measuredHeight
translationY = -maxAbsOffset - verticalOffset.toFloat()
}
)
}

View File

@ -24,6 +24,7 @@ import eu.kanade.tachiyomi.data.database.models.Manga
import eu.kanade.tachiyomi.data.download.model.Download import eu.kanade.tachiyomi.data.download.model.Download
import eu.kanade.tachiyomi.databinding.ChaptersControllerBinding import eu.kanade.tachiyomi.databinding.ChaptersControllerBinding
import eu.kanade.tachiyomi.ui.base.controller.NucleusController import eu.kanade.tachiyomi.ui.base.controller.NucleusController
import eu.kanade.tachiyomi.ui.main.offsetFabAppbarHeight
import eu.kanade.tachiyomi.ui.manga.MangaController import eu.kanade.tachiyomi.ui.manga.MangaController
import eu.kanade.tachiyomi.ui.reader.ReaderActivity import eu.kanade.tachiyomi.ui.reader.ReaderActivity
import eu.kanade.tachiyomi.util.system.getResourceColor import eu.kanade.tachiyomi.util.system.getResourceColor
@ -121,6 +122,9 @@ class ChaptersController :
.launchIn(scope) .launchIn(scope)
binding.fab.shrinkOnScroll(binding.recycler) binding.fab.shrinkOnScroll(binding.recycler)
binding.actionToolbar.offsetFabAppbarHeight(activity!!)
binding.fab.offsetFabAppbarHeight(activity!!)
} }
override fun onDestroyView(view: View) { override fun onDestroyView(view: View) {
@ -139,6 +143,7 @@ class ChaptersController :
val coordinates = binding.fab.getCoordinates() val coordinates = binding.fab.getCoordinates()
binding.revealView.hideRevealEffect(coordinates.x, coordinates.y, 1920) binding.revealView.hideRevealEffect(coordinates.x, coordinates.y, 1920)
} }
super.onActivityResumed(activity) super.onActivityResumed(activity)
} }
@ -457,9 +462,13 @@ class ChaptersController :
private fun selectInverse() { private fun selectInverse() {
val adapter = adapter ?: return val adapter = adapter ?: return
selectedItems.clear()
for (i in 0..adapter.itemCount) { for (i in 0..adapter.itemCount) {
adapter.toggleSelection(i) adapter.toggleSelection(i)
} }
selectedItems.addAll(adapter.selectedPositions.mapNotNull { adapter.getItem(it) })
actionMode?.invalidate() actionMode?.invalidate()
adapter.notifyDataSetChanged() adapter.notifyDataSetChanged()
} }

View File

@ -121,6 +121,15 @@ class AboutController : SettingsController() {
startActivity(intent) startActivity(intent)
} }
} }
preference {
titleRes = R.string.label_extensions
val url = "https://github.com/inorichi/tachiyomi-extensions"
summary = url
onClick {
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url))
startActivity(intent)
}
}
preference { preference {
titleRes = R.string.licenses titleRes = R.string.licenses

View File

@ -128,7 +128,8 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
setTheme( setTheme(
when (preferences.readerTheme().get()) { when (preferences.readerTheme().get()) {
0 -> R.style.Theme_Reader_Light 0 -> R.style.Theme_Reader_Light
else -> R.style.Theme_Reader 2 -> R.style.Theme_Reader_Dark_Grey
else -> R.style.Theme_Reader_Dark
} }
) )
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)

View File

@ -1,5 +1,6 @@
package eu.kanade.tachiyomi.ui.reader package eu.kanade.tachiyomi.ui.reader
import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.widget.CompoundButton import android.widget.CompoundButton
import android.widget.Spinner import android.widget.Spinner
@ -29,6 +30,7 @@ import kotlinx.android.synthetic.main.reader_settings_sheet.pager_prefs_group
import kotlinx.android.synthetic.main.reader_settings_sheet.rotation_mode import kotlinx.android.synthetic.main.reader_settings_sheet.rotation_mode
import kotlinx.android.synthetic.main.reader_settings_sheet.scale_type import kotlinx.android.synthetic.main.reader_settings_sheet.scale_type
import kotlinx.android.synthetic.main.reader_settings_sheet.show_page_number import kotlinx.android.synthetic.main.reader_settings_sheet.show_page_number
import kotlinx.android.synthetic.main.reader_settings_sheet.true_color
import kotlinx.android.synthetic.main.reader_settings_sheet.viewer import kotlinx.android.synthetic.main.reader_settings_sheet.viewer
import kotlinx.android.synthetic.main.reader_settings_sheet.webtoon_prefs_group import kotlinx.android.synthetic.main.reader_settings_sheet.webtoon_prefs_group
import kotlinx.android.synthetic.main.reader_settings_sheet.webtoon_side_padding import kotlinx.android.synthetic.main.reader_settings_sheet.webtoon_side_padding
@ -81,13 +83,18 @@ class ReaderSettingsSheet(private val activity: ReaderActivity) : BottomSheetDia
viewer.setSelection(activity.presenter.manga?.viewer ?: 0, false) viewer.setSelection(activity.presenter.manga?.viewer ?: 0, false)
rotation_mode.bindToPreference(preferences.rotation(), 1) rotation_mode.bindToPreference(preferences.rotation(), 1)
background_color.bindToPreference(preferences.readerTheme()) background_color.bindToIntPreference(preferences.readerTheme(), R.array.reader_themes_values)
show_page_number.bindToPreference(preferences.showPageNumber()) show_page_number.bindToPreference(preferences.showPageNumber())
fullscreen.bindToPreference(preferences.fullscreen()) fullscreen.bindToPreference(preferences.fullscreen())
cutout_short.bindToPreference(preferences.cutoutShort()) cutout_short.bindToPreference(preferences.cutoutShort())
keepscreen.bindToPreference(preferences.keepScreenOn()) keepscreen.bindToPreference(preferences.keepScreenOn())
long_tap.bindToPreference(preferences.readWithLongTap()) long_tap.bindToPreference(preferences.readWithLongTap())
always_show_chapter_transition.bindToPreference(preferences.alwaysShowChapterTransition()) always_show_chapter_transition.bindToPreference(preferences.alwaysShowChapterTransition())
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
true_color.visible()
true_color.bindToPreference(preferences.trueColor())
}
} }
/** /**

View File

@ -132,16 +132,16 @@ abstract class PagerViewer(val activity: ReaderActivity) : BaseViewer {
private fun checkAllowPreload(page: ReaderPage?): Boolean { private fun checkAllowPreload(page: ReaderPage?): Boolean {
// Page is transition page - preload allowed // Page is transition page - preload allowed
page == null ?: return true page ?: return true
// Initial opening - preload allowed // Initial opening - preload allowed
currentPage == null ?: return true currentPage ?: return true
// Allow preload for // Allow preload for
// 1. Going to next chapter from chapter transition // 1. Going to next chapter from chapter transition
// 2. Going between pages of same chapter // 2. Going between pages of same chapter
// 3. Next chapter page // 3. Next chapter page
return when (page!!.chapter) { return when (page.chapter) {
(currentPage as? ChapterTransition.Next)?.to -> true (currentPage as? ChapterTransition.Next)?.to -> true
(currentPage as? ReaderPage)?.chapter -> true (currentPage as? ReaderPage)?.chapter -> true
adapter.nextTransition?.to -> true adapter.nextTransition?.to -> true

View File

@ -125,10 +125,10 @@ class WebtoonViewer(val activity: ReaderActivity, val isContinuous: Boolean = tr
private fun checkAllowPreload(page: ReaderPage?): Boolean { private fun checkAllowPreload(page: ReaderPage?): Boolean {
// Page is transition page - preload allowed // Page is transition page - preload allowed
page == null ?: return true page ?: return true
// Initial opening - preload allowed // Initial opening - preload allowed
currentPage == null ?: return true currentPage ?: return true
val nextItem = adapter.items.getOrNull(adapter.items.count() - 1) val nextItem = adapter.items.getOrNull(adapter.items.count() - 1)
val nextChapter = (nextItem as? ChapterTransition.Next)?.to ?: (nextItem as? ReaderPage)?.chapter val nextChapter = (nextItem as? ChapterTransition.Next)?.to ?: (nextItem as? ReaderPage)?.chapter
@ -136,7 +136,7 @@ class WebtoonViewer(val activity: ReaderActivity, val isContinuous: Boolean = tr
// Allow preload for // Allow preload for
// 1. Going between pages of same chapter // 1. Going between pages of same chapter
// 2. Next chapter page // 2. Next chapter page
return when (page!!.chapter) { return when (page.chapter) {
(currentPage as? ReaderPage)?.chapter -> true (currentPage as? ReaderPage)?.chapter -> true
nextChapter -> true nextChapter -> true
else -> false else -> false

View File

@ -22,6 +22,8 @@ import eu.kanade.tachiyomi.ui.base.controller.NoToolbarElevationController
import eu.kanade.tachiyomi.ui.base.controller.NucleusController import eu.kanade.tachiyomi.ui.base.controller.NucleusController
import eu.kanade.tachiyomi.ui.base.controller.RootController import eu.kanade.tachiyomi.ui.base.controller.RootController
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
import eu.kanade.tachiyomi.ui.main.MainActivity
import eu.kanade.tachiyomi.ui.main.offsetFabAppbarHeight
import eu.kanade.tachiyomi.ui.manga.MangaController import eu.kanade.tachiyomi.ui.manga.MangaController
import eu.kanade.tachiyomi.ui.reader.ReaderActivity import eu.kanade.tachiyomi.ui.reader.ReaderActivity
import eu.kanade.tachiyomi.util.system.notificationManager import eu.kanade.tachiyomi.util.system.notificationManager
@ -109,6 +111,8 @@ class UpdatesController :
binding.swipeRefresh.isRefreshing = false binding.swipeRefresh.isRefreshing = false
} }
.launchIn(scope) .launchIn(scope)
binding.actionToolbar.offsetFabAppbarHeight(activity!!)
} }
override fun onDestroyView(view: View) { override fun onDestroyView(view: View) {
@ -176,6 +180,7 @@ class UpdatesController :
actionMode!!, actionMode!!,
R.menu.updates_chapter_selection R.menu.updates_chapter_selection
) { onActionItemClicked(actionMode!!, it!!) } ) { onActionItemClicked(actionMode!!, it!!) }
(activity as? MainActivity)?.showBottomNav(visible = false, collapse = true)
} }
toggleSelection(position) toggleSelection(position)
@ -265,9 +270,6 @@ class UpdatesController :
presenter.deleteChapters(chaptersToDelete) presenter.deleteChapters(chaptersToDelete)
} }
/**
* Destory [ActionMode] if it's shown
*/
private fun destroyActionModeIfNeeded() { private fun destroyActionModeIfNeeded() {
actionMode?.finish() actionMode?.finish()
} }
@ -350,9 +352,12 @@ class UpdatesController :
* @param mode the ActionMode object * @param mode the ActionMode object
*/ */
override fun onDestroyActionMode(mode: ActionMode?) { override fun onDestroyActionMode(mode: ActionMode?) {
binding.actionToolbar.hide()
adapter?.mode = SelectableAdapter.Mode.IDLE adapter?.mode = SelectableAdapter.Mode.IDLE
adapter?.clearSelection() adapter?.clearSelection()
binding.actionToolbar.hide()
(activity as? MainActivity)?.showBottomNav(visible = true, collapse = true)
actionMode = null actionMode = null
} }

View File

@ -40,6 +40,7 @@ class BiometricUnlockActivity : AppCompatActivity() {
val promptInfo = BiometricPrompt.PromptInfo.Builder() val promptInfo = BiometricPrompt.PromptInfo.Builder()
.setTitle(getString(R.string.unlock_app)) .setTitle(getString(R.string.unlock_app))
.setDeviceCredentialAllowed(true) .setDeviceCredentialAllowed(true)
.setConfirmationRequired(false)
.build() .build()
biometricPrompt.authenticate(promptInfo) biometricPrompt.authenticate(promptInfo)

View File

@ -171,6 +171,10 @@ class SettingsLibraryController : SettingsController() {
preference { preference {
titleRes = R.string.action_edit_categories titleRes = R.string.action_edit_categories
val catCount = db.getCategories().executeAsBlocking().size
summary = context.resources.getQuantityString(R.plurals.num_categories, catCount, catCount)
onClick { onClick {
router.pushController(CategoryController().withFadeTransaction()) router.pushController(CategoryController().withFadeTransaction())
} }

View File

@ -8,6 +8,7 @@ import eu.kanade.tachiyomi.util.preference.defaultValue
import eu.kanade.tachiyomi.util.preference.entriesRes import eu.kanade.tachiyomi.util.preference.entriesRes
import eu.kanade.tachiyomi.util.preference.intListPreference import eu.kanade.tachiyomi.util.preference.intListPreference
import eu.kanade.tachiyomi.util.preference.preferenceCategory import eu.kanade.tachiyomi.util.preference.preferenceCategory
import eu.kanade.tachiyomi.util.preference.summaryRes
import eu.kanade.tachiyomi.util.preference.switchPreference import eu.kanade.tachiyomi.util.preference.switchPreference
import eu.kanade.tachiyomi.util.preference.titleRes import eu.kanade.tachiyomi.util.preference.titleRes
import eu.kanade.tachiyomi.util.system.hasDisplayCutout import eu.kanade.tachiyomi.util.system.hasDisplayCutout
@ -31,29 +32,6 @@ class SettingsReaderController : SettingsController() {
defaultValue = "1" defaultValue = "1"
summary = "%s" summary = "%s"
} }
intListPreference {
key = Keys.imageScaleType
titleRes = R.string.pref_image_scale_type
entriesRes = arrayOf(
R.string.scale_type_fit_screen, R.string.scale_type_stretch,
R.string.scale_type_fit_width, R.string.scale_type_fit_height,
R.string.scale_type_original_size, R.string.scale_type_smart_fit
)
entryValues = arrayOf("1", "2", "3", "4", "5", "6")
defaultValue = "1"
summary = "%s"
}
intListPreference {
key = Keys.zoomStart
titleRes = R.string.pref_zoom_start
entriesRes = arrayOf(
R.string.zoom_start_automatic, R.string.zoom_start_left,
R.string.zoom_start_right, R.string.zoom_start_center
)
entryValues = arrayOf("1", "2", "3", "4")
defaultValue = "1"
summary = "%s"
}
intListPreference { intListPreference {
key = Keys.rotation key = Keys.rotation
titleRes = R.string.pref_rotation_type titleRes = R.string.pref_rotation_type
@ -68,8 +46,8 @@ class SettingsReaderController : SettingsController() {
intListPreference { intListPreference {
key = Keys.readerTheme key = Keys.readerTheme
titleRes = R.string.pref_reader_theme titleRes = R.string.pref_reader_theme
entriesRes = arrayOf(R.string.white_background, R.string.black_background) entriesRes = arrayOf(R.string.black_background, R.string.gray_background, R.string.white_background)
entryValues = arrayOf("0", "1") entryValues = arrayOf("1", "2", "0")
defaultValue = "1" defaultValue = "1"
summary = "%s" summary = "%s"
} }
@ -109,6 +87,7 @@ class SettingsReaderController : SettingsController() {
switchPreference { switchPreference {
key = Keys.trueColor key = Keys.trueColor
titleRes = R.string.pref_true_color titleRes = R.string.pref_true_color
summaryRes = R.string.pref_true_color_summary
defaultValue = false defaultValue = false
} }
} }
@ -137,6 +116,29 @@ class SettingsReaderController : SettingsController() {
preferenceCategory { preferenceCategory {
titleRes = R.string.pager_viewer titleRes = R.string.pager_viewer
intListPreference {
key = Keys.imageScaleType
titleRes = R.string.pref_image_scale_type
entriesRes = arrayOf(
R.string.scale_type_fit_screen, R.string.scale_type_stretch,
R.string.scale_type_fit_width, R.string.scale_type_fit_height,
R.string.scale_type_original_size, R.string.scale_type_smart_fit
)
entryValues = arrayOf("1", "2", "3", "4", "5", "6")
defaultValue = "1"
summary = "%s"
}
intListPreference {
key = Keys.zoomStart
titleRes = R.string.pref_zoom_start
entriesRes = arrayOf(
R.string.zoom_start_automatic, R.string.zoom_start_left,
R.string.zoom_start_right, R.string.zoom_start_center
)
entryValues = arrayOf("1", "2", "3", "4")
defaultValue = "1"
summary = "%s"
}
switchPreference { switchPreference {
key = Keys.enableTransitions key = Keys.enableTransitions
titleRes = R.string.pref_page_transitions titleRes = R.string.pref_page_transitions

View File

@ -134,15 +134,7 @@ fun syncChaptersWithSource(
db.fixChaptersSourceOrder(sourceChapters).executeAsBlocking() db.fixChaptersSourceOrder(sourceChapters).executeAsBlocking()
// Set this manga as updated since chapters were changed // Set this manga as updated since chapters were changed
val newestChapter = db.getChapters(manga).executeAsBlocking().maxBy { it.date_upload } manga.last_update = Date().time
val dateFetch = newestChapter?.date_upload ?: manga.last_update
if (dateFetch == 0L) {
if (toAdd.isNotEmpty()) {
manga.last_update = Date().time
}
} else {
manga.last_update = dateFetch
}
db.updateLastUpdated(manga).executeAsBlocking() db.updateLastUpdated(manga).executeAsBlocking()
} }

View File

@ -1,6 +1,7 @@
package eu.kanade.tachiyomi.util.lang package eu.kanade.tachiyomi.util.lang
import kotlin.math.floor import kotlin.math.floor
import net.greypanther.natsort.CaseInsensitiveSimpleNaturalComparator
/** /**
* Replaces the given string to have at most [count] characters using [replacement] at its end. * Replaces the given string to have at most [count] characters using [replacement] at its end.
@ -32,9 +33,8 @@ fun String.truncateCenter(count: Int, replacement: String = "..."): String {
* Case-insensitive natural comparator for strings. * Case-insensitive natural comparator for strings.
*/ */
fun String.compareToCaseInsensitiveNaturalOrder(other: String): Int { fun String.compareToCaseInsensitiveNaturalOrder(other: String): Int {
return compareBy<String> { it.length } val comparator = CaseInsensitiveSimpleNaturalComparator.getInstance<String>()
.then(String.CASE_INSENSITIVE_ORDER) return comparator.compare(this, other)
.then(naturalOrder()).compare(this, other)
} }
/** /**

View File

@ -39,7 +39,8 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_gravity="end" android:layout_gravity="right"
android:layoutDirection="ltr"
app:fastScrollerBubbleEnabled="false" app:fastScrollerBubbleEnabled="false"
tools:visibility="visible" /> tools:visibility="visible" />

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/frame_container" android:id="@+id/frame_container"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -9,8 +10,17 @@
android:id="@+id/recycler" android:id="@+id/recycler"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingBottom="@dimen/fab_list_padding"
tools:listitem="@layout/download_item" /> tools:listitem="@layout/download_item" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
style="@style/Theme.Widget.FAB"
android:visibility="gone"
app:layout_anchor="@id/recycler"
app:srcCompat="@drawable/ic_pause_24dp" />
<eu.kanade.tachiyomi.widget.EmptyView <eu.kanade.tachiyomi.widget.EmptyView
android:id="@+id/empty_view" android:id="@+id/empty_view"
android:layout_width="wrap_content" android:layout_width="wrap_content"

View File

@ -22,7 +22,8 @@
android:id="@+id/fast_scroller" android:id="@+id/fast_scroller"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_gravity="end" android:layout_gravity="right"
android:layoutDirection="ltr"
app:fastScrollerBubbleEnabled="false" app:fastScrollerBubbleEnabled="false"
tools:visibility="visible" /> tools:visibility="visible" />

View File

@ -15,7 +15,8 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_gravity="end" android:layout_gravity="right"
android:layoutDirection="ltr"
app:fastScrollerBubbleEnabled="false" app:fastScrollerBubbleEnabled="false"
tools:visibility="visible" /> tools:visibility="visible" />

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
@ -15,7 +15,8 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary" android:background="?attr/colorPrimary"
android:theme="?attr/actionBarTheme" /> android:theme="?attr/actionBarTheme"
app:layout_scrollFlags="scroll|enterAlways|snap" />
<com.google.android.material.tabs.TabLayout <com.google.android.material.tabs.TabLayout
android:id="@+id/tabs" android:id="@+id/tabs"
@ -28,8 +29,8 @@
<com.bluelinelabs.conductor.ChangeHandlerFrameLayout <com.bluelinelabs.conductor.ChangeHandlerFrameLayout
android:id="@+id/controller_container" android:id="@+id/controller_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="match_parent"
android:layout_weight="1" /> app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<com.google.android.material.bottomnavigation.BottomNavigationView <com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_nav" android:id="@+id/bottom_nav"
@ -38,6 +39,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="bottom" android:layout_gravity="bottom"
app:labelVisibilityMode="labeled" app:labelVisibilityMode="labeled"
app:layout_insetEdge="bottom"
app:layout_behavior="@string/hide_bottom_view_on_scroll_behavior"
app:menu="@menu/bottom_nav" /> app:menu="@menu/bottom_nav" />
</LinearLayout> </androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@ -11,224 +11,225 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
<androidx.constraintlayout.widget.ConstraintLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content"
android:orientation="vertical">
<View
android:id="@+id/guideline"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="16dp"
app:layout_constraintTop_toBottomOf="@+id/manga_cover_card" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.38" />
<ImageView
android:id="@+id/backdrop"
android:layout_width="0dp"
android:layout_height="0dp"
android:alpha="0.2"
app:layout_constraintBottom_toTopOf="@+id/guideline"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:background="@color/material_grey_700" />
<androidx.cardview.widget.CardView
android:id="@+id/manga_cover_card"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
app:cardCornerRadius="@dimen/card_radius"
app:layout_constraintDimensionRatio="h,2:3"
app:layout_constraintEnd_toStartOf="@+id/guideline2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/manga_cover"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:contentDescription="@string/description_cover"
tools:background="@color/material_grey_700" />
</androidx.cardview.widget.CardView>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="0dp" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="wrap_content">
android:layout_marginStart="0dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
app:layout_constraintBottom_toTopOf="@+id/guideline"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/guideline2"
app:layout_constraintTop_toTopOf="parent">
<TextView <androidx.constraintlayout.widget.Guideline
android:id="@+id/manga_full_title" android:id="@+id/guideline2"
style="@style/TextAppearance.Medium.Title"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:maxLines="2" android:orientation="vertical"
android:paddingBottom="8dp" app:layout_constraintGuide_percent="0.38" />
android:text="@string/manga_info_full_title_label"
android:textIsSelectable="false" <ImageView
app:autoSizeMaxTextSize="20sp" android:id="@+id/backdrop"
app:autoSizeMinTextSize="12sp" android:layout_width="0dp"
app:autoSizeStepGranularity="2sp" android:layout_height="0dp"
app:autoSizeTextType="uniform" android:alpha="0.2"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent"
tools:background="@color/material_grey_700" />
<TextView
android:id="@+id/manga_author_label"
style="@style/TextAppearance.Medium.Body2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/manga_info_author_label"
android:textIsSelectable="false"
<androidx.cardview.widget.CardView
android:id="@+id/manga_cover_card"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
app:cardCornerRadius="@dimen/card_radius"
app:layout_constraintDimensionRatio="h,2:3"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/guideline2"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/manga_full_title" /> app:layout_constraintTop_toTopOf="parent">
<TextView <ImageView
android:id="@+id/manga_author" android:id="@+id/manga_cover"
style="@style/TextAppearance.Regular.Body1.Secondary" android:layout_width="match_parent"
android:layout_height="match_parent"
android:contentDescription="@string/description_cover"
tools:background="@color/material_grey_700" />
</androidx.cardview.widget.CardView>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/manga_info_section"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="8dp" android:layout_marginStart="0dp"
android:ellipsize="end" android:layout_marginTop="16dp"
android:maxLines="1" android:layout_marginEnd="16dp"
android:textIsSelectable="false" android:layout_marginBottom="16dp"
app:layout_constraintBaseline_toBaselineOf="@+id/manga_author_label"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/manga_author_label" /> app:layout_constraintStart_toStartOf="@+id/guideline2"
app:layout_constraintTop_toTopOf="parent">
<TextView <TextView
android:id="@+id/manga_artist_label" android:id="@+id/manga_full_title"
style="@style/TextAppearance.Medium.Body2" style="@style/TextAppearance.Medium.Title"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/manga_info_artist_label" android:maxLines="2"
android:textIsSelectable="false" android:paddingBottom="8dp"
app:layout_constraintStart_toStartOf="parent" android:text="@string/manga_info_full_title_label"
app:layout_constraintTop_toBottomOf="@+id/manga_author_label" /> android:textIsSelectable="false"
app:autoSizeMaxTextSize="20sp"
app:autoSizeMinTextSize="12sp"
app:autoSizeStepGranularity="2sp"
app:autoSizeTextType="uniform"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView <TextView
android:id="@+id/manga_artist" android:id="@+id/manga_author_label"
style="@style/TextAppearance.Regular.Body1.Secondary" style="@style/TextAppearance.Medium.Body2"
android:layout_width="0dp" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="8dp" android:text="@string/manga_info_author_label"
android:ellipsize="end" android:textIsSelectable="false"
android:maxLines="1"
android:textIsSelectable="false"
app:layout_constraintBaseline_toBaselineOf="@+id/manga_artist_label"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/manga_artist_label" />
<TextView app:layout_constraintStart_toStartOf="parent"
android:id="@+id/manga_chapters_label" app:layout_constraintTop_toBottomOf="@+id/manga_full_title" />
style="@style/TextAppearance.Medium.Body2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/manga_info_last_chapter_label"
android:textIsSelectable="false"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/manga_artist_label" />
<TextView <TextView
android:id="@+id/manga_chapters" android:id="@+id/manga_author"
style="@style/TextAppearance.Regular.Body1.Secondary" style="@style/TextAppearance.Regular.Body1.Secondary"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="8dp" android:layout_marginStart="8dp"
android:ellipsize="end" android:ellipsize="end"
android:maxLines="1" android:maxLines="1"
android:textIsSelectable="false" android:textIsSelectable="false"
app:layout_constraintBaseline_toBaselineOf="@+id/manga_chapters_label" app:layout_constraintBaseline_toBaselineOf="@+id/manga_author_label"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/manga_chapters_label" /> app:layout_constraintStart_toEndOf="@+id/manga_author_label" />
<TextView <TextView
android:id="@+id/manga_last_update_label" android:id="@+id/manga_artist_label"
style="@style/TextAppearance.Medium.Body2" style="@style/TextAppearance.Medium.Body2"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/manga_info_latest_data_label" android:text="@string/manga_info_artist_label"
android:textIsSelectable="false" android:textIsSelectable="false"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/manga_chapters_label" /> app:layout_constraintTop_toBottomOf="@+id/manga_author_label" />
<TextView <TextView
android:id="@+id/manga_last_update" android:id="@+id/manga_artist"
style="@style/TextAppearance.Regular.Body1.Secondary" style="@style/TextAppearance.Regular.Body1.Secondary"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="8dp" android:layout_marginStart="8dp"
android:ellipsize="end" android:ellipsize="end"
android:maxLines="1" android:maxLines="1"
android:textIsSelectable="false" android:textIsSelectable="false"
app:layout_constraintBaseline_toBaselineOf="@+id/manga_last_update_label" app:layout_constraintBaseline_toBaselineOf="@+id/manga_artist_label"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/manga_last_update_label" /> app:layout_constraintStart_toEndOf="@+id/manga_artist_label" />
<TextView <TextView
android:id="@+id/manga_status_label" android:id="@+id/manga_chapters_label"
style="@style/TextAppearance.Medium.Body2" style="@style/TextAppearance.Medium.Body2"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/manga_info_status_label" android:text="@string/manga_info_last_chapter_label"
android:textIsSelectable="false" android:textIsSelectable="false"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/manga_last_update_label" /> app:layout_constraintTop_toBottomOf="@+id/manga_artist_label" />
<TextView <TextView
android:id="@+id/manga_status" android:id="@+id/manga_chapters"
style="@style/TextAppearance.Regular.Body1.Secondary" style="@style/TextAppearance.Regular.Body1.Secondary"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="8dp" android:layout_marginStart="8dp"
android:ellipsize="end" android:ellipsize="end"
android:maxLines="1" android:maxLines="1"
android:textIsSelectable="false" android:textIsSelectable="false"
app:layout_constraintBaseline_toBaselineOf="@+id/manga_status_label" app:layout_constraintBaseline_toBaselineOf="@+id/manga_chapters_label"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/manga_status_label" /> app:layout_constraintStart_toEndOf="@+id/manga_chapters_label" />
<TextView <TextView
android:id="@+id/manga_source_label" android:id="@+id/manga_last_update_label"
style="@style/TextAppearance.Medium.Body2" style="@style/TextAppearance.Medium.Body2"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/manga_info_source_label" android:text="@string/manga_info_latest_data_label"
android:textIsSelectable="false" android:textIsSelectable="false"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/manga_status_label" /> app:layout_constraintTop_toBottomOf="@+id/manga_chapters_label" />
<TextView <TextView
android:id="@+id/manga_source" android:id="@+id/manga_last_update"
style="@style/TextAppearance.Regular.Body1.Secondary" style="@style/TextAppearance.Regular.Body1.Secondary"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="8dp" android:layout_marginStart="8dp"
android:ellipsize="end" android:ellipsize="end"
android:maxLines="1" android:maxLines="1"
android:textIsSelectable="false" android:textIsSelectable="false"
app:layout_constraintBaseline_toBaselineOf="@+id/manga_source_label" app:layout_constraintBaseline_toBaselineOf="@+id/manga_last_update_label"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/manga_source_label" /> app:layout_constraintStart_toEndOf="@+id/manga_last_update_label" />
<TextView
android:id="@+id/manga_status_label"
style="@style/TextAppearance.Medium.Body2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/manga_info_status_label"
android:textIsSelectable="false"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/manga_last_update_label" />
<TextView
android:id="@+id/manga_status"
style="@style/TextAppearance.Regular.Body1.Secondary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:ellipsize="end"
android:maxLines="1"
android:textIsSelectable="false"
app:layout_constraintBaseline_toBaselineOf="@+id/manga_status_label"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/manga_status_label" />
<TextView
android:id="@+id/manga_source_label"
style="@style/TextAppearance.Medium.Body2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/manga_info_source_label"
android:textIsSelectable="false"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/manga_status_label" />
<TextView
android:id="@+id/manga_source"
style="@style/TextAppearance.Regular.Body1.Secondary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:ellipsize="end"
android:maxLines="1"
android:textIsSelectable="false"
app:layout_constraintBaseline_toBaselineOf="@+id/manga_source_label"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/manga_source_label" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
@ -240,10 +241,7 @@
android:paddingStart="16dp" android:paddingStart="16dp"
android:paddingTop="8dp" android:paddingTop="8dp"
android:paddingEnd="16dp" android:paddingEnd="16dp"
android:paddingBottom="8dp" android:paddingBottom="8dp">
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/guideline">
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/btn_favorite" android:id="@+id/btn_favorite"
@ -296,10 +294,7 @@
android:layout_marginStart="16dp" android:layout_marginStart="16dp"
android:layout_marginEnd="16dp" android:layout_marginEnd="16dp"
android:text="@string/manga_info_about_label" android:text="@string/manga_info_about_label"
android:textIsSelectable="false" android:textIsSelectable="false" />
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/actions_bar" />
<TextView <TextView
android:id="@+id/manga_summary" android:id="@+id/manga_summary"
@ -312,22 +307,14 @@
android:ellipsize="end" android:ellipsize="end"
android:focusable="true" android:focusable="true"
android:maxLines="3" android:maxLines="3"
android:textIsSelectable="false" android:textIsSelectable="false" />
app:layout_constraintBottom_toTopOf="@id/manga_genres_tags_wrapper"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/manga_summary_label" />
<FrameLayout <FrameLayout
android:id="@+id/manga_genres_tags_wrapper" android:id="@+id/manga_genres_tags_wrapper"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:layout_marginBottom="8dp" android:layout_marginBottom="8dp">
app:layout_constrainedHeight="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/manga_summary">
<com.google.android.material.chip.ChipGroup <com.google.android.material.chip.ChipGroup
android:id="@+id/manga_genres_tags_full_chips" android:id="@+id/manga_genres_tags_full_chips"
@ -367,12 +354,9 @@
android:layout_marginEnd="16dp" android:layout_marginEnd="16dp"
android:layout_marginBottom="4dp" android:layout_marginBottom="4dp"
android:text="@string/manga_info_expand" android:text="@string/manga_info_expand"
android:textSize="12sp" android:textSize="12sp" />
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/manga_genres_tags_wrapper" />
</androidx.constraintlayout.widget.ConstraintLayout> </LinearLayout>
</androidx.core.widget.NestedScrollView> </androidx.core.widget.NestedScrollView>

View File

@ -29,13 +29,13 @@
android:layout_height="0dp" android:layout_height="0dp"
app:layout_constraintStart_toEndOf="parent" /> app:layout_constraintStart_toEndOf="parent" />
<!-- General preferences --> <!-- Series-specific preferences -->
<TextView <TextView
android:id="@+id/general_prefs" android:id="@+id/series_prefs"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/pref_category_general" android:text="@string/pref_category_for_this_series"
android:textColor="?attr/colorAccent" android:textColor="?attr/colorAccent"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
@ -45,7 +45,7 @@
android:id="@+id/viewer_text" android:id="@+id/viewer_text"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/viewer_for_this_series" android:text="@string/viewer"
app:layout_constraintBaseline_toBaselineOf="@id/viewer" app:layout_constraintBaseline_toBaselineOf="@id/viewer"
app:layout_constraintEnd_toStartOf="@id/verticalcenter" app:layout_constraintEnd_toStartOf="@id/verticalcenter"
app:layout_constraintStart_toStartOf="parent" /> app:layout_constraintStart_toStartOf="parent" />
@ -58,7 +58,20 @@
android:entries="@array/viewers_selector" android:entries="@array/viewers_selector"
app:layout_constraintEnd_toEndOf="@id/spinner_end" app:layout_constraintEnd_toEndOf="@id/spinner_end"
app:layout_constraintStart_toEndOf="@id/verticalcenter" app:layout_constraintStart_toEndOf="@id/verticalcenter"
app:layout_constraintTop_toBottomOf="@id/general_prefs" /> app:layout_constraintTop_toBottomOf="@id/series_prefs" />
<!-- General preferences -->
<TextView
android:id="@+id/general_prefs"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:text="@string/pref_category_general"
android:textColor="?attr/colorAccent"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/viewer" />
<TextView <TextView
android:id="@+id/rotation_mode_text" android:id="@+id/rotation_mode_text"
@ -78,7 +91,7 @@
android:entries="@array/rotation_type" android:entries="@array/rotation_type"
app:layout_constraintEnd_toEndOf="@id/spinner_end" app:layout_constraintEnd_toEndOf="@id/spinner_end"
app:layout_constraintStart_toEndOf="@id/verticalcenter" app:layout_constraintStart_toEndOf="@id/verticalcenter"
app:layout_constraintTop_toBottomOf="@id/viewer" /> app:layout_constraintTop_toBottomOf="@id/general_prefs" />
<TextView <TextView
android:id="@+id/background_color_text" android:id="@+id/background_color_text"
@ -108,23 +121,13 @@
android:textColor="?android:attr/textColorSecondary" android:textColor="?android:attr/textColorSecondary"
app:layout_constraintTop_toBottomOf="@id/background_color" /> app:layout_constraintTop_toBottomOf="@id/background_color" />
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/true_color"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/pref_true_color"
android:textColor="?android:attr/textColorSecondary"
android:visibility="gone"
app:layout_constraintTop_toBottomOf="@id/show_page_number"
tools:visibility="visible" />
<com.google.android.material.switchmaterial.SwitchMaterial <com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/fullscreen" android:id="@+id/fullscreen"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/pref_fullscreen" android:text="@string/pref_fullscreen"
android:textColor="?android:attr/textColorSecondary" android:textColor="?android:attr/textColorSecondary"
app:layout_constraintTop_toBottomOf="@id/true_color" /> app:layout_constraintTop_toBottomOf="@id/show_page_number" />
<com.google.android.material.switchmaterial.SwitchMaterial <com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/cutout_short" android:id="@+id/cutout_short"
@ -150,13 +153,23 @@
android:textColor="?android:attr/textColorSecondary" android:textColor="?android:attr/textColorSecondary"
app:layout_constraintTop_toBottomOf="@id/keepscreen" /> app:layout_constraintTop_toBottomOf="@id/keepscreen" />
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/true_color"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/pref_true_color"
android:textColor="?android:attr/textColorSecondary"
android:visibility="gone"
app:layout_constraintTop_toBottomOf="@id/long_tap"
tools:visibility="visible" />
<com.google.android.material.switchmaterial.SwitchMaterial <com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/always_show_chapter_transition" android:id="@+id/always_show_chapter_transition"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/pref_always_show_chapter_transition" android:text="@string/pref_always_show_chapter_transition"
android:textColor="?android:attr/textColorSecondary" android:textColor="?android:attr/textColorSecondary"
app:layout_constraintTop_toBottomOf="@id/long_tap" /> app:layout_constraintTop_toBottomOf="@id/true_color" />
<android.widget.Space <android.widget.Space
android:id="@+id/end_general_preferences" android:id="@+id/end_general_preferences"
@ -170,7 +183,7 @@
android:id="@+id/pager_prefs" android:id="@+id/pager_prefs"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="16dp" android:layout_marginTop="24dp"
android:text="@string/pager_viewer" android:text="@string/pager_viewer"
android:textColor="?attr/colorAccent" android:textColor="?attr/colorAccent"
android:textStyle="bold" android:textStyle="bold"
@ -238,7 +251,7 @@
android:id="@+id/webtoon_prefs" android:id="@+id/webtoon_prefs"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="16dp" android:layout_marginTop="24dp"
android:text="@string/webtoon_viewer" android:text="@string/webtoon_viewer"
android:textColor="?attr/colorAccent" android:textColor="?attr/colorAccent"
android:textStyle="bold" android:textStyle="bold"

View File

@ -15,7 +15,8 @@
android:id="@+id/fast_scroller" android:id="@+id/fast_scroller"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_gravity="end" android:layout_gravity="right"
android:layoutDirection="ltr"
app:fastScrollerBubbleEnabled="false" app:fastScrollerBubbleEnabled="false"
tools:visibility="visible" /> tools:visibility="visible" />

View File

@ -2,20 +2,6 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android" <menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/start_queue"
android:icon="@drawable/ic_play_arrow_24dp"
android:title="@string/action_start"
app:iconTint="?attr/colorOnPrimary"
app:showAsAction="ifRoom" />
<item
android:id="@+id/pause_queue"
android:icon="@drawable/ic_pause_24dp"
android:title="@string/action_pause"
app:iconTint="?attr/colorOnPrimary"
app:showAsAction="ifRoom" />
<item <item
android:id="@+id/reorder" android:id="@+id/reorder"
android:title="@string/action_reorganize_by" android:title="@string/action_reorganize_by"

View File

@ -1,5 +1,25 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<changelog bulletedList="true"> <changelog bulletedList="true">
<changelogversion versionName="v0.9.2" changeDate="">
<changelogtext>Mostly minor fixes on top of v0.9.0 / v0.9.1.</changelogtext>
<changelogtext>Fix: backup failing when a source isn't installed</changelogtext>
<changelogtext>Fix: local manga page sorting</changelogtext>
<changelogtext>Fix: 32-bit color setting not showing up in reader settings (Android 8+)</changelogtext>
<changelogtext>Enhancement: collapse top and bottom toolbars on scroll</changelogtext>
</changelogversion>
<changelogversion versionName="v0.9.1" changeDate="">
<changelogtext>Mostly minor fixes on top of v0.9.0.</changelogtext>
<changelogtext>Fix: sources tab not updating after installing an extension</changelogtext>
<changelogtext>Fix: disabled Proguard, which was causing issues with some extensions (e.g. Komga)</changelogtext>
<changelogtext>Fix: inverted selection in chapters list re-inverting after performing an action</changelogtext>
<changelogtext>Fix: manga info being cut off on smaller screens</changelogtext>
<changelogtext>Enhancement: removed notification sound when backup or restore is complete</changelogtext>
<changelogtext>Enhancement: move start/pause button in download queue to a Floating Action Button</changelogtext>
<changelogtext>Enhancement: remove extra confirmation step for passive biometric unlock (e.g. iris scan or face unlock)</changelogtext>
<changelogtext>New: Gray reader background</changelogtext>
</changelogversion>
<changelogversion versionName="v0.9.0" changeDate=""> <changelogversion versionName="v0.9.0" changeDate="">
<changelogtext>This is a huge release! Please see [a href="https://github.com/inorichi/tachiyomi/releases/tag/v0.9.0"]the changelog on GitHub[/a].</changelogtext> <changelogtext>This is a huge release! Please see [a href="https://github.com/inorichi/tachiyomi/releases/tag/v0.9.0"]the changelog on GitHub[/a].</changelogtext>
</changelogversion> </changelogversion>

View File

@ -45,7 +45,6 @@
<string name="action_sort_up">الترتيب لأعلى</string> <string name="action_sort_up">الترتيب لأعلى</string>
<string name="action_show_downloaded">مكتملة التحميل</string> <string name="action_show_downloaded">مكتملة التحميل</string>
<string name="action_next_unread">الغير مقروءة التالية</string> <string name="action_next_unread">الغير مقروءة التالية</string>
<string name="action_start">بدء</string>
<string name="action_stop">إيقاف</string> <string name="action_stop">إيقاف</string>
<string name="action_pause">إيقاف موقت</string> <string name="action_pause">إيقاف موقت</string>
<string name="action_close">إغلاق</string> <string name="action_close">إغلاق</string>
@ -292,7 +291,6 @@
<string name="no_previous_chapter">لم يتم العثور على الفصل السابق</string> <string name="no_previous_chapter">لم يتم العثور على الفصل السابق</string>
<string name="decode_image_error">لم يمكن تحميل الصورة</string> <string name="decode_image_error">لم يمكن تحميل الصورة</string>
<string name="confirm_set_image_as_cover">هل تريد استخدام هذه الصورة كغلاف؟</string> <string name="confirm_set_image_as_cover">هل تريد استخدام هذه الصورة كغلاف؟</string>
<string name="viewer_for_this_series">العارض لهذه السلسلة</string>
<string name="download_queue_error">فشل تحميل الفصول. يمكنك إعادة المحاولة في قسم التحميلات</string> <string name="download_queue_error">فشل تحميل الفصول. يمكنك إعادة المحاولة في قسم التحميلات</string>
<string name="notification_update_progress">تقدم التحديث: %1$d/%2$d</string> <string name="notification_update_progress">تقدم التحديث: %1$d/%2$d</string>
<string name="notification_new_chapters">تم إيجاد فصول جديدة</string> <string name="notification_new_chapters">تم إيجاد فصول جديدة</string>

View File

@ -41,7 +41,6 @@
<string name="action_sort_down">Сортирай по низходящ ред</string> <string name="action_sort_down">Сортирай по низходящ ред</string>
<string name="action_show_downloaded">Изтеглени</string> <string name="action_show_downloaded">Изтеглени</string>
<string name="action_next_unread">Следваща непрочетена</string> <string name="action_next_unread">Следваща непрочетена</string>
<string name="action_start">Започни</string>
<string name="action_stop">Спри</string> <string name="action_stop">Спри</string>
<string name="action_pause">Паузирай</string> <string name="action_pause">Паузирай</string>
<string name="action_previous_chapter">Предишна глава</string> <string name="action_previous_chapter">Предишна глава</string>
@ -264,7 +263,6 @@
<string name="no_previous_chapter">Не беше намерена предишна глава</string> <string name="no_previous_chapter">Не беше намерена предишна глава</string>
<string name="decode_image_error">Изображението не беше заредено</string> <string name="decode_image_error">Изображението не беше заредено</string>
<string name="confirm_set_image_as_cover">Желаете ли да използвате това изображение за корица?</string> <string name="confirm_set_image_as_cover">Желаете ли да използвате това изображение за корица?</string>
<string name="viewer_for_this_series">Начин на четене за тази поредица</string>
<!-- Backup fragment --> <!-- Backup fragment -->
<string name="backup">Резервно копие</string> <string name="backup">Резервно копие</string>
<!-- Recent manga fragment --> <!-- Recent manga fragment -->

View File

@ -46,7 +46,6 @@
<string name="action_sort_down">বাছাই করুন</string> <string name="action_sort_down">বাছাই করুন</string>
<string name="action_show_downloaded">ডাউনলোডেড</string> <string name="action_show_downloaded">ডাউনলোডেড</string>
<string name="action_next_unread">অপঠিত পরবর্তি</string> <string name="action_next_unread">অপঠিত পরবর্তি</string>
<string name="action_start">শুরু</string>
<string name="action_stop">থামুন</string> <string name="action_stop">থামুন</string>
<string name="action_pause">বিরতি</string> <string name="action_pause">বিরতি</string>
<string name="action_close">বন্ধ</string> <string name="action_close">বন্ধ</string>
@ -294,7 +293,6 @@
<string name="no_previous_chapter">আগের অধ্যায় খুঁজে পাওয়া যায়নি</string> <string name="no_previous_chapter">আগের অধ্যায় খুঁজে পাওয়া যায়নি</string>
<string name="decode_image_error">ছবি decoded করা যাবে না</string> <string name="decode_image_error">ছবি decoded করা যাবে না</string>
<string name="confirm_set_image_as_cover">আপনি কি এই ছবিটিকে কভার হিসেবে সেট করতে চান?</string> <string name="confirm_set_image_as_cover">আপনি কি এই ছবিটিকে কভার হিসেবে সেট করতে চান?</string>
<string name="viewer_for_this_series">এই সিরিজের দর্শক</string>
<string name="download_queue_error">অধ্যায়গুলি ডাউনলোড করা যায়নি। ডাউনলোড বিভাগে আপনি আবার চেষ্টা করতে পারেন</string> <string name="download_queue_error">অধ্যায়গুলি ডাউনলোড করা যায়নি। ডাউনলোড বিভাগে আপনি আবার চেষ্টা করতে পারেন</string>
<string name="notification_update_progress">আপডেট হচ্ছে: %1$d/%2$d</string> <string name="notification_update_progress">আপডেট হচ্ছে: %1$d/%2$d</string>
<string name="notification_new_chapters">নতুন অধ্যায় পাওয়া গিয়েছে</string> <string name="notification_new_chapters">নতুন অধ্যায় পাওয়া গিয়েছে</string>

View File

@ -49,7 +49,6 @@
<string name="action_sort_down">Ordena en ordre descendent</string> <string name="action_sort_down">Ordena en ordre descendent</string>
<string name="action_show_downloaded">Baixats</string> <string name="action_show_downloaded">Baixats</string>
<string name="action_next_unread">Següent sense llegir</string> <string name="action_next_unread">Següent sense llegir</string>
<string name="action_start">Inicia</string>
<string name="action_stop">Atura</string> <string name="action_stop">Atura</string>
<string name="action_pause">Pausa</string> <string name="action_pause">Pausa</string>
<string name="action_close">Tanca</string> <string name="action_close">Tanca</string>
@ -290,7 +289,7 @@
<string name="chapter_error">Error</string> <string name="chapter_error">Error</string>
<string name="chapter_paused">Pausat</string> <string name="chapter_paused">Pausat</string>
<string name="fetch_chapters_error">No s\'han pogut obtenir els capítols</string> <string name="fetch_chapters_error">No s\'han pogut obtenir els capítols</string>
<string name="show_title">Títol</string> <string name="show_title">Títol de la font</string>
<string name="show_chapter_number">Número de capítol</string> <string name="show_chapter_number">Número de capítol</string>
<string name="sorting_mode">Mode d\'ordenació</string> <string name="sorting_mode">Mode d\'ordenació</string>
<string name="sort_by_source">Per font</string> <string name="sort_by_source">Per font</string>
@ -339,7 +338,6 @@
<string name="no_previous_chapter">No s\'ha trobat el capítol anterior</string> <string name="no_previous_chapter">No s\'ha trobat el capítol anterior</string>
<string name="decode_image_error">No s\'ha pogut carregar la imatge</string> <string name="decode_image_error">No s\'ha pogut carregar la imatge</string>
<string name="confirm_set_image_as_cover">Voleu fer servir aquesta imatge com a portada\?</string> <string name="confirm_set_image_as_cover">Voleu fer servir aquesta imatge com a portada\?</string>
<string name="viewer_for_this_series">Lector per a aquesta sèrie</string>
<string name="transition_finished">Finalitzat:</string> <string name="transition_finished">Finalitzat:</string>
<string name="transition_current">Actual:</string> <string name="transition_current">Actual:</string>
<string name="transition_next">Següent:</string> <string name="transition_next">Següent:</string>
@ -547,4 +545,5 @@
<string name="pref_search_pinned_sources_only">Inclou només les fonts fixades</string> <string name="pref_search_pinned_sources_only">Inclou només les fonts fixades</string>
<string name="channel_backup_restore_complete">Completada</string> <string name="channel_backup_restore_complete">Completada</string>
<string name="channel_backup_restore_progress">Progrés</string> <string name="channel_backup_restore_progress">Progrés</string>
<string name="gray_background">Gris</string>
</resources> </resources>

View File

@ -226,7 +226,6 @@
<string name="action_update_library">Aktualizovat knihovnu</string> <string name="action_update_library">Aktualizovat knihovnu</string>
<string name="action_rename_category">Přejmenovat kategorii</string> <string name="action_rename_category">Přejmenovat kategorii</string>
<string name="action_move_category">Přesunout do kategorií</string> <string name="action_move_category">Přesunout do kategorií</string>
<string name="action_start">Start</string>
<string name="action_stop">Stop</string> <string name="action_stop">Stop</string>
<string name="action_pause">Pauza</string> <string name="action_pause">Pauza</string>
<string name="action_retry">Opakovat</string> <string name="action_retry">Opakovat</string>
@ -375,7 +374,6 @@
<string name="error_category_exists">Kategorie s tímto jménem již existuje!</string> <string name="error_category_exists">Kategorie s tímto jménem již existuje!</string>
<string name="dialog_with_checkbox_remove_description">Toto odstraní datum přečtení této kapitoly. Jste si jistý\?</string> <string name="dialog_with_checkbox_remove_description">Toto odstraní datum přečtení této kapitoly. Jste si jistý\?</string>
<string name="confirm_set_image_as_cover">Chcete tento obrázek nastavit jako obal\?</string> <string name="confirm_set_image_as_cover">Chcete tento obrázek nastavit jako obal\?</string>
<string name="viewer_for_this_series">Prohlížeč této série</string>
<string name="transition_pages_error">Chyba při načítání stránek: %1$s</string> <string name="transition_pages_error">Chyba při načítání stránek: %1$s</string>
<string name="migration_info">Klepnutím vyberte zdroj, ze kterého chcete migrovat</string> <string name="migration_info">Klepnutím vyberte zdroj, ze kterého chcete migrovat</string>
<string name="migration_dialog_what_to_include">Vyberte data, která chcete zahrnout</string> <string name="migration_dialog_what_to_include">Vyberte data, která chcete zahrnout</string>

View File

@ -43,7 +43,6 @@
<string name="action_sort_down">Absteigend sortieren</string> <string name="action_sort_down">Absteigend sortieren</string>
<string name="action_show_downloaded">Heruntergeladen</string> <string name="action_show_downloaded">Heruntergeladen</string>
<string name="action_next_unread">Nächstes Ungelesenes</string> <string name="action_next_unread">Nächstes Ungelesenes</string>
<string name="action_start">Start</string>
<string name="action_stop">Stopp</string> <string name="action_stop">Stopp</string>
<string name="action_pause">Pause</string> <string name="action_pause">Pause</string>
<string name="action_close">Schließen</string> <string name="action_close">Schließen</string>
@ -107,7 +106,7 @@
<string name="default_category_summary">Immer fragen</string> <string name="default_category_summary">Immer fragen</string>
<string name="pref_fullscreen">Vollbild</string> <string name="pref_fullscreen">Vollbild</string>
<string name="pref_lock_orientation">Bildschirm nicht drehen</string> <string name="pref_lock_orientation">Bildschirm nicht drehen</string>
<string name="pref_page_transitions">Seitenübergänge</string> <string name="pref_page_transitions">Animierte Seitenübergänge</string>
<string name="pref_show_page_number">Seitennummer zeigen</string> <string name="pref_show_page_number">Seitennummer zeigen</string>
<string name="pref_crop_borders">Rand abschneiden</string> <string name="pref_crop_borders">Rand abschneiden</string>
<string name="pref_custom_brightness">Eigene Helligkeit festlegen</string> <string name="pref_custom_brightness">Eigene Helligkeit festlegen</string>
@ -243,7 +242,7 @@
<string name="chapter_error">Fehler</string> <string name="chapter_error">Fehler</string>
<string name="chapter_paused">Pausiert</string> <string name="chapter_paused">Pausiert</string>
<string name="fetch_chapters_error">Abrufen der Kapitel fehlgeschlagen</string> <string name="fetch_chapters_error">Abrufen der Kapitel fehlgeschlagen</string>
<string name="show_title">Titel</string> <string name="show_title">Quellentitel</string>
<string name="show_chapter_number">Kapitelnummer</string> <string name="show_chapter_number">Kapitelnummer</string>
<string name="sorting_mode">Sortiere nach</string> <string name="sorting_mode">Sortiere nach</string>
<string name="sort_by_source">Quelle</string> <string name="sort_by_source">Quelle</string>
@ -284,7 +283,6 @@
<string name="no_previous_chapter">Vorheriges Kapitel nicht gefunden</string> <string name="no_previous_chapter">Vorheriges Kapitel nicht gefunden</string>
<string name="decode_image_error">Das Bild konnte nicht geladen werden</string> <string name="decode_image_error">Das Bild konnte nicht geladen werden</string>
<string name="confirm_set_image_as_cover">Dieses Bild als Vorschaubild setzen\?</string> <string name="confirm_set_image_as_cover">Dieses Bild als Vorschaubild setzen\?</string>
<string name="viewer_for_this_series">Leser für diese Serie</string>
<string name="download_queue_error">Fehler beim Herunterladen der Kapitel. Du kannst es in der Downloadsektion erneut versuchen</string> <string name="download_queue_error">Fehler beim Herunterladen der Kapitel. Du kannst es in der Downloadsektion erneut versuchen</string>
<string name="notification_update_progress">Aktualisierungsfortschritt: %1$d/%2$d</string> <string name="notification_update_progress">Aktualisierungsfortschritt: %1$d/%2$d</string>
<string name="notification_new_chapters">Neue Kapitel gefunden</string> <string name="notification_new_chapters">Neue Kapitel gefunden</string>
@ -392,7 +390,7 @@
<string name="transition_no_previous">Es gibt kein vorheriges Kapitel</string> <string name="transition_no_previous">Es gibt kein vorheriges Kapitel</string>
<string name="transition_pages_loading">Lade Seiten…</string> <string name="transition_pages_loading">Lade Seiten…</string>
<string name="transition_pages_error">Seiten konnten nicht geladen werden: %1$s</string> <string name="transition_pages_error">Seiten konnten nicht geladen werden: %1$s</string>
<string name="action_open_in_web_view">In Webansicht öffnen</string> <string name="action_open_in_web_view">In WebView öffnen</string>
<string name="pref_true_color">32-Bit Farben</string> <string name="pref_true_color">32-Bit Farben</string>
<string name="pref_skip_read_chapters">Überspringe gelesene Kapitel</string> <string name="pref_skip_read_chapters">Überspringe gelesene Kapitel</string>
<string name="pref_read_with_long_tap">Langes Tippen für Kontextmenü</string> <string name="pref_read_with_long_tap">Langes Tippen für Kontextmenü</string>
@ -495,7 +493,7 @@
<item quantity="other">%d Erweiterungsupdates verfügbar</item> <item quantity="other">%d Erweiterungsupdates verfügbar</item>
</plurals> </plurals>
<string name="channel_ext_updates">Erweiterungsupdates</string> <string name="channel_ext_updates">Erweiterungsupdates</string>
<string name="http_error_hint">Website in Webansicht prüfen</string> <string name="http_error_hint">Website in WebView prüfen</string>
<string name="updating_library">Bibliothek wird aktualisiert</string> <string name="updating_library">Bibliothek wird aktualisiert</string>
<string name="pref_skip_filtered_chapters">Überspringe gefilterte Kapitel</string> <string name="pref_skip_filtered_chapters">Überspringe gefilterte Kapitel</string>
<string name="pref_category_reading">Beim Lesen</string> <string name="pref_category_reading">Beim Lesen</string>
@ -518,7 +516,7 @@
<string name="in_library">In der Bibliothek</string> <string name="in_library">In der Bibliothek</string>
<string name="add_to_library">Zur Bibliothek hinzufügen</string> <string name="add_to_library">Zur Bibliothek hinzufügen</string>
<string name="confirm_exit">Zum Beenden nochmal die Zurück-Taste drücken</string> <string name="confirm_exit">Zum Beenden nochmal die Zurück-Taste drücken</string>
<string name="information_webview_required">Webansicht ist für Tachiyomi erforderlich</string> <string name="information_webview_required">WebView ist für Tachiyomi erforderlich</string>
<string name="licenses">Open-Source Lizenzen</string> <string name="licenses">Open-Source Lizenzen</string>
<string name="website">Website</string> <string name="website">Website</string>
<string name="pref_confirm_exit">Beenden bestätigen</string> <string name="pref_confirm_exit">Beenden bestätigen</string>
@ -547,4 +545,12 @@
<string name="pref_search_pinned_sources_only">Nur angeheftete Quellen einbeziehen</string> <string name="pref_search_pinned_sources_only">Nur angeheftete Quellen einbeziehen</string>
<string name="channel_backup_restore_complete">Abgeschlossen</string> <string name="channel_backup_restore_complete">Abgeschlossen</string>
<string name="channel_backup_restore_progress">Fortschritt</string> <string name="channel_backup_restore_progress">Fortschritt</string>
<string name="gray_background">Grau</string>
<string name="viewer">Viewer</string>
<string name="pref_category_for_this_series">Für diese Serie</string>
<string name="pref_true_color_summary">Reduziert Streifenbildung, aber beeinflusst die Performance</string>
<plurals name="num_categories">
<item quantity="one">%d Kategorie</item>
<item quantity="other">%d Kategorien</item>
</plurals>
</resources> </resources>

View File

@ -49,7 +49,6 @@
<string name="action_sort_down">Ταξινόμηση κατά φθίνουσα σειρά</string> <string name="action_sort_down">Ταξινόμηση κατά φθίνουσα σειρά</string>
<string name="action_show_downloaded">Ληφθέντα</string> <string name="action_show_downloaded">Ληφθέντα</string>
<string name="action_next_unread">Επόμενο μη αναγνωσμένο</string> <string name="action_next_unread">Επόμενο μη αναγνωσμένο</string>
<string name="action_start">Εκκίνηση</string>
<string name="action_stop">Σταμάτημα</string> <string name="action_stop">Σταμάτημα</string>
<string name="action_pause">Παύση</string> <string name="action_pause">Παύση</string>
<string name="action_close">Κλείσιμο</string> <string name="action_close">Κλείσιμο</string>
@ -290,7 +289,7 @@
<string name="chapter_error">Σφάλμα</string> <string name="chapter_error">Σφάλμα</string>
<string name="chapter_paused">Παύση</string> <string name="chapter_paused">Παύση</string>
<string name="fetch_chapters_error">Δεν ήταν δυνατή η ανάκτηση κεφαλαίων</string> <string name="fetch_chapters_error">Δεν ήταν δυνατή η ανάκτηση κεφαλαίων</string>
<string name="show_title">Τίτλος</string> <string name="show_title">Τίτλος πηγής</string>
<string name="show_chapter_number">Αριθμός κεφαλαίου</string> <string name="show_chapter_number">Αριθμός κεφαλαίου</string>
<string name="sorting_mode">Λειτουργία ταξινόμησης</string> <string name="sorting_mode">Λειτουργία ταξινόμησης</string>
<string name="sort_by_source">Με βάση την πηγή</string> <string name="sort_by_source">Με βάση την πηγή</string>
@ -339,7 +338,6 @@
<string name="no_previous_chapter">Το προηγούμενο κεφάλαιο δεν βρέθηκε</string> <string name="no_previous_chapter">Το προηγούμενο κεφάλαιο δεν βρέθηκε</string>
<string name="decode_image_error">Δεν ήταν δυνατή η φόρτωση της εικόνας</string> <string name="decode_image_error">Δεν ήταν δυνατή η φόρτωση της εικόνας</string>
<string name="confirm_set_image_as_cover">Χρησιμοποιήστε αυτήν την εικόνα ως εξώφυλλο;</string> <string name="confirm_set_image_as_cover">Χρησιμοποιήστε αυτήν την εικόνα ως εξώφυλλο;</string>
<string name="viewer_for_this_series">Πρόγραμμα προβολής για αυτήν τη σειρά</string>
<string name="transition_finished">Διαβασμένο:</string> <string name="transition_finished">Διαβασμένο:</string>
<string name="transition_current">Τρέχον:</string> <string name="transition_current">Τρέχον:</string>
<string name="transition_next">Επόμενο:</string> <string name="transition_next">Επόμενο:</string>
@ -547,4 +545,5 @@
</plurals> </plurals>
<string name="channel_backup_restore_complete">Ολοκληρώθηκε</string> <string name="channel_backup_restore_complete">Ολοκληρώθηκε</string>
<string name="channel_backup_restore_progress">Πρόοδος</string> <string name="channel_backup_restore_progress">Πρόοδος</string>
<string name="gray_background">Γκρι</string>
</resources> </resources>

View File

@ -34,7 +34,6 @@
<string name="action_sort_down">Ordenar descendentemente</string> <string name="action_sort_down">Ordenar descendentemente</string>
<string name="action_show_downloaded">Descargado</string> <string name="action_show_downloaded">Descargado</string>
<string name="action_next_unread">Próximo sin leer</string> <string name="action_next_unread">Próximo sin leer</string>
<string name="action_start">Comenzar</string>
<string name="action_stop">Detener</string> <string name="action_stop">Detener</string>
<string name="action_pause">Pausar</string> <string name="action_pause">Pausar</string>
<string name="action_previous_chapter">Capítulo anterior</string> <string name="action_previous_chapter">Capítulo anterior</string>
@ -212,7 +211,6 @@
<string name="no_next_chapter">Siguiente capítulo no encontrado</string> <string name="no_next_chapter">Siguiente capítulo no encontrado</string>
<string name="no_previous_chapter">Capítulo anterior no encontrado</string> <string name="no_previous_chapter">Capítulo anterior no encontrado</string>
<string name="decode_image_error">La imagen no se pudo cargar</string> <string name="decode_image_error">La imagen no se pudo cargar</string>
<string name="viewer_for_this_series">Lectura para esta serie</string>
<!-- Backup fragment --> <!-- Backup fragment -->
<string name="backup">Copia de seguridad</string> <string name="backup">Copia de seguridad</string>
<!-- Recent manga fragment --> <!-- Recent manga fragment -->

View File

@ -41,7 +41,6 @@
<string name="no_previous_chapter">Aiempaa lukua ei löydy</string> <string name="no_previous_chapter">Aiempaa lukua ei löydy</string>
<string name="decode_image_error">Kuvaa ei voitu ladata</string> <string name="decode_image_error">Kuvaa ei voitu ladata</string>
<string name="confirm_set_image_as_cover">Käytetäänkö tätä kuvaa kansikuvana\?</string> <string name="confirm_set_image_as_cover">Käytetäänkö tätä kuvaa kansikuvana\?</string>
<string name="viewer_for_this_series">Katselin tälle sarjalle</string>
<string name="transition_finished">Valmistunut:</string> <string name="transition_finished">Valmistunut:</string>
<string name="transition_current">Nykyinen:</string> <string name="transition_current">Nykyinen:</string>
<string name="transition_next">Seuraava:</string> <string name="transition_next">Seuraava:</string>
@ -118,7 +117,6 @@
<string name="action_show_downloaded">Ladatut</string> <string name="action_show_downloaded">Ladatut</string>
<string name="action_retry">Yritä uudelleen</string> <string name="action_retry">Yritä uudelleen</string>
<string name="action_next_unread">Seuraava lukematon</string> <string name="action_next_unread">Seuraava lukematon</string>
<string name="action_start">Aloita</string>
<string name="action_stop">Lopeta</string> <string name="action_stop">Lopeta</string>
<string name="action_pause">Pysäytä</string> <string name="action_pause">Pysäytä</string>
<string name="action_close">Sulje</string> <string name="action_close">Sulje</string>
@ -547,4 +545,5 @@
<string name="pref_search_pinned_sources_only">Sisällytä vain kiinnitetyt lähteet</string> <string name="pref_search_pinned_sources_only">Sisällytä vain kiinnitetyt lähteet</string>
<string name="channel_backup_restore_complete">Valmis</string> <string name="channel_backup_restore_complete">Valmis</string>
<string name="channel_backup_restore_progress">Edistyminen</string> <string name="channel_backup_restore_progress">Edistyminen</string>
<string name="gray_background">Harmaa</string>
</resources> </resources>

View File

@ -6,7 +6,7 @@
<string name="label_download_queue">File de téléchargement</string> <string name="label_download_queue">File de téléchargement</string>
<string name="label_library">Bibliothèque</string> <string name="label_library">Bibliothèque</string>
<string name="label_recent_manga">Historique</string> <string name="label_recent_manga">Historique</string>
<string name="label_recent_updates">Mises à jour</string> <string name="label_recent_updates">Nouveautés</string>
<string name="label_categories">Catégories</string> <string name="label_categories">Catégories</string>
<string name="label_backup">Sauvegarde</string> <string name="label_backup">Sauvegarde</string>
<!-- Actions --> <!-- Actions -->
@ -41,7 +41,6 @@
<string name="action_sort_down">Trier par ordre descendant</string> <string name="action_sort_down">Trier par ordre descendant</string>
<string name="action_show_downloaded">Téléchargé</string> <string name="action_show_downloaded">Téléchargé</string>
<string name="action_next_unread">Prochain non lu</string> <string name="action_next_unread">Prochain non lu</string>
<string name="action_start">Commencer</string>
<string name="action_stop">Arrêter</string> <string name="action_stop">Arrêter</string>
<string name="action_pause">Pause</string> <string name="action_pause">Pause</string>
<string name="action_previous_chapter">Chapitre précédent</string> <string name="action_previous_chapter">Chapitre précédent</string>
@ -58,7 +57,7 @@
<string name="action_sort">Trier</string> <string name="action_sort">Trier</string>
<string name="action_install">Installer</string> <string name="action_install">Installer</string>
<string name="action_share">Partager</string> <string name="action_share">Partager</string>
<string name="action_save">Sauvegarder</string> <string name="action_save">Télécharger la page</string>
<string name="action_reset">Réinitialiser</string> <string name="action_reset">Réinitialiser</string>
<!-- Operations --> <!-- Operations -->
<string name="loading">Chargement…</string> <string name="loading">Chargement…</string>
@ -71,7 +70,7 @@
<string name="pref_category_advanced">Avancé</string> <string name="pref_category_advanced">Avancé</string>
<string name="pref_category_about">À propos</string> <string name="pref_category_about">À propos</string>
<!-- General section --> <!-- General section -->
<string name="pref_library_columns">Manga dans la bibliothèque par colonne</string> <string name="pref_library_columns">Affichage par liste</string>
<string name="portrait">Portrait</string> <string name="portrait">Portrait</string>
<string name="landscape">Paysage</string> <string name="landscape">Paysage</string>
<string name="default_columns">Par défaut</string> <string name="default_columns">Par défaut</string>
@ -248,7 +247,6 @@
<string name="no_previous_chapter">Chapitre précédent non trouvé</string> <string name="no_previous_chapter">Chapitre précédent non trouvé</string>
<string name="decode_image_error">L\'image n\'a pas pu être chargée</string> <string name="decode_image_error">L\'image n\'a pas pu être chargée</string>
<string name="confirm_set_image_as_cover">Voulez-vous mettre cette image comme couverture ?</string> <string name="confirm_set_image_as_cover">Voulez-vous mettre cette image comme couverture ?</string>
<string name="viewer_for_this_series">Lecteur pour cette série</string>
<!-- Backup fragment --> <!-- Backup fragment -->
<string name="backup">Sauvegarder</string> <string name="backup">Sauvegarder</string>
<!-- Recent manga fragment --> <!-- Recent manga fragment -->
@ -283,8 +281,8 @@
<!-- Information Text --> <!-- Information Text -->
<string name="information_no_downloads">Aucun téléchargement</string> <string name="information_no_downloads">Aucun téléchargement</string>
<string name="information_no_recent">Aucun chapitre récent</string> <string name="information_no_recent">Aucun chapitre récent</string>
<string name="information_no_recent_manga">Aucun manga lu récemment</string> <string name="information_no_recent_manga">Aucune série lu récemment</string>
<string name="information_empty_library">Bibliothèque vide, ajouter des séries à votre bibliothèque depuis le Catalogue.</string> <string name="information_empty_library">Bibliothèque vide, ajoutez des séries à votre bibliothèque depuis le Catalogue.</string>
<!-- Download Notification --> <!-- Download Notification -->
<string name="download_notifier_downloader_title">Téléchargement</string> <string name="download_notifier_downloader_title">Téléchargement</string>
<string name="download_notifier_title_error">Erreur</string> <string name="download_notifier_title_error">Erreur</string>
@ -396,7 +394,8 @@
<string name="manga_info_full_title_label">Titre</string> <string name="manga_info_full_title_label">Titre</string>
<string name="manga_added_library">Ajouté à la bibliothèque</string> <string name="manga_added_library">Ajouté à la bibliothèque</string>
<string name="manga_removed_library">Supprimé de la bibliothèque</string> <string name="manga_removed_library">Supprimé de la bibliothèque</string>
<string name="copied_to_clipboard">%1$s a été copié dans le presse papier</string> <string name="copied_to_clipboard">%1$s
\na été copié dans le presse papier</string>
<string name="source_not_installed">Sources non installées: %1$s</string> <string name="source_not_installed">Sources non installées: %1$s</string>
<string name="custom_download">Télécharger une quantité personnalisée</string> <string name="custom_download">Télécharger une quantité personnalisée</string>
<string name="download_custom">Personnalisé</string> <string name="download_custom">Personnalisé</string>
@ -439,7 +438,7 @@
<string name="filter_mode_lighten">Éclaircir</string> <string name="filter_mode_lighten">Éclaircir</string>
<string name="filter_mode_darken">Obscurcir</string> <string name="filter_mode_darken">Obscurcir</string>
<string name="no_results_found">Aucun résultats trouvés</string> <string name="no_results_found">Aucun résultats trouvés</string>
<string name="migration_selection_prompt">Sélectionner une source depuis laquelle migrer</string> <string name="migration_selection_prompt">Sélectionnez une source depuis laquelle migrer</string>
<string name="pref_category_library">Bibliothèque</string> <string name="pref_category_library">Bibliothèque</string>
<string name="obsolete_extension_message">Cette extension nest plus disponible.</string> <string name="obsolete_extension_message">Cette extension nest plus disponible.</string>
<string name="pref_date_format">Format de date</string> <string name="pref_date_format">Format de date</string>
@ -550,7 +549,7 @@
<string name="restoring_backup_canceled">Restauration de sauvegarde annulée</string> <string name="restoring_backup_canceled">Restauration de sauvegarde annulée</string>
<string name="restoring_backup_error">Échec de la restauration de sauvegarde</string> <string name="restoring_backup_error">Échec de la restauration de sauvegarde</string>
<string name="restore_in_progress">Restauration déjà en cours</string> <string name="restore_in_progress">Restauration déjà en cours</string>
<string name="label_downloaded_only">Téléchargés seulement</string> <string name="label_downloaded_only">Téléchargés uniquement</string>
<string name="creating_backup_error">Échec de la sauvegarde</string> <string name="creating_backup_error">Échec de la sauvegarde</string>
<string name="backup_in_progress">Sauvegarde déjà en cours</string> <string name="backup_in_progress">Sauvegarde déjà en cours</string>
<string name="manga_info_collapse">Afficher moins d\'informations</string> <string name="manga_info_collapse">Afficher moins d\'informations</string>
@ -570,4 +569,21 @@
<string name="information_webview_required">WebView est requis par Tachiyomi</string> <string name="information_webview_required">WebView est requis par Tachiyomi</string>
<string name="local_source_help_guide">Guide des sources locales</string> <string name="local_source_help_guide">Guide des sources locales</string>
<string name="channel_backup_restore">Sauvegarde et restauration</string> <string name="channel_backup_restore">Sauvegarde et restauration</string>
<plurals name="download_queue_summary">
<item quantity="one">1 restant</item>
<item quantity="other">%1$s restants</item>
</plurals>
<string name="manga_info_last_chapter_label">Dernier chapitre</string>
<string name="manga_info_latest_data_label">Mis à jour le</string>
<string name="channel_backup_restore_complete">Terminé</string>
<string name="channel_backup_restore_progress">Progression</string>
<string name="downloaded_only_summary">Afficher uniquement les séries téléchargés</string>
<string name="pref_search_pinned_sources_only">Inclure uniquement les sources épinglés</string>
<string name="gray_background">Gris</string>
<string name="pref_category_for_this_series">Pour cette série</string>
<string name="pref_true_color_summary">Réduit les bandes passantes mais affecte les performances</string>
<plurals name="num_categories">
<item quantity="one">%d catégorie</item>
<item quantity="other">%d catégories</item>
</plurals>
</resources> </resources>

View File

@ -81,7 +81,6 @@
<string name="transition_next">הבא:</string> <string name="transition_next">הבא:</string>
<string name="transition_current">נוכחי:</string> <string name="transition_current">נוכחי:</string>
<string name="transition_finished">סיים:</string> <string name="transition_finished">סיים:</string>
<string name="viewer_for_this_series">צופים לסדרה זו</string>
<string name="confirm_set_image_as_cover">האם להשתמש בתמונה זו כציור כריכה\?</string> <string name="confirm_set_image_as_cover">האם להשתמש בתמונה זו כציור כריכה\?</string>
<string name="decode_image_error">לא ניתן היה לפענח את התמונה</string> <string name="decode_image_error">לא ניתן היה לפענח את התמונה</string>
<string name="no_previous_chapter">הפרק הקודם לא נמצא</string> <string name="no_previous_chapter">הפרק הקודם לא נמצא</string>
@ -301,7 +300,6 @@
<string name="action_close">סגור</string> <string name="action_close">סגור</string>
<string name="action_pause">הפסק</string> <string name="action_pause">הפסק</string>
<string name="action_stop">עצור</string> <string name="action_stop">עצור</string>
<string name="action_start">התחל</string>
<string name="action_view_chapters">הצג פרקים</string> <string name="action_view_chapters">הצג פרקים</string>
<string name="action_next_unread">הבא שלא נקרא</string> <string name="action_next_unread">הבא שלא נקרא</string>
<string name="action_show_downloaded">הורד</string> <string name="action_show_downloaded">הורד</string>

View File

@ -46,7 +46,6 @@
<string name="action_sort_down">नीचे छांटे</string> <string name="action_sort_down">नीचे छांटे</string>
<string name="action_show_downloaded">डाउनलोड किया हुआ</string> <string name="action_show_downloaded">डाउनलोड किया हुआ</string>
<string name="action_next_unread">अगला अपठित</string> <string name="action_next_unread">अगला अपठित</string>
<string name="action_start">प्रारंभ</string>
<string name="action_stop">रोके</string> <string name="action_stop">रोके</string>
<string name="action_pause">ठहराव</string> <string name="action_pause">ठहराव</string>
<string name="action_close">बंद करे</string> <string name="action_close">बंद करे</string>
@ -113,7 +112,7 @@
<string name="default_category_summary">हमेशा पूछे</string> <string name="default_category_summary">हमेशा पूछे</string>
<string name="pref_fullscreen">पूर्ण स्क्रीन</string> <string name="pref_fullscreen">पूर्ण स्क्रीन</string>
<string name="pref_lock_orientation">उन्मुखीकरण बंद करे</string> <string name="pref_lock_orientation">उन्मुखीकरण बंद करे</string>
<string name="pref_page_transitions">पृष्ठ संक्रमण</string> <string name="pref_page_transitions">चेतन पृष्ठ संक्रमण</string>
<string name="pref_show_page_number">पृष्ठ संख्या दिखाएं</string> <string name="pref_show_page_number">पृष्ठ संख्या दिखाएं</string>
<string name="pref_crop_borders">किनारा कांटे</string> <string name="pref_crop_borders">किनारा कांटे</string>
<string name="pref_custom_brightness">इच्छा अनुसार द्य्रुति</string> <string name="pref_custom_brightness">इच्छा अनुसार द्य्रुति</string>
@ -254,7 +253,7 @@
<string name="chapter_error">त्रुटि</string> <string name="chapter_error">त्रुटि</string>
<string name="chapter_paused">रोके गए</string> <string name="chapter_paused">रोके गए</string>
<string name="fetch_chapters_error">अध्याय नहीं ला सके</string> <string name="fetch_chapters_error">अध्याय नहीं ला सके</string>
<string name="show_title">शीर्षक</string> <string name="show_title">स्रोत शीर्षक</string>
<string name="show_chapter_number">अध्याय संख्या</string> <string name="show_chapter_number">अध्याय संख्या</string>
<string name="sorting_mode">छंटनी मोड</string> <string name="sorting_mode">छंटनी मोड</string>
<string name="sort_by_source">स्रोत से</string> <string name="sort_by_source">स्रोत से</string>
@ -295,7 +294,6 @@
<string name="no_previous_chapter">पिछला अध्याय नहीं मिला</string> <string name="no_previous_chapter">पिछला अध्याय नहीं मिला</string>
<string name="decode_image_error">छवि को लोड नहीं किया जा सका</string> <string name="decode_image_error">छवि को लोड नहीं किया जा सका</string>
<string name="confirm_set_image_as_cover">कवर कला के रूप में इस छवि का उपयोग करें\?</string> <string name="confirm_set_image_as_cover">कवर कला के रूप में इस छवि का उपयोग करें\?</string>
<string name="viewer_for_this_series">इस श्रृंखला के लिए दर्शक</string>
<string name="download_queue_error">चैप्टर डाउनलोड नहीं कर सके। आप डाउनलोड अनुभाग में फिर से आज़मा सकते हैं</string> <string name="download_queue_error">चैप्टर डाउनलोड नहीं कर सके। आप डाउनलोड अनुभाग में फिर से आज़मा सकते हैं</string>
<string name="notification_update_progress">अपडेट प्रगति: %1$d/%2$d</string> <string name="notification_update_progress">अपडेट प्रगति: %1$d/%2$d</string>
<string name="notification_new_chapters">नए अध्याय पाए गए</string> <string name="notification_new_chapters">नए अध्याय पाए गए</string>
@ -545,4 +543,8 @@
<string name="pref_search_pinned_sources_only">केवल पिन किए गए स्रोत शामिल हैं</string> <string name="pref_search_pinned_sources_only">केवल पिन किए गए स्रोत शामिल हैं</string>
<string name="channel_backup_restore_complete">पूर्ण</string> <string name="channel_backup_restore_complete">पूर्ण</string>
<string name="channel_backup_restore_progress">प्रगती</string> <string name="channel_backup_restore_progress">प्रगती</string>
<string name="viewer">व्यूअर</string>
<string name="pref_category_for_this_series">इस श्रृंखला के लिए</string>
<string name="gray_background">ग्रे</string>
<string name="pref_true_color_summary">बैंडिंग को कम करता है, लेकिन प्रदर्शन को प्रभावित करता है</string>
</resources> </resources>

View File

@ -116,7 +116,6 @@
<string name="action_sort_up">Rendezés növekvő sorrendben</string> <string name="action_sort_up">Rendezés növekvő sorrendben</string>
<string name="action_sort_down">Rendezés csökkenő sorrendben</string> <string name="action_sort_down">Rendezés csökkenő sorrendben</string>
<string name="action_next_unread">Következő olvasatlan</string> <string name="action_next_unread">Következő olvasatlan</string>
<string name="action_start">Kezdés</string>
<string name="action_stop">Megállítás</string> <string name="action_stop">Megállítás</string>
<string name="action_pause">Szüneteltetés</string> <string name="action_pause">Szüneteltetés</string>
<string name="action_previous_chapter">Előző fejezet</string> <string name="action_previous_chapter">Előző fejezet</string>

View File

@ -44,7 +44,6 @@
<string name="action_sort_down">Urutkan ke bawah</string> <string name="action_sort_down">Urutkan ke bawah</string>
<string name="action_show_downloaded">Terunduh</string> <string name="action_show_downloaded">Terunduh</string>
<string name="action_next_unread">Selanjutnya yang belum dibaca</string> <string name="action_next_unread">Selanjutnya yang belum dibaca</string>
<string name="action_start">Mulai</string>
<string name="action_stop">Berhenti</string> <string name="action_stop">Berhenti</string>
<string name="action_pause">Hentikan sementara</string> <string name="action_pause">Hentikan sementara</string>
<string name="action_close">Tutup</string> <string name="action_close">Tutup</string>
@ -286,7 +285,6 @@
<string name="no_previous_chapter">Bab sebelumnya tidak ditemukan</string> <string name="no_previous_chapter">Bab sebelumnya tidak ditemukan</string>
<string name="decode_image_error">Gambar tidak bisa dimuat</string> <string name="decode_image_error">Gambar tidak bisa dimuat</string>
<string name="confirm_set_image_as_cover">Gunakan gambar ini sebagai sampul\?</string> <string name="confirm_set_image_as_cover">Gunakan gambar ini sebagai sampul\?</string>
<string name="viewer_for_this_series">Jumlah pembaca untuk seri ini</string>
<string name="download_queue_error">Tidak dapat mengunduh bab. Anda bisa mencoba lagi di halaman unduhan</string> <string name="download_queue_error">Tidak dapat mengunduh bab. Anda bisa mencoba lagi di halaman unduhan</string>
<string name="notification_update_progress">Proses pembaruan sedang berlangsung: %1$d/%2$d</string> <string name="notification_update_progress">Proses pembaruan sedang berlangsung: %1$d/%2$d</string>
<string name="notification_new_chapters">Bab baru ditemukan</string> <string name="notification_new_chapters">Bab baru ditemukan</string>

View File

@ -40,7 +40,6 @@
<string name="action_sort_down">Ordine decrescente</string> <string name="action_sort_down">Ordine decrescente</string>
<string name="action_show_downloaded">Scaricati</string> <string name="action_show_downloaded">Scaricati</string>
<string name="action_next_unread">Prossimo non letto</string> <string name="action_next_unread">Prossimo non letto</string>
<string name="action_start">Avvia</string>
<string name="action_stop">Stop</string> <string name="action_stop">Stop</string>
<string name="action_pause">Pausa</string> <string name="action_pause">Pausa</string>
<string name="action_previous_chapter">Capitolo precedente</string> <string name="action_previous_chapter">Capitolo precedente</string>
@ -254,7 +253,6 @@
<string name="no_previous_chapter">Capitolo precedente non trovato</string> <string name="no_previous_chapter">Capitolo precedente non trovato</string>
<string name="decode_image_error">Impossibile caricare l\'immagine</string> <string name="decode_image_error">Impossibile caricare l\'immagine</string>
<string name="confirm_set_image_as_cover">Usare questa immagine come copertina\?</string> <string name="confirm_set_image_as_cover">Usare questa immagine come copertina\?</string>
<string name="viewer_for_this_series">Visualizzatore per questa serie</string>
<!-- Backup fragment --> <!-- Backup fragment -->
<string name="backup">Backup</string> <string name="backup">Backup</string>
<!-- Recent manga fragment --> <!-- Recent manga fragment -->

View File

@ -44,7 +44,6 @@
<string name="action_add_category">カテゴリを追加</string> <string name="action_add_category">カテゴリを追加</string>
<string name="action_edit_categories">カテゴリを編集</string> <string name="action_edit_categories">カテゴリを編集</string>
<string name="action_edit_cover">表紙画像を編集</string> <string name="action_edit_cover">表紙画像を編集</string>
<string name="action_start">開始</string>
<string name="action_pause">一時停止</string> <string name="action_pause">一時停止</string>
<string name="action_close">クリア</string> <string name="action_close">クリア</string>
<string name="action_previous_chapter">前の章</string> <string name="action_previous_chapter">前の章</string>
@ -335,7 +334,6 @@
<string name="no_previous_chapter">前のチャプターが見つかりません</string> <string name="no_previous_chapter">前のチャプターが見つかりません</string>
<string name="decode_image_error">画像を読み取れませんでした</string> <string name="decode_image_error">画像を読み取れませんでした</string>
<string name="confirm_set_image_as_cover">カバーとして設定しますか?</string> <string name="confirm_set_image_as_cover">カバーとして設定しますか?</string>
<string name="viewer_for_this_series">このシリーズのビューア</string>
<string name="migration_info">タップして移行元のソースを選択</string> <string name="migration_info">タップして移行元のソースを選択</string>
<string name="migration_dialog_what_to_include">移行するデータを選択</string> <string name="migration_dialog_what_to_include">移行するデータを選択</string>
<string name="select">選択</string> <string name="select">選択</string>
@ -444,4 +442,6 @@
<item quantity="other">%1$d新しい章</item> <item quantity="other">%1$d新しい章</item>
</plurals> </plurals>
<string name="notification_chapters_single">%1$s章</string> <string name="notification_chapters_single">%1$s章</string>
<string name="action_hide">隠す</string>
<string name="action_newest">最新</string>
</resources> </resources>

View File

@ -56,7 +56,6 @@
<string name="action_sort_up">위로 정렬</string> <string name="action_sort_up">위로 정렬</string>
<string name="action_sort_down">아래로 정렬</string> <string name="action_sort_down">아래로 정렬</string>
<string name="action_next_unread">다음 안 읽은 챕터로</string> <string name="action_next_unread">다음 안 읽은 챕터로</string>
<string name="action_start">읽기 시작</string>
<string name="action_close">닫기</string> <string name="action_close">닫기</string>
<string name="action_previous_chapter">이전 챕터</string> <string name="action_previous_chapter">이전 챕터</string>
<string name="action_next_chapter">다음 챕터</string> <string name="action_next_chapter">다음 챕터</string>
@ -273,7 +272,6 @@
<string name="no_previous_chapter">이전 챕터가 없습니다</string> <string name="no_previous_chapter">이전 챕터가 없습니다</string>
<string name="decode_image_error">이미지를 디코드 할 수 없습니다</string> <string name="decode_image_error">이미지를 디코드 할 수 없습니다</string>
<string name="confirm_set_image_as_cover">이 이미지를 표지로 설정하시겠습니까\?</string> <string name="confirm_set_image_as_cover">이 이미지를 표지로 설정하시겠습니까\?</string>
<string name="viewer_for_this_series">이 시리즈에 대한 뷰어</string>
<string name="transition_finished">완료:</string> <string name="transition_finished">완료:</string>
<string name="transition_current">현재:</string> <string name="transition_current">현재:</string>
<string name="transition_next">다음:</string> <string name="transition_next">다음:</string>

View File

@ -45,7 +45,6 @@
<string name="action_sort_down">Kārtot lejup</string> <string name="action_sort_down">Kārtot lejup</string>
<string name="action_show_downloaded">Lejupieladēti</string> <string name="action_show_downloaded">Lejupieladēti</string>
<string name="action_next_unread">Nākamais neizlasīts</string> <string name="action_next_unread">Nākamais neizlasīts</string>
<string name="action_start">Sākt</string>
<string name="action_stop">Beigt</string> <string name="action_stop">Beigt</string>
<string name="action_pause">Pārtraukt</string> <string name="action_pause">Pārtraukt</string>
<string name="action_close">Aizvērt</string> <string name="action_close">Aizvērt</string>

View File

@ -46,7 +46,6 @@
<string name="action_sort_down">Susunan menurun</string> <string name="action_sort_down">Susunan menurun</string>
<string name="action_show_downloaded">Telah dimuat turun</string> <string name="action_show_downloaded">Telah dimuat turun</string>
<string name="action_next_unread">Belum dibaca seterusnya</string> <string name="action_next_unread">Belum dibaca seterusnya</string>
<string name="action_start">Mula</string>
<string name="action_stop">Henti</string> <string name="action_stop">Henti</string>
<string name="action_pause">Henti sebentar</string> <string name="action_pause">Henti sebentar</string>
<string name="action_close">Tutup</string> <string name="action_close">Tutup</string>
@ -112,7 +111,7 @@
<string name="default_category_summary">Sentiasa tanya</string> <string name="default_category_summary">Sentiasa tanya</string>
<string name="pref_fullscreen">Skrin penuh</string> <string name="pref_fullscreen">Skrin penuh</string>
<string name="pref_lock_orientation">Kunci orientasi</string> <string name="pref_lock_orientation">Kunci orientasi</string>
<string name="pref_page_transitions">Kesan peralihan halaman</string> <string name="pref_page_transitions">Menggerakkan peralihan muka surat</string>
<string name="pref_show_page_number">Tunjuk nombor muka surat</string> <string name="pref_show_page_number">Tunjuk nombor muka surat</string>
<string name="pref_crop_borders">Potong pinggiran</string> <string name="pref_crop_borders">Potong pinggiran</string>
<string name="pref_custom_brightness">Guna kecerahan tersuai</string> <string name="pref_custom_brightness">Guna kecerahan tersuai</string>
@ -253,7 +252,7 @@
<string name="chapter_error">Ralat</string> <string name="chapter_error">Ralat</string>
<string name="chapter_paused">Dihenti sebentar</string> <string name="chapter_paused">Dihenti sebentar</string>
<string name="fetch_chapters_error">Tidak berhasil mendapatkan bab</string> <string name="fetch_chapters_error">Tidak berhasil mendapatkan bab</string>
<string name="show_title">Tajuk</string> <string name="show_title">Tajuk sumber</string>
<string name="show_chapter_number">Nombor bab</string> <string name="show_chapter_number">Nombor bab</string>
<string name="sorting_mode">Mod susunan</string> <string name="sorting_mode">Mod susunan</string>
<string name="sort_by_source">Mengikut sumber</string> <string name="sort_by_source">Mengikut sumber</string>
@ -295,7 +294,6 @@
<string name="no_previous_chapter">Bab sebelumnya tidak dijumpai</string> <string name="no_previous_chapter">Bab sebelumnya tidak dijumpai</string>
<string name="decode_image_error">Imej tidak dapat dimuatkan</string> <string name="decode_image_error">Imej tidak dapat dimuatkan</string>
<string name="confirm_set_image_as_cover">Guna imej ini sebagai muka hadapan\?</string> <string name="confirm_set_image_as_cover">Guna imej ini sebagai muka hadapan\?</string>
<string name="viewer_for_this_series">Pemapar bagi siri ini</string>
<string name="download_queue_error">Memuat turun bab tidak berjaya. Anda boleh mencuba lagi di bahagian muat turun</string> <string name="download_queue_error">Memuat turun bab tidak berjaya. Anda boleh mencuba lagi di bahagian muat turun</string>
<string name="notification_update_progress">Progres kemas kini: %1$d/%2$d</string> <string name="notification_update_progress">Progres kemas kini: %1$d/%2$d</string>
<string name="notification_new_chapters">Bab baharu dijumpai</string> <string name="notification_new_chapters">Bab baharu dijumpai</string>
@ -541,4 +539,11 @@
<string name="pref_search_pinned_sources_only">Hanya termasuk sumber yg di sematkan</string> <string name="pref_search_pinned_sources_only">Hanya termasuk sumber yg di sematkan</string>
<string name="channel_backup_restore_complete">Selesai</string> <string name="channel_backup_restore_complete">Selesai</string>
<string name="channel_backup_restore_progress">Kemajuan</string> <string name="channel_backup_restore_progress">Kemajuan</string>
<string name="gray_background">Kelabu</string>
<string name="viewer">Penonton</string>
<string name="pref_category_for_this_series">Untuk siri ini</string>
<string name="pref_true_color_summary">Kurangkan jalinan, tapi memberi kesan kepada prestasi</string>
<plurals name="num_categories">
<item quantity="other">%d kategori</item>
</plurals>
</resources> </resources>

View File

@ -47,7 +47,6 @@
<string name="action_sort_down">Sorter nedover</string> <string name="action_sort_down">Sorter nedover</string>
<string name="action_show_downloaded">Nedlastet</string> <string name="action_show_downloaded">Nedlastet</string>
<string name="action_next_unread">Neste uleste</string> <string name="action_next_unread">Neste uleste</string>
<string name="action_start">Start</string>
<string name="action_stop">Stopp</string> <string name="action_stop">Stopp</string>
<string name="action_pause">Pause</string> <string name="action_pause">Pause</string>
<string name="action_close">Lukk</string> <string name="action_close">Lukk</string>
@ -365,7 +364,6 @@
\n \n
\nForsikre deg om at du har installert alle nødvendige utvidelser og er logget inn i kilder og sporingstjenester før du gjenoppretter.</string> \nForsikre deg om at du har installert alle nødvendige utvidelser og er logget inn i kilder og sporingstjenester før du gjenoppretter.</string>
<string name="confirm_set_image_as_cover">Bruk dette bildet som omslag\?</string> <string name="confirm_set_image_as_cover">Bruk dette bildet som omslag\?</string>
<string name="viewer_for_this_series">Leser for denne serien</string>
<string name="migration_info">Trykk for å velge kilde å migrere fra</string> <string name="migration_info">Trykk for å velge kilde å migrere fra</string>
<string name="download_queue_error">Kunne ikke laste ned kapitler. Du kan prøve igjen i nedlastingsdelen.</string> <string name="download_queue_error">Kunne ikke laste ned kapitler. Du kan prøve igjen i nedlastingsdelen.</string>
<string name="notification_update_progress">Oppdateringsfremdrift: %1$d/%2$d</string> <string name="notification_update_progress">Oppdateringsfremdrift: %1$d/%2$d</string>

View File

@ -38,7 +38,6 @@
<string name="action_edit_cover">Omslag wijzigen</string> <string name="action_edit_cover">Omslag wijzigen</string>
<string name="action_show_downloaded">Gedownload</string> <string name="action_show_downloaded">Gedownload</string>
<string name="action_next_unread">Volgende ongelezen</string> <string name="action_next_unread">Volgende ongelezen</string>
<string name="action_start">Start</string>
<string name="action_stop">Stop</string> <string name="action_stop">Stop</string>
<string name="action_pause">Pauzeer</string> <string name="action_pause">Pauzeer</string>
<string name="action_close">Sluiten</string> <string name="action_close">Sluiten</string>
@ -220,7 +219,6 @@
<string name="no_next_chapter">Volgend hoofdstuk niet gevonden</string> <string name="no_next_chapter">Volgend hoofdstuk niet gevonden</string>
<string name="no_previous_chapter">Vorig hoofdstuk niet gevonden</string> <string name="no_previous_chapter">Vorig hoofdstuk niet gevonden</string>
<string name="confirm_set_image_as_cover">Deze afbeelding als omslagfoto gebruiken\?</string> <string name="confirm_set_image_as_cover">Deze afbeelding als omslagfoto gebruiken\?</string>
<string name="viewer_for_this_series">Lezer voor deze serie</string>
<string name="notification_update_progress">Updatevoortgang: %1$d/%2$d</string> <string name="notification_update_progress">Updatevoortgang: %1$d/%2$d</string>
<string name="notification_new_chapters">Nieuwe hoofdstukken gevonden</string> <string name="notification_new_chapters">Nieuwe hoofdstukken gevonden</string>
<string name="notification_first_add_to_library">Gelieve eerst de manga aan je bibliotheek toe te voegen</string> <string name="notification_first_add_to_library">Gelieve eerst de manga aan je bibliotheek toe te voegen</string>

View File

@ -42,7 +42,6 @@
<string name="action_sort_down">Sortuj malejąco</string> <string name="action_sort_down">Sortuj malejąco</string>
<string name="action_show_downloaded">Pobrane</string> <string name="action_show_downloaded">Pobrane</string>
<string name="action_next_unread">Następne nieprzeczytane</string> <string name="action_next_unread">Następne nieprzeczytane</string>
<string name="action_start">Start</string>
<string name="action_stop">Zatrzymaj</string> <string name="action_stop">Zatrzymaj</string>
<string name="action_pause">Wstrzymaj</string> <string name="action_pause">Wstrzymaj</string>
<string name="action_close">Zamknij</string> <string name="action_close">Zamknij</string>
@ -305,7 +304,6 @@
<string name="page_downloaded">Strona skopiowana do %1$s</string> <string name="page_downloaded">Strona skopiowana do %1$s</string>
<string name="decode_image_error">Nie udało się wczytać obrazka</string> <string name="decode_image_error">Nie udało się wczytać obrazka</string>
<string name="confirm_set_image_as_cover">Ustawić ten obrazek jako okładkę\?</string> <string name="confirm_set_image_as_cover">Ustawić ten obrazek jako okładkę\?</string>
<string name="viewer_for_this_series">Widok dla tej serii</string>
<string name="download_queue_error">Nie udało się pobrać rozdziałów. Możesz spróbować ponownie w sekcji pobierania</string> <string name="download_queue_error">Nie udało się pobrać rozdziałów. Możesz spróbować ponownie w sekcji pobierania</string>
<string name="notification_update_progress">Stan aktualizacji: %1$d/%2$d</string> <string name="notification_update_progress">Stan aktualizacji: %1$d/%2$d</string>
<string name="notification_cover_update_failed">Nie udało się zaktualizować okładki</string> <string name="notification_cover_update_failed">Nie udało się zaktualizować okładki</string>

View File

@ -45,7 +45,6 @@
<string name="action_sort_down">Ordem decrescente</string> <string name="action_sort_down">Ordem decrescente</string>
<string name="action_show_downloaded">Disponível offline</string> <string name="action_show_downloaded">Disponível offline</string>
<string name="action_next_unread">Próximo não lido</string> <string name="action_next_unread">Próximo não lido</string>
<string name="action_start">Iniciar</string>
<string name="action_stop">Parar</string> <string name="action_stop">Parar</string>
<string name="action_pause">Pausar</string> <string name="action_pause">Pausar</string>
<string name="action_close">Fechar</string> <string name="action_close">Fechar</string>
@ -244,7 +243,7 @@
<string name="chapter_error">Erro</string> <string name="chapter_error">Erro</string>
<string name="chapter_paused">Pausado</string> <string name="chapter_paused">Pausado</string>
<string name="fetch_chapters_error">Não foi possível obter os capítulos</string> <string name="fetch_chapters_error">Não foi possível obter os capítulos</string>
<string name="show_title">Título</string> <string name="show_title">Título da fonte</string>
<string name="show_chapter_number">Número do capítulo</string> <string name="show_chapter_number">Número do capítulo</string>
<string name="sorting_mode">Modo de classificação</string> <string name="sorting_mode">Modo de classificação</string>
<string name="sort_by_source">Pela fonte</string> <string name="sort_by_source">Pela fonte</string>
@ -285,7 +284,6 @@
<string name="no_previous_chapter">Capítulo anterior não encontrado</string> <string name="no_previous_chapter">Capítulo anterior não encontrado</string>
<string name="decode_image_error">A imagem não pôde ser carregada</string> <string name="decode_image_error">A imagem não pôde ser carregada</string>
<string name="confirm_set_image_as_cover">Usar esta imagem como capa\?</string> <string name="confirm_set_image_as_cover">Usar esta imagem como capa\?</string>
<string name="viewer_for_this_series">Leitura para esta série</string>
<string name="download_queue_error">Não foi possível realizar o download dos capítulos. Você pode tentar novamente na seção de downloads</string> <string name="download_queue_error">Não foi possível realizar o download dos capítulos. Você pode tentar novamente na seção de downloads</string>
<string name="notification_update_progress">Progresso da atualização: %1$d/%2$d</string> <string name="notification_update_progress">Progresso da atualização: %1$d/%2$d</string>
<string name="notification_new_chapters">Novos capítulos encontrados</string> <string name="notification_new_chapters">Novos capítulos encontrados</string>
@ -312,7 +310,7 @@
<string name="information_no_downloads">Nenhum download</string> <string name="information_no_downloads">Nenhum download</string>
<string name="information_no_recent">Sem atualizações recentes</string> <string name="information_no_recent">Sem atualizações recentes</string>
<string name="information_no_recent_manga">Nada lido recentemente</string> <string name="information_no_recent_manga">Nada lido recentemente</string>
<string name="information_empty_library">A sua biblioteca está vazia. Você pode adicionar séries a partir de Navegar.</string> <string name="information_empty_library">A sua biblioteca está vazia, adicione séries à sua biblioteca em Navegar.</string>
<string name="download_notifier_downloader_title">Gerenciador de downloads</string> <string name="download_notifier_downloader_title">Gerenciador de downloads</string>
<string name="download_notifier_title_error">Erro</string> <string name="download_notifier_title_error">Erro</string>
<string name="download_notifier_unknown_error">Não foi possível realizar o download do capítulo devido a um erro inesperado</string> <string name="download_notifier_unknown_error">Não foi possível realizar o download do capítulo devido a um erro inesperado</string>
@ -545,6 +543,7 @@
<item quantity="other">%1$s restantes</item> <item quantity="other">%1$s restantes</item>
</plurals> </plurals>
<string name="pref_search_pinned_sources_only">Incluir somente fontes fixadas</string> <string name="pref_search_pinned_sources_only">Incluir somente fontes fixadas</string>
<string name="channel_backup_restore_complete">Completo</string> <string name="channel_backup_restore_complete">Concluído</string>
<string name="channel_backup_restore_progress">Progresso</string> <string name="channel_backup_restore_progress">Progresso</string>
<string name="gray_background">Cinza</string>
</resources> </resources>

View File

@ -35,7 +35,6 @@
<string name="action_sort_down">Ordem descendente</string> <string name="action_sort_down">Ordem descendente</string>
<string name="action_show_downloaded">Transferido</string> <string name="action_show_downloaded">Transferido</string>
<string name="action_next_unread">Próximo não lido</string> <string name="action_next_unread">Próximo não lido</string>
<string name="action_start">Começar</string>
<string name="action_stop">Parar</string> <string name="action_stop">Parar</string>
<string name="action_pause">Pausa</string> <string name="action_pause">Pausa</string>
<string name="action_previous_chapter">Capítulo anterior</string> <string name="action_previous_chapter">Capítulo anterior</string>
@ -187,7 +186,7 @@
<string name="chapter_downloading_progress">A Transferir (%1$d/%2$d)</string> <string name="chapter_downloading_progress">A Transferir (%1$d/%2$d)</string>
<string name="chapter_error">Erro</string> <string name="chapter_error">Erro</string>
<string name="fetch_chapters_error">Não foi possível obter capítulos</string> <string name="fetch_chapters_error">Não foi possível obter capítulos</string>
<string name="show_title">Título</string> <string name="show_title">Título da fonte</string>
<string name="show_chapter_number">Número do capítulo</string> <string name="show_chapter_number">Número do capítulo</string>
<string name="sorting_mode">Modo de organização</string> <string name="sorting_mode">Modo de organização</string>
<string name="sort_by_source">Por fonte</string> <string name="sort_by_source">Por fonte</string>
@ -220,7 +219,6 @@
<string name="no_next_chapter">Capítulo seguinte não encontrado</string> <string name="no_next_chapter">Capítulo seguinte não encontrado</string>
<string name="no_previous_chapter">Capítulo anterior não encontrado</string> <string name="no_previous_chapter">Capítulo anterior não encontrado</string>
<string name="decode_image_error">Não foi possível carregar a imagem</string> <string name="decode_image_error">Não foi possível carregar a imagem</string>
<string name="viewer_for_this_series">Visualizador para esta série</string>
<!-- Backup fragment --> <!-- Backup fragment -->
<string name="backup">Cópia de segurança</string> <string name="backup">Cópia de segurança</string>
<!-- Recent manga fragment --> <!-- Recent manga fragment -->
@ -570,4 +568,12 @@
<string name="manga_info_last_chapter_label">Último capítulo</string> <string name="manga_info_last_chapter_label">Último capítulo</string>
<string name="downloaded_only_summary">Filtrar todas as mangás em sua biblioteca</string> <string name="downloaded_only_summary">Filtrar todas as mangás em sua biblioteca</string>
<string name="restore_duration">%02d min, %02d seg</string> <string name="restore_duration">%02d min, %02d seg</string>
<string name="pref_search_pinned_sources_only">Apenas incluir fontes fixadas</string>
<string name="channel_backup_restore_progress">Progresso</string>
<plurals name="download_queue_summary">
<item quantity="one">1 restante</item>
<item quantity="other">%1$s restantes</item>
</plurals>
<string name="gray_background">Cinzento</string>
<string name="channel_backup_restore_complete">Completo</string>
</resources> </resources>

View File

@ -47,7 +47,6 @@
<string name="action_edit_cover">Modifică coperta</string> <string name="action_edit_cover">Modifică coperta</string>
<string name="action_show_downloaded">Descărcate</string> <string name="action_show_downloaded">Descărcate</string>
<string name="action_next_unread">Următorul necitit</string> <string name="action_next_unread">Următorul necitit</string>
<string name="action_start">Start</string>
<string name="action_stop">Stop</string> <string name="action_stop">Stop</string>
<string name="action_pause">Pauză</string> <string name="action_pause">Pauză</string>
<string name="action_close">Închide</string> <string name="action_close">Închide</string>
@ -339,7 +338,6 @@
<string name="no_previous_chapter">Capitolul precedent nu a fost găsit</string> <string name="no_previous_chapter">Capitolul precedent nu a fost găsit</string>
<string name="decode_image_error">Imaginea nu a putut să fie încărcată</string> <string name="decode_image_error">Imaginea nu a putut să fie încărcată</string>
<string name="confirm_set_image_as_cover">Folosiți această imagine ca și copertă\?</string> <string name="confirm_set_image_as_cover">Folosiți această imagine ca și copertă\?</string>
<string name="viewer_for_this_series">Cititor pentru această serie</string>
<string name="transition_finished">Terminat:</string> <string name="transition_finished">Terminat:</string>
<string name="transition_current">Actual:</string> <string name="transition_current">Actual:</string>
<string name="transition_next">Următorul:</string> <string name="transition_next">Următorul:</string>

View File

@ -46,7 +46,6 @@
<string name="action_sort_down">По убыванию</string> <string name="action_sort_down">По убыванию</string>
<string name="action_sort_last_read">Последняя прочитанная</string> <string name="action_sort_last_read">Последняя прочитанная</string>
<string name="action_sort_up">По возрастанию</string> <string name="action_sort_up">По возрастанию</string>
<string name="action_start">Старт</string>
<string name="action_stop">Стоп</string> <string name="action_stop">Стоп</string>
<string name="action_update">Обновить</string> <string name="action_update">Обновить</string>
<string name="action_update_library">Обновить библиотеку</string> <string name="action_update_library">Обновить библиотеку</string>
@ -265,7 +264,6 @@
<string name="username">Имя пользователя</string> <string name="username">Имя пользователя</string>
<string name="version">Версия</string> <string name="version">Версия</string>
<string name="vertical_viewer">Вертикально</string> <string name="vertical_viewer">Вертикально</string>
<string name="viewer_for_this_series">Отображение для этой серии</string>
<string name="webtoon_viewer">Вебкомикс</string> <string name="webtoon_viewer">Вебкомикс</string>
<string name="white_background">Белый</string> <string name="white_background">Белый</string>
<string name="wifi">Wi-Fi</string> <string name="wifi">Wi-Fi</string>
@ -490,7 +488,7 @@
<string name="pref_always_show_chapter_transition">Всегда показывать главу перехода</string> <string name="pref_always_show_chapter_transition">Всегда показывать главу перехода</string>
<string name="pref_enable_automatic_extension_updates">Проверять обновления для расширений</string> <string name="pref_enable_automatic_extension_updates">Проверять обновления для расширений</string>
<string name="hide_notification_content">Скрыть содержимое уведомления</string> <string name="hide_notification_content">Скрыть содержимое уведомления</string>
<string name="secure_screen_summary">Скрыть содержимое приложения, при переключении на другие приложения, и заблокированных скриншотов</string> <string name="secure_screen_summary">Скрыть содержимое приложения, при переключении на другие приложения, и блокировании скриншотов</string>
<string name="theme_light_blue">Бело-синяя</string> <string name="theme_light_blue">Бело-синяя</string>
<string name="pref_theme_light">Белый вариант</string> <string name="pref_theme_light">Белый вариант</string>
<string name="action_oldest">Старейший</string> <string name="action_oldest">Старейший</string>
@ -546,7 +544,7 @@
<string name="creating_backup_error">Ошибка бэкапа</string> <string name="creating_backup_error">Ошибка бэкапа</string>
<string name="backup_in_progress">Бэкап уже выполняется</string> <string name="backup_in_progress">Бэкап уже выполняется</string>
<string name="restore_duration">%02d мин, %02d сек</string> <string name="restore_duration">%02d мин, %02d сек</string>
<string name="pref_search_pinned_sources_only">Только включать закрепленные источники</string> <string name="pref_search_pinned_sources_only">Включать только закрепленные источники</string>
<plurals name="download_queue_summary"> <plurals name="download_queue_summary">
<item quantity="one">Осталось 1</item> <item quantity="one">Осталось 1</item>
<item quantity="few">Осталось %1$s</item> <item quantity="few">Осталось %1$s</item>

View File

@ -49,7 +49,6 @@
<string name="action_sort_down">Òrdina in manera chi achirret</string> <string name="action_sort_down">Òrdina in manera chi achirret</string>
<string name="action_show_downloaded">Iscarrigados</string> <string name="action_show_downloaded">Iscarrigados</string>
<string name="action_next_unread">Non lèghidu imbeniente</string> <string name="action_next_unread">Non lèghidu imbeniente</string>
<string name="action_start">Incumintza</string>
<string name="action_stop">Firma</string> <string name="action_stop">Firma</string>
<string name="action_pause">Pone in pàusa</string> <string name="action_pause">Pone in pàusa</string>
<string name="action_close">Serra</string> <string name="action_close">Serra</string>
@ -340,7 +339,6 @@
<string name="no_previous_chapter">Capìtulu antepostu no agatadu</string> <string name="no_previous_chapter">Capìtulu antepostu no agatadu</string>
<string name="decode_image_error">No est istadu possìbile carrigare s\'immàgine</string> <string name="decode_image_error">No est istadu possìbile carrigare s\'immàgine</string>
<string name="confirm_set_image_as_cover">Cheres impostare custa immàgine comente cobertedda\?</string> <string name="confirm_set_image_as_cover">Cheres impostare custa immàgine comente cobertedda\?</string>
<string name="viewer_for_this_series">Visualizadore pro custa sèrie</string>
<string name="transition_finished">Acabadu:</string> <string name="transition_finished">Acabadu:</string>
<string name="transition_current">Atuale:</string> <string name="transition_current">Atuale:</string>
<string name="transition_next">Imbeniente:</string> <string name="transition_next">Imbeniente:</string>

View File

@ -50,7 +50,6 @@
<string name="action_sort_down">Zatriediť dole</string> <string name="action_sort_down">Zatriediť dole</string>
<string name="action_show_downloaded">Stiahnuté</string> <string name="action_show_downloaded">Stiahnuté</string>
<string name="action_next_unread">Nasledujúce nečítané</string> <string name="action_next_unread">Nasledujúce nečítané</string>
<string name="action_start">Začať</string>
<string name="action_stop">Zastaviť</string> <string name="action_stop">Zastaviť</string>
<string name="action_pause">Pauza</string> <string name="action_pause">Pauza</string>
<string name="action_close">Zatvoriť</string> <string name="action_close">Zatvoriť</string>
@ -358,7 +357,6 @@
<string name="no_previous_chapter">Predchádzajúca kapitola nebola nájdená</string> <string name="no_previous_chapter">Predchádzajúca kapitola nebola nájdená</string>
<string name="decode_image_error">Obrázok sa nepodarilo dekódovať</string> <string name="decode_image_error">Obrázok sa nepodarilo dekódovať</string>
<string name="confirm_set_image_as_cover">Chcete použiť tento obrázok ako obal\?</string> <string name="confirm_set_image_as_cover">Chcete použiť tento obrázok ako obal\?</string>
<string name="viewer_for_this_series">Prehliadač tejto série</string>
<string name="transition_finished">Dokončená:</string> <string name="transition_finished">Dokončená:</string>
<string name="transition_current">Aktuálna:</string> <string name="transition_current">Aktuálna:</string>
<string name="transition_next">Ďalšia:</string> <string name="transition_next">Ďalšia:</string>

View File

@ -49,7 +49,6 @@
<string name="action_sort_down">Sortiraj odozdo</string> <string name="action_sort_down">Sortiraj odozdo</string>
<string name="action_show_downloaded">Preuzeto</string> <string name="action_show_downloaded">Preuzeto</string>
<string name="action_next_unread">Sledeće nepročitano</string> <string name="action_next_unread">Sledeće nepročitano</string>
<string name="action_start">Počni</string>
<string name="action_stop">Zaustavi</string> <string name="action_stop">Zaustavi</string>
<string name="action_pause">Pauziraj</string> <string name="action_pause">Pauziraj</string>
<string name="action_close">Zatvori</string> <string name="action_close">Zatvori</string>
@ -415,7 +414,6 @@
<string name="transition_next">Sledeće:</string> <string name="transition_next">Sledeće:</string>
<string name="transition_current">Trenutno:</string> <string name="transition_current">Trenutno:</string>
<string name="transition_finished">Gotovo:</string> <string name="transition_finished">Gotovo:</string>
<string name="viewer_for_this_series">Pregledač za ovu seriju</string>
<string name="confirm_set_image_as_cover">Koristite ovu sliku kao naslovnu\?</string> <string name="confirm_set_image_as_cover">Koristite ovu sliku kao naslovnu\?</string>
<string name="decode_image_error">Slika se ne može učitati</string> <string name="decode_image_error">Slika se ne može učitati</string>
<string name="no_previous_chapter">Prethodno poglavlje nije pronađeno</string> <string name="no_previous_chapter">Prethodno poglavlje nije pronađeno</string>

View File

@ -49,7 +49,6 @@
<string name="action_sort_down">Sortera ner</string> <string name="action_sort_down">Sortera ner</string>
<string name="action_show_downloaded">Nedladdat</string> <string name="action_show_downloaded">Nedladdat</string>
<string name="action_next_unread">Nästa olästa</string> <string name="action_next_unread">Nästa olästa</string>
<string name="action_start">Start</string>
<string name="action_stop">Stop</string> <string name="action_stop">Stop</string>
<string name="action_pause">Paus</string> <string name="action_pause">Paus</string>
<string name="action_close">Stäng</string> <string name="action_close">Stäng</string>
@ -339,7 +338,6 @@
<string name="no_previous_chapter">Föregående kapitel kunde inte hittas</string> <string name="no_previous_chapter">Föregående kapitel kunde inte hittas</string>
<string name="decode_image_error">Bilden kunde inte laddas</string> <string name="decode_image_error">Bilden kunde inte laddas</string>
<string name="confirm_set_image_as_cover">Ställ in denna bilden som omslaget\?</string> <string name="confirm_set_image_as_cover">Ställ in denna bilden som omslaget\?</string>
<string name="viewer_for_this_series">Visare för denna serie</string>
<string name="transition_finished">Färdig:</string> <string name="transition_finished">Färdig:</string>
<string name="transition_current">Nuvarande:</string> <string name="transition_current">Nuvarande:</string>
<string name="transition_next">Nästa:</string> <string name="transition_next">Nästa:</string>

View File

@ -99,7 +99,6 @@
<string name="action_sort_up">เรียงขึ้น</string> <string name="action_sort_up">เรียงขึ้น</string>
<string name="action_sort_down">เรียงลง</string> <string name="action_sort_down">เรียงลง</string>
<string name="action_next_unread">อ่านเรื่องที่ยังไม่ได้อ่าน</string> <string name="action_next_unread">อ่านเรื่องที่ยังไม่ได้อ่าน</string>
<string name="action_start">เริ่มต้น</string>
<string name="action_stop">จุดจบ</string> <string name="action_stop">จุดจบ</string>
<string name="action_pause">หยุดพัก</string> <string name="action_pause">หยุดพัก</string>
<string name="action_remove">ลบออก</string> <string name="action_remove">ลบออก</string>
@ -350,7 +349,6 @@
<string name="no_previous_chapter">ไม่พบบทก่อนหน้านี้</string> <string name="no_previous_chapter">ไม่พบบทก่อนหน้านี้</string>
<string name="decode_image_error">ไม่สามารถถอดรหัสรูปภาพได้</string> <string name="decode_image_error">ไม่สามารถถอดรหัสรูปภาพได้</string>
<string name="confirm_set_image_as_cover">คุณต้องการที่จะตั้งค่าภาพเป็นภาพที่ปกใช่มั้ย\?</string> <string name="confirm_set_image_as_cover">คุณต้องการที่จะตั้งค่าภาพเป็นภาพที่ปกใช่มั้ย\?</string>
<string name="viewer_for_this_series">ตัวแสดงสำหรับชุดนี้</string>
<string name="transition_finished">เสร็จแล้ว:</string> <string name="transition_finished">เสร็จแล้ว:</string>
<string name="transition_current">ปัจจุบัน:</string> <string name="transition_current">ปัจจุบัน:</string>
<string name="transition_next">ต่อไป:</string> <string name="transition_next">ต่อไป:</string>

View File

@ -49,7 +49,6 @@
<string name="action_sort_down">Ayusin pababa</string> <string name="action_sort_down">Ayusin pababa</string>
<string name="action_show_downloaded">Mga na-download</string> <string name="action_show_downloaded">Mga na-download</string>
<string name="action_next_unread">Susunod na hindi pa nababasa</string> <string name="action_next_unread">Susunod na hindi pa nababasa</string>
<string name="action_start">Mag-umpisa</string>
<string name="action_stop">Itigil</string> <string name="action_stop">Itigil</string>
<string name="action_pause">Ihinto</string> <string name="action_pause">Ihinto</string>
<string name="action_close">Isara</string> <string name="action_close">Isara</string>
@ -351,7 +350,6 @@
<string name="no_previous_chapter">Hindi nakita ang nakaraang kabanata</string> <string name="no_previous_chapter">Hindi nakita ang nakaraang kabanata</string>
<string name="decode_image_error">Hindi ma-decode ang larawan</string> <string name="decode_image_error">Hindi ma-decode ang larawan</string>
<string name="confirm_set_image_as_cover">Gusto mo bang i-set ang larawang ito bilang pabalat\?</string> <string name="confirm_set_image_as_cover">Gusto mo bang i-set ang larawang ito bilang pabalat\?</string>
<string name="viewer_for_this_series">Viewer para sa seryeng ito</string>
<string name="transition_finished">Natapos:</string> <string name="transition_finished">Natapos:</string>
<string name="transition_current">Kasalukuyan:</string> <string name="transition_current">Kasalukuyan:</string>
<string name="transition_next">Susunod:</string> <string name="transition_next">Susunod:</string>

View File

@ -49,7 +49,6 @@
<string name="action_sort_down">Aşağı sırala</string> <string name="action_sort_down">Aşağı sırala</string>
<string name="action_show_downloaded">İndirilen</string> <string name="action_show_downloaded">İndirilen</string>
<string name="action_next_unread">Sonraki okunmamış</string> <string name="action_next_unread">Sonraki okunmamış</string>
<string name="action_start">Başlat</string>
<string name="action_stop">Durdur</string> <string name="action_stop">Durdur</string>
<string name="action_pause">Duraklat</string> <string name="action_pause">Duraklat</string>
<string name="action_close">Kapat</string> <string name="action_close">Kapat</string>
@ -290,7 +289,7 @@
<string name="chapter_error">Hata</string> <string name="chapter_error">Hata</string>
<string name="chapter_paused">Duraklatıldı</string> <string name="chapter_paused">Duraklatıldı</string>
<string name="fetch_chapters_error">Bölümler alınamadı</string> <string name="fetch_chapters_error">Bölümler alınamadı</string>
<string name="show_title">Başlık</string> <string name="show_title">Kaynak başlığı</string>
<string name="show_chapter_number">Bölüm numarası</string> <string name="show_chapter_number">Bölüm numarası</string>
<string name="sorting_mode">Sıralama kipi</string> <string name="sorting_mode">Sıralama kipi</string>
<string name="sort_by_source">Kaynağa göre</string> <string name="sort_by_source">Kaynağa göre</string>
@ -339,7 +338,6 @@
<string name="no_previous_chapter">Önceki bölüm bulunamadı</string> <string name="no_previous_chapter">Önceki bölüm bulunamadı</string>
<string name="decode_image_error">Görsel yüklenemedi</string> <string name="decode_image_error">Görsel yüklenemedi</string>
<string name="confirm_set_image_as_cover">Bu görsel kapak resmi olarak kullanılsın mı\?</string> <string name="confirm_set_image_as_cover">Bu görsel kapak resmi olarak kullanılsın mı\?</string>
<string name="viewer_for_this_series">Bu dizi için görüntüleyici</string>
<string name="migration_info">Taşınılacak kaynağı seçmek için dokunun</string> <string name="migration_info">Taşınılacak kaynağı seçmek için dokunun</string>
<string name="migration_dialog_what_to_include">Eklenecek veriyi seç</string> <string name="migration_dialog_what_to_include">Eklenecek veriyi seç</string>
<string name="select">Seç</string> <string name="select">Seç</string>
@ -547,4 +545,5 @@
<string name="pref_search_pinned_sources_only">Yalnızca sabitlenmiş kaynakları içer</string> <string name="pref_search_pinned_sources_only">Yalnızca sabitlenmiş kaynakları içer</string>
<string name="channel_backup_restore_complete">Tamamlandı</string> <string name="channel_backup_restore_complete">Tamamlandı</string>
<string name="channel_backup_restore_progress">İlerleme</string> <string name="channel_backup_restore_progress">İlerleme</string>
<string name="gray_background">Gri</string>
</resources> </resources>

View File

@ -49,7 +49,6 @@
<string name="action_sort_down">За спаданням</string> <string name="action_sort_down">За спаданням</string>
<string name="action_show_downloaded">Завантажені</string> <string name="action_show_downloaded">Завантажені</string>
<string name="action_next_unread">Наступна непрочитана</string> <string name="action_next_unread">Наступна непрочитана</string>
<string name="action_start">Старт</string>
<string name="action_stop">Стоп</string> <string name="action_stop">Стоп</string>
<string name="action_pause">Пауза</string> <string name="action_pause">Пауза</string>
<string name="action_close">Закрити</string> <string name="action_close">Закрити</string>
@ -339,7 +338,6 @@
<string name="no_previous_chapter">Попередню главу не знайдено</string> <string name="no_previous_chapter">Попередню главу не знайдено</string>
<string name="decode_image_error">Зображення не може бути завантаженим</string> <string name="decode_image_error">Зображення не може бути завантаженим</string>
<string name="confirm_set_image_as_cover">Ви бажаєте встановити цю картинку як обкладинку\?</string> <string name="confirm_set_image_as_cover">Ви бажаєте встановити цю картинку як обкладинку\?</string>
<string name="viewer_for_this_series">Відображення для цієї серії</string>
<string name="transition_finished">Завершено:</string> <string name="transition_finished">Завершено:</string>
<string name="transition_current">Поточна:</string> <string name="transition_current">Поточна:</string>
<string name="transition_next">Наступна:</string> <string name="transition_next">Наступна:</string>

View File

@ -41,7 +41,6 @@
<string name="action_sort_down">Sắp theo thứ tự giảm dần</string> <string name="action_sort_down">Sắp theo thứ tự giảm dần</string>
<string name="action_show_downloaded">Đã tải xuống</string> <string name="action_show_downloaded">Đã tải xuống</string>
<string name="action_next_unread">Truyện chưa đọc kế tiếp</string> <string name="action_next_unread">Truyện chưa đọc kế tiếp</string>
<string name="action_start">Bắt đầu</string>
<string name="action_stop">Dừng lại</string> <string name="action_stop">Dừng lại</string>
<string name="action_pause">Tạm dừng</string> <string name="action_pause">Tạm dừng</string>
<string name="action_previous_chapter">Chương trước</string> <string name="action_previous_chapter">Chương trước</string>
@ -265,7 +264,6 @@
<string name="no_previous_chapter">Không tìm thấy chương trước</string> <string name="no_previous_chapter">Không tìm thấy chương trước</string>
<string name="decode_image_error">Không thể giải mã hình ảnh</string> <string name="decode_image_error">Không thể giải mã hình ảnh</string>
<string name="confirm_set_image_as_cover">Bạn có chắc muốn đặt ảnh này làm ảnh bìa?</string> <string name="confirm_set_image_as_cover">Bạn có chắc muốn đặt ảnh này làm ảnh bìa?</string>
<string name="viewer_for_this_series">Kiểu đọc cho series này</string>
<!-- Backup fragment --> <!-- Backup fragment -->
<string name="backup">Sao lưu</string> <string name="backup">Sao lưu</string>
<!-- Recent manga fragment --> <!-- Recent manga fragment -->

View File

@ -44,7 +44,6 @@
<string name="action_edit_cover">编辑封面</string> <string name="action_edit_cover">编辑封面</string>
<string name="action_sort_up">升序</string> <string name="action_sort_up">升序</string>
<string name="action_show_downloaded">已下载</string> <string name="action_show_downloaded">已下载</string>
<string name="action_start">开始</string>
<string name="action_stop">停止</string> <string name="action_stop">停止</string>
<string name="action_pause">暂停</string> <string name="action_pause">暂停</string>
<string name="action_close">关闭</string> <string name="action_close">关闭</string>
@ -339,7 +338,6 @@
<string name="no_previous_chapter">前面没有啦</string> <string name="no_previous_chapter">前面没有啦</string>
<string name="decode_image_error">图片加载失败</string> <string name="decode_image_error">图片加载失败</string>
<string name="confirm_set_image_as_cover">要将此页设为封面吗?</string> <string name="confirm_set_image_as_cover">要将此页设为封面吗?</string>
<string name="viewer_for_this_series">阅读模式</string>
<string name="transition_finished">已读完:</string> <string name="transition_finished">已读完:</string>
<string name="transition_current">当前章节:</string> <string name="transition_current">当前章节:</string>
<string name="transition_next">下一章:</string> <string name="transition_next">下一章:</string>
@ -440,7 +438,7 @@
<string name="lock_always">总是</string> <string name="lock_always">总是</string>
<string name="lock_never">从不</string> <string name="lock_never">从不</string>
<plurals name="lock_after_mins"> <plurals name="lock_after_mins">
<item quantity="one"></item> <item quantity="one">1分钟后</item>
<item quantity="other">%1$s 分钟后</item> <item quantity="other">%1$s 分钟后</item>
</plurals> </plurals>
<string name="secure_screen">安全屏幕</string> <string name="secure_screen">安全屏幕</string>
@ -457,14 +455,14 @@
<string name="lock_with_biometrics">启用生物识别锁定</string> <string name="lock_with_biometrics">启用生物识别锁定</string>
<string name="pref_cutout_short">在刘海屏区域显示内容</string> <string name="pref_cutout_short">在刘海屏区域显示内容</string>
<plurals name="notification_chapters_generic"> <plurals name="notification_chapters_generic">
<item quantity="one"></item> <item quantity="one">1个新章节</item>
<item quantity="other">%1$d 个新章节</item> <item quantity="other">%1$d 个新章节</item>
</plurals> </plurals>
<string name="notification_chapters_single">第 %1$s 章</string> <string name="notification_chapters_single">第 %1$s 章</string>
<string name="notification_chapters_single_and_more">第 %1$s 章及另外 %2$d 章</string> <string name="notification_chapters_single_and_more">第 %1$s 章及另外 %2$d 章</string>
<string name="notification_chapters_multiple">第 %1$s 章</string> <string name="notification_chapters_multiple">第 %1$s 章</string>
<plurals name="notification_chapters_multiple_and_more"> <plurals name="notification_chapters_multiple_and_more">
<item quantity="one"></item> <item quantity="one">第 %1$s 章及另外1章</item>
<item quantity="other">第 %1$s 章及另外 %2$d 章</item> <item quantity="other">第 %1$s 章及另外 %2$d 章</item>
</plurals> </plurals>
<string name="notification_check_updates">正在检查新章节</string> <string name="notification_check_updates">正在检查新章节</string>
@ -474,7 +472,7 @@
<string name="email">邮箱地址</string> <string name="email">邮箱地址</string>
<string name="pref_always_show_chapter_transition">总是显示章节之间的过渡界面</string> <string name="pref_always_show_chapter_transition">总是显示章节之间的过渡界面</string>
<plurals name="notification_new_chapters_summary"> <plurals name="notification_new_chapters_summary">
<item quantity="one"></item> <item quantity="one">共 1 个标题</item>
<item quantity="other">共 %d 个标题</item> <item quantity="other">共 %d 个标题</item>
</plurals> </plurals>
<string name="pref_theme_light">默认浅色主题</string> <string name="pref_theme_light">默认浅色主题</string>
@ -491,7 +489,7 @@
<string name="action_sort_last_checked">最近检查</string> <string name="action_sort_last_checked">最近检查</string>
<string name="pref_enable_automatic_extension_updates">检查扩展插件更新</string> <string name="pref_enable_automatic_extension_updates">检查扩展插件更新</string>
<plurals name="update_check_notification_ext_updates"> <plurals name="update_check_notification_ext_updates">
<item quantity="one"></item> <item quantity="one">1个扩展插件可更新</item>
<item quantity="other">%d 个扩展插件可更新</item> <item quantity="other">%d 个扩展插件可更新</item>
</plurals> </plurals>
<string name="channel_ext_updates">扩展插件更新</string> <string name="channel_ext_updates">扩展插件更新</string>
@ -537,11 +535,15 @@
<string name="local_source_help_guide">本地图源指南</string> <string name="local_source_help_guide">本地图源指南</string>
<string name="last_used_source">上次浏览</string> <string name="last_used_source">上次浏览</string>
<plurals name="download_queue_summary"> <plurals name="download_queue_summary">
<item quantity="one"></item> <item quantity="one">剩余1个</item>
<item quantity="other">剩余 %1$s 个</item> <item quantity="other">剩余 %1$s 个</item>
</plurals> </plurals>
<string name="downloaded_only_summary">筛选书架的全部漫画</string> <string name="downloaded_only_summary">筛选书架的全部漫画</string>
<string name="check_for_updates">检查更新</string> <string name="check_for_updates">检查更新</string>
<string name="restore_duration">%02d 分,%02d 秒</string> <string name="restore_duration">%02d 分,%02d 秒</string>
<string name="pref_search_pinned_sources_only">仅在已置顶的图源中搜索</string> <string name="pref_search_pinned_sources_only">仅在已置顶的图源中搜索</string>
<string name="error_invalid_date_supplied">无效的日期</string>
<string name="track_finished_reading_date">完成阅读时间</string>
<string name="track_started_reading_date">开始阅读时间</string>
<string name="gray_background">灰色</string>
</resources> </resources>

View File

@ -47,7 +47,6 @@
<string name="action_sort_up">遞增</string> <string name="action_sort_up">遞增</string>
<string name="action_sort_down">遞減</string> <string name="action_sort_down">遞減</string>
<string name="action_show_downloaded">已下載</string> <string name="action_show_downloaded">已下載</string>
<string name="action_start">開始</string>
<string name="action_stop">停止</string> <string name="action_stop">停止</string>
<string name="action_pause">暫停</string> <string name="action_pause">暫停</string>
<string name="action_close">關閉</string> <string name="action_close">關閉</string>
@ -324,7 +323,6 @@
<string name="download_all">下載全部</string> <string name="download_all">下載全部</string>
<string name="download_unread">下載未讀</string> <string name="download_unread">下載未讀</string>
<string name="confirm_set_image_as_cover">您欲將該圖片設為書封嗎?</string> <string name="confirm_set_image_as_cover">您欲將該圖片設為書封嗎?</string>
<string name="viewer_for_this_series">閱讀模式</string>
<string name="transition_pages_loading">正在載入頁面…</string> <string name="transition_pages_loading">正在載入頁面…</string>
<string name="information_empty_library">尚未收藏任何作品,請至書目檢索挖掘您的愛書。</string> <string name="information_empty_library">尚未收藏任何作品,請至書目檢索挖掘您的愛書。</string>
<string name="pref_refresh_library_metadata_summary">更新書封、類型、描述和連載狀態等漫畫簡介</string> <string name="pref_refresh_library_metadata_summary">更新書封、類型、描述和連載狀態等漫畫簡介</string>

View File

@ -24,13 +24,15 @@
</string-array> </string-array>
<string-array name="reader_themes"> <string-array name="reader_themes">
<item>@string/white_background</item>
<item>@string/black_background</item> <item>@string/black_background</item>
<item>@string/gray_background</item>
<item>@string/white_background</item>
</string-array> </string-array>
<string-array name="reader_themes_values"> <string-array name="reader_themes_values">
<item>0</item>
<item>1</item> <item>1</item>
<item>2</item>
<item>0</item>
</string-array> </string-array>
<string-array name="image_decoders"> <string-array name="image_decoders">

View File

@ -67,7 +67,6 @@
<string name="action_show_downloaded">Downloaded</string> <string name="action_show_downloaded">Downloaded</string>
<string name="action_next_unread">Next unread</string> <string name="action_next_unread">Next unread</string>
<string name="action_view_chapters">View chapters</string> <string name="action_view_chapters">View chapters</string>
<string name="action_start">Start</string>
<string name="action_stop">Stop</string> <string name="action_stop">Stop</string>
<string name="action_pause">Pause</string> <string name="action_pause">Pause</string>
<string name="action_close">Close</string> <string name="action_close">Close</string>
@ -187,6 +186,10 @@
<string name="pref_category_library_categories">Categories</string> <string name="pref_category_library_categories">Categories</string>
<string name="default_category">Default category</string> <string name="default_category">Default category</string>
<string name="default_category_summary">Always ask</string> <string name="default_category_summary">Always ask</string>
<plurals name="num_categories">
<item quantity="one">%d category</item>
<item quantity="other">%d categories</item>
</plurals>
<string name="pref_library_update_categories">Categories to include in global update</string> <string name="pref_library_update_categories">Categories to include in global update</string>
<string name="all">All</string> <string name="all">All</string>
@ -217,10 +220,11 @@
<string name="pref_fullscreen">Fullscreen</string> <string name="pref_fullscreen">Fullscreen</string>
<string name="pref_cutout_short">Show content in cutout area</string> <string name="pref_cutout_short">Show content in cutout area</string>
<string name="pref_lock_orientation">Lock orientation</string> <string name="pref_lock_orientation">Lock orientation</string>
<string name="pref_page_transitions">Page transitions</string> <string name="pref_page_transitions">Animate page transitions</string>
<string name="pref_double_tap_anim_speed">Double tap animation speed</string> <string name="pref_double_tap_anim_speed">Double tap animation speed</string>
<string name="pref_show_page_number">Show page number</string> <string name="pref_show_page_number">Show page number</string>
<string name="pref_true_color">32-bit color</string> <string name="pref_true_color">32-bit color</string>
<string name="pref_true_color_summary">Reduces banding, but impacts performance</string>
<string name="pref_crop_borders">Crop borders</string> <string name="pref_crop_borders">Crop borders</string>
<string name="pref_custom_brightness">Use custom brightness</string> <string name="pref_custom_brightness">Use custom brightness</string>
<string name="pref_custom_color_filter">Use custom color filter</string> <string name="pref_custom_color_filter">Use custom color filter</string>
@ -241,6 +245,7 @@
<string name="pref_read_with_long_tap">Long tap dialog</string> <string name="pref_read_with_long_tap">Long tap dialog</string>
<string name="pref_reader_theme">Background color</string> <string name="pref_reader_theme">Background color</string>
<string name="white_background">White</string> <string name="white_background">White</string>
<string name="gray_background">Gray</string>
<string name="black_background">Black</string> <string name="black_background">Black</string>
<string name="pref_viewer_type">Default viewer</string> <string name="pref_viewer_type">Default viewer</string>
<string name="default_viewer">Default</string> <string name="default_viewer">Default</string>
@ -456,7 +461,7 @@
<string name="chapter_error">Error</string> <string name="chapter_error">Error</string>
<string name="chapter_paused">Paused</string> <string name="chapter_paused">Paused</string>
<string name="fetch_chapters_error">Could not fetch chapters</string> <string name="fetch_chapters_error">Could not fetch chapters</string>
<string name="show_title">Title</string> <string name="show_title">Source title</string>
<string name="show_chapter_number">Chapter number</string> <string name="show_chapter_number">Chapter number</string>
<string name="sorting_mode">Sorting mode</string> <string name="sorting_mode">Sorting mode</string>
<string name="sort_by_source">By source</string> <string name="sort_by_source">By source</string>
@ -522,7 +527,8 @@
<string name="no_previous_chapter">Previous chapter not found</string> <string name="no_previous_chapter">Previous chapter not found</string>
<string name="decode_image_error">The image couldn\'t be loaded</string> <string name="decode_image_error">The image couldn\'t be loaded</string>
<string name="confirm_set_image_as_cover">Use this image as cover art?</string> <string name="confirm_set_image_as_cover">Use this image as cover art?</string>
<string name="viewer_for_this_series">Viewer for this series</string> <string name="pref_category_for_this_series">For this series</string>
<string name="viewer">Viewer</string>
<string name="transition_finished">Finished:</string> <string name="transition_finished">Finished:</string>
<string name="transition_current">Current:</string> <string name="transition_current">Current:</string>
<string name="transition_next">Next:</string> <string name="transition_next">Next:</string>

View File

@ -217,13 +217,13 @@
<item name="switchStyle">@style/Theme.Widget.BasicSwitch</item> <item name="switchStyle">@style/Theme.Widget.BasicSwitch</item>
</style> </style>
<style name="Theme.Reader" parent="Theme.Base.Reader.Dark"> <style name="Theme.Reader.Dark" parent="Theme.Base.Reader.Dark" />
<!-- Attributes specific for SDK 16 to SDK 20 -->
<style name="Theme.Reader.Dark.Grey" parent="Theme.Base.Reader.Dark">
<item name="android:colorBackground">@color/backgroundDark</item>
</style> </style>
<style name="Theme.Reader.Light" parent="Theme.Base.Reader.Light"> <style name="Theme.Reader.Light" parent="Theme.Base.Reader.Light" />
<!-- Attributes specific for SDK 16 to SDK 20 -->
</style>
<!--===============--> <!--===============-->