Make MergedMangaReference immutable
This commit is contained in:
parent
eecf7fd1fb
commit
ab0995ab9f
@ -723,8 +723,6 @@ class BackupManager(
|
|||||||
// Let the db assign the id
|
// Let the db assign the id
|
||||||
val mergedManga = handler.awaitOneOrNull { mangasQueries.getMangaByUrlAndSource(backupMergedMangaReference.mangaUrl, backupMergedMangaReference.mangaSourceId, mangaMapper) } ?: return@forEach
|
val mergedManga = handler.awaitOneOrNull { mangasQueries.getMangaByUrlAndSource(backupMergedMangaReference.mangaUrl, backupMergedMangaReference.mangaSourceId, mangaMapper) } ?: return@forEach
|
||||||
backupMergedMangaReference.getMergedMangaReference().run {
|
backupMergedMangaReference.getMergedMangaReference().run {
|
||||||
mergeId = mergeMangaId
|
|
||||||
mangaId = mergedManga.id
|
|
||||||
handler.await {
|
handler.await {
|
||||||
mergedQueries.insert(
|
mergedQueries.insert(
|
||||||
infoManga = isInfoManga,
|
infoManga = isInfoManga,
|
||||||
@ -732,9 +730,9 @@ class BackupManager(
|
|||||||
chapterSortMode = chapterSortMode.toLong(),
|
chapterSortMode = chapterSortMode.toLong(),
|
||||||
chapterPriority = chapterPriority.toLong(),
|
chapterPriority = chapterPriority.toLong(),
|
||||||
downloadChapters = downloadChapters,
|
downloadChapters = downloadChapters,
|
||||||
mergeId = mergeId!!,
|
mergeId = mergeMangaId,
|
||||||
mergeUrl = mergeUrl,
|
mergeUrl = mergeUrl,
|
||||||
mangaId = mangaId,
|
mangaId = mergedManga.id,
|
||||||
mangaUrl = mangaUrl,
|
mangaUrl = mangaUrl,
|
||||||
mangaSource = mangaSourceId,
|
mangaSource = mangaSourceId,
|
||||||
)
|
)
|
||||||
|
@ -30,7 +30,7 @@ data class BackupMergedMangaReference(
|
|||||||
mangaSourceId = mangaSourceId,
|
mangaSourceId = mangaSourceId,
|
||||||
mergeId = null,
|
mergeId = null,
|
||||||
mangaId = null,
|
mangaId = null,
|
||||||
id = null,
|
id = -1,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -501,7 +501,7 @@ class MangaInfoScreenModel(
|
|||||||
|
|
||||||
val mangaReferences = mutableListOf(
|
val mangaReferences = mutableListOf(
|
||||||
MergedMangaReference(
|
MergedMangaReference(
|
||||||
id = null,
|
id = -1,
|
||||||
isInfoManga = false,
|
isInfoManga = false,
|
||||||
getChapterUpdates = true,
|
getChapterUpdates = true,
|
||||||
chapterSortMode = 0,
|
chapterSortMode = 0,
|
||||||
@ -517,7 +517,7 @@ class MangaInfoScreenModel(
|
|||||||
|
|
||||||
if (children.isEmpty() || children.all { it.mangaSourceId != MERGED_SOURCE_ID }) {
|
if (children.isEmpty() || children.all { it.mangaSourceId != MERGED_SOURCE_ID }) {
|
||||||
mangaReferences += MergedMangaReference(
|
mangaReferences += MergedMangaReference(
|
||||||
id = null,
|
id = -1,
|
||||||
isInfoManga = false,
|
isInfoManga = false,
|
||||||
getChapterUpdates = false,
|
getChapterUpdates = false,
|
||||||
chapterSortMode = 0,
|
chapterSortMode = 0,
|
||||||
@ -574,7 +574,7 @@ class MangaInfoScreenModel(
|
|||||||
}
|
}
|
||||||
|
|
||||||
val originalMangaReference = MergedMangaReference(
|
val originalMangaReference = MergedMangaReference(
|
||||||
id = null,
|
id = -1,
|
||||||
isInfoManga = true,
|
isInfoManga = true,
|
||||||
getChapterUpdates = true,
|
getChapterUpdates = true,
|
||||||
chapterSortMode = 0,
|
chapterSortMode = 0,
|
||||||
@ -588,7 +588,7 @@ class MangaInfoScreenModel(
|
|||||||
)
|
)
|
||||||
|
|
||||||
val newMangaReference = MergedMangaReference(
|
val newMangaReference = MergedMangaReference(
|
||||||
id = null,
|
id = -1,
|
||||||
isInfoManga = false,
|
isInfoManga = false,
|
||||||
getChapterUpdates = true,
|
getChapterUpdates = true,
|
||||||
chapterSortMode = 0,
|
chapterSortMode = 0,
|
||||||
@ -602,7 +602,7 @@ class MangaInfoScreenModel(
|
|||||||
)
|
)
|
||||||
|
|
||||||
val mergedMangaReference = MergedMangaReference(
|
val mergedMangaReference = MergedMangaReference(
|
||||||
id = null,
|
id = -1,
|
||||||
isInfoManga = false,
|
isInfoManga = false,
|
||||||
getChapterUpdates = false,
|
getChapterUpdates = false,
|
||||||
chapterSortMode = 0,
|
chapterSortMode = 0,
|
||||||
|
@ -71,10 +71,12 @@ class EditMergedSettingsState(
|
|||||||
|
|
||||||
override fun onItemReleased(position: Int) {
|
override fun onItemReleased(position: Int) {
|
||||||
val mergedMangaAdapter = mergedMangaAdapter ?: return
|
val mergedMangaAdapter = mergedMangaAdapter ?: return
|
||||||
mergedMangas.onEach { mergedManga ->
|
mergedMangas = mergedMangas.map { (manga, reference) ->
|
||||||
mergedManga.second.chapterPriority = mergedMangaAdapter.currentItems.indexOfFirst {
|
manga to reference.copy(
|
||||||
mergedManga.second.id == it.mergedMangaReference.id
|
chapterPriority = mergedMangaAdapter.currentItems.indexOfFirst {
|
||||||
}
|
reference.id == it.mergedMangaReference.id
|
||||||
|
},
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -106,15 +108,19 @@ class EditMergedSettingsState(
|
|||||||
|
|
||||||
private fun toggleChapterUpdates(position: Int) {
|
private fun toggleChapterUpdates(position: Int) {
|
||||||
val adapterReference = mergedMangaAdapter?.currentItems?.getOrNull(position)?.mergedMangaReference
|
val adapterReference = mergedMangaAdapter?.currentItems?.getOrNull(position)?.mergedMangaReference
|
||||||
mergedMangas.firstOrNull { it.second.id != null && it.second.id == adapterReference?.id }?.apply {
|
?: return
|
||||||
second.getChapterUpdates = !second.getChapterUpdates
|
mergedMangas = mergedMangas.map { pair ->
|
||||||
|
val (manga, reference) = pair
|
||||||
|
if (reference.id != adapterReference.id) return@map pair
|
||||||
|
|
||||||
mergedMangaAdapter?.allBoundViewHolders?.firstOrNull { it is EditMergedMangaHolder && it.reference.id == second.id }?.let {
|
mergedMangaAdapter?.allBoundViewHolders?.firstOrNull { it is EditMergedMangaHolder && it.reference.id == reference.id }?.let {
|
||||||
if (it is EditMergedMangaHolder) {
|
if (it is EditMergedMangaHolder) {
|
||||||
it.updateChapterUpdatesIcon(second.getChapterUpdates)
|
it.updateChapterUpdatesIcon(!reference.getChapterUpdates)
|
||||||
}
|
}
|
||||||
} ?: context.toast(R.string.merged_chapter_updates_error)
|
} ?: context.toast(R.string.merged_chapter_updates_error)
|
||||||
} ?: context.toast(R.string.merged_toggle_chapter_updates_find_error)
|
|
||||||
|
manga to reference.copy(getChapterUpdates = !reference.getChapterUpdates)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onToggleChapterDownloadsClicked(position: Int) {
|
override fun onToggleChapterDownloadsClicked(position: Int) {
|
||||||
@ -130,15 +136,19 @@ class EditMergedSettingsState(
|
|||||||
|
|
||||||
private fun toggleChapterDownloads(position: Int) {
|
private fun toggleChapterDownloads(position: Int) {
|
||||||
val adapterReference = mergedMangaAdapter?.currentItems?.getOrNull(position)?.mergedMangaReference
|
val adapterReference = mergedMangaAdapter?.currentItems?.getOrNull(position)?.mergedMangaReference
|
||||||
mergedMangas.firstOrNull { it.second.id != null && it.second.id == adapterReference?.id }?.apply {
|
?: return
|
||||||
second.downloadChapters = !second.downloadChapters
|
mergedMangas = mergedMangas.map { pair ->
|
||||||
|
val (manga, reference) = pair
|
||||||
|
if (reference.id != adapterReference.id) return@map pair
|
||||||
|
|
||||||
mergedMangaAdapter?.allBoundViewHolders?.firstOrNull { it is EditMergedMangaHolder && it.reference.id == second.id }?.let {
|
mergedMangaAdapter?.allBoundViewHolders?.firstOrNull { it is EditMergedMangaHolder && it.reference.id == reference.id }?.let {
|
||||||
if (it is EditMergedMangaHolder) {
|
if (it is EditMergedMangaHolder) {
|
||||||
it.updateDownloadChaptersIcon(second.downloadChapters)
|
it.updateDownloadChaptersIcon(!reference.downloadChapters)
|
||||||
}
|
}
|
||||||
} ?: context.toast(R.string.merged_toggle_download_chapters_error)
|
} ?: context.toast(R.string.merged_toggle_download_chapters_error)
|
||||||
} ?: context.toast(R.string.merged_toggle_download_chapters_find_error)
|
|
||||||
|
manga to reference.copy(downloadChapters = !reference.downloadChapters)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun onPositiveButtonClick() {
|
fun onPositiveButtonClick() {
|
||||||
|
@ -68,19 +68,23 @@ class EditMergedSettingsHeaderAdapter(private val state: EditMergedSettingsState
|
|||||||
position: Int,
|
position: Int,
|
||||||
id: Long,
|
id: Long,
|
||||||
) {
|
) {
|
||||||
state.mergeReference?.chapterSortMode = when (position) {
|
state.mergeReference = state.mergeReference?.copy(
|
||||||
0 -> MergedMangaReference.CHAPTER_SORT_NO_DEDUPE
|
chapterSortMode = when (position) {
|
||||||
1 -> MergedMangaReference.CHAPTER_SORT_PRIORITY
|
0 -> MergedMangaReference.CHAPTER_SORT_NO_DEDUPE
|
||||||
2 -> MergedMangaReference.CHAPTER_SORT_MOST_CHAPTERS
|
1 -> MergedMangaReference.CHAPTER_SORT_PRIORITY
|
||||||
3 -> MergedMangaReference.CHAPTER_SORT_HIGHEST_CHAPTER_NUMBER
|
2 -> MergedMangaReference.CHAPTER_SORT_MOST_CHAPTERS
|
||||||
else -> MergedMangaReference.CHAPTER_SORT_NO_DEDUPE
|
3 -> MergedMangaReference.CHAPTER_SORT_HIGHEST_CHAPTER_NUMBER
|
||||||
}
|
else -> MergedMangaReference.CHAPTER_SORT_NO_DEDUPE
|
||||||
|
},
|
||||||
|
)
|
||||||
xLogD(state.mergeReference?.chapterSortMode)
|
xLogD(state.mergeReference?.chapterSortMode)
|
||||||
editMergedMangaItemSortingListener.onSetPrioritySort(canMove())
|
editMergedMangaItemSortingListener.onSetPrioritySort(canMove())
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onNothingSelected(parent: AdapterView<*>?) {
|
override fun onNothingSelected(parent: AdapterView<*>?) {
|
||||||
state.mergeReference?.chapterSortMode = MergedMangaReference.CHAPTER_SORT_NO_DEDUPE
|
state.mergeReference = state.mergeReference?.copy(
|
||||||
|
chapterSortMode = MergedMangaReference.CHAPTER_SORT_NO_DEDUPE,
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -111,25 +115,20 @@ class EditMergedSettingsHeaderAdapter(private val state: EditMergedSettingsState
|
|||||||
position: Int,
|
position: Int,
|
||||||
id: Long,
|
id: Long,
|
||||||
) {
|
) {
|
||||||
val mergedInfoManga = state.mergedMangas
|
state.mergedMangas = state.mergedMangas.map { (manga, reference) ->
|
||||||
.find { mergedManga ->
|
manga to reference.copy(
|
||||||
mergedManga.second.id == mergedMangas.getOrNull(position)?.second?.id
|
isInfoManga = reference.id == mergedMangas.getOrNull(position)?.second?.id,
|
||||||
}
|
)
|
||||||
|
|
||||||
if (mergedInfoManga != null) {
|
|
||||||
state.mergedMangas.onEach {
|
|
||||||
it.second.isInfoManga = false
|
|
||||||
}
|
|
||||||
mergedInfoManga.second.isInfoManga = true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onNothingSelected(parent: AdapterView<*>?) {
|
override fun onNothingSelected(parent: AdapterView<*>?) {
|
||||||
mergedMangas.find { it.second.isInfoManga }?.second?.let { newInfoManga ->
|
mergedMangas.find { it.second.isInfoManga }?.second?.let { newInfoManga ->
|
||||||
state.mergedMangas.onEach {
|
state.mergedMangas = state.mergedMangas.map { (manga, reference) ->
|
||||||
it.second.isInfoManga = false
|
manga to reference.copy(
|
||||||
|
isInfoManga = reference.id == newInfoManga.id,
|
||||||
|
)
|
||||||
}
|
}
|
||||||
newInfoManga.isInfoManga = true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -141,10 +140,12 @@ class EditMergedSettingsHeaderAdapter(private val state: EditMergedSettingsState
|
|||||||
true -> 1F
|
true -> 1F
|
||||||
false -> 0.5F
|
false -> 0.5F
|
||||||
}
|
}
|
||||||
state.mergeReference?.chapterSortMode = when (isChecked) {
|
state.mergeReference = state.mergeReference?.copy(
|
||||||
true -> MergedMangaReference.CHAPTER_SORT_NO_DEDUPE
|
chapterSortMode = when (isChecked) {
|
||||||
false -> MergedMangaReference.CHAPTER_SORT_NONE
|
true -> MergedMangaReference.CHAPTER_SORT_NO_DEDUPE
|
||||||
}
|
false -> MergedMangaReference.CHAPTER_SORT_NONE
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
if (isChecked) binding.dedupeModeSpinner.setSelection(0)
|
if (isChecked) binding.dedupeModeSpinner.setSelection(0)
|
||||||
}
|
}
|
||||||
|
@ -153,7 +153,7 @@ object EXHMigrations {
|
|||||||
mergedManga.first.copy(url = it)
|
mergedManga.first.copy(url = it)
|
||||||
} ?: mergedManga.first
|
} ?: mergedManga.first
|
||||||
mergedMangaReferences += MergedMangaReference(
|
mergedMangaReferences += MergedMangaReference(
|
||||||
id = null,
|
id = -1,
|
||||||
isInfoManga = false,
|
isInfoManga = false,
|
||||||
getChapterUpdates = false,
|
getChapterUpdates = false,
|
||||||
chapterSortMode = 0,
|
chapterSortMode = 0,
|
||||||
@ -168,7 +168,7 @@ object EXHMigrations {
|
|||||||
mergedManga.second.children.distinct().forEachIndexed { index, mangaSource ->
|
mergedManga.second.children.distinct().forEachIndexed { index, mangaSource ->
|
||||||
val load = mangaSource.load() ?: return@forEachIndexed
|
val load = mangaSource.load() ?: return@forEachIndexed
|
||||||
mergedMangaReferences += MergedMangaReference(
|
mergedMangaReferences += MergedMangaReference(
|
||||||
id = null,
|
id = -1,
|
||||||
isInfoManga = index == 0,
|
isInfoManga = index == 0,
|
||||||
getChapterUpdates = true,
|
getChapterUpdates = true,
|
||||||
chapterSortMode = 0,
|
chapterSortMode = 0,
|
||||||
|
@ -2,31 +2,31 @@ package exh.merged.sql.models
|
|||||||
|
|
||||||
data class MergedMangaReference(
|
data class MergedMangaReference(
|
||||||
// Tag identifier, unique
|
// Tag identifier, unique
|
||||||
var id: Long?,
|
val id: Long,
|
||||||
|
|
||||||
// The manga where it grabs the updated manga info
|
// The manga where it grabs the updated manga info
|
||||||
var isInfoManga: Boolean,
|
val isInfoManga: Boolean,
|
||||||
|
|
||||||
// If false the manga will not grab chapter updates
|
// If false the manga will not grab chapter updates
|
||||||
var getChapterUpdates: Boolean,
|
val getChapterUpdates: Boolean,
|
||||||
|
|
||||||
// The mode in which the chapters are handeled, only set in the main merge reference
|
// The mode in which the chapters are handeled, only set in the main merge reference
|
||||||
var chapterSortMode: Int,
|
val chapterSortMode: Int,
|
||||||
|
|
||||||
// chapter priority the deduplication uses
|
// chapter priority the deduplication uses
|
||||||
var chapterPriority: Int,
|
val chapterPriority: Int,
|
||||||
|
|
||||||
// Set if you want it to download new chapters
|
// Set if you want it to download new chapters
|
||||||
var downloadChapters: Boolean,
|
val downloadChapters: Boolean,
|
||||||
|
|
||||||
// merged manga this reference is attached to
|
// merged manga this reference is attached to
|
||||||
var mergeId: Long?,
|
val mergeId: Long?,
|
||||||
|
|
||||||
// merged manga url this reference is attached to
|
// merged manga url this reference is attached to
|
||||||
val mergeUrl: String,
|
val mergeUrl: String,
|
||||||
|
|
||||||
// manga id included in the merge this reference is attached to
|
// manga id included in the merge this reference is attached to
|
||||||
var mangaId: Long?,
|
val mangaId: Long?,
|
||||||
|
|
||||||
// manga url included in the merge this reference is attached to
|
// manga url included in the merge this reference is attached to
|
||||||
val mangaUrl: String,
|
val mangaUrl: String,
|
||||||
|
@ -474,9 +474,7 @@
|
|||||||
<string name="download_merged_entry_desc">Activer ou désactiver cette option désactivera ou activera les téléchargements des chapitres pour ce manga</string>
|
<string name="download_merged_entry_desc">Activer ou désactiver cette option désactivera ou activera les téléchargements des chapitres pour ce manga</string>
|
||||||
<string name="merged_references_invalid">Références de fusion non valides</string>
|
<string name="merged_references_invalid">Références de fusion non valides</string>
|
||||||
<string name="merged_chapter_updates_error">Erreur de basculement des mises à jour de chapitre</string>
|
<string name="merged_chapter_updates_error">Erreur de basculement des mises à jour de chapitre</string>
|
||||||
<string name="merged_toggle_chapter_updates_find_error">Impossible de trouver le manga pour basculer les mises à jour de chapitre</string>
|
|
||||||
<string name="merged_toggle_download_chapters_error">Erreur de basculement des chapitres de téléchargement</string>
|
<string name="merged_toggle_download_chapters_error">Erreur de basculement des chapitres de téléchargement</string>
|
||||||
<string name="merged_toggle_download_chapters_find_error">Impossible de trouver le manga pour basculer le téléchargements des chapitres</string>
|
|
||||||
<string name="allow_deduplication">Autoriser la déduplication:</string>
|
<string name="allow_deduplication">Autoriser la déduplication:</string>
|
||||||
<string name="deduplication_mode">Mode de déduplication:</string>
|
<string name="deduplication_mode">Mode de déduplication:</string>
|
||||||
<string name="deduplication_entry_info">Info manga:</string>
|
<string name="deduplication_entry_info">Info manga:</string>
|
||||||
|
@ -586,9 +586,7 @@
|
|||||||
<string name="download_merged_entry_desc">Mengalihkan ini akan menonaktifkan atau mengaktifkan unduhan bab untuk manga gabungan ini</string>
|
<string name="download_merged_entry_desc">Mengalihkan ini akan menonaktifkan atau mengaktifkan unduhan bab untuk manga gabungan ini</string>
|
||||||
<string name="merged_references_invalid">Referensi penggabungan tidak valid</string>
|
<string name="merged_references_invalid">Referensi penggabungan tidak valid</string>
|
||||||
<string name="merged_chapter_updates_error">Tombol kesalahan pembaruan bab</string>
|
<string name="merged_chapter_updates_error">Tombol kesalahan pembaruan bab</string>
|
||||||
<string name="merged_toggle_chapter_updates_find_error">Tidak dapat menemukan manga untuk pembaruan bab</string>
|
|
||||||
<string name="merged_toggle_download_chapters_error">Tombol kesalahan unduhan bab</string>
|
<string name="merged_toggle_download_chapters_error">Tombol kesalahan unduhan bab</string>
|
||||||
<string name="merged_toggle_download_chapters_find_error">Tidak dapat menemukan manga untuk unduhan bab</string>
|
|
||||||
<string name="allow_deduplication">Izinkan deduplikasi:</string>
|
<string name="allow_deduplication">Izinkan deduplikasi:</string>
|
||||||
<string name="deduplication_mode">Mode deduplikasi:</string>
|
<string name="deduplication_mode">Mode deduplikasi:</string>
|
||||||
<string name="deduplication_entry_info">Info manga:</string>
|
<string name="deduplication_entry_info">Info manga:</string>
|
||||||
|
@ -556,9 +556,7 @@
|
|||||||
<string name="download_merged_entry_desc">Mudar isto (des)ativará downloads de capítulo a este mangá juntado</string>
|
<string name="download_merged_entry_desc">Mudar isto (des)ativará downloads de capítulo a este mangá juntado</string>
|
||||||
<string name="merged_references_invalid">Referências juntadas inválidas</string>
|
<string name="merged_references_invalid">Referências juntadas inválidas</string>
|
||||||
<string name="merged_chapter_updates_error">Alternar erro de atualizações de capítulo</string>
|
<string name="merged_chapter_updates_error">Alternar erro de atualizações de capítulo</string>
|
||||||
<string name="merged_toggle_chapter_updates_find_error">Mangá não pôde ser encontrado para alternar atualizações de capítulo</string>
|
|
||||||
<string name="merged_toggle_download_chapters_error">Erro ao alternar downloads de capítulo</string>
|
<string name="merged_toggle_download_chapters_error">Erro ao alternar downloads de capítulo</string>
|
||||||
<string name="merged_toggle_download_chapters_find_error">Mangá não pôde ser encontrado para alternar downloads de capítulo</string>
|
|
||||||
<string name="allow_deduplication">Permitir desduplicação:</string>
|
<string name="allow_deduplication">Permitir desduplicação:</string>
|
||||||
<string name="deduplication_mode">Modo da desduplicação:</string>
|
<string name="deduplication_mode">Modo da desduplicação:</string>
|
||||||
<string name="deduplication_entry_info">Informações do mangá:</string>
|
<string name="deduplication_entry_info">Informações do mangá:</string>
|
||||||
|
@ -638,9 +638,7 @@
|
|||||||
<string name="download_merged_entry_desc">Переключение этого параметра отключит/включит загрузку глав для этой объеденённой серии</string>
|
<string name="download_merged_entry_desc">Переключение этого параметра отключит/включит загрузку глав для этой объеденённой серии</string>
|
||||||
<string name="merged_references_invalid">Недействительные объеденённые ссылки</string>
|
<string name="merged_references_invalid">Недействительные объеденённые ссылки</string>
|
||||||
<string name="merged_chapter_updates_error">Ошибка переключения обновлений глав</string>
|
<string name="merged_chapter_updates_error">Ошибка переключения обновлений глав</string>
|
||||||
<string name="merged_toggle_chapter_updates_find_error">Не удалось найти серию для переключения обновлений глав</string>
|
|
||||||
<string name="merged_toggle_download_chapters_error">Ошибка переключения загрузки глав</string>
|
<string name="merged_toggle_download_chapters_error">Ошибка переключения загрузки глав</string>
|
||||||
<string name="merged_toggle_download_chapters_find_error">Не удалось найти серию для переключения загрузки глав</string>
|
|
||||||
<string name="allow_deduplication">Разрешить дедупликацию:</string>
|
<string name="allow_deduplication">Разрешить дедупликацию:</string>
|
||||||
<string name="deduplication_mode">Режим дедупликации:</string>
|
<string name="deduplication_mode">Режим дедупликации:</string>
|
||||||
<string name="deduplication_entry_info">Сведенья серии:</string>
|
<string name="deduplication_entry_info">Сведенья серии:</string>
|
||||||
|
@ -593,9 +593,7 @@
|
|||||||
<string name="download_merged_entry_desc">更改此项将禁用或启用此合并漫画的章节下载</string>
|
<string name="download_merged_entry_desc">更改此项将禁用或启用此合并漫画的章节下载</string>
|
||||||
<string name="merged_references_invalid">合并后的引用无效</string>
|
<string name="merged_references_invalid">合并后的引用无效</string>
|
||||||
<string name="merged_chapter_updates_error">切换章节更新错误</string>
|
<string name="merged_chapter_updates_error">切换章节更新错误</string>
|
||||||
<string name="merged_toggle_chapter_updates_find_error">找不到漫画,无法切换章节更新</string>
|
|
||||||
<string name="merged_toggle_download_chapters_error">切换下载章节错误</string>
|
<string name="merged_toggle_download_chapters_error">切换下载章节错误</string>
|
||||||
<string name="merged_toggle_download_chapters_find_error">找不到漫画来切换章节下载</string>
|
|
||||||
<string name="allow_deduplication">允许删除重复数据:</string>
|
<string name="allow_deduplication">允许删除重复数据:</string>
|
||||||
<string name="deduplication_mode">去重模式:</string>
|
<string name="deduplication_mode">去重模式:</string>
|
||||||
<string name="deduplication_entry_info">漫画信息:</string>
|
<string name="deduplication_entry_info">漫画信息:</string>
|
||||||
|
@ -630,9 +630,7 @@
|
|||||||
<string name="download_merged_entry_desc">Toggling this will disable or enable chapter downloads for this merged entry</string>
|
<string name="download_merged_entry_desc">Toggling this will disable or enable chapter downloads for this merged entry</string>
|
||||||
<string name="merged_references_invalid">Merged references invalid</string>
|
<string name="merged_references_invalid">Merged references invalid</string>
|
||||||
<string name="merged_chapter_updates_error">Toggle chapter updates error</string>
|
<string name="merged_chapter_updates_error">Toggle chapter updates error</string>
|
||||||
<string name="merged_toggle_chapter_updates_find_error">Could not find entry to toggle chapter updates</string>
|
|
||||||
<string name="merged_toggle_download_chapters_error">Toggle download chapters error</string>
|
<string name="merged_toggle_download_chapters_error">Toggle download chapters error</string>
|
||||||
<string name="merged_toggle_download_chapters_find_error">Could not find entry to toggle chapter downloads</string>
|
|
||||||
<string name="allow_deduplication">Allow deduplication:</string>
|
<string name="allow_deduplication">Allow deduplication:</string>
|
||||||
<string name="deduplication_mode">Dedupe mode:</string>
|
<string name="deduplication_mode">Dedupe mode:</string>
|
||||||
<string name="deduplication_entry_info">Info entry:</string>
|
<string name="deduplication_entry_info">Info entry:</string>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user