mirror of
https://github.com/mihonapp/mihon.git
synced 2025-06-26 19:17:51 +02:00
Compare commits
25 Commits
Author | SHA1 | Date | |
---|---|---|---|
e6f025a9fb | |||
aa607e0ecb | |||
65b32ddeb2 | |||
5e9bdc2690 | |||
9ce994168a | |||
748a720199 | |||
8db34eb3dd | |||
b657bba96e | |||
dbaac69fad | |||
b6a1e89535 | |||
cce919750a | |||
9376b223bb | |||
6f047fb5aa | |||
3e6b0117fd | |||
421dfb4a2d | |||
abaca6e676 | |||
8bab1d9798 | |||
13d31669ac | |||
c1dfdeb500 | |||
dda7e677a5 | |||
b1fb401f63 | |||
885ace111e | |||
885552b792 | |||
4f02872a84 | |||
ecec1bd102 |
4
.github/ISSUE_TEMPLATE.md
vendored
4
.github/ISSUE_TEMPLATE.md
vendored
@ -2,7 +2,7 @@
|
||||
|
||||
I acknowledge that:
|
||||
|
||||
- I have updated to the latest version of the app (stable is v0.10.3)
|
||||
- I have updated to the latest version of the app (stable is v0.10.4)
|
||||
- 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
|
||||
|
||||
@ -10,7 +10,7 @@ I acknowledge that:
|
||||
|
||||
---
|
||||
|
||||
### Device information
|
||||
## Device information
|
||||
* Tachiyomi version: ?
|
||||
* Android version: ?
|
||||
* Device: ?
|
||||
|
6
.github/ISSUE_TEMPLATE/bug_report.md
vendored
6
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@ -9,7 +9,7 @@ labels: "bug"
|
||||
|
||||
I acknowledge that:
|
||||
|
||||
- I have updated to the latest version of the app (stable is v0.10.3)
|
||||
- I have updated to the latest version of the app (stable is v0.10.4)
|
||||
- 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
|
||||
|
||||
@ -17,7 +17,7 @@ I acknowledge that:
|
||||
|
||||
---
|
||||
|
||||
### Device information
|
||||
## Device information
|
||||
* Tachiyomi version: ?
|
||||
* Android version: ?
|
||||
* Device: ?
|
||||
@ -32,5 +32,5 @@ This should happen.
|
||||
### Actual behavior
|
||||
This happened instead.
|
||||
|
||||
### Other details
|
||||
## Other details
|
||||
Additional details and attachments.
|
||||
|
8
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
8
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Tachiyomi help website
|
||||
url: https://tachiyomi.org/help/
|
||||
about: Common questions are answered here.
|
||||
- name: Tachiyomi extensions GitHub repository
|
||||
url: https://github.com/inorichi/tachiyomi-extensions
|
||||
about: Issues about an extension/source/catalogue should be opened here instead.
|
6
.github/ISSUE_TEMPLATE/feature_request.md
vendored
6
.github/ISSUE_TEMPLATE/feature_request.md
vendored
@ -9,7 +9,7 @@ labels: "feature"
|
||||
|
||||
I acknowledge that:
|
||||
|
||||
- I have updated to the latest version of the app (stable is v0.10.3)
|
||||
- I have updated to the latest version of the app (stable is v0.10.4)
|
||||
- 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
|
||||
|
||||
@ -17,8 +17,8 @@ I acknowledge that:
|
||||
|
||||
---
|
||||
|
||||
### Why/User Benefit/User Problem
|
||||
## Why/User Benefit/User Problem
|
||||
(explain why this feature should be added)
|
||||
|
||||
### What/Requirements
|
||||
## What/Requirements
|
||||
(explain how this feature would behave)
|
||||
|
4
.github/ISSUE_TEMPLATE/source_issue.md
vendored
4
.github/ISSUE_TEMPLATE/source_issue.md
vendored
@ -2,7 +2,7 @@
|
||||
name: "Extension/source/catalogue issue"
|
||||
about: "Do not open an issue here. See https://github.com/inorichi/tachiyomi-extensions"
|
||||
title: "THIS ISSUE IS IN THE WRONG REPO; SEE https://github.com/inorichi/tachiyomi-extensions"
|
||||
labels: "catalog"
|
||||
labels: "catalog, invalid"
|
||||
---
|
||||
|
||||
DO NOT OPEN AN ISSUE IN THIS REPO. SEE https://github.com/inorichi/tachiyomi-extensions
|
||||
DO NOT OPEN AN ISSUE IN THIS REPO. SEE https://github.com/inorichi/tachiyomi-extensions
|
||||
|
@ -40,8 +40,8 @@ android {
|
||||
minSdkVersion AndroidConfig.minSdk
|
||||
targetSdkVersion AndroidConfig.targetSdk
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
versionCode 49
|
||||
versionName "0.10.3"
|
||||
versionCode 50
|
||||
versionName "0.10.4"
|
||||
|
||||
buildConfigField "String", "COMMIT_COUNT", "\"${getCommitCount()}\""
|
||||
buildConfigField "String", "COMMIT_SHA", "\"${getGitSha()}\""
|
||||
@ -135,6 +135,7 @@ dependencies {
|
||||
implementation 'androidx.cardview:cardview:1.0.0'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-rc1'
|
||||
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.1.0'
|
||||
implementation 'androidx.core:core-ktx:1.4.0-alpha01'
|
||||
implementation 'androidx.multidex:multidex:2.0.1'
|
||||
implementation 'androidx.preference:preference:1.1.1'
|
||||
implementation 'androidx.recyclerview:recyclerview:1.2.0-alpha05'
|
||||
@ -153,8 +154,6 @@ dependencies {
|
||||
// UI library
|
||||
implementation 'com.google.android.material:material:1.3.0-alpha02'
|
||||
|
||||
implementation 'dev.chrisbanes:insetter-ktx:0.3.1'
|
||||
|
||||
standardImplementation 'com.google.firebase:firebase-core:17.4.4'
|
||||
|
||||
// ReactiveX
|
||||
@ -164,7 +163,7 @@ dependencies {
|
||||
implementation 'com.github.pwittchen:reactivenetwork:0.13.0'
|
||||
|
||||
// Network client
|
||||
final okhttp_version = '4.8.0'
|
||||
final okhttp_version = '4.8.1'
|
||||
implementation "com.squareup.okhttp3:okhttp:$okhttp_version"
|
||||
implementation "com.squareup.okhttp3:logging-interceptor:$okhttp_version"
|
||||
implementation "com.squareup.okhttp3:okhttp-dnsoverhttps:$okhttp_version"
|
||||
|
5
app/src/main/java/eu/kanade/tachiyomi/annoations/Nsfw.kt
Normal file
5
app/src/main/java/eu/kanade/tachiyomi/annoations/Nsfw.kt
Normal file
@ -0,0 +1,5 @@
|
||||
package eu.kanade.tachiyomi.annoations
|
||||
|
||||
@Retention(AnnotationRetention.RUNTIME)
|
||||
@Target(AnnotationTarget.CLASS)
|
||||
annotation class Nsfw
|
@ -7,16 +7,22 @@ import com.google.gson.JsonParser
|
||||
import com.google.gson.stream.JsonReader
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.backup.models.Backup
|
||||
import eu.kanade.tachiyomi.data.track.TrackManager
|
||||
import eu.kanade.tachiyomi.source.SourceManager
|
||||
import uy.kohesive.injekt.injectLazy
|
||||
|
||||
object BackupRestoreValidator {
|
||||
|
||||
private val sourceManager: SourceManager by injectLazy()
|
||||
private val trackManager: TrackManager by injectLazy()
|
||||
|
||||
/**
|
||||
* Checks for critical backup file data.
|
||||
*
|
||||
* @throws Exception if version or manga cannot be found.
|
||||
* @return List of required sources.
|
||||
* @return List of missing sources or missing trackers.
|
||||
*/
|
||||
fun validate(context: Context, uri: Uri): Map<Long, String> {
|
||||
fun validate(context: Context, uri: Uri): Results {
|
||||
val reader = JsonReader(context.contentResolver.openInputStream(uri)!!.bufferedReader())
|
||||
val json = JsonParser.parseReader(reader).asJsonObject
|
||||
|
||||
@ -26,11 +32,29 @@ object BackupRestoreValidator {
|
||||
throw Exception(context.getString(R.string.invalid_backup_file_missing_data))
|
||||
}
|
||||
|
||||
if (mangasJson.asJsonArray.size() == 0) {
|
||||
val mangas = mangasJson.asJsonArray
|
||||
if (mangas.size() == 0) {
|
||||
throw Exception(context.getString(R.string.invalid_backup_file_missing_manga))
|
||||
}
|
||||
|
||||
return getSourceMapping(json)
|
||||
val sources = getSourceMapping(json)
|
||||
val missingSources = sources
|
||||
.filter { sourceManager.get(it.key) == null }
|
||||
.values
|
||||
.sorted()
|
||||
|
||||
val trackers = mangas
|
||||
.filter { it.asJsonObject.has("track") }
|
||||
.flatMap { it.asJsonObject["track"].asJsonArray }
|
||||
.map { it.asJsonObject["s"].asInt }
|
||||
.distinct()
|
||||
val missingTrackers = trackers
|
||||
.mapNotNull { trackManager.getService(it) }
|
||||
.filter { !it.isLogged }
|
||||
.map { it.name }
|
||||
.sorted()
|
||||
|
||||
return Results(missingSources, missingTrackers)
|
||||
}
|
||||
|
||||
fun getSourceMapping(json: JsonObject): Map<Long, String> {
|
||||
@ -43,4 +67,6 @@ object BackupRestoreValidator {
|
||||
}
|
||||
.toMap()
|
||||
}
|
||||
|
||||
data class Results(val missingSources: List<String>, val missingTrackers: List<String>)
|
||||
}
|
||||
|
@ -8,6 +8,7 @@ import eu.kanade.tachiyomi.data.database.models.Chapter
|
||||
import eu.kanade.tachiyomi.data.database.models.Manga
|
||||
import eu.kanade.tachiyomi.data.download.model.Download
|
||||
import eu.kanade.tachiyomi.data.download.model.DownloadQueue
|
||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||
import eu.kanade.tachiyomi.source.Source
|
||||
import eu.kanade.tachiyomi.source.SourceManager
|
||||
import eu.kanade.tachiyomi.source.model.Page
|
||||
@ -24,10 +25,8 @@ import uy.kohesive.injekt.injectLazy
|
||||
*/
|
||||
class DownloadManager(private val context: Context) {
|
||||
|
||||
/**
|
||||
* The sources manager.
|
||||
*/
|
||||
private val sourceManager by injectLazy<SourceManager>()
|
||||
private val sourceManager: SourceManager by injectLazy()
|
||||
private val preferences: PreferencesHelper by injectLazy()
|
||||
|
||||
/**
|
||||
* Downloads provider, used to retrieve the folders where the chapters are or should be stored.
|
||||
@ -201,9 +200,16 @@ class DownloadManager(private val context: Context) {
|
||||
*/
|
||||
fun deleteChapters(chapters: List<Chapter>, manga: Manga, source: Source) {
|
||||
queue.remove(chapters)
|
||||
val chapterDirs = provider.findChapterDirs(chapters, manga, source)
|
||||
|
||||
val filteredChapters = if (!preferences.removeBookmarkedChapters()) {
|
||||
chapters.filterNot { it.bookmark }
|
||||
} else {
|
||||
chapters
|
||||
}
|
||||
|
||||
val chapterDirs = provider.findChapterDirs(filteredChapters, manga, source)
|
||||
chapterDirs.forEach { it.delete() }
|
||||
cache.removeChapters(chapters, manga)
|
||||
cache.removeChapters(filteredChapters, manga)
|
||||
if (cache.getDownloadCount(manga) == 0) { // Delete manga directory if empty
|
||||
chapterDirs.firstOrNull()?.parentFile?.delete()
|
||||
}
|
||||
|
@ -267,15 +267,16 @@ class Downloader(
|
||||
* @param download the chapter to be downloaded.
|
||||
*/
|
||||
private fun downloadChapter(download: Download): Observable<Download> = Observable.defer {
|
||||
val chapterDirname = provider.getChapterDirName(download.chapter)
|
||||
val mangaDir = provider.getMangaDir(download.manga, download.source)
|
||||
|
||||
if (DiskUtil.getAvailableStorageSpace(mangaDir) < MIN_DISK_SPACE) {
|
||||
val availSpace = DiskUtil.getAvailableStorageSpace(mangaDir)
|
||||
if (availSpace != -1L && availSpace < MIN_DISK_SPACE) {
|
||||
download.status = Download.ERROR
|
||||
notifier.onError(context.getString(R.string.download_insufficient_space), download.chapter.name)
|
||||
return@defer Observable.just(download)
|
||||
}
|
||||
|
||||
val chapterDirname = provider.getChapterDirName(download.chapter)
|
||||
val tmpDir = mangaDir.createDirectory(chapterDirname + TMP_DIR_SUFFIX)
|
||||
|
||||
val pageListObservable = if (download.pages == null) {
|
||||
|
@ -155,7 +155,7 @@ class NotificationReceiver : BroadcastReceiver() {
|
||||
* @param mangaId id of manga
|
||||
* @param chapterId id of chapter
|
||||
*/
|
||||
internal fun openChapter(context: Context, mangaId: Long, chapterId: Long) {
|
||||
private fun openChapter(context: Context, mangaId: Long, chapterId: Long) {
|
||||
val db = DatabaseHelper(context)
|
||||
val manga = db.getManga(mangaId).executeAsBlocking()
|
||||
val chapter = db.getChapter(chapterId).executeAsBlocking()
|
||||
|
@ -97,6 +97,8 @@ object PreferenceKeys {
|
||||
|
||||
const val removeAfterMarkedAsRead = "pref_remove_after_marked_as_read_key"
|
||||
|
||||
const val removeBookmarkedChapters = "pref_remove_bookmarked"
|
||||
|
||||
const val libraryUpdateInterval = "pref_library_update_interval_key"
|
||||
|
||||
const val libraryUpdateRestriction = "library_update_restriction"
|
||||
@ -117,6 +119,8 @@ object PreferenceKeys {
|
||||
|
||||
const val automaticExtUpdates = "automatic_ext_updates"
|
||||
|
||||
const val allowNsfwSource = "allow_nsfw_source"
|
||||
|
||||
const val startScreen = "start_screen"
|
||||
|
||||
const val useBiometricLock = "use_biometric_lock"
|
||||
|
@ -37,4 +37,10 @@ object PreferenceValues {
|
||||
VERTICAL,
|
||||
BOTH
|
||||
}
|
||||
|
||||
enum class NsfwAllowance {
|
||||
ALLOWED,
|
||||
PARTIAL,
|
||||
BLOCKED
|
||||
}
|
||||
}
|
||||
|
@ -10,6 +10,7 @@ import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys
|
||||
import eu.kanade.tachiyomi.data.preference.PreferenceValues as Values
|
||||
import eu.kanade.tachiyomi.data.preference.PreferenceValues.DisplayMode
|
||||
import eu.kanade.tachiyomi.data.preference.PreferenceValues.NsfwAllowance
|
||||
import eu.kanade.tachiyomi.data.track.TrackService
|
||||
import eu.kanade.tachiyomi.data.track.anilist.Anilist
|
||||
import java.io.File
|
||||
@ -187,6 +188,8 @@ class PreferencesHelper(val context: Context) {
|
||||
|
||||
fun removeAfterMarkedAsRead() = prefs.getBoolean(Keys.removeAfterMarkedAsRead, false)
|
||||
|
||||
fun removeBookmarkedChapters() = prefs.getBoolean(Keys.removeBookmarkedChapters, false)
|
||||
|
||||
fun libraryUpdateInterval() = flowPrefs.getInt(Keys.libraryUpdateInterval, 24)
|
||||
|
||||
fun libraryUpdateRestriction() = prefs.getStringSet(Keys.libraryUpdateRestriction, setOf("wifi"))
|
||||
@ -217,6 +220,8 @@ class PreferencesHelper(val context: Context) {
|
||||
|
||||
fun automaticExtUpdates() = flowPrefs.getBoolean(Keys.automaticExtUpdates, true)
|
||||
|
||||
fun allowNsfwSource() = flowPrefs.getEnum(Keys.allowNsfwSource, NsfwAllowance.ALLOWED)
|
||||
|
||||
fun extensionUpdatesCount() = flowPrefs.getInt("ext_updates_count", 0)
|
||||
|
||||
fun lastExtCheck() = flowPrefs.getLong("last_ext_check", 0)
|
||||
|
@ -1,6 +1,7 @@
|
||||
package eu.kanade.tachiyomi.data.preference
|
||||
|
||||
import android.content.SharedPreferences
|
||||
import androidx.core.content.edit
|
||||
import androidx.preference.PreferenceDataStore
|
||||
|
||||
class SharedPreferencesDataStore(private val prefs: SharedPreferences) : PreferenceDataStore() {
|
||||
@ -10,7 +11,9 @@ class SharedPreferencesDataStore(private val prefs: SharedPreferences) : Prefere
|
||||
}
|
||||
|
||||
override fun putBoolean(key: String?, value: Boolean) {
|
||||
prefs.edit().putBoolean(key, value).apply()
|
||||
prefs.edit {
|
||||
putBoolean(key, value)
|
||||
}
|
||||
}
|
||||
|
||||
override fun getInt(key: String?, defValue: Int): Int {
|
||||
@ -18,7 +21,9 @@ class SharedPreferencesDataStore(private val prefs: SharedPreferences) : Prefere
|
||||
}
|
||||
|
||||
override fun putInt(key: String?, value: Int) {
|
||||
prefs.edit().putInt(key, value).apply()
|
||||
prefs.edit {
|
||||
putInt(key, value)
|
||||
}
|
||||
}
|
||||
|
||||
override fun getLong(key: String?, defValue: Long): Long {
|
||||
@ -26,7 +31,9 @@ class SharedPreferencesDataStore(private val prefs: SharedPreferences) : Prefere
|
||||
}
|
||||
|
||||
override fun putLong(key: String?, value: Long) {
|
||||
prefs.edit().putLong(key, value).apply()
|
||||
prefs.edit {
|
||||
putLong(key, value)
|
||||
}
|
||||
}
|
||||
|
||||
override fun getFloat(key: String?, defValue: Float): Float {
|
||||
@ -34,7 +41,9 @@ class SharedPreferencesDataStore(private val prefs: SharedPreferences) : Prefere
|
||||
}
|
||||
|
||||
override fun putFloat(key: String?, value: Float) {
|
||||
prefs.edit().putFloat(key, value).apply()
|
||||
prefs.edit {
|
||||
putFloat(key, value)
|
||||
}
|
||||
}
|
||||
|
||||
override fun getString(key: String?, defValue: String?): String? {
|
||||
@ -42,7 +51,9 @@ class SharedPreferencesDataStore(private val prefs: SharedPreferences) : Prefere
|
||||
}
|
||||
|
||||
override fun putString(key: String?, value: String?) {
|
||||
prefs.edit().putString(key, value).apply()
|
||||
prefs.edit {
|
||||
putString(key, value)
|
||||
}
|
||||
}
|
||||
|
||||
override fun getStringSet(key: String?, defValues: MutableSet<String>?): MutableSet<String>? {
|
||||
@ -50,6 +61,8 @@ class SharedPreferencesDataStore(private val prefs: SharedPreferences) : Prefere
|
||||
}
|
||||
|
||||
override fun putStringSet(key: String?, values: MutableSet<String>?) {
|
||||
prefs.edit().putStringSet(key, values).apply()
|
||||
prefs.edit {
|
||||
putStringSet(key, values)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -476,7 +476,9 @@ class MyAnimeListApi(private val client: OkHttpClient, interceptor: MyAnimeListI
|
||||
fun copyPersonalFrom(track: Track) {
|
||||
num_read_chapters = track.last_chapter_read.toString()
|
||||
val numScore = track.score.toInt()
|
||||
if (numScore in 1..9) {
|
||||
if (numScore == 0) {
|
||||
score = ""
|
||||
} else if (numScore in 1..10) {
|
||||
score = numScore.toString()
|
||||
}
|
||||
status = track.status.toString()
|
||||
|
@ -26,7 +26,7 @@ class DevRepoUpdateChecker : UpdateChecker() {
|
||||
|
||||
override suspend fun checkForUpdate(): UpdateResult {
|
||||
val response = withContext(Dispatchers.IO) {
|
||||
client.newCall(GET(DevRepoRelease.LATEST_URL)).await(assertSuccess = false)
|
||||
client.newCall(GET(DevRepoRelease.LATEST_URL)).await()
|
||||
}
|
||||
|
||||
// Get latest repo version number from header in format "Location: tachiyomi-r1512.apk"
|
||||
|
@ -64,9 +64,10 @@ internal class ExtensionGithubApi {
|
||||
val versionName = element["version"].string
|
||||
val versionCode = element["code"].int
|
||||
val lang = element["lang"].string
|
||||
val nsfw = element["nsfw"].int == 1
|
||||
val icon = "$REPO_URL_PREFIX/icon/${apkName.replace(".apk", ".png")}"
|
||||
|
||||
Extension.Available(name, pkgName, versionName, versionCode, lang, apkName, icon)
|
||||
Extension.Available(name, pkgName, versionName, versionCode, lang, nsfw, apkName, icon)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -9,14 +9,16 @@ sealed class Extension {
|
||||
abstract val versionName: String
|
||||
abstract val versionCode: Int
|
||||
abstract val lang: String?
|
||||
abstract val isNsfw: Boolean
|
||||
|
||||
data class Installed(
|
||||
override val name: String,
|
||||
override val pkgName: String,
|
||||
override val versionName: String,
|
||||
override val versionCode: Int,
|
||||
val sources: List<Source>,
|
||||
override val lang: String,
|
||||
override val isNsfw: Boolean,
|
||||
val sources: List<Source>,
|
||||
val hasUpdate: Boolean = false,
|
||||
val isObsolete: Boolean = false,
|
||||
val isUnofficial: Boolean = false
|
||||
@ -28,6 +30,7 @@ sealed class Extension {
|
||||
override val versionName: String,
|
||||
override val versionCode: Int,
|
||||
override val lang: String,
|
||||
override val isNsfw: Boolean,
|
||||
val apkName: String,
|
||||
val iconUrl: String
|
||||
) : Extension()
|
||||
@ -38,6 +41,7 @@ sealed class Extension {
|
||||
override val versionName: String,
|
||||
override val versionCode: Int,
|
||||
val signatureHash: String,
|
||||
override val lang: String? = null
|
||||
override val lang: String? = null,
|
||||
override val isNsfw: Boolean = false
|
||||
) : Extension()
|
||||
}
|
||||
|
@ -5,6 +5,8 @@ import android.content.Context
|
||||
import android.content.pm.PackageInfo
|
||||
import android.content.pm.PackageManager
|
||||
import dalvik.system.PathClassLoader
|
||||
import eu.kanade.tachiyomi.annoations.Nsfw
|
||||
import eu.kanade.tachiyomi.data.preference.PreferenceValues
|
||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||
import eu.kanade.tachiyomi.extension.model.Extension
|
||||
import eu.kanade.tachiyomi.extension.model.LoadResult
|
||||
@ -15,8 +17,7 @@ import eu.kanade.tachiyomi.util.lang.Hash
|
||||
import kotlinx.coroutines.async
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import timber.log.Timber
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
import uy.kohesive.injekt.injectLazy
|
||||
|
||||
/**
|
||||
* Class that handles the loading of the extensions installed in the system.
|
||||
@ -24,20 +25,25 @@ import uy.kohesive.injekt.api.get
|
||||
@SuppressLint("PackageManagerGetSignatures")
|
||||
internal object ExtensionLoader {
|
||||
|
||||
private val preferences: PreferencesHelper by injectLazy()
|
||||
private val allowNsfwSource by lazy {
|
||||
preferences.allowNsfwSource().get()
|
||||
}
|
||||
|
||||
private const val EXTENSION_FEATURE = "tachiyomi.extension"
|
||||
private const val METADATA_SOURCE_CLASS = "tachiyomi.extension.class"
|
||||
private const val METADATA_NSFW = "tachiyomi.extension.nsfw"
|
||||
const val LIB_VERSION_MIN = 1.2
|
||||
const val LIB_VERSION_MAX = 1.2
|
||||
|
||||
private const val PACKAGE_FLAGS = PackageManager.GET_CONFIGURATIONS or PackageManager.GET_SIGNATURES
|
||||
|
||||
// inorichi's key
|
||||
val officialSignature = "7ce04da7773d41b489f4693a366c36bcd0a11fc39b547168553c285bd7348e23"
|
||||
private const val officialSignature = "7ce04da7773d41b489f4693a366c36bcd0a11fc39b547168553c285bd7348e23"
|
||||
/**
|
||||
* List of the trusted signatures.
|
||||
*/
|
||||
var trustedSignatures = mutableSetOf<String>() +
|
||||
Injekt.get<PreferencesHelper>().trustedSignatures().get() + officialSignature
|
||||
var trustedSignatures = mutableSetOf<String>() + preferences.trustedSignatures().get() + officialSignature
|
||||
|
||||
/**
|
||||
* Return a list of all the installed extensions initialized concurrently.
|
||||
@ -125,6 +131,11 @@ internal object ExtensionLoader {
|
||||
return LoadResult.Untrusted(extension)
|
||||
}
|
||||
|
||||
val isNsfw = appInfo.metaData.getInt(METADATA_NSFW) == 1
|
||||
if (allowNsfwSource == PreferenceValues.NsfwAllowance.BLOCKED && isNsfw) {
|
||||
return LoadResult.Error("NSFW extension $pkgName not allowed")
|
||||
}
|
||||
|
||||
val classLoader = PathClassLoader(appInfo.sourceDir, null, context.classLoader)
|
||||
|
||||
val sources = appInfo.metaData.getString(METADATA_SOURCE_CLASS)!!
|
||||
@ -141,7 +152,13 @@ internal object ExtensionLoader {
|
||||
try {
|
||||
when (val obj = Class.forName(it, false, classLoader).newInstance()) {
|
||||
is Source -> listOf(obj)
|
||||
is SourceFactory -> obj.createSources()
|
||||
is SourceFactory -> {
|
||||
if (isSourceNsfw(obj)) {
|
||||
emptyList()
|
||||
} else {
|
||||
obj.createSources()
|
||||
}
|
||||
}
|
||||
else -> throw Exception("Unknown source class type! ${obj.javaClass}")
|
||||
}
|
||||
} catch (e: Throwable) {
|
||||
@ -149,10 +166,11 @@ internal object ExtensionLoader {
|
||||
return LoadResult.Error(e)
|
||||
}
|
||||
}
|
||||
.filter { !isSourceNsfw(it) }
|
||||
|
||||
val langs = sources.filterIsInstance<CatalogueSource>()
|
||||
.map { it.lang }
|
||||
.toSet()
|
||||
|
||||
val lang = when (langs.size) {
|
||||
0 -> ""
|
||||
1 -> langs.first()
|
||||
@ -160,7 +178,7 @@ internal object ExtensionLoader {
|
||||
}
|
||||
|
||||
val extension = Extension.Installed(
|
||||
extName, pkgName, versionName, versionCode, sources, lang,
|
||||
extName, pkgName, versionName, versionCode, lang, isNsfw, sources,
|
||||
isUnofficial = signatureHash != officialSignature
|
||||
)
|
||||
return LoadResult.Success(extension)
|
||||
@ -188,4 +206,22 @@ internal object ExtensionLoader {
|
||||
null
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether a Source or SourceFactory is annotated with @Nsfw.
|
||||
*/
|
||||
private fun isSourceNsfw(clazz: Any): Boolean {
|
||||
if (allowNsfwSource == PreferenceValues.NsfwAllowance.ALLOWED) {
|
||||
return false
|
||||
}
|
||||
|
||||
if (clazz !is Source && clazz !is SourceFactory) {
|
||||
return false
|
||||
}
|
||||
|
||||
// Annotations are proxied, hence this janky way of checking for them
|
||||
return clazz.javaClass.annotations
|
||||
.flatMap { it.javaClass.interfaces.map { it.simpleName } }
|
||||
.firstOrNull { it == Nsfw::class.java.simpleName } != null
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,3 @@
|
||||
package eu.kanade.tachiyomi.ui.base.controller
|
||||
|
||||
interface ToolbarLiftOnScrollController
|
@ -44,11 +44,12 @@ class ExtensionHolder(view: View, override val adapter: ExtensionAdapter) :
|
||||
version.text = extension.versionName
|
||||
lang.text = LocaleHelper.getSourceDisplayName(extension.lang, itemView.context)
|
||||
warning.text = when {
|
||||
extension is Extension.Untrusted -> itemView.context.getString(R.string.ext_untrusted).toUpperCase()
|
||||
extension is Extension.Installed && extension.isObsolete -> itemView.context.getString(R.string.ext_obsolete).toUpperCase()
|
||||
extension is Extension.Installed && extension.isUnofficial -> itemView.context.getString(R.string.ext_unofficial).toUpperCase()
|
||||
else -> null
|
||||
}
|
||||
extension is Extension.Untrusted -> itemView.context.getString(R.string.ext_untrusted)
|
||||
extension is Extension.Installed && extension.isObsolete -> itemView.context.getString(R.string.ext_obsolete)
|
||||
extension is Extension.Installed && extension.isUnofficial -> itemView.context.getString(R.string.ext_unofficial)
|
||||
extension.isNsfw -> itemView.context.getString(R.string.ext_nsfw_short)
|
||||
else -> ""
|
||||
}.toUpperCase()
|
||||
|
||||
GlideApp.with(itemView.context).clear(image)
|
||||
if (extension is Extension.Available) {
|
||||
|
@ -3,6 +3,7 @@ package eu.kanade.tachiyomi.ui.browse.extension
|
||||
import android.app.Application
|
||||
import android.os.Bundle
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.preference.PreferenceValues
|
||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||
import eu.kanade.tachiyomi.extension.ExtensionManager
|
||||
import eu.kanade.tachiyomi.extension.model.Extension
|
||||
@ -55,20 +56,22 @@ open class ExtensionPresenter(
|
||||
private fun toItems(tuple: ExtensionTuple): List<ExtensionItem> {
|
||||
val context = Injekt.get<Application>()
|
||||
val activeLangs = preferences.enabledLanguages().get()
|
||||
val showNsfwExtensions = preferences.allowNsfwSource().get() != PreferenceValues.NsfwAllowance.BLOCKED
|
||||
|
||||
val (installed, untrusted, available) = tuple
|
||||
|
||||
val items = mutableListOf<ExtensionItem>()
|
||||
|
||||
val updatesSorted = installed.filter { it.hasUpdate }.sortedBy { it.pkgName }
|
||||
val installedSorted = installed.filter { !it.hasUpdate }.sortedWith(compareBy({ !it.isObsolete }, { it.pkgName }))
|
||||
val updatesSorted = installed.filter { it.hasUpdate && (showNsfwExtensions || !it.isNsfw) }.sortedBy { it.pkgName }
|
||||
val installedSorted = installed.filter { !it.hasUpdate && (showNsfwExtensions || !it.isNsfw) }.sortedWith(compareBy({ !it.isObsolete }, { it.pkgName }))
|
||||
val untrustedSorted = untrusted.sortedBy { it.pkgName }
|
||||
val availableSorted = available
|
||||
// Filter out already installed extensions and disabled languages
|
||||
.filter { avail ->
|
||||
installed.none { it.pkgName == avail.pkgName } &&
|
||||
untrusted.none { it.pkgName == avail.pkgName } &&
|
||||
(avail.lang in activeLangs || avail.lang == "all")
|
||||
(avail.lang in activeLangs || avail.lang == "all") &&
|
||||
(showNsfwExtensions || !avail.isNsfw)
|
||||
}
|
||||
.sortedBy { it.pkgName }
|
||||
|
||||
|
@ -34,8 +34,8 @@ import eu.kanade.tachiyomi.source.CatalogueSource
|
||||
import eu.kanade.tachiyomi.source.ConfigurableSource
|
||||
import eu.kanade.tachiyomi.source.Source
|
||||
import eu.kanade.tachiyomi.source.getPreferenceKey
|
||||
import eu.kanade.tachiyomi.ui.base.controller.NoToolbarElevationController
|
||||
import eu.kanade.tachiyomi.ui.base.controller.NucleusController
|
||||
import eu.kanade.tachiyomi.ui.base.controller.ToolbarLiftOnScrollController
|
||||
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
|
||||
import eu.kanade.tachiyomi.util.preference.DSL
|
||||
import eu.kanade.tachiyomi.util.preference.onChange
|
||||
@ -50,7 +50,7 @@ import uy.kohesive.injekt.injectLazy
|
||||
@SuppressLint("RestrictedApi")
|
||||
class ExtensionDetailsController(bundle: Bundle? = null) :
|
||||
NucleusController<ExtensionDetailControllerBinding, ExtensionDetailsPresenter>(bundle),
|
||||
NoToolbarElevationController {
|
||||
ToolbarLiftOnScrollController {
|
||||
|
||||
private val preferences: PreferencesHelper by injectLazy()
|
||||
|
||||
|
@ -42,6 +42,7 @@ class ExtensionDetailsHeaderAdapter(private val presenter: ExtensionDetailsPrese
|
||||
binding.extensionTitle.text = extension.name
|
||||
binding.extensionVersion.text = context.getString(R.string.ext_version_info, extension.versionName)
|
||||
binding.extensionLang.text = context.getString(R.string.ext_language_info, LocaleHelper.getSourceDisplayName(extension.lang, context))
|
||||
binding.extensionNsfw.isVisible = extension.isNsfw
|
||||
binding.extensionPkg.text = extension.pkgName
|
||||
|
||||
binding.extensionUninstallButton.clicks()
|
||||
|
@ -108,7 +108,7 @@ open class GlobalSearchPresenter(
|
||||
return sourceManager.getCatalogueSources()
|
||||
.filter { it.lang in languages }
|
||||
.filterNot { it.id.toString() in disabledSourceIds }
|
||||
.sortedWith(compareBy({ it.id.toString() !in pinnedSourceIds }, { "(${it.lang}) ${it.name}" }))
|
||||
.sortedWith(compareBy({ it.id.toString() !in pinnedSourceIds }, { "${it.name} (${it.lang})" }))
|
||||
}
|
||||
|
||||
private fun getSourcesToQuery(): List<CatalogueSource> {
|
||||
@ -161,6 +161,8 @@ open class GlobalSearchPresenter(
|
||||
val initialItems = sources.map { createCatalogueSearchItem(it, null) }
|
||||
var items = initialItems
|
||||
|
||||
val pinnedSourceIds = preferences.pinnedSources().get()
|
||||
|
||||
fetchSourcesSubscription?.unsubscribe()
|
||||
fetchSourcesSubscription = Observable.from(sources)
|
||||
.flatMap(
|
||||
@ -178,7 +180,17 @@ open class GlobalSearchPresenter(
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
// Update matching source with the obtained results
|
||||
.map { result ->
|
||||
items.map { item -> if (item.source == result.source) result else item }
|
||||
items
|
||||
.map { item -> if (item.source == result.source) result else item }
|
||||
.sortedWith(
|
||||
compareBy(
|
||||
// Bubble up sources that actually have results
|
||||
{ it.results.isNullOrEmpty() },
|
||||
// Same as initial sort, i.e. pinned first then alphabetically
|
||||
{ it.source.id.toString() !in pinnedSourceIds },
|
||||
{ "${it.source.name} (${it.source.lang})" }
|
||||
)
|
||||
)
|
||||
}
|
||||
// Update current state
|
||||
.doOnNext { items = it }
|
||||
|
@ -472,6 +472,8 @@ class LibraryController(
|
||||
when (item.itemId) {
|
||||
R.id.action_move_to_category -> showChangeMangaCategoriesDialog()
|
||||
R.id.action_download_unread -> downloadUnreadChapters()
|
||||
R.id.action_mark_as_read -> markReadStatus(true)
|
||||
R.id.action_mark_as_unread -> markReadStatus(false)
|
||||
R.id.action_delete -> showDeleteMangaDialog()
|
||||
R.id.action_select_all -> selectAllCategoryManga()
|
||||
R.id.action_select_inverse -> selectInverseCategoryManga()
|
||||
@ -554,6 +556,12 @@ class LibraryController(
|
||||
destroyActionModeIfNeeded()
|
||||
}
|
||||
|
||||
private fun markReadStatus(read: Boolean) {
|
||||
val mangas = selectedMangas.toList()
|
||||
presenter.markReadStatus(mangas, read)
|
||||
destroyActionModeIfNeeded()
|
||||
}
|
||||
|
||||
private fun showDeleteMangaDialog() {
|
||||
DeleteLibraryMangasDialog(this, selectedMangas.toList()).showDialog(router)
|
||||
}
|
||||
|
@ -5,6 +5,7 @@ import com.jakewharton.rxrelay.BehaviorRelay
|
||||
import eu.kanade.tachiyomi.data.cache.CoverCache
|
||||
import eu.kanade.tachiyomi.data.database.DatabaseHelper
|
||||
import eu.kanade.tachiyomi.data.database.models.Category
|
||||
import eu.kanade.tachiyomi.data.database.models.Chapter
|
||||
import eu.kanade.tachiyomi.data.database.models.Manga
|
||||
import eu.kanade.tachiyomi.data.database.models.MangaCategory
|
||||
import eu.kanade.tachiyomi.data.download.DownloadManager
|
||||
@ -326,6 +327,36 @@ class LibraryPresenter(
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Marks mangas' chapters read status.
|
||||
*
|
||||
* @param mangas the list of manga.
|
||||
*/
|
||||
fun markReadStatus(mangas: List<Manga>, read: Boolean) {
|
||||
mangas.forEach { manga ->
|
||||
launchIO {
|
||||
val chapters = db.getChapters(manga).executeAsBlocking()
|
||||
chapters.forEach {
|
||||
it.read = read
|
||||
if (!read) {
|
||||
it.last_page_read = 0
|
||||
}
|
||||
}
|
||||
db.updateChaptersProgress(chapters).executeAsBlocking()
|
||||
|
||||
if (preferences.removeAfterMarkedAsRead()) {
|
||||
deleteChapters(manga, chapters)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun deleteChapters(manga: Manga, chapters: List<Chapter>) {
|
||||
sourceManager.get(manga.source)?.let { source ->
|
||||
downloadManager.deleteChapters(chapters, manga, source)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the selected manga from the library.
|
||||
*
|
||||
|
@ -9,6 +9,7 @@ import android.view.ViewGroup
|
||||
import android.widget.Toast
|
||||
import androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.preference.PreferenceDialogController
|
||||
import com.bluelinelabs.conductor.Conductor
|
||||
import com.bluelinelabs.conductor.Controller
|
||||
import com.bluelinelabs.conductor.ControllerChangeHandler
|
||||
@ -30,6 +31,7 @@ import eu.kanade.tachiyomi.ui.base.controller.FabController
|
||||
import eu.kanade.tachiyomi.ui.base.controller.NoToolbarElevationController
|
||||
import eu.kanade.tachiyomi.ui.base.controller.RootController
|
||||
import eu.kanade.tachiyomi.ui.base.controller.TabbedController
|
||||
import eu.kanade.tachiyomi.ui.base.controller.ToolbarLiftOnScrollController
|
||||
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
|
||||
import eu.kanade.tachiyomi.ui.browse.BrowseController
|
||||
import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchController
|
||||
@ -317,6 +319,9 @@ class MainActivity : BaseActivity<MainActivityBinding>() {
|
||||
if (from is DialogController || to is DialogController) {
|
||||
return
|
||||
}
|
||||
if (from is PreferenceDialogController || to is PreferenceDialogController) {
|
||||
return
|
||||
}
|
||||
|
||||
supportActionBar?.setDisplayHomeAsUpEnabled(router.backstackSize != 1)
|
||||
|
||||
@ -351,10 +356,16 @@ class MainActivity : BaseActivity<MainActivityBinding>() {
|
||||
to.configureFab(binding.rootFab)
|
||||
}
|
||||
|
||||
if (to is NoToolbarElevationController) {
|
||||
binding.appbar.disableElevation()
|
||||
} else {
|
||||
binding.appbar.enableElevation()
|
||||
when (to) {
|
||||
is NoToolbarElevationController -> {
|
||||
binding.appbar.disableElevation()
|
||||
}
|
||||
is ToolbarLiftOnScrollController -> {
|
||||
binding.appbar.enableElevation(true)
|
||||
}
|
||||
else -> {
|
||||
binding.appbar.enableElevation(false)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -42,6 +42,7 @@ import eu.kanade.tachiyomi.source.SourceManager
|
||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||
import eu.kanade.tachiyomi.ui.base.controller.FabController
|
||||
import eu.kanade.tachiyomi.ui.base.controller.NucleusController
|
||||
import eu.kanade.tachiyomi.ui.base.controller.ToolbarLiftOnScrollController
|
||||
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
|
||||
import eu.kanade.tachiyomi.ui.browse.migration.search.SearchController
|
||||
import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceController
|
||||
@ -85,6 +86,7 @@ import uy.kohesive.injekt.injectLazy
|
||||
|
||||
class MangaController :
|
||||
NucleusController<MangaControllerBinding, MangaPresenter>,
|
||||
ToolbarLiftOnScrollController,
|
||||
FabController,
|
||||
ActionMode.Callback,
|
||||
FlexibleAdapter.OnItemClickListener,
|
||||
@ -130,14 +132,15 @@ class MangaController :
|
||||
private var chaptersHeaderAdapter: MangaChaptersHeaderAdapter? = null
|
||||
private var chaptersAdapter: ChaptersAdapter? = null
|
||||
|
||||
/**
|
||||
* Sheet containing filter/sort/display items.
|
||||
*/
|
||||
// Sheet containing filter/sort/display items.
|
||||
private var settingsSheet: ChaptersSettingsSheet? = null
|
||||
|
||||
private var actionFab: ExtendedFloatingActionButton? = null
|
||||
private var actionFabScrollListener: RecyclerView.OnScrollListener? = null
|
||||
|
||||
// Snackbar to add manga to library after downloading chapter(s)
|
||||
private var addSnackbar: Snackbar? = null
|
||||
|
||||
/**
|
||||
* Action mode for multiple selection.
|
||||
*/
|
||||
@ -316,6 +319,7 @@ class MangaController :
|
||||
chaptersHeaderAdapter = null
|
||||
chaptersAdapter = null
|
||||
settingsSheet = null
|
||||
addSnackbar?.dismiss()
|
||||
updateToolbarTitleAlpha(255)
|
||||
super.onDestroyView(view)
|
||||
}
|
||||
@ -891,7 +895,7 @@ class MangaController :
|
||||
val manga = presenter.manga
|
||||
presenter.downloadChapters(chapters)
|
||||
if (view != null && !manga.favorite) {
|
||||
activity!!.root_coordinator?.snack(view.context.getString(R.string.snack_add_to_library), Snackbar.LENGTH_INDEFINITE) {
|
||||
addSnackbar = activity!!.root_coordinator?.snack(view.context.getString(R.string.snack_add_to_library), Snackbar.LENGTH_INDEFINITE) {
|
||||
setAction(R.string.action_add) {
|
||||
addToLibrary(manga)
|
||||
}
|
||||
|
@ -494,8 +494,14 @@ class MangaPresenter(
|
||||
* @param chapters the chapters to delete.
|
||||
*/
|
||||
private fun deleteChaptersInternal(chapters: List<ChapterItem>) {
|
||||
downloadManager.deleteChapters(chapters, manga, source)
|
||||
chapters.forEach {
|
||||
val filteredChapters = if (!preferences.removeBookmarkedChapters()) {
|
||||
chapters.filterNot { it.bookmark }
|
||||
} else {
|
||||
chapters
|
||||
}
|
||||
|
||||
downloadManager.deleteChapters(filteredChapters, manga, source)
|
||||
filteredChapters.forEach {
|
||||
it.status = Download.NOT_DOWNLOADED
|
||||
it.download = null
|
||||
}
|
||||
|
@ -20,11 +20,11 @@ import android.view.WindowManager
|
||||
import android.view.animation.Animation
|
||||
import android.view.animation.AnimationUtils
|
||||
import android.widget.SeekBar
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.core.view.setPadding
|
||||
import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import dev.chrisbanes.insetter.applySystemWindowInsetsToPadding
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.database.models.Chapter
|
||||
import eu.kanade.tachiyomi.data.database.models.Manga
|
||||
@ -288,13 +288,16 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
|
||||
onBackPressed()
|
||||
}
|
||||
|
||||
if (!window.isDefaultBar()) {
|
||||
binding.readerMenu.applySystemWindowInsetsToPadding(
|
||||
left = true,
|
||||
top = true,
|
||||
right = true,
|
||||
bottom = true
|
||||
)
|
||||
ViewCompat.setOnApplyWindowInsetsListener(binding.readerMenu) { _, insets ->
|
||||
if (!window.isDefaultBar()) {
|
||||
binding.readerMenu.setPadding(
|
||||
insets.systemWindowInsetLeft,
|
||||
insets.systemWindowInsetTop,
|
||||
insets.systemWindowInsetRight,
|
||||
insets.systemWindowInsetBottom
|
||||
)
|
||||
}
|
||||
insets
|
||||
}
|
||||
|
||||
// Init listeners on bottom menu
|
||||
|
@ -21,7 +21,6 @@ import eu.kanade.tachiyomi.data.backup.BackupRestoreValidator
|
||||
import eu.kanade.tachiyomi.data.backup.models.Backup
|
||||
import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys
|
||||
import eu.kanade.tachiyomi.data.preference.asImmediateFlow
|
||||
import eu.kanade.tachiyomi.source.SourceManager
|
||||
import eu.kanade.tachiyomi.ui.base.controller.DialogController
|
||||
import eu.kanade.tachiyomi.ui.base.controller.requestPermissionsSafe
|
||||
import eu.kanade.tachiyomi.util.preference.defaultValue
|
||||
@ -37,8 +36,6 @@ import eu.kanade.tachiyomi.util.system.getFilePicker
|
||||
import eu.kanade.tachiyomi.util.system.toast
|
||||
import kotlinx.coroutines.flow.launchIn
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
|
||||
class SettingsBackupController : SettingsController() {
|
||||
|
||||
@ -258,16 +255,12 @@ class SettingsBackupController : SettingsController() {
|
||||
return try {
|
||||
var message = activity.getString(R.string.backup_restore_content)
|
||||
|
||||
val sources = BackupRestoreValidator.validate(activity, uri)
|
||||
if (sources.isNotEmpty()) {
|
||||
val sourceManager = Injekt.get<SourceManager>()
|
||||
val missingSources = sources
|
||||
.filter { sourceManager.get(it.key) == null }
|
||||
.values
|
||||
.sorted()
|
||||
if (missingSources.isNotEmpty()) {
|
||||
message += "\n\n${activity.getString(R.string.backup_restore_missing_sources)}\n${missingSources.joinToString("\n") { "- $it" }}"
|
||||
}
|
||||
val results = BackupRestoreValidator.validate(activity, uri)
|
||||
if (results.missingSources.isNotEmpty()) {
|
||||
message += "\n\n${activity.getString(R.string.backup_restore_missing_sources)}\n${results.missingSources.joinToString("\n") { "- $it" }}"
|
||||
}
|
||||
if (results.missingTrackers.isNotEmpty()) {
|
||||
message += "\n\n${activity.getString(R.string.backup_restore_missing_trackers)}\n${results.missingTrackers.joinToString("\n") { "- $it" }}"
|
||||
}
|
||||
|
||||
MaterialDialog(activity)
|
||||
|
@ -65,7 +65,7 @@ class SettingsDownloadController : SettingsController() {
|
||||
defaultValue = true
|
||||
}
|
||||
preferenceCategory {
|
||||
titleRes = R.string.pref_remove_after_read
|
||||
titleRes = R.string.pref_category_delete_chapters
|
||||
|
||||
switchPreference {
|
||||
key = Keys.removeAfterMarkedAsRead
|
||||
@ -84,6 +84,11 @@ class SettingsDownloadController : SettingsController() {
|
||||
defaultValue = "-1"
|
||||
summary = "%s"
|
||||
}
|
||||
switchPreference {
|
||||
key = Keys.removeBookmarkedChapters
|
||||
titleRes = R.string.pref_remove_bookmarked_chapters
|
||||
defaultValue = false
|
||||
}
|
||||
}
|
||||
|
||||
val dbCategories = db.getCategories().executeAsBlocking()
|
||||
|
@ -65,6 +65,12 @@ class SettingsMainController : SettingsController() {
|
||||
titleRes = R.string.pref_category_security
|
||||
onClick { navigateTo(SettingsSecurityController()) }
|
||||
}
|
||||
// preference {
|
||||
// iconRes = R.drawable.ic_outline_people_alt_24dp
|
||||
// iconTint = tintColor
|
||||
// titleRes = R.string.pref_category_parental_controls
|
||||
// onClick { navigateTo(SettingsParentalControlsController()) }
|
||||
// }
|
||||
preference {
|
||||
iconRes = R.drawable.ic_code_24dp
|
||||
iconTint = tintColor
|
||||
|
@ -0,0 +1,40 @@
|
||||
package eu.kanade.tachiyomi.ui.setting
|
||||
|
||||
import androidx.preference.PreferenceScreen
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys
|
||||
import eu.kanade.tachiyomi.data.preference.PreferenceValues as Values
|
||||
import eu.kanade.tachiyomi.util.preference.defaultValue
|
||||
import eu.kanade.tachiyomi.util.preference.entriesRes
|
||||
import eu.kanade.tachiyomi.util.preference.infoPreference
|
||||
import eu.kanade.tachiyomi.util.preference.listPreference
|
||||
import eu.kanade.tachiyomi.util.preference.preferenceCategory
|
||||
import eu.kanade.tachiyomi.util.preference.titleRes
|
||||
|
||||
class SettingsParentalControlsController : SettingsController() {
|
||||
|
||||
override fun setupPreferenceScreen(screen: PreferenceScreen) = with(screen) {
|
||||
titleRes = R.string.pref_category_parental_controls
|
||||
|
||||
listPreference {
|
||||
key = Keys.allowNsfwSource
|
||||
titleRes = R.string.pref_allow_nsfw_sources
|
||||
entriesRes = arrayOf(
|
||||
R.string.pref_allow_nsfw_sources_allowed,
|
||||
R.string.pref_allow_nsfw_sources_allowed_multisource,
|
||||
R.string.pref_allow_nsfw_sources_blocked
|
||||
)
|
||||
entryValues = arrayOf(
|
||||
Values.NsfwAllowance.ALLOWED.name,
|
||||
Values.NsfwAllowance.PARTIAL.name,
|
||||
Values.NsfwAllowance.BLOCKED.name
|
||||
)
|
||||
defaultValue = Values.NsfwAllowance.ALLOWED.name
|
||||
summary = "%s"
|
||||
}
|
||||
|
||||
preferenceCategory {
|
||||
infoPreference(R.string.parental_controls_info)
|
||||
}
|
||||
}
|
||||
}
|
@ -11,6 +11,8 @@ import eu.kanade.tachiyomi.data.track.TrackService
|
||||
import eu.kanade.tachiyomi.data.track.anilist.AnilistApi
|
||||
import eu.kanade.tachiyomi.data.track.bangumi.BangumiApi
|
||||
import eu.kanade.tachiyomi.data.track.shikimori.ShikimoriApi
|
||||
import eu.kanade.tachiyomi.ui.setting.track.TrackLoginDialog
|
||||
import eu.kanade.tachiyomi.ui.setting.track.TrackLogoutDialog
|
||||
import eu.kanade.tachiyomi.util.preference.defaultValue
|
||||
import eu.kanade.tachiyomi.util.preference.infoPreference
|
||||
import eu.kanade.tachiyomi.util.preference.initThenAdd
|
||||
@ -20,8 +22,6 @@ import eu.kanade.tachiyomi.util.preference.switchPreference
|
||||
import eu.kanade.tachiyomi.util.preference.titleRes
|
||||
import eu.kanade.tachiyomi.util.system.getResourceColor
|
||||
import eu.kanade.tachiyomi.widget.preference.LoginPreference
|
||||
import eu.kanade.tachiyomi.widget.preference.TrackLoginDialog
|
||||
import eu.kanade.tachiyomi.widget.preference.TrackLogoutDialog
|
||||
import uy.kohesive.injekt.injectLazy
|
||||
|
||||
class SettingsTrackingController :
|
||||
|
@ -1,4 +1,4 @@
|
||||
package eu.kanade.tachiyomi.widget.preference
|
||||
package eu.kanade.tachiyomi.ui.setting.track
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
@ -7,6 +7,7 @@ import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.track.TrackManager
|
||||
import eu.kanade.tachiyomi.data.track.TrackService
|
||||
import eu.kanade.tachiyomi.util.system.toast
|
||||
import eu.kanade.tachiyomi.widget.preference.LoginDialogPreference
|
||||
import kotlinx.android.synthetic.main.pref_account_login.view.login
|
||||
import kotlinx.android.synthetic.main.pref_account_login.view.password
|
||||
import kotlinx.android.synthetic.main.pref_account_login.view.username
|
@ -1,4 +1,4 @@
|
||||
package eu.kanade.tachiyomi.widget.preference
|
||||
package eu.kanade.tachiyomi.ui.setting.track
|
||||
|
||||
import android.app.Dialog
|
||||
import android.os.Bundle
|
@ -34,14 +34,12 @@ object DiskUtil {
|
||||
* Gets the available space for the disk that a file path points to, in bytes.
|
||||
*/
|
||||
fun getAvailableStorageSpace(f: UniFile): Long {
|
||||
val stat = try {
|
||||
StatFs(f.filePath)
|
||||
return try {
|
||||
val stat = StatFs(f.uri.path)
|
||||
stat.availableBlocksLong * stat.blockSizeLong
|
||||
} catch (_: Exception) {
|
||||
// Assume that exception is thrown when path is on external storage
|
||||
StatFs(Environment.getExternalStorageDirectory().path)
|
||||
-1L
|
||||
}
|
||||
|
||||
return stat.availableBlocksLong * stat.blockSizeLong
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -18,8 +18,9 @@ class ElevationAppBarLayout @JvmOverloads constructor(
|
||||
origStateAnimator = stateListAnimator
|
||||
}
|
||||
|
||||
fun enableElevation() {
|
||||
fun enableElevation(liftOnScroll: Boolean) {
|
||||
stateListAnimator = origStateAnimator
|
||||
isLiftOnScroll = liftOnScroll
|
||||
}
|
||||
|
||||
fun disableElevation() {
|
||||
|
@ -17,10 +17,7 @@ class ThemedSwipeRefreshLayout @JvmOverloads constructor(context: Context, attrs
|
||||
// Background is controlled with "swipeRefreshLayoutProgressSpinnerBackgroundColor" in XML
|
||||
|
||||
// This updates the progress arrow color
|
||||
setColorSchemeColors(
|
||||
ContextCompat.getColor(context, R.color.md_white_1000),
|
||||
ContextCompat.getColor(context, R.color.md_white_1000),
|
||||
ContextCompat.getColor(context, R.color.md_white_1000)
|
||||
)
|
||||
val white = ContextCompat.getColor(context, R.color.md_white_1000)
|
||||
setColorSchemeColors(white, white, white)
|
||||
}
|
||||
}
|
||||
|
18
app/src/main/res/drawable/ic_outline_people_alt_24dp.xml
Normal file
18
app/src/main/res/drawable/ic_outline_people_alt_24dp.xml
Normal file
@ -0,0 +1,18 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M16.67,13.13C18.04,14.06 19,15.32 19,17v3h4v-3C23,14.82 19.43,13.53 16.67,13.13z" />
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M15,12c2.21,0 4,-1.79 4,-4c0,-2.21 -1.79,-4 -4,-4c-0.47,0 -0.91,0.1 -1.33,0.24C14.5,5.27 15,6.58 15,8s-0.5,2.73 -1.33,3.76C14.09,11.9 14.53,12 15,12z" />
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M9,12c2.21,0 4,-1.79 4,-4c0,-2.21 -1.79,-4 -4,-4S5,5.79 5,8C5,10.21 6.79,12 9,12zM9,6c1.1,0 2,0.9 2,2c0,1.1 -0.9,2 -2,2S7,9.1 7,8C7,6.9 7.9,6 9,6z" />
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M9,13c-2.67,0 -8,1.34 -8,4v3h16v-3C17,14.34 11.67,13 9,13zM15,18H3l0,-0.99C3.2,16.29 6.3,15 9,15s5.8,1.29 6,2V18z" />
|
||||
</vector>
|
@ -69,6 +69,21 @@
|
||||
app:layout_constraintTop_toBottomOf="@id/extension_version"
|
||||
tools:text="Language: English" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/extension_nsfw"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_weight="1"
|
||||
android:elevation="3dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/ext_nsfw_warning"
|
||||
android:textColor="?attr/colorError"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintStart_toStartOf="@id/extension_title"
|
||||
app:layout_constraintTop_toBottomOf="@id/extension_lang"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/extension_pkg"
|
||||
android:layout_width="0dp"
|
||||
@ -78,7 +93,7 @@
|
||||
android:singleLine="true"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@id/extension_title"
|
||||
app:layout_constraintTop_toBottomOf="@id/extension_lang"
|
||||
app:layout_constraintTop_toBottomOf="@id/extension_nsfw"
|
||||
tools:text="eu.kanade.tachiyomi.extension.en.myext" />
|
||||
|
||||
<Button
|
||||
@ -86,12 +101,12 @@
|
||||
style="@style/Theme.Widget.Button.FilledAccent"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="32dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:paddingStart="32dp"
|
||||
android:paddingEnd="32dp"
|
||||
android:text="@string/ext_uninstall"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/extension_lang" />
|
||||
app:layout_constraintTop_toBottomOf="@id/extension_pkg" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
@ -16,6 +16,20 @@
|
||||
app:iconTint="?attr/colorOnPrimary"
|
||||
app:showAsAction="always" />
|
||||
|
||||
<item
|
||||
android:id="@+id/action_mark_as_read"
|
||||
android:icon="@drawable/ic_done_24dp"
|
||||
android:title="@string/action_mark_as_read"
|
||||
app:iconTint="?attr/colorOnPrimary"
|
||||
app:showAsAction="always" />
|
||||
|
||||
<item
|
||||
android:id="@+id/action_mark_as_unread"
|
||||
android:icon="@drawable/ic_done_outline_24dp"
|
||||
android:title="@string/action_mark_as_unread"
|
||||
app:iconTint="?attr/colorOnPrimary"
|
||||
app:showAsAction="always" />
|
||||
|
||||
<item
|
||||
android:id="@+id/action_delete"
|
||||
android:icon="@drawable/ic_delete_24dp"
|
||||
|
@ -57,7 +57,7 @@
|
||||
<string name="label_migration">Migrar</string>
|
||||
<string name="label_recent_updates">Actualizaciones</string>
|
||||
<string name="label_library">Biblioteca</string>
|
||||
<string name="label_settings">Configuraciónes</string>
|
||||
<string name="label_settings">Configuraciones</string>
|
||||
<string name="name">Nombre</string>
|
||||
<string name="label_categories">Categorías</string>
|
||||
<string name="label_sources">Fuentes</string>
|
||||
@ -597,4 +597,11 @@
|
||||
<item quantity="one">Rastreador</item>
|
||||
<item quantity="other">Rastreadores</item>
|
||||
</plurals>
|
||||
<string name="group_downloader">Descargas</string>
|
||||
<string name="channel_errors">Errores</string>
|
||||
<string name="channel_complete">Completo</string>
|
||||
<string name="channel_progress">Progreso</string>
|
||||
<string name="download_notifier_download_finish">Descarga completada</string>
|
||||
<string name="group_backup_restore">Respaldar y restaurar</string>
|
||||
<string name="no_pinned_sources">No tienes fuentes fijadas</string>
|
||||
</resources>
|
@ -602,4 +602,6 @@
|
||||
<string name="group_downloader">Baixades</string>
|
||||
<string name="channel_complete">Completada</string>
|
||||
<string name="channel_progress">Progrés</string>
|
||||
<string name="channel_errors">Errors</string>
|
||||
<string name="backup_restore_missing_trackers">Seguidors sense sessió iniciada:</string>
|
||||
</resources>
|
@ -403,4 +403,6 @@
|
||||
<string name="logout_success">Byl jste odhlášen</string>
|
||||
<string name="paused">Pozastaveno</string>
|
||||
<string name="label_more">Více</string>
|
||||
<string name="action_menu">Menu</string>
|
||||
<string name="label_sources">Zdroje</string>
|
||||
</resources>
|
@ -6,13 +6,13 @@
|
||||
<string name="cookies_cleared">Куккисем катертнӗ</string>
|
||||
<string name="pref_clear_cookies">Кукки тасат</string>
|
||||
<string name="label_network">Тетел</string>
|
||||
<string name="restore_duration">%02d минут, %02d ҫеккунт</string>
|
||||
<string name="restore_duration">%02d минут та %02d ҫеккунт</string>
|
||||
<string name="source_not_found_name">Ҫӑл куҫ тупӑнман: %1$s</string>
|
||||
<string name="services">Сервиссем</string>
|
||||
<string name="pref_download_new">Ҫӗнӗ сыпӑксене тиесе илмелле</string>
|
||||
<string name="last_read_chapter">Юлашки вуланӑ сыпăк</string>
|
||||
<string name="disabled">Сӳнтернӗ</string>
|
||||
<string name="pref_remove_after_read">Вуланӑ хыҫҫӑн катертмелле</string>
|
||||
<string name="pref_remove_after_read">Вуланӑ хыҫҫӑн</string>
|
||||
<string name="pref_download_only_over_wifi">Wi-Fi урлӑ ҫеҫ тиесе илмелле</string>
|
||||
<string name="pref_download_directory">Тиев вырӑнӗ</string>
|
||||
<string name="pref_category_reading">Вулани</string>
|
||||
@ -52,7 +52,7 @@
|
||||
<string name="charging">Тулать</string>
|
||||
<string name="wifi">Wi-Fi</string>
|
||||
<string name="pref_library_update_restriction">Вулавӑша ҫӗнетни чарӑвӗсем</string>
|
||||
<string name="pref_library_update_prioritization">Вулавӑша ҫӗнетни йӗркийӗ</string>
|
||||
<string name="pref_library_update_prioritization">Вулавӑша ҫӗнетни йӗрки</string>
|
||||
<string name="update_monthly">Кашни уйӑх</string>
|
||||
<string name="update_weekly">Кашни эрне</string>
|
||||
<string name="update_48hour">Кашни 2 кун</string>
|
||||
@ -150,8 +150,8 @@
|
||||
<string name="action_select_all">Веҫех суйла</string>
|
||||
<string name="action_global_search">Пур ҫӗрте шыра</string>
|
||||
<string name="action_search">Шырав</string>
|
||||
<string name="action_sort_latest_chapter">Юлашки сыпӑк</string>
|
||||
<string name="action_sort_last_checked">Юлашки тӗрӗслени</string>
|
||||
<string name="action_sort_latest_chapter">Юлашки сыпӑкпа</string>
|
||||
<string name="action_sort_last_checked">Юлашки тӗрӗсленипе</string>
|
||||
<string name="action_sort_last_read">Юлашки вулани</string>
|
||||
<string name="action_sort_total">Сыпӑксен шучӗпе</string>
|
||||
<string name="action_sort_alpha">Алфавитпа</string>
|
||||
@ -177,7 +177,7 @@
|
||||
<string name="update_check_notification_download_error">Тиев йӑнӑшӗ</string>
|
||||
<string name="update_check_notification_download_complete">Тиенсе пӗтрӗ</string>
|
||||
<string name="update_check_notification_file_download">Тиев ҫӗнетни</string>
|
||||
<string name="notification_chapters_single">%1$s сыпӑк</string>
|
||||
<string name="notification_chapters_single">%1$s-мӗш сыпӑк</string>
|
||||
<string name="notification_new_chapters">Ҫӗнӗ сыпӑксем тупӑнман</string>
|
||||
<string name="notification_update_progress">Ҫӗнетӳ халӗ: %1$d/%2$d</string>
|
||||
<string name="information_no_recent_manga">Юлашки вӑхӑтра нимӗнте вуламан</string>
|
||||
@ -221,16 +221,16 @@
|
||||
<string name="loading">Тиев…</string>
|
||||
<string name="action_restore">Тавӑр</string>
|
||||
<string name="action_unpin">Салт</string>
|
||||
<string name="action_migrate">Куҫ</string>
|
||||
<string name="action_next_chapter">Тепӗр сыпӑк</string>
|
||||
<string name="action_previous_chapter">Малтанхи сыпӑк</string>
|
||||
<string name="action_sort_down">Сахаланӑ май</string>
|
||||
<string name="action_sort_up">Нумайланӑ май</string>
|
||||
<string name="action_migrate">Куҫар</string>
|
||||
<string name="action_next_chapter">Маллали сыпӑк</string>
|
||||
<string name="action_previous_chapter">Умӗнхи сыпӑк</string>
|
||||
<string name="action_sort_down">Сахаланнӑ май</string>
|
||||
<string name="action_sort_up">Нумайланнӑ май</string>
|
||||
<string name="track">Сӑнану</string>
|
||||
<string name="information_webview_outdated">Чи лайӑх пӗрлӗхшӗн WebView-а ҫӗнет</string>
|
||||
<string name="information_cloudflare_bypass_failure">Cloudflare-ран иртеймерӗ</string>
|
||||
<string name="information_empty_category">Санӑн пухмӑшсем ҫук. Хӑвӑн вулавӑша йӗркелеме + пускӑч ҫине пус.</string>
|
||||
<string name="label_migration">Куҫ</string>
|
||||
<string name="label_migration">Куҫар</string>
|
||||
<string name="label_backup">Янтӑв</string>
|
||||
<string name="ext_obsolete">Кивелнӗ</string>
|
||||
<string name="ext_updates_pending">Ҫӗнетӳсем кӗтеҫҫӗ</string>
|
||||
@ -269,7 +269,7 @@
|
||||
<string name="pref_library_update_restriction_summary">Майсем пурнӑҫланӑ чухне кӑна ҫӗнет</string>
|
||||
<string name="lock_when_idle">Кӗтмелли тытӑмра ҫаклатса лартмалла</string>
|
||||
<string name="webtoon_side_padding_10">10%</string>
|
||||
<string name="display_mode_chapter">%1$s сыпӑк</string>
|
||||
<string name="display_mode_chapter">%1$s-мӗш сыпӑк</string>
|
||||
<string name="lock_with_biometrics">Алӑ йӗрпе ҫаклатса ларт</string>
|
||||
<string name="webtoon_side_padding_25">25%</string>
|
||||
<string name="webtoon_side_padding_20">20%</string>
|
||||
@ -325,8 +325,8 @@
|
||||
\n
|
||||
\nҪак сертификата шаннипе эсӗ ҫав теветкеле йышӑнатӑн.</string>
|
||||
<plurals name="restore_completed_message">
|
||||
<item quantity="one">%1$s %2$s йӑнӑшпа тӑвӑннӑ</item>
|
||||
<item quantity="other">%1$s %2$s йӑнӑшпа тӑвӑннӑ</item>
|
||||
<item quantity="one">%1$s,%2$s йӑнӑшпа тӑвӑннӑ</item>
|
||||
<item quantity="other">%1$s, %2$s йӑнӑшпа тӑвӑннӑ</item>
|
||||
</plurals>
|
||||
<string name="backup_restore_content">Пӗлӗмсене тавӑрнӑ чух ҫӑл куҫсем усӑ курӑнаҫҫӗ, ҫакӑ вара пысӑк трафик тӑкакӗсене кӳме пултарать.
|
||||
\n
|
||||
@ -375,7 +375,7 @@
|
||||
<string name="file_select_cover">Хуплашка суйла</string>
|
||||
<string name="notification_no_connection_body">Ҫыхӑну кӗме май ҫук</string>
|
||||
<string name="notification_no_connection_title">Пӗрлӗхлени пӑрахӑҫланӑ</string>
|
||||
<string name="notification_not_connected_to_ac_body">Батарей тулмасть</string>
|
||||
<string name="notification_not_connected_to_ac_body">Петтерей тулмасть</string>
|
||||
<string name="notification_not_connected_to_ac_title">Пӗрлӗхлени пӑрахӑҫланӑ</string>
|
||||
<string name="notification_first_add_to_library">Ҫакна тӑвас умӗн манкка санӑн вулавӑша хуш-ха</string>
|
||||
<string name="notification_cover_update_failed">Хуплашкана ҫӗнетеймерӗ</string>
|
||||
@ -394,36 +394,36 @@
|
||||
<item quantity="other">%1$d ҫӗнӗ сыпӑк</item>
|
||||
</plurals>
|
||||
<plurals name="notification_new_chapters_summary">
|
||||
<item quantity="one">Ҫӗнӗ сыпӑксем 1 пуҫ элӗк валли тупӑннӑ</item>
|
||||
<item quantity="other">Ҫӗнӗ сыпӑксем %d пуҫ элӗк валли тупӑннӑ</item>
|
||||
<item quantity="one">Ҫӗнӗ сыпӑксем 1 хайлав валли тупӑннӑ</item>
|
||||
<item quantity="other">Ҫӗнӗ сыпӑксем %d хайлав валли тупӑннӑ</item>
|
||||
</plurals>
|
||||
<string name="notification_check_updates">Ҫӗнӗ сыпӑксен пуррине тӗрӗслени</string>
|
||||
<string name="download_queue_error">Сыпӑксене тиесе илес ҫук. Тиевсем пайӗнче ҫӗнӗрен хӑтланса пӑхма пултаратӑн</string>
|
||||
<string name="copy">Ӑтавла</string>
|
||||
<string name="migrate">Куҫ</string>
|
||||
<string name="migration_selection_prompt">Куҫма ҫӑл куҫ суйла</string>
|
||||
<string name="migrate">Куҫар</string>
|
||||
<string name="migration_selection_prompt">Куҫарма ҫӑл куҫ суйла</string>
|
||||
<string name="migration_dialog_what_to_include">Хушма пӗлӗмсене суйла</string>
|
||||
<string name="migration_info">Куҫма ҫӑл куҫ суйлама пус</string>
|
||||
<string name="migration_info">Куҫарма ҫӑл куҫа суйлама пус</string>
|
||||
<string name="recent_manga_time">%1$s-мӗш сыпӑка %2$s</string>
|
||||
<string name="updating_library">Вулавӑша ҫӗнетни</string>
|
||||
<string name="loader_not_implemented_error">Ҫӑл куҫ тупӑнман</string>
|
||||
<string name="page_list_empty_error">Элсем тупӑнман</string>
|
||||
<string name="transition_pages_error">Элсем тиенеймерӗҫ: %1$s</string>
|
||||
<string name="transition_pages_loading">Элсем тиевӗ…</string>
|
||||
<string name="transition_no_previous">Унчченхи сыпӑк ҫук</string>
|
||||
<string name="transition_no_next">Тепӗр сыпӑк ҫук</string>
|
||||
<string name="transition_no_previous">Умӗнхи сыпӑк ҫук</string>
|
||||
<string name="transition_no_next">Малалли сыпӑк ҫук</string>
|
||||
<string name="transition_previous">Умӗнхи:</string>
|
||||
<string name="transition_next">Тепри:</string>
|
||||
<string name="transition_next">Малалли:</string>
|
||||
<string name="transition_current">Кулленхи:</string>
|
||||
<string name="transition_finished">Пӗтернӗ:</string>
|
||||
<string name="viewer">Вулав тытӑмӗ</string>
|
||||
<string name="pref_category_for_this_series">Ҫак сери валли</string>
|
||||
<string name="confirm_set_image_as_cover">Ҫак ӳкерчĕке хуплашка пек усӑ курмалла\?</string>
|
||||
<string name="pref_category_for_this_series">Ҫак серилӗх валли</string>
|
||||
<string name="confirm_set_image_as_cover">Ҫак ӳкерчĕке хуплашка пек усӑ курмалла-и\?</string>
|
||||
<string name="decode_image_error">Ӳкерчӗк тиенмерӗ</string>
|
||||
<string name="no_previous_chapter">Унчченхи сыпӑк тупӑнман</string>
|
||||
<string name="no_next_chapter">Тепӗр сыпӑк тупӑнман</string>
|
||||
<string name="chapter_subtitle">%1$s сыпӑк</string>
|
||||
<string name="chapter_progress">%1$d эл</string>
|
||||
<string name="no_previous_chapter">Умӗнхи сыпӑк тупӑнман</string>
|
||||
<string name="no_next_chapter">Малалли сыпӑк тупӑнман</string>
|
||||
<string name="chapter_subtitle">%1$s-мӗш сыпӑк</string>
|
||||
<string name="chapter_progress">%1$d-мӗш эл</string>
|
||||
<string name="download_progress">%1$d%% тиенӗ</string>
|
||||
<string name="downloading">Тиев…</string>
|
||||
<string name="page_downloaded">Элӗ %1$s ӑтавланӑ</string>
|
||||
@ -438,8 +438,8 @@
|
||||
<string name="error_invalid_date_supplied">Тӗрӗс мар палӑртнӑ вӑхӑт</string>
|
||||
<string name="track_author">Авттӑр</string>
|
||||
<string name="track_type">Тӗс</string>
|
||||
<string name="track_finished_reading_date">Вулама пӗтернӗ вӑхӑчӗ</string>
|
||||
<string name="track_started_reading_date">Вулама пуҫланӑ вӑхӑчӗ</string>
|
||||
<string name="track_finished_reading_date">Вуласа пӗтернӗ вӑхӑт</string>
|
||||
<string name="track_started_reading_date">Вулама пуҫланӑ вӑхӑт</string>
|
||||
<string name="track_start_date">Пуҫланӑ</string>
|
||||
<string name="track_status">Хал</string>
|
||||
<string name="status">Хал</string>
|
||||
@ -449,18 +449,18 @@
|
||||
<string name="want_to_read">Вуласшӑн</string>
|
||||
<string name="plan_to_read">Вулӑп</string>
|
||||
<string name="paused">Вӑхӑтлӑха чарнӑ</string>
|
||||
<string name="on_hold">Вӑхӑтлӑха чарнӑ</string>
|
||||
<string name="on_hold">Чарнӑ</string>
|
||||
<string name="dropped">Пӑрахнӑ</string>
|
||||
<string name="completed">Вӗҫленӗ</string>
|
||||
<string name="currently_reading">Халь вулатӑп</string>
|
||||
<string name="reading">Вулатӑп</string>
|
||||
<string name="confirm_delete_chapters">Эсӗ суйланӑ сыпӑксене катертесшӗнех-и\?</string>
|
||||
<string name="download_unread">Вуламан</string>
|
||||
<string name="download_unread">Вуламанине</string>
|
||||
<string name="download_all">Веҫех</string>
|
||||
<string name="download_custom">Урӑх шут йышӗ</string>
|
||||
<string name="download_10">Тепӗр 10 сыпӑк</string>
|
||||
<string name="download_5">Тепӗр 5 сыпӑка</string>
|
||||
<string name="download_1">Тепӗр сыпӑк</string>
|
||||
<string name="download_10">Малалли 10 сыпӑк</string>
|
||||
<string name="download_5">Малалли 5 сыпӑка</string>
|
||||
<string name="download_1">Малалли сыпӑка</string>
|
||||
<string name="custom_download">Палӑртнӑ шутне тиесе ил</string>
|
||||
<string name="manga_download">Тиесе ил</string>
|
||||
<string name="sort_by_upload_date">Тиенӗ вӑхӑчӗпе</string>
|
||||
@ -474,23 +474,23 @@
|
||||
<string name="chapter_downloading_progress">Тиенет (%1$d/%2$d)</string>
|
||||
<string name="chapter_downloading">Тиенет</string>
|
||||
<string name="chapter_queued">Черетре</string>
|
||||
<string name="manga_chapter_no_title">Ячӗ ҫук</string>
|
||||
<string name="manga_chapter_no_title">Хайлав ячӗ ҫук</string>
|
||||
<string name="manga_chapters_tab">Сыпӑксем</string>
|
||||
<string name="snack_add_to_library">Манкка вулавăша хушмалла\?</string>
|
||||
<string name="snack_add_to_library">Манкка вулавăша хушмалла-и\?</string>
|
||||
<string name="source_not_installed">Ҫӑл куҫа лартман: %1$s</string>
|
||||
<string name="copied_to_clipboard">Пайлашу буфере ӑтавланӑ:
|
||||
\n%1$s</string>
|
||||
<string name="delete_downloads_for_manga">Тиенӗ сыпӑксене катертмелле\?</string>
|
||||
<string name="delete_downloads_for_manga">Тиенӗ сыпӑксене катертмелле-и\?</string>
|
||||
<plurals name="manga_num_chapters">
|
||||
<item quantity="one">1 сыпӑк</item>
|
||||
<item quantity="other">%1$s сыпӑк</item>
|
||||
</plurals>
|
||||
<string name="manga_info_collapse">Сахалтарах</string>
|
||||
<string name="manga_info_collapse">Сахалрах</string>
|
||||
<string name="manga_info_expand">Ытларах</string>
|
||||
<string name="manga_info_about_label">Манкӑ ҫинчен</string>
|
||||
<string name="manga_removed_library">Вулавӑшран катерт</string>
|
||||
<string name="manga_added_library">Вулавӑша хуш</string>
|
||||
<string name="manga_info_full_title_label">Пуҫ элӗк</string>
|
||||
<string name="manga_info_full_title_label">Хайлав ячӗ</string>
|
||||
<string name="remove_from_library">Вулавӑшран катерт</string>
|
||||
<string name="in_library">Вулавăшра</string>
|
||||
<string name="add_to_library">Вулавӑша хуш</string>
|
||||
@ -525,12 +525,12 @@
|
||||
<string name="invalid_backup_file">Тӗрӗс мар янтӑв файлӗ</string>
|
||||
<string name="local_source_badge">Вырӑнти</string>
|
||||
<string name="updating_category">Пухмӑша ҫӗнетни</string>
|
||||
<string name="library_search_hint">Ячӗ е авттӑрӗ…</string>
|
||||
<string name="library_search_hint">Хайлав ячӗ е авттӑрӗ…</string>
|
||||
<string name="unknown_error">Паллӑ мар йӑнӑш</string>
|
||||
<string name="invalid_login">Кӗни йӑнӑшӗ</string>
|
||||
<string name="logout_success">Эсӗ халь тухрӑн</string>
|
||||
<string name="logout_success">Эсӗ тухрӑн</string>
|
||||
<string name="logout">Тух</string>
|
||||
<string name="logout_title">%1$s тухмалла\?</string>
|
||||
<string name="logout_title">“%1$s тухмалла-и\?</string>
|
||||
<string name="login_success">Ӑнӑҫлӑ кӗни</string>
|
||||
<string name="login">Кӗр</string>
|
||||
<string name="show_password">Кӗме сӑмах кӑтарт</string>
|
||||
@ -590,7 +590,7 @@
|
||||
<string name="whats_new">Мӗн ҫӗнни</string>
|
||||
<string name="pref_category_locale">Вырӑн</string>
|
||||
<string name="pref_category_theme">Тема</string>
|
||||
<string name="action_sort_date_added">Хушнӑ вӑхӑт</string>
|
||||
<string name="action_sort_date_added">Хушнӑ вӑхӑтпа</string>
|
||||
<string name="download_insufficient_space">Тиск ҫинче вырӑн ҫитмен пирки сыпӑксене тиесе илес ҫук</string>
|
||||
<string name="action_global_search_query">\"%1$s\" пур ҫӗрте шыра</string>
|
||||
<string name="pref_category_reading_mode">Вулав тытӑмӗ</string>
|
||||
@ -603,5 +603,13 @@
|
||||
<string name="group_downloader">Тиевсем</string>
|
||||
<string name="channel_complete">Вӗҫленӗ</string>
|
||||
<string name="channel_progress">Ӳсӗм</string>
|
||||
<string name="download_notifier_download_finish">Тиенчӗ</string>
|
||||
<string name="download_notifier_download_finish">Тиев вӗҫленӗ</string>
|
||||
<string name="channel_errors">Йӑнӑшсем</string>
|
||||
<string name="backup_restore_missing_trackers">Кӗмен сӑнанусем:</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed_multisource">Ҫӑл куҫа чарса ларт, анчах хушмасен ят-йышӗнче кӑтарт</string>
|
||||
<string name="pref_allow_nsfw_sources">NSFW ҫӑл куҫсем</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed">Ирӗк панӑ</string>
|
||||
<string name="pref_allow_nsfw_sources_blocked">Чарса лартнӑ</string>
|
||||
<string name="pref_remove_bookmarked_chapters">Картнӑ сыпӑксене катерт</string>
|
||||
<string name="pref_category_delete_chapters">Сыпӑксене катерт</string>
|
||||
</resources>
|
@ -149,8 +149,8 @@
|
||||
<string name="color_filter_a_value">A</string>
|
||||
<string name="pref_download_directory">Speicherort</string>
|
||||
<string name="pref_download_only_over_wifi">Nur über WLAN herunterladen</string>
|
||||
<string name="pref_remove_after_marked_as_read">Als gelesen markierte Kap. löschen</string>
|
||||
<string name="pref_remove_after_read">Nach dem Lesen löschen</string>
|
||||
<string name="pref_remove_after_marked_as_read">Nachdem manuell als gelesen markiert</string>
|
||||
<string name="pref_remove_after_read">Nach dem Lesen</string>
|
||||
<string name="custom_dir">Eigener Speicherort</string>
|
||||
<string name="disabled">Deaktiviert</string>
|
||||
<string name="last_read_chapter">Zuletzt gelesenes Kapitel</string>
|
||||
@ -603,4 +603,14 @@
|
||||
<string name="group_downloader">Downloads</string>
|
||||
<string name="channel_complete">Abgeschlossen</string>
|
||||
<string name="channel_progress">Fortschritt</string>
|
||||
<string name="channel_errors">Fehler</string>
|
||||
<string name="backup_restore_missing_trackers">Nicht-eingeloggte Tracker:</string>
|
||||
<string name="pref_allow_nsfw_sources">NSFW-Quellen</string>
|
||||
<string name="pref_allow_nsfw_sources_blocked">Blockiert</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed_multisource">Quelle blockieren, aber in der Erweiterungsliste anzeigen</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed">Erlaubt</string>
|
||||
<string name="pref_remove_bookmarked_chapters">Mit Lesezeichen versehene Kapitel löschen</string>
|
||||
<string name="pref_category_delete_chapters">Kapitel löschen</string>
|
||||
<string name="ext_nsfw_warning">Kann 18+ Inhalte enthalten</string>
|
||||
<string name="ext_nsfw_short">18+</string>
|
||||
</resources>
|
@ -603,4 +603,13 @@
|
||||
<string name="channel_complete">Ολοκληρωμένο</string>
|
||||
<string name="channel_progress">Η λήψη ολοκληρώθηκε</string>
|
||||
<string name="download_notifier_download_finish">Η λήψη ολοκληρώθηκε</string>
|
||||
<string name="channel_errors">Σφάλματα</string>
|
||||
<string name="backup_restore_missing_trackers">Ιχνηλάτες που δεν έχουν συνδεθεί:</string>
|
||||
<string name="pref_allow_nsfw_sources_blocked">Αποκλείστηκε</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed_multisource">Αποκλεισμός πηγής αλλά εμφάνιση στη λίστα επεκτάσεων</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed">Επιτρέπεται</string>
|
||||
<string name="pref_allow_nsfw_sources">Πηγές NSFW</string>
|
||||
<string name="pref_category_delete_chapters">Διαγραφή κεφαλαίων</string>
|
||||
<string name="ext_nsfw_warning">Μπορεί να περιέχει 18+ περιεχόμενο</string>
|
||||
<string name="ext_nsfw_short">18+</string>
|
||||
</resources>
|
@ -116,8 +116,8 @@
|
||||
<!-- Downloads section -->
|
||||
<string name="pref_download_directory">Ubicación de descargas</string>
|
||||
<string name="pref_download_only_over_wifi">Descargar sólo a través de Wi-Fi</string>
|
||||
<string name="pref_remove_after_marked_as_read">Eliminar cuando esta marcado como leído</string>
|
||||
<string name="pref_remove_after_read">Eliminar después de leer</string>
|
||||
<string name="pref_remove_after_marked_as_read">Despues de marcar manualmente como leído</string>
|
||||
<string name="pref_remove_after_read">Después de leer</string>
|
||||
<string name="custom_dir">Directorio personalizado</string>
|
||||
<!-- Sources section -->
|
||||
<!-- Sync section -->
|
||||
@ -635,4 +635,13 @@
|
||||
<string name="channel_complete">Completo</string>
|
||||
<string name="channel_progress">Progreso</string>
|
||||
<string name="channel_errors">Errores</string>
|
||||
<string name="backup_restore_missing_trackers">Rastreadores no conectados:</string>
|
||||
<string name="pref_allow_nsfw_sources">Fuentes NSFW</string>
|
||||
<string name="pref_allow_nsfw_sources_blocked">Bloqueado</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed_multisource">Bloquear fuente pero mostrarlo en la lista de extensiones</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed">Permitido</string>
|
||||
<string name="pref_remove_bookmarked_chapters">Borrar capítulos marcados</string>
|
||||
<string name="pref_category_delete_chapters">Borrar capítulos</string>
|
||||
<string name="ext_nsfw_warning">Puede contener contenido 18+</string>
|
||||
<string name="ext_nsfw_short">18+</string>
|
||||
</resources>
|
@ -2,16 +2,16 @@
|
||||
<resources>
|
||||
<string name="description_cover">عکس روی جلد مانگا</string>
|
||||
<plurals name="update_check_notification_ext_updates">
|
||||
<item quantity="one">بروزرسانی برای یک افرونه موجود است</item>
|
||||
<item quantity="other">بروزرسانی برای %d افرونه موجود است</item>
|
||||
<item quantity="one">آپدیت برای یک افرونه موجود است</item>
|
||||
<item quantity="other">آپدیت برای %d افرونه موجود است</item>
|
||||
</plurals>
|
||||
<string name="update_check_notification_update_available">نسخه جدید موجود است!</string>
|
||||
<string name="update_check_notification_download_error">خطا در دانلود</string>
|
||||
<string name="update_check_notification_download_complete">دانلود تکمیل شد</string>
|
||||
<string name="update_check_notification_download_in_progress">در حال دانلود…</string>
|
||||
<string name="update_check_notification_file_download">دانلود بروزرسانی</string>
|
||||
<string name="update_check_look_for_updates">در حال جستجوی به روزرسانی ها …</string>
|
||||
<string name="update_check_no_new_updates">هیچ بروزرسانی جدیدی موجود نیست</string>
|
||||
<string name="update_check_notification_file_download">دانلود آپدیت</string>
|
||||
<string name="update_check_look_for_updates">در حال جستجوی آپدیتها …</string>
|
||||
<string name="update_check_no_new_updates">هیچ آپدیت جدیدی موجود نیست</string>
|
||||
<string name="update_check_ignore">نادیده گرفتن</string>
|
||||
<string name="update_check_confirm">دانلود</string>
|
||||
<string name="file_select_icon">آیکون میانبر را انتخاب کنید</string>
|
||||
@ -19,7 +19,7 @@
|
||||
<string name="file_select_cover">عکس روی جلد را انتخاب کنید</string>
|
||||
<string name="notification_no_connection_body">اتصال در دسترس نیست</string>
|
||||
<string name="notification_no_connection_title">هم گام سازی کنسل شد</string>
|
||||
<string name="notification_not_connected_to_ac_body">دستگاه به منبع شارژ وصل نیست</string>
|
||||
<string name="notification_not_connected_to_ac_body">دستگاه به شارژر وصل نیست</string>
|
||||
<string name="notification_not_connected_to_ac_title">هم گام سازی کنسل شد</string>
|
||||
<string name="notification_first_add_to_library">لطفا قبل این کار مانگای موردنظر را به کتابخانه اضافه کنید</string>
|
||||
<string name="notification_cover_update_failed">آپدیت عکس روی جلد با خطا مواجه شد</string>
|
||||
@ -35,7 +35,7 @@
|
||||
<string name="notification_chapters_single_and_more">فصل %1$s و %2$d فصل دیگر</string>
|
||||
<string name="notification_chapters_single">فصل %1$s</string>
|
||||
<string name="notification_new_chapters">فصلهای جدید پیدا شدند</string>
|
||||
<string name="notification_update_progress">روند بروزرسانی: %1$d/%2$d</string>
|
||||
<string name="notification_update_progress">روند آپدیت: %1$d/%2$d</string>
|
||||
<string name="notification_check_updates">درحال بررسی برای فصلهای جدید</string>
|
||||
<string name="download_queue_error">دانلود فصلها با خطا مواجه شد. با مراجعه به قسمت دانلودها میتوانید دوباره تلاش کنید</string>
|
||||
<string name="copy">کپی</string>
|
||||
@ -131,7 +131,7 @@
|
||||
<string name="manga_info_full_title_label">عنوان</string>
|
||||
<string name="remove_from_library">حذف از کتابخانه</string>
|
||||
<string name="in_library">در کتابخانه</string>
|
||||
<string name="pref_refresh_library_tracking_summary">وضعیت خواندن، امتیاز و آخرین فصل خوانده شده را از سایت خدمات ردیابی بروزرسانی میکند</string>
|
||||
<string name="pref_refresh_library_tracking_summary">وضعیت خواندن، امتیاز و آخرین فصل خوانده شده را از سایت خدمات ردیابی آپدیت میکند</string>
|
||||
<string name="pref_refresh_library_tracking">تازه کردن ردیابی</string>
|
||||
<string name="tracking_info">همگام سازی یک طرفه برای به روز رسانی اطلاعات خواندن فصل در سایتهای خدمات ردیابی. برای ردیابی هر مانگا از تب ردیابی اقدام کنید.</string>
|
||||
<string name="webtoon_viewer">وب تون(Webtoon)</string>
|
||||
@ -144,7 +144,7 @@
|
||||
<string name="information_empty_library">کتابخانه خالی است, از قسمت مرور مانگاای اضافه کنید.</string>
|
||||
<string name="information_no_recent_manga">هیچ چیز مانگاای به تازگی خوانده شده</string>
|
||||
<string name="information_no_recent">هیچ فصل جدیدی یافت نشد</string>
|
||||
<string name="information_no_downloads">بارگیری فعالی وجود ندارد</string>
|
||||
<string name="information_no_downloads">صف خالی است</string>
|
||||
<string name="label_help">راهنما</string>
|
||||
<string name="label_extension_info">اطلاعات افزونه</string>
|
||||
<string name="label_extensions">افزونهها</string>
|
||||
@ -153,9 +153,9 @@
|
||||
<string name="label_categories">دسته بندی ها</string>
|
||||
<string name="label_sources">منابع</string>
|
||||
<string name="label_recent_manga">تاریخچه</string>
|
||||
<string name="label_recent_updates">بروزرسانیها</string>
|
||||
<string name="label_recent_updates">آپدیت ها</string>
|
||||
<string name="label_library">کتابخانه</string>
|
||||
<string name="label_download_queue">صف بارگیری</string>
|
||||
<string name="label_download_queue">صف دانلود</string>
|
||||
<string name="label_settings">تنضیمات</string>
|
||||
<string name="label_more">بیشتر</string>
|
||||
<string name="name">نام</string>
|
||||
@ -198,9 +198,9 @@
|
||||
<string name="pref_create_backup">تهیه نسخه پشتیبان</string>
|
||||
<string name="backup">پشتیبان گیری</string>
|
||||
<string name="pref_search_pinned_sources_only">فقط افزونههای پین شده شامل شوند</string>
|
||||
<string name="pref_enable_automatic_extension_updates">بررسی برای به افزونههای بروزرسانی شده</string>
|
||||
<string name="pref_enable_automatic_extension_updates">بررسی برای به افزونههای آپدیتشده</string>
|
||||
<string name="services">خدمات</string>
|
||||
<string name="pref_auto_update_manga_sync">بعد از خوانده شدن وضعیت فصل بروزرسانی شود</string>
|
||||
<string name="pref_auto_update_manga_sync">بعد از خواندهشدن، وضعیت فصل بروزرسانی شود</string>
|
||||
<string name="pref_download_new_categories">دسته بندی هایی که در دانلود شامل می شوند</string>
|
||||
<string name="pref_download_new">دانلود فصلهای جدید</string>
|
||||
<string name="fifth_to_last">پنجم به آخرین فصل خوانده شده</string>
|
||||
@ -248,7 +248,7 @@
|
||||
</plurals>
|
||||
<string name="action_bookmark">بوک مارک</string>
|
||||
<string name="channel_ext_updates">آپدیت افزونهها</string>
|
||||
<string name="channel_new_chapters">آپدیت فصل ها</string>
|
||||
<string name="channel_new_chapters">آپدیت فصلها</string>
|
||||
<string name="channel_library">کتابخانه</string>
|
||||
<string name="channel_common">عمومی</string>
|
||||
<string name="download_notifier_download_paused">دانلود متوقف شد</string>
|
||||
@ -259,7 +259,7 @@
|
||||
<string name="download_notifier_unknown_error">به دلیل خطای غیرمنتظره فصل دانلود نشد</string>
|
||||
<string name="download_notifier_title_error">خطا</string>
|
||||
<string name="download_notifier_downloader_title">سیستم دانلود</string>
|
||||
<string name="information_webview_outdated">لطفا برنامه WebView را برای سازگاری بهتر بروز کنید</string>
|
||||
<string name="information_webview_outdated">لطفا برنامه WebView را برای سازگاری بهتر آپدیت کنید</string>
|
||||
<string name="information_webview_required">WebView برای Tachiyomi مورد نیاز است</string>
|
||||
<string name="information_cloudflare_bypass_failure">عدم موفقیت در دور زدن Cloudflare</string>
|
||||
<string name="color_filter_a_value">opacity</string>
|
||||
@ -338,23 +338,23 @@
|
||||
<string name="ext_downloading">در حال بارگیری</string>
|
||||
<string name="ext_pending">در انتظار</string>
|
||||
<string name="ext_obsolete">منسوخ شده</string>
|
||||
<string name="ext_update">بروزرسانی</string>
|
||||
<string name="ext_updates_pending">بروزرسانیهای در انتظار</string>
|
||||
<string name="ext_update">آپدیت</string>
|
||||
<string name="ext_updates_pending">آپدیتهای در انتظار</string>
|
||||
<string name="all_lang">همه</string>
|
||||
<string name="all">همه</string>
|
||||
<string name="pref_library_update_categories">دسته بندی هایی که در به روزرسانی سراسری شامل می شوند</string>
|
||||
<string name="pref_library_update_categories">دستهبندیهایی که در به آپدیت سراسری شامل می شوند</string>
|
||||
<string name="default_category_summary">همیشه بپرس</string>
|
||||
<string name="default_category">کاتالوگ پیشفرض</string>
|
||||
<string name="pref_category_library_categories">کاتالوگها</string>
|
||||
<string name="pref_library_update_error_notification">خطاهای بروزرسانی در اعلان ها نمایش داده شود</string>
|
||||
<string name="pref_library_update_refresh_metadata_summary">وقتی کتابخانه بروزآوری میشود عکس روی جلد و اطلاعات مانگاها را نیز بروزآوری شود</string>
|
||||
<string name="pref_library_update_refresh_metadata">فراداده فقط به صورت خودکار بروز شود</string>
|
||||
<string name="pref_library_update_error_notification">خطاهای آپدیت در اعلانها نمایش داده شود</string>
|
||||
<string name="pref_library_update_refresh_metadata_summary">هنگام آپدیت عکس روی جلد و اطلاعات مانگا ها (در صورت تغییر) آپدیت شوند</string>
|
||||
<string name="pref_library_update_refresh_metadata">متادیتا فقط به صورت خودکار آپدیت شود</string>
|
||||
<string name="pref_update_only_non_completed">فقط مانگاهایی آپدیت شوند که تمام نشده</string>
|
||||
<string name="charging">درحال شارژ</string>
|
||||
<string name="wifi">وایفای</string>
|
||||
<string name="pref_library_update_restriction_summary">فقط وقتی بروز شود که شرایط برآورده میشوند</string>
|
||||
<string name="pref_library_update_restriction">محدودیتهای بروزرسانی کتابخانه</string>
|
||||
<string name="pref_library_update_prioritization">ترتیب بروزرسانی کتابخانه</string>
|
||||
<string name="pref_library_update_restriction_summary">در چه شرایطی کتابخانه آپدیت شود</string>
|
||||
<string name="pref_library_update_restriction">محدودیتهای آپدیت کتابخانه</string>
|
||||
<string name="pref_library_update_prioritization">ترتیب آپدیت کتابخانه</string>
|
||||
<string name="update_monthly">ماهانه</string>
|
||||
<string name="update_weekly">هفتگی</string>
|
||||
<string name="update_48hour">هر ۴۸ ساعت یکبار</string>
|
||||
@ -364,14 +364,14 @@
|
||||
<string name="update_6hour">هر ۶ ساعت یکبار</string>
|
||||
<string name="update_1hour">یک ساعت یکبار</string>
|
||||
<string name="update_never">فقط دستی</string>
|
||||
<string name="pref_library_update_interval">بروزرسانی کتابخانه چند وقت یکبار</string>
|
||||
<string name="pref_category_library_update">بروزرسانیها</string>
|
||||
<string name="pref_library_update_interval">فرکانس آپدیت کتابخانه</string>
|
||||
<string name="pref_category_library_update">آپدیتها</string>
|
||||
<string name="default_columns">پیشفرض</string>
|
||||
<string name="landscape">افقی</string>
|
||||
<string name="portrait">عمودی</string>
|
||||
<string name="pref_library_columns">موارد در هر ردیف</string>
|
||||
<string name="pref_category_display">نمایش</string>
|
||||
<string name="hide_notification_content">مخفی کردن ناتیفیکشنها</string>
|
||||
<string name="hide_notification_content">مخفی کردن اعلانها</string>
|
||||
<string name="secure_screen_summary">محتویات برنامه هنگام تعویض برنامه ها مخفی و از عکس گرفتن از صفحه برنامه جلوگیری شود</string>
|
||||
<string name="secure_screen">صفحه نمایش امن</string>
|
||||
<plurals name="lock_after_mins">
|
||||
@ -383,7 +383,7 @@
|
||||
<string name="lock_when_idle">قفل صفحه هنگام بیکاری</string>
|
||||
<string name="lock_with_biometrics">با بیومتریک قفل کنید</string>
|
||||
<string name="pref_category_security">امنیت</string>
|
||||
<string name="pref_manage_notifications">مدیریت ناتیفیکیشنها</string>
|
||||
<string name="pref_manage_notifications">مدیریت اعلانها</string>
|
||||
<string name="pref_confirm_exit">هنگام خروج از برنامه تایید گرفته شود</string>
|
||||
<string name="pref_date_format">فرمت تاریخ</string>
|
||||
<string name="system_default">پیشفرض سیستم</string>
|
||||
@ -407,7 +407,7 @@
|
||||
<string name="pref_category_reader">کتابخوان</string>
|
||||
<string name="pref_category_library">کتابخانه</string>
|
||||
<string name="pref_category_general">عمومی</string>
|
||||
<string name="short_recent_updates">بروزرسانیها</string>
|
||||
<string name="short_recent_updates">آپدیتها</string>
|
||||
<string name="app_not_available">برنامه موجود نیست</string>
|
||||
<string name="loading">درحال بارگیری…</string>
|
||||
<string name="action_webview_refresh">بازآوری</string>
|
||||
@ -480,7 +480,7 @@
|
||||
<string name="label_downloaded_only">فقط دانلود شده ها</string>
|
||||
<string name="pref_acra_summary">به رفع اشکالات برنامه کمک می کند. هیچ گونه داده حساسی ارسال نخواهد شد</string>
|
||||
<string name="pref_enable_acra">ارسال گزارش های خرابی</string>
|
||||
<string name="check_for_updates">بررسی برای به روز رسانی</string>
|
||||
<string name="check_for_updates">بررسی برای به آپدیتها</string>
|
||||
<string name="licenses">مجوزهای منبع باز</string>
|
||||
<string name="notices">اطلاعیه های نسخه پیش نمایش</string>
|
||||
<string name="build_time">زمان ساخت</string>
|
||||
@ -488,7 +488,7 @@
|
||||
<string name="website">وب سایت</string>
|
||||
<string name="battery_optimization_setting_activity_not_found">تنظیمات دستگاه باز نشد</string>
|
||||
<string name="battery_optimization_disabled">بهینه سازی باتری از قبل غیرفعال شده است</string>
|
||||
<string name="pref_disable_battery_optimization_summary">به بروزرسانی ها و پشتیبان گیری از کتابخانه در حالت پس زمینه کمک می کند</string>
|
||||
<string name="pref_disable_battery_optimization_summary">به بروزرسانیها و پشتیبانگیری از کتابخانه در حالت پس زمینه کمک میکند</string>
|
||||
<string name="pref_disable_battery_optimization">غیر فعال کردن بهینه سازی باتری</string>
|
||||
<string name="pref_refresh_library_covers">تازه کردن عکس روی جلد مانگاها</string>
|
||||
<string name="clear_database_completed">اطلاعات حذف شدند</string>
|
||||
@ -535,8 +535,8 @@
|
||||
<string name="action_edit">ویرایش</string>
|
||||
<string name="action_disable_all">غیر فعال کردن همه</string>
|
||||
<string name="action_enable_all">فعال کردن همه</string>
|
||||
<string name="action_update_library">به روز رسانی کتابخانه</string>
|
||||
<string name="action_update">بروز رسانی</string>
|
||||
<string name="action_update_library">آپدیت کتابخانه</string>
|
||||
<string name="action_update">آپدیت</string>
|
||||
<string name="action_delete">پاک کردن</string>
|
||||
<string name="action_remove_bookmark">حذف نشان</string>
|
||||
<string name="action_download">دانلود شود</string>
|
||||
@ -565,4 +565,38 @@
|
||||
<string name="chapters">فصلها</string>
|
||||
<string name="manga">مانگا</string>
|
||||
<string name="categories">کاتالوگها</string>
|
||||
<string name="group_backup_restore">پشتیبان گیری و بازیابی</string>
|
||||
<string name="group_downloader">دانلودها</string>
|
||||
<string name="channel_errors">خطاها</string>
|
||||
<string name="channel_complete">تکمیل شده</string>
|
||||
<string name="channel_progress">پیشرفت</string>
|
||||
<string name="download_notifier_download_finish">دانلود تکمیل شد</string>
|
||||
<string name="download_insufficient_space">به دلیل فضای کم دیسک امکان دانلود فصلها وجود ندارد</string>
|
||||
<string name="loader_not_implemented_error">منبع یافت نشد</string>
|
||||
<plurals name="num_trackers">
|
||||
<item quantity="one">۱ ردیاب</item>
|
||||
<item quantity="other">%d ردیاب</item>
|
||||
</plurals>
|
||||
<plurals name="manga_num_chapters">
|
||||
<item quantity="one">۱ فصل</item>
|
||||
<item quantity="other">%1$s فصل</item>
|
||||
</plurals>
|
||||
<string name="unknown_status">وضعیت ناشناخته</string>
|
||||
<string name="unknown_author">نویسنده ناشناخته</string>
|
||||
<string name="no_pinned_sources">شما هیچ منبع پینشدهای ندارید</string>
|
||||
<string name="action_global_search_query">«%1$s» در همه منابع جستجو شود</string>
|
||||
<string name="whats_new">اخبار</string>
|
||||
<string name="pref_dns_over_https_summary">برای اعمال تغییرات برنامه نیاز به راه اندازی مجدد دارد</string>
|
||||
<string name="label_network">شبکه</string>
|
||||
<string name="backup_restore_missing_trackers">ردیابیهایی که به سیستم وارد نشده اند:</string>
|
||||
<string name="pref_category_reading_mode">حالت خواندن</string>
|
||||
<string name="pref_jump_to_chapters">برنامه در تب فصلها باز شود</string>
|
||||
<string name="pref_category_locale">محلی</string>
|
||||
<string name="pref_category_theme">تم</string>
|
||||
<string name="action_sort_descending">نزولی</string>
|
||||
<string name="action_disable">غیرفعال کردن</string>
|
||||
<string name="action_open_in_settings">در تنظیمات باز شود</string>
|
||||
<string name="action_download_unread">دانلود فصلهای خواندهنشده</string>
|
||||
<string name="action_sort_date_added">تاریخ اضافه شدن</string>
|
||||
<string name="updated_version">به نسخه v%1$s آپدیت شد</string>
|
||||
</resources>
|
@ -249,8 +249,8 @@
|
||||
<string name="color_filter_a_value">Alpha</string>
|
||||
<string name="pref_download_directory">Lataus kansio</string>
|
||||
<string name="pref_download_only_over_wifi">Lataa vain Wi-Fi-yhteydellä</string>
|
||||
<string name="pref_remove_after_marked_as_read">Poista luetuksi merkitsemisen jälkeen</string>
|
||||
<string name="pref_remove_after_read">Poista lukemisen jälkeen</string>
|
||||
<string name="pref_remove_after_marked_as_read">Manuaalisesti luetuksi merkitsemisen jälkeen</string>
|
||||
<string name="pref_remove_after_read">Lukemisen jälkeen</string>
|
||||
<string name="custom_dir">Mukautettu kansio</string>
|
||||
<string name="disabled">Pois käytöstä</string>
|
||||
<string name="last_read_chapter">Viimeksi luettu luku</string>
|
||||
@ -603,4 +603,14 @@
|
||||
<string name="channel_complete">Valmis</string>
|
||||
<string name="channel_progress">Edistyminen</string>
|
||||
<string name="download_notifier_download_finish">Lataus valmis</string>
|
||||
<string name="channel_errors">Virheet</string>
|
||||
<string name="backup_restore_missing_trackers">Seurantapalvelimet joihin et ole kirjautunut sisään:</string>
|
||||
<string name="pref_allow_nsfw_sources_blocked">Estetty</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed_multisource">Estä lähde, mutta näytä laajennusluettelossa</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed">Sallittu</string>
|
||||
<string name="pref_allow_nsfw_sources">NSFW-lähteet</string>
|
||||
<string name="pref_remove_bookmarked_chapters">Poista kirjanmerkityt luvut</string>
|
||||
<string name="pref_category_delete_chapters">Poista luvut</string>
|
||||
<string name="ext_nsfw_warning">Voi sisältää 18+ sisältöä</string>
|
||||
<string name="ext_nsfw_short">18+</string>
|
||||
</resources>
|
@ -55,7 +55,7 @@
|
||||
<string name="action_edit_cover">Baguhin ang pabalat</string>
|
||||
<string name="action_move_category">Magtakda ng kategorya</string>
|
||||
<string name="action_add_category">Magdagdag</string>
|
||||
<string name="action_edit_categories">Isaayos</string>
|
||||
<string name="action_edit_categories">Ayusin</string>
|
||||
<string name="action_rename_category">Baguhin ang pangalan</string>
|
||||
<string name="action_add">Magdagdag</string>
|
||||
<string name="action_edit">Isaayos</string>
|
||||
@ -90,7 +90,7 @@
|
||||
<string name="confirm_exit">Pindutin muli para makaalis</string>
|
||||
<string name="unlock_app">Buksan ang Tachiyomi</string>
|
||||
<string name="history">Kasaysayan</string>
|
||||
<string name="track">Sinusundan</string>
|
||||
<string name="track">Sinusubaybayan</string>
|
||||
<string name="chapters">Mga Kabanata</string>
|
||||
<string name="manga">Mga Manga</string>
|
||||
<string name="categories">Mga Kategorya</string>
|
||||
@ -142,7 +142,7 @@
|
||||
<string name="pref_theme_mode">Madilim na tema</string>
|
||||
<string name="pref_category_about">Patungkol</string>
|
||||
<string name="pref_category_advanced">Higit pa</string>
|
||||
<string name="pref_category_tracking">Pagsunod</string>
|
||||
<string name="pref_category_tracking">Pagsubaybay</string>
|
||||
<string name="pref_category_downloads">Pag-download</string>
|
||||
<string name="pref_category_reader">Pagbása</string>
|
||||
<string name="pref_category_library">Aklatan</string>
|
||||
@ -154,8 +154,8 @@
|
||||
<string name="last_read_chapter">Huling nabásang kabanata</string>
|
||||
<string name="disabled">Sarado</string>
|
||||
<string name="custom_dir">Pinili kong lugar</string>
|
||||
<string name="pref_remove_after_marked_as_read">Burahin kung nabása na</string>
|
||||
<string name="pref_remove_after_read">Burahin matapos basahin</string>
|
||||
<string name="pref_remove_after_marked_as_read">Kung nabása na</string>
|
||||
<string name="pref_remove_after_read">Matapos basahin</string>
|
||||
<string name="pref_download_only_over_wifi">Mag-download lamang kapag naka-wifi</string>
|
||||
<string name="pref_download_directory">Lugar ng paglalagyan</string>
|
||||
<string name="webtoon_side_padding_25">25%</string>
|
||||
@ -253,7 +253,7 @@
|
||||
<string name="ext_install">I-install</string>
|
||||
<string name="ext_obsolete">Wala na</string>
|
||||
<string name="ext_update">Isapanahon</string>
|
||||
<string name="ext_updates_pending">Mga nakabinbin</string>
|
||||
<string name="ext_updates_pending">Isapanahon</string>
|
||||
<string name="all_lang">Lahat</string>
|
||||
<string name="all">Lahat</string>
|
||||
<string name="pref_library_update_categories">Kategoryang kasama sa panlahat na update</string>
|
||||
@ -262,7 +262,7 @@
|
||||
<item quantity="other">%d (na) kategorya</item>
|
||||
</plurals>
|
||||
<string name="default_category_summary">Palaging tanungin</string>
|
||||
<string name="default_category">Lagayan</string>
|
||||
<string name="default_category">Panimulang lagayan</string>
|
||||
<string name="pref_library_update_refresh_metadata_summary">Tumingin ng mga bagong pabalat at detalye tuwing nagsasapanahon</string>
|
||||
<string name="pref_library_update_error_notification">Abiso sa pagpalya ng update</string>
|
||||
<string name="pref_category_library_categories">Mga Kategorya</string>
|
||||
@ -294,7 +294,7 @@
|
||||
<string name="secure_screen_summary">Itago ang nilalaman ng app habang nagpapalit ng app at harangin ang mga screenshot</string>
|
||||
<string name="secure_screen">Bantayán ang iskrin</string>
|
||||
<string name="pref_jump_to_chapters">Buksan agad ang kabanata</string>
|
||||
<string name="pref_read_with_tapping_inverted">Baliktarin ang pag-tap</string>
|
||||
<string name="pref_read_with_tapping_inverted">Baliktad na pagpindot</string>
|
||||
<string name="backup_restore_missing_sources">Nawawalang (mga) pinagkunan:</string>
|
||||
<string name="invalid_backup_file_missing_manga">Walang manga ang backup.</string>
|
||||
<string name="invalid_backup_file_missing_data">May kulang na data ang file.</string>
|
||||
@ -311,9 +311,9 @@
|
||||
<string name="pref_create_backup_summ">Magagamit para maibalik ang kasalukuyang Aklatan</string>
|
||||
<string name="pref_create_backup">Gumawa ng backup</string>
|
||||
<string name="backup">Pag-backup</string>
|
||||
<string name="pref_search_pinned_sources_only">Isama lamang ang mga naka-pin na pinagkukunan</string>
|
||||
<string name="pref_search_pinned_sources_only">Isama lamang ang mga naka-pin</string>
|
||||
<string name="pref_enable_automatic_extension_updates">Tumingin ng update sa dugtong</string>
|
||||
<string name="tracking_info">Isahang pagsabay (sync) para ma-update ang bilang ng nabásang kabanata sa mga serbisyo ng panunundan (tracking services). Isaayos ang Pagsunod para sa mga manga sa kanilang mga tab ng Pagsunod.</string>
|
||||
<string name="tracking_info">Isahang pagsabay (sync) para ma-update ang bilang ng nabásang kabanata sa mga tagasubaybay (tracking services). Isaayos ang Pagsubaybay para sa mga manga sa kanilang mga tab ng Pagsubaybay.</string>
|
||||
<string name="services">Mga Serbisyo</string>
|
||||
<string name="pref_auto_update_manga_sync">I-update ang bahagdang nabása pagkabása</string>
|
||||
<string name="pref_download_new_categories">Mga kategoryang kasama sa download</string>
|
||||
@ -330,7 +330,7 @@
|
||||
<string name="tapping_inverted_vertical">Patayo</string>
|
||||
<string name="tapping_inverted_horizontal">Pahiga</string>
|
||||
<string name="channel_ext_updates">Mga update sa dugtong</string>
|
||||
<string name="tapping_inverted_none">Wala</string>
|
||||
<string name="tapping_inverted_none">Hindi</string>
|
||||
<string name="channel_new_chapters">Mga update sa kabanata</string>
|
||||
<string name="channel_library">Aklatan</string>
|
||||
<string name="channel_common">Komon</string>
|
||||
@ -356,7 +356,7 @@
|
||||
<string name="update_check_notification_download_in_progress">Dina-download…</string>
|
||||
<string name="update_check_notification_file_download">I-download ang update</string>
|
||||
<string name="update_check_look_for_updates">Naghahanap ng mga update…</string>
|
||||
<string name="update_check_no_new_updates">Walang mga bagong update</string>
|
||||
<string name="update_check_no_new_updates">Walang bagong update</string>
|
||||
<string name="update_check_ignore">Balewalain</string>
|
||||
<string name="update_check_confirm">I-download</string>
|
||||
<string name="file_select_icon">Pumili ng shortcut icon</string>
|
||||
@ -394,7 +394,7 @@
|
||||
<string name="download_queue_error">Di ma-download ang (mga) kabanata. Maaari mo uli itong subukan sa Mga Dina-download</string>
|
||||
<string name="copy">Kopyahin</string>
|
||||
<string name="migrate">Lumipat</string>
|
||||
<string name="migration_selection_prompt">Pumili ng paglilipatang pinagkukunan</string>
|
||||
<string name="migration_selection_prompt">Pumili ng paglilipatan</string>
|
||||
<string name="migration_dialog_what_to_include">Pumili ng data na isasama</string>
|
||||
<string name="migration_info">Pindutin para makapili ng lilipatang pinagkukunan</string>
|
||||
<string name="recent_manga_time">Kab. %1$s - %2$s</string>
|
||||
@ -445,7 +445,7 @@
|
||||
<string name="plan_to_read">Binabalak</string>
|
||||
<string name="paused">Hininto</string>
|
||||
<string name="on_hold">Tinigil</string>
|
||||
<string name="completed">Natapos</string>
|
||||
<string name="completed">Tapos na</string>
|
||||
<string name="dropped">Binitawan</string>
|
||||
<string name="currently_reading">Kasalukuyang binabása</string>
|
||||
<string name="reading">Binabása</string>
|
||||
@ -513,7 +513,7 @@
|
||||
<string name="pinned_sources">Naka-pin</string>
|
||||
<string name="last_used_source">Huling ginamit</string>
|
||||
<string name="other_source">Iba pa</string>
|
||||
<string name="local_source">Lokál na bukál</string>
|
||||
<string name="local_source">Lokál na pinagkukunan</string>
|
||||
<string name="http_error_hint">Bisitahin ang site sa WebView</string>
|
||||
<string name="no_results_found">Walang resultang nakita</string>
|
||||
<string name="no_more_results">Wala na\'ng (mga) resulta</string>
|
||||
@ -535,15 +535,15 @@
|
||||
<string name="login_success">Naka-login ka na</string>
|
||||
<string name="login">Mag-login</string>
|
||||
<string name="show_password">Ipakita ang password</string>
|
||||
<string name="password">Password</string>
|
||||
<string name="password">Hudyat (password)</string>
|
||||
<string name="email">Email address</string>
|
||||
<string name="username">Sagisag</string>
|
||||
<string name="username">Sagisag (username)</string>
|
||||
<string name="login_title">Mag-login sa %1$s</string>
|
||||
<plurals name="download_queue_summary">
|
||||
<item quantity="one">Isa na lang ang natitira</item>
|
||||
<item quantity="other">%1$s na lang ang natitira</item>
|
||||
</plurals>
|
||||
<string name="downloaded_only_summary">Sinasala ang lahat ng manga ng Aklatan</string>
|
||||
<string name="downloaded_only_summary">Isalâ ang Aklatan</string>
|
||||
<string name="label_downloaded_only">Mga na-download lang</string>
|
||||
<string name="pref_acra_summary">Nakatutulong sa pag-ayos sa mga bug. Walang sensitibong data ang ipapadala</string>
|
||||
<string name="pref_enable_acra">Ipadala ang mga ulat ng pag-crash</string>
|
||||
@ -559,8 +559,8 @@
|
||||
<string name="battery_optimization_disabled">Nakapatay na ang pag-o-optimisa sa baterya</string>
|
||||
<string name="pref_disable_battery_optimization">Patayin ang pag-o-optimisa sa baterya</string>
|
||||
<string name="pref_disable_battery_optimization_summary">Nakatutulong sa gawaing-likuran na pagsasapanahon at pag-backup</string>
|
||||
<string name="pref_refresh_library_tracking_summary">Inia-update ang estado, iskor, at huling nabásang kabanata mula sa mga serbisyo ng panunundan</string>
|
||||
<string name="pref_refresh_library_tracking">Sariwain ang pagsunod</string>
|
||||
<string name="pref_refresh_library_tracking_summary">Inia-update ang estado, iskor, at huling nabásang kabanata mula sa mga tagasubaybay (tracking services)</string>
|
||||
<string name="pref_refresh_library_tracking">Sariwain ang pagsubaybay</string>
|
||||
<string name="pref_refresh_library_covers">Sariwain ang pabalat ng mga manga</string>
|
||||
<string name="clear_database_completed">Binura na</string>
|
||||
<string name="clear_database_confirmation">Sigurado ka ba\? Mawawala ang datos ng mga manga na wala sa Aklatan mo</string>
|
||||
@ -584,18 +584,31 @@
|
||||
<item quantity="other">Naibalik sa loob ng %1$s na may %2$s (na) mga error</item>
|
||||
</plurals>
|
||||
<string name="restore_completed">Naibalik na</string>
|
||||
<string name="backup_restore_content">Ginagamit ng Pagbalik ang mga pinagkukunan para makuha ang mga data, maaaring makagastos ka dahil rito.
|
||||
<string name="backup_restore_content">Ginagamit ng Pagbalik ang mga pinagkukunan para kunin ang data, maaari kang makagastos dahil rito.
|
||||
\n
|
||||
\nSiguraduhin mong na-install mo na ang lahat ng mga kinakailangang dugtong at naka-login ka na sa mga pinagkukunan at serbisyo ng panunundan bago ka magpanumbalik.</string>
|
||||
<string name="restoring_backup">Pinapanumbalik</string>
|
||||
\nSiguraduhing na-install mo na ang mga lahat ng mga kinakailangang dugtong at naka-login ka na sa lahat ng mga pinagkukunan at tagasubaybay (tracking services) bago mo simulan ang pagbalik.</string>
|
||||
<string name="restoring_backup">Binabalik</string>
|
||||
<string name="creating_backup_error">Pumalya sa pag-backup</string>
|
||||
<string name="creating_backup">Bina-backup</string>
|
||||
<string name="backup_choice">Anong gusto mong i-backup\?</string>
|
||||
<string name="backup_choice">Anong iba-backup mo\?</string>
|
||||
<string name="backup_in_progress">Bina-backup na</string>
|
||||
<string name="restore_duration">%02d (na) min, %02d (na) seg</string>
|
||||
<plurals name="num_trackers">
|
||||
<item quantity="one">Isang tagatunton</item>
|
||||
<item quantity="other">%d (na) tagatunton</item>
|
||||
<item quantity="one">Isang tagasubaybay</item>
|
||||
<item quantity="other">%d (na) tagasubaybay</item>
|
||||
</plurals>
|
||||
<string name="no_pinned_sources">Wala kang naka-pin na pinagkukunan</string>
|
||||
<string name="group_backup_restore">Pag-backup at Pagbalik</string>
|
||||
<string name="group_downloader">Mga Download</string>
|
||||
<string name="channel_complete">Tapos na</string>
|
||||
<string name="channel_errors">Mga Error</string>
|
||||
<string name="channel_progress">Takbo</string>
|
||||
<string name="download_notifier_download_finish">Tapos na sa pag-download</string>
|
||||
<string name="backup_restore_missing_trackers">Di naka-login sa (mga) tagasubaybay:</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed_multisource">Harangan pero ipakita sa Mga Dugtong</string>
|
||||
<string name="pref_allow_nsfw_sources_blocked">Harangan</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed">Payagan</string>
|
||||
<string name="pref_allow_nsfw_sources">Mga NSFW</string>
|
||||
<string name="pref_remove_bookmarked_chapters">Burahin ang mga tinandaan</string>
|
||||
<string name="pref_category_delete_chapters">Magbura ng kabanata</string>
|
||||
</resources>
|
@ -593,4 +593,7 @@
|
||||
<string name="channel_progress">Kemajuan</string>
|
||||
<string name="download_notifier_download_finish">Unduhan selesai</string>
|
||||
<string name="channel_errors">error</string>
|
||||
<string name="backup_restore_missing_trackers">Pelacakan tidak tersinkronisasi di:</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed">Diizinkan</string>
|
||||
<string name="pref_allow_nsfw_sources">Sumber NSFW</string>
|
||||
</resources>
|
@ -3,8 +3,8 @@
|
||||
<string name="name">Nome</string>
|
||||
<!-- Activities and fragments labels (toolbar title) -->
|
||||
<string name="label_settings">Impostazioni</string>
|
||||
<string name="label_download_queue">Coda degli scaricamenti</string>
|
||||
<string name="label_library">Collezione</string>
|
||||
<string name="label_download_queue">Coda di download</string>
|
||||
<string name="label_library">Libreria</string>
|
||||
<string name="label_recent_manga">Cronologia</string>
|
||||
<string name="label_recent_updates">Aggiornamenti</string>
|
||||
<string name="label_categories">Categorie</string>
|
||||
@ -17,7 +17,7 @@
|
||||
<string name="action_filter_unread">Non letti</string>
|
||||
<string name="action_filter_read">Letti</string>
|
||||
<string name="action_filter_empty">Rimuovi filtri</string>
|
||||
<string name="action_sort_alpha">In ordine alfabetico</string>
|
||||
<string name="action_sort_alpha">Ordine alfabetico</string>
|
||||
<string name="action_sort_last_read">Ultimi letti</string>
|
||||
<string name="action_search">Ricerca</string>
|
||||
<string name="action_select_all">Seleziona tutto</string>
|
||||
@ -251,7 +251,7 @@
|
||||
<!-- Downloads activity and service -->
|
||||
<string name="download_queue_error">Impossibile scaricare i capitoli. Puoi provare di nuovo nella sezione scaricamento</string>
|
||||
<!-- Library update service notifications -->
|
||||
<string name="notification_update_progress">Progressione aggiornamento: %1$d/%2$d</string>
|
||||
<string name="notification_update_progress">Progresso dell\'aggiornamento: %1$d/%2$d</string>
|
||||
<string name="notification_new_chapters">Nuovi capitoli trovati</string>
|
||||
<string name="notification_cover_update_failed">Impossibile aggiornare la copertina</string>
|
||||
<string name="notification_first_add_to_library">Prima di compiere questa azione per favore aggiungi il manga alla libreria</string>
|
||||
@ -270,15 +270,15 @@
|
||||
<string name="update_check_look_for_updates">Ricerca aggiornamenti…</string>
|
||||
<!--UpdateCheck Notifications-->
|
||||
<string name="update_check_notification_file_download">Scarica aggiornamento</string>
|
||||
<string name="update_check_notification_download_in_progress">Scaricamento…</string>
|
||||
<string name="update_check_notification_download_complete">Scaricamento completato</string>
|
||||
<string name="update_check_notification_download_error">Errore di scaricamento</string>
|
||||
<string name="update_check_notification_download_in_progress">Download in corso…</string>
|
||||
<string name="update_check_notification_download_complete">Download completato</string>
|
||||
<string name="update_check_notification_download_error">Errore di download</string>
|
||||
<string name="update_check_notification_update_available">Aggiornamento disponibile!</string>
|
||||
<!--Content Description-->
|
||||
<string name="description_cover">Copertina del manga</string>
|
||||
<!-- Information Text -->
|
||||
<string name="information_no_downloads">Nessuno scaricamento</string>
|
||||
<string name="information_no_recent">Nessun aggiornamento recenti</string>
|
||||
<string name="information_no_downloads">Nessun download in coda</string>
|
||||
<string name="information_no_recent">Nessun aggiornamento recente</string>
|
||||
<string name="information_no_recent_manga">Non è stato letto niente di recente</string>
|
||||
<string name="information_empty_library">La tua libreria è vuota. Aggiungi dei contenuti alla tua libreria dalle fonti.</string>
|
||||
<!-- Download Notification -->
|
||||
@ -340,7 +340,7 @@
|
||||
<string name="download_notifier_download_paused">Scaricamento in pausa</string>
|
||||
<string name="label_migration">Migrazione etichette</string>
|
||||
<string name="label_extensions">Estensioni</string>
|
||||
<string name="label_extension_info">Info estensioni</string>
|
||||
<string name="label_extension_info">Info estensione</string>
|
||||
<string name="action_global_search">Ricerca globale</string>
|
||||
<string name="action_display_download_badge">Indicatore capitoli scaricati</string>
|
||||
<string name="action_reset">Reimposta</string>
|
||||
@ -630,4 +630,5 @@
|
||||
<item quantity="one">1 tracciatore</item>
|
||||
<item quantity="other">%d tracciatori</item>
|
||||
</plurals>
|
||||
<string name="channel_progress">Progresso</string>
|
||||
</resources>
|
@ -14,14 +14,14 @@
|
||||
<string name="label_backup">バックアップ</string>
|
||||
<string name="action_settings">設定</string>
|
||||
<string name="action_filter">フィルター</string>
|
||||
<string name="action_filter_downloaded">ダウンロードした</string>
|
||||
<string name="action_filter_downloaded">ダウンロード済み</string>
|
||||
<string name="action_filter_bookmarked">お気に入り</string>
|
||||
<string name="action_filter_unread">未読</string>
|
||||
<string name="action_filter_read">既読</string>
|
||||
<string name="action_filter_empty">フィルタを削除</string>
|
||||
<string name="action_sort_alpha">アルファベット順</string>
|
||||
<string name="action_sort_total">すべての章</string>
|
||||
<string name="action_sort_last_read">最後に読んだ</string>
|
||||
<string name="action_sort_total">章の数順</string>
|
||||
<string name="action_sort_last_read">最後に読んだ日時順</string>
|
||||
<string name="action_search">検索</string>
|
||||
<string name="action_global_search">グローバル検索</string>
|
||||
<string name="action_select_all">すべて選択</string>
|
||||
@ -53,7 +53,7 @@
|
||||
<string name="action_open_in_browser">ブラウザで開く</string>
|
||||
<string name="action_display_mode">表示モード</string>
|
||||
<string name="action_display">表示</string>
|
||||
<string name="action_display_download_badge">バッジをダウンロードする</string>
|
||||
<string name="action_display_download_badge">ダウンロードバッジ</string>
|
||||
<string name="action_cancel">キャンセル</string>
|
||||
<string name="action_share">シェア</string>
|
||||
<string name="action_save">保存</string>
|
||||
@ -399,7 +399,7 @@
|
||||
<string name="want_to_read">読みたい</string>
|
||||
<string name="other_source">他</string>
|
||||
<string name="label_more">その他</string>
|
||||
<string name="action_sort_latest_chapter">最新章</string>
|
||||
<string name="action_sort_latest_chapter">最新章の更新日付順</string>
|
||||
<string name="action_view_chapters">章を見る</string>
|
||||
<string name="action_cancel_all">全てキャンセル</string>
|
||||
<string name="pref_theme_mode">ダークモード</string>
|
||||
@ -439,7 +439,7 @@
|
||||
<string name="label_downloaded_only">ダウンロード済みのみ</string>
|
||||
<string name="check_for_updates">更新を確認</string>
|
||||
<string name="licenses">オープンソースライセンス</string>
|
||||
<string name="notices">ビルド通知をプレビュー</string>
|
||||
<string name="notices">プレビュービルドの更新情報</string>
|
||||
<string name="website">Webサイト</string>
|
||||
<string name="battery_optimization_setting_activity_not_found">デバイス設定を開きませんでした</string>
|
||||
<string name="battery_optimization_disabled">バッテリー最適化は既に無効です</string>
|
||||
@ -591,5 +591,6 @@
|
||||
<string name="action_global_search_query">グローバルで「%1$s」を探す</string>
|
||||
<string name="pref_category_locale">ロカール</string>
|
||||
<string name="pref_category_theme">テーマ</string>
|
||||
<string name="action_sort_date_added">日付</string>
|
||||
<string name="action_sort_date_added">ライブラリへの追加日付順</string>
|
||||
<string name="channel_errors">エラー</string>
|
||||
</resources>
|
@ -154,8 +154,8 @@
|
||||
<string name="color_filter_a_value">A</string>
|
||||
<string name="pref_download_directory">Lokasi muat turun</string>
|
||||
<string name="pref_download_only_over_wifi">Hanya muat turun melalui Wi-Fi</string>
|
||||
<string name="pref_remove_after_marked_as_read">Padam apabila ditandakan sebagai dibaca</string>
|
||||
<string name="pref_remove_after_read">Padam setelah dibaca</string>
|
||||
<string name="pref_remove_after_marked_as_read">Selepas ditandakan sebagai dibaca secara manual</string>
|
||||
<string name="pref_remove_after_read">Setelah membaca</string>
|
||||
<string name="custom_dir">Lokasi tersuai</string>
|
||||
<string name="disabled">Dinyahaktifkan</string>
|
||||
<string name="last_read_chapter">Bab terakhir dibaca</string>
|
||||
@ -592,4 +592,14 @@
|
||||
<string name="group_backup_restore">Sandaran dan memulih</string>
|
||||
<string name="group_downloader">Muat turun</string>
|
||||
<string name="channel_complete">Selesai</string>
|
||||
<string name="channel_errors">Ralat</string>
|
||||
<string name="backup_restore_missing_trackers">Penjejak yang tidak dilog masuk:</string>
|
||||
<string name="pref_allow_nsfw_sources">Sumber NSFW</string>
|
||||
<string name="pref_allow_nsfw_sources_blocked">Disekat</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed_multisource">Sekat sumber tetapi tunjuk dalam senarai sambungan</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed">Dibenarkan</string>
|
||||
<string name="pref_remove_bookmarked_chapters">Padam bab yang ditanda</string>
|
||||
<string name="pref_category_delete_chapters">Padam bab</string>
|
||||
<string name="ext_nsfw_warning">Mungkin mengandungi kandungan 18+ tahun keatas</string>
|
||||
<string name="ext_nsfw_short">18+</string>
|
||||
</resources>
|
@ -97,7 +97,7 @@
|
||||
<string name="charging">Lading</string>
|
||||
<string name="pref_start_screen">Startskjerm</string>
|
||||
<string name="pref_language">Språk</string>
|
||||
<string name="system_default">Systemforvalg</string>
|
||||
<string name="system_default">Forvalg</string>
|
||||
<string name="default_category">Forvalgt kategori</string>
|
||||
<string name="default_category_summary">Alltid spør</string>
|
||||
<string name="all_lang">Alle</string>
|
||||
@ -116,7 +116,7 @@
|
||||
<string name="ext_language_info">Språk: %1$s</string>
|
||||
<string name="pref_fullscreen">Fullskjermsvisning</string>
|
||||
<string name="pref_lock_orientation">Lås sideretning</string>
|
||||
<string name="pref_page_transitions">Sideoverganger</string>
|
||||
<string name="pref_page_transitions">Sideovergangsanimasjoner</string>
|
||||
<string name="pref_show_page_number">Vis sidenummer</string>
|
||||
<string name="pref_keep_screen_on">Behold skjerm på</string>
|
||||
<string name="pref_reader_navigation">Navigasjon</string>
|
||||
@ -335,7 +335,7 @@
|
||||
<string name="filter_mode_screen">Skjerm</string>
|
||||
<string name="label_help">Hjelp</string>
|
||||
<string name="action_display_download_badge">Last ned merker</string>
|
||||
<string name="pref_library_columns">Bibliotekmanga per rad</string>
|
||||
<string name="pref_library_columns">Elementer per rad</string>
|
||||
<string name="untrusted_extension_message">Denne utvidelsen ble signert med et usikkert sertifikat, og ble dermed ikke aktivert
|
||||
\n
|
||||
\nEn skadelig utvidelse kan lese innloggingsdetaljer lagret i Tachiyomi, eller kjøre ukjent kode.
|
||||
@ -562,4 +562,14 @@
|
||||
<string name="action_sort_descending">Fallende</string>
|
||||
<string name="action_download_unread">Last ned uleste kapittel</string>
|
||||
<string name="action_sort_date_added">Dato lagt til</string>
|
||||
<string name="pref_category_locale">Språk</string>
|
||||
<string name="ext_updates_pending">Oppdateringer som venter</string>
|
||||
<string name="pref_category_reading_mode">Lesemodus</string>
|
||||
<string name="pref_show_reading_mode_summary">Sniktitt av nåværende modus når leseren åpnes</string>
|
||||
<string name="group_backup_restore">Sikkerhetskopier og gjenopprett</string>
|
||||
<string name="group_downloader">Nedlastninger</string>
|
||||
<string name="channel_errors">Feil</string>
|
||||
<string name="channel_complete">Fullført</string>
|
||||
<string name="notification_chapters_single_and_more">Kapittel %1$s og %2$s til</string>
|
||||
<string name="no_pinned_sources">Du har ingen festede kilder</string>
|
||||
</resources>
|
@ -253,8 +253,8 @@
|
||||
<string name="pref_zoom_start">Zoom startpositie</string>
|
||||
<string name="rotation_force_portrait">Forceer staand</string>
|
||||
<string name="rotation_force_landscape">Forceer liggend</string>
|
||||
<string name="pref_remove_after_marked_as_read">Verwijder wanneer gemarkeerd als gelezen</string>
|
||||
<string name="pref_remove_after_read">Verwijder na lezen</string>
|
||||
<string name="pref_remove_after_marked_as_read">Nadat ze handmatig gemarkeerd zijn als gelezen</string>
|
||||
<string name="pref_remove_after_read">Na het lezen</string>
|
||||
<string name="disabled">Uitgeschakeld</string>
|
||||
<string name="fourth_to_last">Drie-na-laatste hoofdstuk</string>
|
||||
<string name="fifth_to_last">Vier-na-laatste hoofdstuk</string>
|
||||
@ -603,4 +603,12 @@
|
||||
<string name="channel_complete">Voltooid</string>
|
||||
<string name="channel_progress">Voortgang</string>
|
||||
<string name="download_notifier_download_finish">Download voltooid</string>
|
||||
<string name="channel_errors">Fouten</string>
|
||||
<string name="backup_restore_missing_trackers">Niet-ingelogde trackers:</string>
|
||||
<string name="pref_allow_nsfw_sources_blocked">Geblokkeerd</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed_multisource">Blokkeer bron, maar laat wel zien in lijst van extensies</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed">Toegestaan</string>
|
||||
<string name="pref_allow_nsfw_sources">NSFW-bronnen</string>
|
||||
<string name="pref_remove_bookmarked_chapters">Verwijder hoofdstukken met bladwijzers</string>
|
||||
<string name="pref_category_delete_chapters">Hoofdstukken verwijderen</string>
|
||||
</resources>
|
@ -22,7 +22,7 @@
|
||||
<string name="action_filter_empty">Remover filtros</string>
|
||||
<string name="action_sort_alpha">Alfabeticamente</string>
|
||||
<string name="action_sort_total">Total de capítulos</string>
|
||||
<string name="action_sort_last_read">Última leitura</string>
|
||||
<string name="action_sort_last_read">Lido por último</string>
|
||||
<string name="action_search">Pesquisar</string>
|
||||
<string name="action_select_all">Selecionar tudo</string>
|
||||
<string name="action_mark_as_read">Marcar como lido</string>
|
||||
@ -151,8 +151,8 @@
|
||||
<string name="color_filter_a_value">A</string>
|
||||
<string name="pref_download_directory">Local de download</string>
|
||||
<string name="pref_download_only_over_wifi">Fazer download apenas via Wi-Fi</string>
|
||||
<string name="pref_remove_after_marked_as_read">Excluir ao marcar como lido</string>
|
||||
<string name="pref_remove_after_read">Excluir após a leitura</string>
|
||||
<string name="pref_remove_after_marked_as_read">Após marcado manualmente como lido</string>
|
||||
<string name="pref_remove_after_read">Após a leitura</string>
|
||||
<string name="custom_dir">Local personalizado</string>
|
||||
<string name="disabled">Desativado</string>
|
||||
<string name="last_read_chapter">Último capítulo lido</string>
|
||||
@ -250,7 +250,7 @@
|
||||
<string name="completed">Concluído</string>
|
||||
<string name="dropped">Abandonado</string>
|
||||
<string name="on_hold">Em espera</string>
|
||||
<string name="plan_to_read">Ler depois</string>
|
||||
<string name="plan_to_read">Planejo ler</string>
|
||||
<string name="score">Avaliação</string>
|
||||
<string name="title">Título</string>
|
||||
<string name="status">Estado</string>
|
||||
@ -320,7 +320,7 @@
|
||||
<string name="channel_library">Biblioteca</string>
|
||||
<string name="action_display_download_badge">Selos de disponível offline</string>
|
||||
<string name="local_source_badge">Local</string>
|
||||
<string name="information_empty_category">Você ainda não tem nenhuma categoria. Toque no botão Adicionar para criar uma para organizar a sua biblioteca.</string>
|
||||
<string name="information_empty_category">Você ainda não tem nenhuma categoria. Toque no botão Adicionar para criar uma e organizar a sua biblioteca.</string>
|
||||
<string name="label_migration">Migrar</string>
|
||||
<string name="label_extensions">Extensões</string>
|
||||
<string name="label_extension_info">Informações da extensão</string>
|
||||
@ -467,7 +467,7 @@
|
||||
<string name="action_oldest">Mais antigos</string>
|
||||
<string name="action_move_to_top">Mover para o topo</string>
|
||||
<string name="action_move_to_bottom">Mover para o final</string>
|
||||
<string name="action_sort_last_checked">Última verificação</string>
|
||||
<string name="action_sort_last_checked">Último verificado</string>
|
||||
<string name="pref_enable_automatic_extension_updates">Procurar por atualizações de extensão</string>
|
||||
<plurals name="update_check_notification_ext_updates">
|
||||
<item quantity="one">Atualização de extensão disponível</item>
|
||||
@ -604,4 +604,13 @@
|
||||
<string name="group_downloader">Downloads</string>
|
||||
<string name="channel_complete">Concluído</string>
|
||||
<string name="channel_errors">Erros</string>
|
||||
<string name="backup_restore_missing_trackers">Monitoradores sem login realizado:</string>
|
||||
<string name="pref_allow_nsfw_sources">Fontes NSFW</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed_multisource">Bloquear fonte, mas exibi-la na lista de extensões</string>
|
||||
<string name="pref_allow_nsfw_sources_blocked">Bloqueado</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed">Permitido</string>
|
||||
<string name="pref_remove_bookmarked_chapters">Excluir capítulos favoritos</string>
|
||||
<string name="pref_category_delete_chapters">Excluir capítulos</string>
|
||||
<string name="ext_nsfw_warning">Pode haver conteúdo para maiores de 18 anos</string>
|
||||
<string name="ext_nsfw_short">18+</string>
|
||||
</resources>
|
@ -633,4 +633,6 @@
|
||||
<string name="channel_complete">Completo</string>
|
||||
<string name="channel_progress">Progresso</string>
|
||||
<string name="download_notifier_download_finish">Transferência concluída</string>
|
||||
<string name="channel_errors">Erros</string>
|
||||
<string name="backup_restore_missing_trackers">Monitorizadores sem sessão iniciada:</string>
|
||||
</resources>
|
@ -192,8 +192,8 @@
|
||||
<string name="pref_read_with_volume_keys">Клавиши громкости</string>
|
||||
<string name="pref_reader_navigation">Навигация</string>
|
||||
<string name="pref_reader_theme">Цвет фона</string>
|
||||
<string name="pref_remove_after_marked_as_read">Удалить когда отмечена как прочитанная</string>
|
||||
<string name="pref_remove_after_read">Удалять после прочтения</string>
|
||||
<string name="pref_remove_after_marked_as_read">После того, как было помечено вручную как прочитано</string>
|
||||
<string name="pref_remove_after_read">После прочтения</string>
|
||||
<string name="pref_rotation_type">Ориентация</string>
|
||||
<string name="pref_show_page_number">Показывать номер страницы</string>
|
||||
<string name="pref_start_screen">Стартовый экран</string>
|
||||
@ -622,4 +622,13 @@
|
||||
<string name="channel_complete">Завершено</string>
|
||||
<string name="channel_progress">Прогресс</string>
|
||||
<string name="channel_errors">Ошибки</string>
|
||||
<string name="backup_restore_missing_trackers">Трекеры не авторизованы:</string>
|
||||
<string name="pref_allow_nsfw_sources">NSFW источники</string>
|
||||
<string name="pref_allow_nsfw_sources_blocked">Заблокировано</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed_multisource">Блокировать источник, но отображать его в списке расширений</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed">Разрешено</string>
|
||||
<string name="pref_remove_bookmarked_chapters">Удалить главы с закладками</string>
|
||||
<string name="pref_category_delete_chapters">Удалить главы</string>
|
||||
<string name="ext_nsfw_warning">Может содержать контент 18+</string>
|
||||
<string name="ext_nsfw_short">18+</string>
|
||||
</resources>
|
447
app/src/main/res/values-sah/strings.xml
Normal file
447
app/src/main/res/values-sah/strings.xml
Normal file
@ -0,0 +1,447 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="action_add">Киллэр</string>
|
||||
<string name="action_edit">Уларыт</string>
|
||||
<string name="action_disable_all">Барытын араар</string>
|
||||
<string name="action_enable_all">Барытын холбоо</string>
|
||||
<string name="action_update_library">Библиотеканы саҥардыы</string>
|
||||
<string name="action_update">Саҥардыы</string>
|
||||
<string name="action_delete">Сотон кэбис</string>
|
||||
<string name="action_remove_bookmark">Кыбытыыны хомуй</string>
|
||||
<string name="action_bookmark">Кыбытыы</string>
|
||||
<string name="action_download_unread">Ааҕыллыбатах түһүмэҕи хачайдаа</string>
|
||||
<string name="action_download">Хачайдаа</string>
|
||||
<string name="action_mark_previous_as_read">Ааспыты аахтым диэн бэлиэтээ</string>
|
||||
<string name="action_mark_as_unread">Аахпатым диэн бэлиэтээ</string>
|
||||
<string name="action_mark_as_read">Аахтым диэн бэлиэтээ</string>
|
||||
<string name="action_select_inverse">Төттөрөтүн тал</string>
|
||||
<string name="action_select_all">Барытын тал</string>
|
||||
<string name="action_global_search">Толору көрдөөһүн</string>
|
||||
<string name="action_search">Көрдөөһүн</string>
|
||||
<string name="action_sort_date_added">Киирбит кэмэ</string>
|
||||
<string name="action_sort_latest_chapter">Бүтэһик түһүмэх</string>
|
||||
<string name="action_sort_last_checked">Бүтэһигинэн көрүллүбүт</string>
|
||||
<string name="action_sort_last_read">Бүтэһигинэн ааҕыллыбыт</string>
|
||||
<string name="action_sort_total">Түһүмэх ахсаанынан</string>
|
||||
<string name="action_sort_alpha">Алпаабыт бэрээдэгинэн</string>
|
||||
<string name="action_filter_empty">Биилтирэни ылыы</string>
|
||||
<string name="action_filter_read">Ааҕыллыбыт</string>
|
||||
<string name="action_filter_unread">Ааҕыллыбатах</string>
|
||||
<string name="action_filter_bookmarked">Кыбытыы</string>
|
||||
<string name="action_filter_downloaded">Хачайдаммыт</string>
|
||||
<string name="action_filter">Биилтирэ</string>
|
||||
<string name="action_menu">Талба</string>
|
||||
<string name="action_settings">Түстэл</string>
|
||||
<string name="confirm_exit">Өссө биирдэ төттөрүнү баттаан, тахсар курдук</string>
|
||||
<string name="unlock_app">Тachiyomi арыйыыта</string>
|
||||
<string name="history">История</string>
|
||||
<string name="track">Кэтээһин</string>
|
||||
<string name="chapters">Түһүмэхтэр</string>
|
||||
<string name="manga">Маанга</string>
|
||||
<string name="categories">Бөлөхтөр</string>
|
||||
<string name="information_empty_category">Эйиэхэ бөлөхтөр суохтар. Эбэр бэлиэни батта, библиотекаҕа саҥа бөлөҕү оҥорорго.</string>
|
||||
<string name="information_empty_library">Эн библиотекан кураанах. Библиотекаҕа айымньыыларыы көрдөөһүнтэн эп.</string>
|
||||
<string name="information_no_recent_manga">Бүтэһик кэмҥэ тугу да аахпатын</string>
|
||||
<string name="information_no_recent">Саҥардыылар суохтар</string>
|
||||
<string name="information_no_downloads">Хачаайдааһын суох</string>
|
||||
<string name="label_help">Көмө</string>
|
||||
<string name="label_extension_info">Кэҥэтии туһунан</string>
|
||||
<string name="label_extensions">Кэҥэтии</string>
|
||||
<string name="label_migration">Көһүү</string>
|
||||
<string name="label_backup">Резервнай куопуйа</string>
|
||||
<string name="label_categories">Бөлөхтөр</string>
|
||||
<string name="label_sources">Төрүттэр</string>
|
||||
<string name="label_recent_manga">Остуоруйа</string>
|
||||
<string name="label_recent_updates">Саҥардыылар</string>
|
||||
<string name="label_library">Библиотека</string>
|
||||
<string name="label_download_queue">Хачаайдааһын уочарата</string>
|
||||
<string name="label_settings">Түстэл</string>
|
||||
<string name="label_more">Өссө</string>
|
||||
<string name="name">Аат</string>
|
||||
<string name="app_name" translatable="false">Tachiyomi</string>
|
||||
<plurals name="num_categories">
|
||||
<item quantity="other">%d бөлөхтөр</item>
|
||||
</plurals>
|
||||
<string name="default_category_summary">Наар ыйыт</string>
|
||||
<string name="default_category">Куолутунан бөлөх</string>
|
||||
<string name="pref_category_library_categories">Бөлөхтөр</string>
|
||||
<string name="pref_library_update_error_notification">Саҥардыы сыаһатын туһунан биллэриилэри көрдөр</string>
|
||||
<string name="pref_library_update_refresh_metadata_summary">Саҥа тас уонна кыра чаастар баалларын, бэрэбиэркэлээ</string>
|
||||
<string name="pref_library_update_refresh_metadata">Метаданнайдары автоматическайдык саҥарт</string>
|
||||
<string name="pref_update_only_non_completed">Бүтэ илик маанганы эрэ, саҥарт</string>
|
||||
<string name="charging">Иитиллэр</string>
|
||||
<string name="wifi">Wi-Fi</string>
|
||||
<string name="pref_library_update_restriction_summary">Усулуобуйалар толоруллубутугар эрэ, саҥарт</string>
|
||||
<string name="pref_library_update_restriction">Библиотека саҥардыытын хааччахтааһын</string>
|
||||
<string name="pref_library_update_prioritization">Библиотека саҥардыытын бэрээдэгэ</string>
|
||||
<string name="update_monthly">Ый аайы</string>
|
||||
<string name="update_weekly">Нэдиэлэ аайы</string>
|
||||
<string name="update_48hour">Икки күн аайы</string>
|
||||
<string name="update_24hour">Күн аайы</string>
|
||||
<string name="update_12hour">Уон икки чаас аайы</string>
|
||||
<string name="update_6hour">Алта чаас аайы</string>
|
||||
<string name="update_3hour">Үс чаас аайы</string>
|
||||
<string name="update_2hour">Икки чаас аайы</string>
|
||||
<string name="update_1hour">Чаас аайы</string>
|
||||
<string name="update_never">Илиинэн</string>
|
||||
<string name="pref_library_update_interval">Библиотека саҥардыытын түргэнэ</string>
|
||||
<string name="pref_category_library_update">Саҥардыылар</string>
|
||||
<string name="pref_jump_to_chapters">Аһаҕас түһүмэххэ көһүү</string>
|
||||
<string name="default_columns">Куолутунан</string>
|
||||
<string name="landscape">Сытыары</string>
|
||||
<string name="portrait">Туруору</string>
|
||||
<string name="pref_library_columns">Маллары кэккэ туруор</string>
|
||||
<string name="pref_category_display">Көрдөр</string>
|
||||
<string name="hide_notification_content">Биллэрии иһин кистээ</string>
|
||||
<string name="secure_screen_summary">Атын эбиликкэ көһөргөр, скриншоту сабаргар, эбилик иһин кистээ</string>
|
||||
<string name="secure_screen">Көмүскэл экрана</string>
|
||||
<plurals name="lock_after_mins">
|
||||
<item quantity="other">%1$s мүнүүтэ кэннэ</item>
|
||||
</plurals>
|
||||
<string name="lock_never">Хаһан да</string>
|
||||
<string name="lock_always">Наар</string>
|
||||
<string name="lock_when_idle">Күүтү эрэһиимигэр сап</string>
|
||||
<string name="lock_with_biometrics">Тарбах суолунан сап</string>
|
||||
<string name="pref_category_security">Көмүскэл</string>
|
||||
<string name="pref_manage_notifications">Биллэриилэри салай</string>
|
||||
<string name="pref_confirm_exit">Тахсыыны бигэргэт</string>
|
||||
<string name="pref_date_format">Даататын формаата</string>
|
||||
<string name="system_default">Куолутунан</string>
|
||||
<string name="pref_language">Тыл</string>
|
||||
<string name="pref_start_screen">Сүрүн экран</string>
|
||||
<string name="theme_dark_amoled">AMOLED хара</string>
|
||||
<string name="theme_dark_blue">Хараҥа күөх</string>
|
||||
<string name="theme_dark_default">Куолутунан</string>
|
||||
<string name="pref_theme_dark">Хараҥа тиэмэ</string>
|
||||
<string name="theme_light_blue">Сырдык күөх</string>
|
||||
<string name="theme_light_default">Куолутунан</string>
|
||||
<string name="pref_theme_light">Сырдык тиэмэ</string>
|
||||
<string name="theme_dark">Холбоммут</string>
|
||||
<string name="theme_light">Араарыллыбыт</string>
|
||||
<string name="theme_system">Системнайы тутуһуҥ</string>
|
||||
<string name="pref_theme_mode">Хараҥа тиэмэ</string>
|
||||
<string name="pref_category_locale">Миэстэтэ</string>
|
||||
<string name="pref_category_theme">Тиэмэ</string>
|
||||
<string name="pref_category_about">Эбии туһунан</string>
|
||||
<string name="pref_category_advanced">Эбии</string>
|
||||
<string name="pref_category_tracking">Кэтээһин</string>
|
||||
<string name="pref_category_downloads">Хачайдаммыттар</string>
|
||||
<string name="pref_category_reader">Ааҕааччы</string>
|
||||
<string name="pref_category_library">Библиотека</string>
|
||||
<string name="pref_category_general">Сүрүн</string>
|
||||
<string name="short_recent_updates">Саҥардыылар</string>
|
||||
<string name="app_not_available">Сыһыарыы кыаллыбат</string>
|
||||
<string name="loading">Холбонуу…</string>
|
||||
<string name="action_webview_refresh">Чэбдигирт</string>
|
||||
<string name="action_webview_forward">Инники</string>
|
||||
<string name="action_webview_back">Төптөрү</string>
|
||||
<string name="action_login">Киир</string>
|
||||
<string name="action_open">Арый</string>
|
||||
<string name="action_restore">Чөлүгэр түһэр</string>
|
||||
<string name="action_create">Оҥор</string>
|
||||
<string name="action_open_log">Программа сурунаалын арый</string>
|
||||
<string name="action_undo">Уларыт</string>
|
||||
<string name="action_reset">Ыраастаа</string>
|
||||
<string name="action_save">Хааллар</string>
|
||||
<string name="action_share">Тарҕат</string>
|
||||
<string name="action_install">Туруор</string>
|
||||
<string name="action_move_to_bottom">Бүтүүгэ көһөр</string>
|
||||
<string name="action_move_to_top">Саҕаланыыга көһөр</string>
|
||||
<string name="action_oldest">Олох урукку</string>
|
||||
<string name="action_newest">Сабыс-саҥа</string>
|
||||
<string name="action_reorganize_by">Саҥаттаан сааһылыы</string>
|
||||
<string name="action_sort_descending">Кыччыырынан</string>
|
||||
<string name="action_sort">Сааһылаа</string>
|
||||
<string name="action_cancel_all">Барытын уларыт</string>
|
||||
<string name="action_cancel">Уларытыы</string>
|
||||
<string name="action_unpin">Уһул</string>
|
||||
<string name="action_pin">Иҥиннэр</string>
|
||||
<string name="action_disable">Араар</string>
|
||||
<string name="action_display_show_tabs">Бөлөхтөр кыбытыктарын көрдөр</string>
|
||||
<string name="action_display_unread_badge">Ааҕыллыбатахтар бэлиэлэрэ</string>
|
||||
<string name="action_display_download_badge">Бэлиэлэри хачайдаа</string>
|
||||
<string name="action_display_comfortable_grid">Табыгастаах илим</string>
|
||||
<string name="action_display_list">испииһэк</string>
|
||||
<string name="action_display_grid">Биир кэлим илим</string>
|
||||
<string name="action_display">Көрдөр</string>
|
||||
<string name="action_display_mode">Көрүнүн уларыт</string>
|
||||
<string name="action_migrate">Көһүү</string>
|
||||
<string name="action_open_in_settings">Түстэлгэ арый</string>
|
||||
<string name="action_open_in_web_view">WebViewга арый</string>
|
||||
<string name="action_open_in_browser">Көрдөөһүнҥэ арый</string>
|
||||
<string name="action_move">Көһөр</string>
|
||||
<string name="action_resume">Салҕаа</string>
|
||||
<string name="action_start">Саҕалаа</string>
|
||||
<string name="action_remove">Суох гын</string>
|
||||
<string name="action_retry">Хатылаа</string>
|
||||
<string name="action_next_chapter">Аныгыскы түһүмэх</string>
|
||||
<string name="action_previous_chapter">Ааспыттанны түһүмэх</string>
|
||||
<string name="action_close">Сап</string>
|
||||
<string name="action_pause">Тохтобул</string>
|
||||
<string name="action_stop">Тохтоо</string>
|
||||
<string name="action_view_chapters">Түһүмэхтэри көр</string>
|
||||
<string name="action_next_unread">Аныгыскы ааҕыллыбатаҕы</string>
|
||||
<string name="action_show_downloaded">Хачайдаммыт</string>
|
||||
<string name="action_sort_down">Кыччыырынан</string>
|
||||
<string name="action_sort_up">Улаатарынан</string>
|
||||
<string name="action_edit_cover">Таһын уларытыы</string>
|
||||
<string name="action_move_category">Бөлө(ххө/хтөргө) киллэр</string>
|
||||
<string name="action_rename_category">Бөлөх аатын уларыт</string>
|
||||
<string name="action_edit_categories">Бөлөхтөрү уларыт</string>
|
||||
<string name="action_add_category">Бөлөҕү киллэр</string>
|
||||
<string name="webtoon_side_padding_25">25%</string>
|
||||
<string name="webtoon_side_padding_20">20%</string>
|
||||
<string name="webtoon_side_padding_15">15%</string>
|
||||
<string name="webtoon_side_padding_10">10%</string>
|
||||
<string name="webtoon_side_padding_0">Тэйиитэ суох</string>
|
||||
<string name="pref_webtoon_side_padding">Ойоҕостон тэйии</string>
|
||||
<string name="pref_category_reading">Ааҕы</string>
|
||||
<string name="pref_category_reading_mode">Ааҕы эрэһиимэ</string>
|
||||
<string name="pref_always_show_chapter_transition">Көһөр түһүмэҕи куруук көрдөр</string>
|
||||
<string name="color_filter_a_value">А</string>
|
||||
<string name="color_filter_b_value">Халлаан күөх</string>
|
||||
<string name="color_filter_g_value">От күөх</string>
|
||||
<string name="color_filter_r_value">Кыһыл</string>
|
||||
<string name="rotation_force_landscape">Сытыары</string>
|
||||
<string name="rotation_force_portrait">Туруору</string>
|
||||
<string name="rotation_lock">Хатаммыт</string>
|
||||
<string name="rotation_free">Босхо</string>
|
||||
<string name="pref_rotation_type">Эргичийии</string>
|
||||
<string name="ext_language_info">Тыл: %1$S</string>
|
||||
<string name="pref_lock_orientation">Эргичийиини хатаа</string>
|
||||
<string name="double_tap_anim_speed_fast">Түргэнник</string>
|
||||
<string name="double_tap_anim_speed_normal">Көннөрү</string>
|
||||
<string name="double_tap_anim_speed_0">Хамсааһына суох</string>
|
||||
<string name="zoom_start_center">Киин</string>
|
||||
<string name="zoom_start_right">Уҥа</string>
|
||||
<string name="zoom_start_left">Хаҥас</string>
|
||||
<string name="zoom_start_automatic">Автоматическай</string>
|
||||
<string name="pref_zoom_start">Улаатыннары маҥнайгы туруга</string>
|
||||
<string name="scale_type_smart_fit">Өйдөөх</string>
|
||||
<string name="scale_type_original_size">Маҥнайгы кээмэй</string>
|
||||
<string name="scale_type_fit_height">Үрдүгүнэн</string>
|
||||
<string name="scale_type_fit_width">Туоратынан</string>
|
||||
<string name="scale_type_stretch">Ууннар</string>
|
||||
<string name="scale_type_fit_screen">Экранынан</string>
|
||||
<string name="pref_image_scale_type">Тарҕаныыта</string>
|
||||
<string name="pref_image_decoder">Дьүһүн быһаарааччыта</string>
|
||||
<string name="pager_viewer">Сирэйдэринэн</string>
|
||||
<string name="vertical_plus_viewer">Тохтообоххо туруору</string>
|
||||
<string name="webtoon_viewer">Webtoon</string>
|
||||
<string name="vertical_viewer">Туруору</string>
|
||||
<string name="right_to_left_viewer">Хаҥас диэки</string>
|
||||
<string name="left_to_right_viewer">Уҥа диэки</string>
|
||||
<string name="default_viewer">Куолутунан</string>
|
||||
<string name="pref_viewer_type">Куолутунан ааҕар эрэһиим</string>
|
||||
<string name="black_background">Хара</string>
|
||||
<string name="gray_background">Бороҥ</string>
|
||||
<string name="white_background">Маҥан</string>
|
||||
<string name="pref_reader_theme">Кэнники өҥ</string>
|
||||
<string name="pref_read_with_long_tap">Уһун баттааһыҥҥа - кэпсэтии</string>
|
||||
<string name="pref_read_with_tapping">Баттааһын</string>
|
||||
<string name="pref_read_with_volume_keys_inverted">Тыас талкыйдарын миэстэлэрин уларыт</string>
|
||||
<string name="pref_read_with_volume_keys">Тыас талкыйдара</string>
|
||||
<string name="pref_reader_navigation">Хамсыы</string>
|
||||
<string name="pref_skip_filtered_chapters">Биилтирэммит түһүмэхтэри көтүт</string>
|
||||
<string name="pref_skip_read_chapters">Ааҕыллыбыт түһүмэхтэри көтүт</string>
|
||||
<string name="pref_keep_screen_on">Экран холбонон турдун</string>
|
||||
<string name="filter_mode_darken">Хараҥатыы</string>
|
||||
<string name="filter_mode_lighten">Сырдатыы</string>
|
||||
<string name="filter_mode_screen">Экран</string>
|
||||
<string name="filter_mode_multiply">Төгүллээһин</string>
|
||||
<string name="filter_mode_overlay">Сабыы</string>
|
||||
<string name="pref_show_reading_mode_summary">Ааҕаччы холбонон турдаҕына, билиҥҥи эрэһиими кылгастык көрдөр</string>
|
||||
<string name="pref_show_reading_mode">Ааҕыы эрэһиимин көрдөр</string>
|
||||
<string name="filter_mode_default">Куолутунан</string>
|
||||
<string name="pref_color_filter_mode">Өҥ биилтирэни олордор эрэһиим</string>
|
||||
<string name="pref_custom_color_filter">Туттааччы өҥ биилтирэ</string>
|
||||
<string name="pref_custom_brightness">Туттааччы сырдыга</string>
|
||||
<string name="pref_crop_borders">Быһыллы кыраныыссата</string>
|
||||
<string name="pref_true_color_summary">Тиэрбэс аҕыйыыр, ол гынан баран улэҕэ дьайар</string>
|
||||
<string name="pref_true_color">32-бит өҥ</string>
|
||||
<string name="pref_show_page_number">Сирэй нүөмэрин көрдөр</string>
|
||||
<string name="pref_double_tap_anim_speed">Иккитэ баттыырга хамсааһын түргэнэ</string>
|
||||
<string name="pref_page_transitions">Хамсааһыннах, сирэй арыйыыта</string>
|
||||
<string name="pref_cutout_short">Быһыллыбыт хонууга баары көрдөр</string>
|
||||
<string name="pref_fullscreen">Толору экран</string>
|
||||
<string name="ext_version_info">Биэрсия: %1$S</string>
|
||||
<string name="unofficial_extension_message">Бу кэҥэтии официальнай Tachiyomi испииһэгиттэн буолбатах.</string>
|
||||
<string name="ext_available">Кыаллар</string>
|
||||
<string name="obsolete_extension_message">Бу кэҥэтии кыаллыбат буолла.</string>
|
||||
<string name="untrusted_extension_message">Бу кэҥэтии эрэлэ суох туоһу суругунан бэлиэтэммит уонна холбоммотох.
|
||||
\n
|
||||
\nКуһаҕан кэҥэтии ханнык баҕар, киирэргэ наадалах даннайдары, устуон сөп уонна бэйэтэ киириэн сөп.
|
||||
\n
|
||||
\nБу туоһу сурукка эрэнэр буоллаххына, бэйэҕин кутталга угаҕын.</string>
|
||||
<string name="untrusted_extension">Эрэлэ суох кэҥэтии</string>
|
||||
<string name="ext_uninstall">Сотон кэбис</string>
|
||||
<string name="ext_untrusted">Эрэлэ суох</string>
|
||||
<string name="ext_unofficial">Официальнайа суох</string>
|
||||
<string name="ext_trust">Эрэллээх</string>
|
||||
<string name="ext_installed">Турда</string>
|
||||
<string name="ext_installing">ТуруорааҺын</string>
|
||||
<string name="ext_downloading">Хачайдааһын</string>
|
||||
<string name="ext_pending">Кэтэһэбит</string>
|
||||
<string name="ext_install">Туруор</string>
|
||||
<string name="ext_obsolete">Эргэрбит</string>
|
||||
<string name="ext_update">Саҥардыы</string>
|
||||
<string name="ext_updates_pending">Саҥардыылары кэтэһэбит</string>
|
||||
<string name="all_lang">Барыта</string>
|
||||
<string name="all">Барыта</string>
|
||||
<string name="pref_library_update_categories">Толору көрдөөһүннэ киирбит бөлөхтөр</string>
|
||||
<string name="pref_clear_cookies">Кукины ырааста</string>
|
||||
<string name="label_network">Ситим</string>
|
||||
<string name="restoring_backup_canceled">Төнүҥнэри тохтоото</string>
|
||||
<string name="restoring_backup_error">Резервнай куопуйа төнүҥнэриитэ туолбата</string>
|
||||
<string name="restoring_backup">Резервнай куопуйаны төнүҥнэри туола турар</string>
|
||||
<string name="restore_in_progress">Төнүҥнэрии туола турар</string>
|
||||
<string name="creating_backup_error">Резервнай куопуйа оҥоһуллубата</string>
|
||||
<string name="creating_backup">Резервнай куопуйа оҥоһуута</string>
|
||||
<string name="backup_choice">Тугу куопуйалаары гынннын\?</string>
|
||||
<string name="backup_in_progress">Резервнай куопуйа оҥоруута туола турар</string>
|
||||
<plurals name="restore_completed_message">
|
||||
<item quantity="other">Туолла %1$sҕа %2$s сыаһалаах</item>
|
||||
</plurals>
|
||||
<string name="restore_duration">%02d мүнүүтэ %02d сөкүүндэ</string>
|
||||
<string name="restore_completed">Төнүҥнэри бүттэ</string>
|
||||
<string name="backup_restore_content">Төнүҥнэриигэ төрүттэр дааннайдара тутталлар, элбэх трафик барыан сөп.
|
||||
\n
|
||||
\nУонна төнүҥнэрии иннигэр, көрүҥ, туох баар наадалах кэтээһин кэҥэтиилэригэр уонна өҥөтүгэр киирдиҥ диэн.</string>
|
||||
<string name="backup_restore_missing_trackers">Трэкэрдар киирбэтилэр:</string>
|
||||
<string name="backup_restore_missing_sources">Суох төрүттэр:</string>
|
||||
<string name="invalid_backup_file_missing_manga">Резервнай куопуйа маангата суох.</string>
|
||||
<string name="invalid_backup_file_missing_data">Биликкэ дааннайдар суохтар.</string>
|
||||
<string name="invalid_backup_file">Резервнай куопуйа алдьаммыт билэтэ</string>
|
||||
<string name="backup_created">Резервнай куопуйа оҥоһуллунна</string>
|
||||
<string name="tracker_not_logged_in">Киирбэтэх: %1$s</string>
|
||||
<string name="source_not_found_name">Төрүт булуллубата: %$1s</string>
|
||||
<string name="pref_backup_slots">Муҥутугар дылы резервнай куопуйалар</string>
|
||||
<string name="pref_backup_interval">Резервнай куопуйа оҥоһуутун түргэнэ</string>
|
||||
<string name="pref_backup_service_category">Автоматическай резервнай куопуйалар</string>
|
||||
<string name="pref_backup_directory">Резервнай куопуйа сурунаала</string>
|
||||
<string name="pref_restore_backup_summ">Библиотеканы резервнай куопуйа билэтиттэн төнүҥнэрии</string>
|
||||
<string name="pref_restore_backup">Резервнай куопуйаны куолутунан туруоруу</string>
|
||||
<string name="pref_create_backup_summ">Билиҥни бибилиотеканы төнүннэрэргэ туттуохха сөп</string>
|
||||
<string name="pref_create_backup">Резервнай куопуйаны оҥоруу</string>
|
||||
<string name="pref_allow_nsfw_sources_blocked">Хаамнаммыт</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed_multisource">Төрүтү хаамна, ол да буоллар кэҥэтии испииһигэр көрдөр</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed">Көҥүллэммит</string>
|
||||
<string name="pref_allow_nsfw_sources">NSFW төрүттэр</string>
|
||||
<string name="backup">Резервнай куопуйа</string>
|
||||
<string name="pref_search_pinned_sources_only">Сыһыарыллыбыт эрэ төрүттэри киллэр</string>
|
||||
<string name="pref_enable_automatic_extension_updates">Кэҥэтии саҥардыыларын баар буолутун бэрэбиэркэлээһин</string>
|
||||
<string name="tracking_info">Биир өттүттэн мэнэйдэһии, кэтээһин өҥөлөргө баар түһүмэхтэр туруктарын саҥардыыга. Маанга туспа суругун кэтээһинин
|
||||
\nтүстэлгэ уларыт.</string>
|
||||
<string name="services">Өҥөлөр</string>
|
||||
<string name="pref_auto_update_manga_sync">Түһүмэх туругун ааҕы кэннэ саҥарт</string>
|
||||
<string name="pref_download_new_categories">Хачайдааһыҥҥа киирбит бөлөхтөр</string>
|
||||
<string name="pref_download_new">Саҥа түһүмэхтэри хачайдаа</string>
|
||||
<string name="fifth_to_last">Бүтэһик түһүмэхтэн бэһис</string>
|
||||
<string name="fourth_to_last">Бүтэһик түһүмэхтэн төрдүс</string>
|
||||
<string name="third_to_last">Бүтэһик түһүмэхтэн үһүс</string>
|
||||
<string name="second_to_last">Бүтэһик түһүмэх иннинээҕи</string>
|
||||
<string name="last_read_chapter">Бүтэһигинэн ааҕыллыбыт түһүмэх</string>
|
||||
<string name="disabled">Араарыллыбыт</string>
|
||||
<string name="custom_dir">Туттааччы ыйдарыыта</string>
|
||||
<string name="pref_remove_after_read">Ааҕы кэннэ</string>
|
||||
<string name="pref_remove_after_marked_as_read">Ааҕыллыбыт диэн суруллубутун кэннэ</string>
|
||||
<string name="pref_download_only_over_wifi">Wi-Fi эрэ баар буоллаҕына хачайдаа</string>
|
||||
<string name="pref_download_directory">Хачайдааһын сурунаала</string>
|
||||
<string name="pref_dns_over_https_summary">Уларыйыы киирэрин гына сыһыарыыны хос холбоо</string>
|
||||
<string name="cache_delete_error">Кээс сотторуутугар сыыһааһын буолла</string>
|
||||
<string name="cache_deleted">Кээс ыраастанна. %1$d билэ сотторуллубут этэ</string>
|
||||
<string name="used_cache">Туттуллубут: %1$s</string>
|
||||
<string name="pref_clear_chapter_cache">Түһүмэх кээһин ыраастааһын</string>
|
||||
<string name="label_data">Билим</string>
|
||||
<string name="cookies_cleared">Куки ыраастанна</string>
|
||||
<string name="clear_database_confirmation">Эрэллэххин дуо\? Ааҕыллыбыт түһүмэхтэр уонна библиотекаҕа суох маанга туруга сүтүө</string>
|
||||
<string name="pref_clear_database_summary">Эн библиотекаҕар суох маанга остуоруйатын сотторуу</string>
|
||||
<string name="pref_clear_database">Билим олоҕо ыраастааһына</string>
|
||||
<string name="choices_reset">Кэпсэтии түстэлэ ыраастанна</string>
|
||||
<string name="pref_disable_battery_optimization">Батарея тупсарыытын араарыы</string>
|
||||
<string name="pref_refresh_library_tracking_summary">Туругу, ахсааны уонна бүтэһик ааҕыллыбыт түһүмэҕи кэтээн көрөр өҥөлөртөн саҥардыы</string>
|
||||
<string name="pref_refresh_library_tracking">Кэтээһини чэбдигирии</string>
|
||||
<string name="pref_refresh_library_covers">Библиотекаҕа баар маанга таһын чэбдигирии</string>
|
||||
<string name="clear_database_completed">Дааннайдар сотуллубуттар</string>
|
||||
<string name="pref_disable_battery_optimization_summary">Библиотека уонна резервнай куопуйатыгар кэннинээҕи саҥардыытыгар көмөлөһөр</string>
|
||||
<string name="battery_optimization_setting_activity_not_found">Устройства түстэлэ сатаан арыллыбата</string>
|
||||
<string name="battery_optimization_disabled">Батарея тупсуруута араарыллынна</string>
|
||||
<string name="group_backup_restore">Резервнай куопуйаны оҥоруу уонна төнүҥнэрии</string>
|
||||
<string name="file_select_backup">Резервнай куопуйа билимин талыы</string>
|
||||
<string name="notices">Инники биэрсиялар бэлиэтэ</string>
|
||||
<string name="whats_new">Туох саҥа баарый</string>
|
||||
<string name="build_time">Тахсыбыт кэмэ</string>
|
||||
<string name="version">Биэрсия</string>
|
||||
<string name="website">Үөп сир</string>
|
||||
<string name="licenses">Аһаҕас төрүттээх лицензиялар</string>
|
||||
<string name="updated_version">v%1$s дылы саҥарданна</string>
|
||||
<string name="check_for_updates">Саҥардыы баар буолуутун бэрэбиэркэлээһин</string>
|
||||
<string name="action_global_search_hint">Толору көрдөөһүн…</string>
|
||||
<string name="added_to_library">Бу маанга библиотекаҕа киирбитэ</string>
|
||||
<string name="invalid_combination">Куолунунан сылдьар бөлөх ураты бөлөҕү кытта талыллыбат</string>
|
||||
<string name="pinned_sources">Иҥиннэриллибит</string>
|
||||
<string name="last_used_source">Бүтэһигинэн туттуллубут</string>
|
||||
<string name="other_source">Атыттар</string>
|
||||
<string name="local_source">Локальнай төрүт</string>
|
||||
<string name="http_error_hint">Үөп сири WebView\'га көрүн</string>
|
||||
<string name="no_results_found">Түмүк суох</string>
|
||||
<string name="no_more_results">Эбии түмүк суох</string>
|
||||
<string name="no_valid_sources">Баһаалыста биир эмит төрүтү холбоон</string>
|
||||
<string name="select_source">Төрүтү тал</string>
|
||||
<string name="source_requires_login">Бу төрүт киирини көрдүүр</string>
|
||||
<string name="tabs_header">Кыбытыктар</string>
|
||||
<string name="badges_header">Бэлиэлэр</string>
|
||||
<string name="also_delete_chapters">Хачайдаммыт түһүмэхтэри эмиэ соттор</string>
|
||||
<string name="confirm_delete_manga">Талыллыбыт маанганы сотторорго эрэллээххин дуо\?</string>
|
||||
<string name="local_source_badge">Локальнай</string>
|
||||
<string name="updating_category">Бөлөх саҥардыыта</string>
|
||||
<string name="library_search_hint">Айымньы эбэтэр суручааччы аата…</string>
|
||||
<string name="unknown_error">Биллибэт сыыһыы</string>
|
||||
<string name="invalid_login">Сатаан киирбэтин</string>
|
||||
<string name="logout_success">Эн таҕыстын</string>
|
||||
<string name="logout">Тахсыы</string>
|
||||
<string name="logout_title">%1$s\'тан тахсаҕын\?</string>
|
||||
<string name="login_success">Киирдин</string>
|
||||
<string name="login">Киири</string>
|
||||
<string name="show_password">Аһарыгы көрдөрүү</string>
|
||||
<string name="password">Аһарык</string>
|
||||
<string name="email">Эл.пуoчта аадырыһа</string>
|
||||
<string name="username">Туттааччы аата</string>
|
||||
<string name="login_title">%1$s\'га киири</string>
|
||||
<plurals name="download_queue_summary">
|
||||
<item quantity="other">%1$s хаалла</item>
|
||||
</plurals>
|
||||
<string name="downloaded_only_summary">Библиотекаҕа баар маанганы барытын биилтирдээһин</string>
|
||||
<string name="label_downloaded_only">Хачайдаммыт эрэ</string>
|
||||
<string name="pref_acra_summary">Ханнык баҕар сыаһалары көннөрөргө көмөлөһөр. Бэйэ дааннайдар ылыллыбаттар</string>
|
||||
<string name="pref_enable_acra">Охтуу туһунан отчуоту ыытыы</string>
|
||||
<string name="delete_downloads_for_manga">Хачайдаммыт түһүмэхтэри сотторобут\?</string>
|
||||
<plurals name="manga_num_chapters">
|
||||
<item quantity="other">%1$s түһүмэх</item>
|
||||
</plurals>
|
||||
<string name="manga_info_collapse">Кырата</string>
|
||||
<string name="manga_info_expand">Эбии</string>
|
||||
<string name="manga_info_about_label">Маанга туһунан</string>
|
||||
<string name="manga_removed_library">Библиотекаттан ылылынна</string>
|
||||
<string name="manga_added_library">Библиотекаҕа киирдэ</string>
|
||||
<string name="manga_info_full_title_label">Айымньы аата</string>
|
||||
<string name="remove_from_library">Библиотекаттан ыл</string>
|
||||
<string name="in_library">Библиотекаҕа</string>
|
||||
<string name="add_to_library">Библиотекаҕа киллэр</string>
|
||||
<string name="licensed">Лицензиялаах</string>
|
||||
<string name="unknown_status">Биллибэт турук</string>
|
||||
<string name="unknown">Биллибэт</string>
|
||||
<string name="ongoing">Салҕанар</string>
|
||||
<string name="track_author">Суруйааччы</string>
|
||||
<string name="unknown_author">Биллибэт суруйааччы</string>
|
||||
<string name="description">Ойуулааһын</string>
|
||||
<string name="manga_detail_tab">Маанга туһунан</string>
|
||||
<string name="manga_not_in_db">Бу маанга билим баазатыттан сотторуллубут.</string>
|
||||
<string name="no_pinned_sources">Эһиэхэ иҥиннэллибит төрүттэр суохтар</string>
|
||||
<string name="local_source_help_guide">Төрүт локальнай салалтата</string>
|
||||
<string name="browse">Көрдөөһүн</string>
|
||||
<string name="latest">Тиһэх</string>
|
||||
<string name="action_global_search_query">\"%1$s\" толору көрдөө</string>
|
||||
<string name="pref_remove_bookmarked_chapters">Кыбытыылах түһүмэхтэри соттор</string>
|
||||
<string name="pref_category_delete_chapters">Түһүмэхтэри соттор</string>
|
||||
</resources>
|
@ -603,4 +603,6 @@
|
||||
<string name="channel_complete">Acabada</string>
|
||||
<string name="channel_progress">Progressu</string>
|
||||
<string name="download_notifier_download_finish">Iscarrigamentu acabadu</string>
|
||||
<string name="channel_errors">Errores</string>
|
||||
<string name="backup_restore_missing_trackers">Arrastadores a sos cales no as fatu atzessu:</string>
|
||||
</resources>
|
@ -182,8 +182,8 @@
|
||||
<string name="color_filter_a_value">A</string>
|
||||
<string name="pref_download_directory">Nedladdningsplats</string>
|
||||
<string name="pref_download_only_over_wifi">Ladda bara ner över WiFi</string>
|
||||
<string name="pref_remove_after_marked_as_read">Ta bort när markerat som läst</string>
|
||||
<string name="pref_remove_after_read">Ta bort efter läsning</string>
|
||||
<string name="pref_remove_after_marked_as_read">Efter manuellt markerad som läst</string>
|
||||
<string name="pref_remove_after_read">Efter läsning</string>
|
||||
<string name="custom_dir">Anpassad plats</string>
|
||||
<string name="disabled">Inaktiverad</string>
|
||||
<string name="last_read_chapter">Senaste lästa kapitel</string>
|
||||
@ -603,4 +603,13 @@
|
||||
<item quantity="other">%d trackers</item>
|
||||
</plurals>
|
||||
<string name="no_pinned_sources">Du har inga fästa källor</string>
|
||||
<string name="pref_allow_nsfw_sources_blocked">Blockerad</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed_multisource">Blockera källan men visa i tilläggslistan</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed">Tillåtet</string>
|
||||
<string name="pref_allow_nsfw_sources">NSFW källor</string>
|
||||
<string name="pref_remove_bookmarked_chapters">Ta bort bokmärkta kapitel</string>
|
||||
<string name="pref_category_delete_chapters">Ta bort kapitel</string>
|
||||
<string name="ext_nsfw_warning">Kan innehålla 18+ innehåll</string>
|
||||
<string name="ext_nsfw_short">18+</string>
|
||||
<string name="backup_restore_missing_trackers">Trackers som inte har loggats in:</string>
|
||||
</resources>
|
@ -182,8 +182,8 @@
|
||||
<string name="color_filter_a_value">A</string>
|
||||
<string name="pref_download_directory">İndirme konumu</string>
|
||||
<string name="pref_download_only_over_wifi">Yalnızca Wi-Fi ile indir</string>
|
||||
<string name="pref_remove_after_marked_as_read">Okunmuş olarak işaretlendiğinde kaldır</string>
|
||||
<string name="pref_remove_after_read">Okunduktan sonra kaldır</string>
|
||||
<string name="pref_remove_after_marked_as_read">Okunmuş olarak işaretlenince</string>
|
||||
<string name="pref_remove_after_read">Okunduktan sonra</string>
|
||||
<string name="custom_dir">Özel konum</string>
|
||||
<string name="disabled">Devre dışı</string>
|
||||
<string name="last_read_chapter">Son okunan bölüm</string>
|
||||
@ -603,4 +603,12 @@
|
||||
<string name="channel_complete">Tamamlandı</string>
|
||||
<string name="channel_progress">İlerleme</string>
|
||||
<string name="download_notifier_download_finish">İndirme tamamlandı</string>
|
||||
<string name="channel_errors">Hatalar</string>
|
||||
<string name="backup_restore_missing_trackers">İzleyiciler giriş yapmadı:</string>
|
||||
<string name="pref_allow_nsfw_sources_blocked">Engelli</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed_multisource">Kaynağı engelle, ancak uzantılar listesinde göster</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed">İzinli</string>
|
||||
<string name="pref_allow_nsfw_sources">Uygunsuz kaynaklar</string>
|
||||
<string name="pref_remove_bookmarked_chapters">İşaretli bölümleri sil</string>
|
||||
<string name="pref_category_delete_chapters">Bölümleri sil</string>
|
||||
</resources>
|
@ -615,4 +615,10 @@
|
||||
<item quantity="other">%d трекерів</item>
|
||||
</plurals>
|
||||
<string name="no_pinned_sources">У вас немає закріплених джерел</string>
|
||||
<string name="group_backup_restore">Бекап та відновлення</string>
|
||||
<string name="group_downloader">Завантаження</string>
|
||||
<string name="channel_errors">Помилки</string>
|
||||
<string name="channel_complete">Завершено</string>
|
||||
<string name="channel_progress">Поступ</string>
|
||||
<string name="download_notifier_download_finish">Завантаження завершено</string>
|
||||
</resources>
|
@ -182,8 +182,8 @@
|
||||
<string name="color_filter_a_value">A</string>
|
||||
<string name="pref_download_directory">下载路径</string>
|
||||
<string name="pref_download_only_over_wifi">仅通过 Wi-Fi 下载</string>
|
||||
<string name="pref_remove_after_marked_as_read">已下载章节标记为已读时自动删除</string>
|
||||
<string name="pref_remove_after_read">阅读后删除</string>
|
||||
<string name="pref_remove_after_marked_as_read">被手动标记为已读后</string>
|
||||
<string name="pref_remove_after_read">阅毕</string>
|
||||
<string name="custom_dir">自定义路径</string>
|
||||
<string name="disabled">关闭</string>
|
||||
<string name="last_read_chapter">最后阅读的章节</string>
|
||||
@ -583,13 +583,21 @@
|
||||
<string name="pref_category_theme">主题</string>
|
||||
<string name="action_sort_date_added">添加日期</string>
|
||||
<plurals name="num_trackers">
|
||||
<item quantity="other">%d 个漫画同步源</item>
|
||||
<item quantity="other">%d 个同步源</item>
|
||||
</plurals>
|
||||
<string name="pref_read_with_tapping_inverted">反转轻触方向</string>
|
||||
<string name="no_pinned_sources">你没有已置顶的图源</string>
|
||||
<string name="group_backup_restore">备份和还原</string>
|
||||
<string name="group_downloader">下载项</string>
|
||||
<string name="group_downloader">下载</string>
|
||||
<string name="channel_complete">完成</string>
|
||||
<string name="channel_progress">进度</string>
|
||||
<string name="download_notifier_download_finish">下载已完成</string>
|
||||
<string name="channel_errors">错误</string>
|
||||
<string name="backup_restore_missing_trackers">未登录的同步源:</string>
|
||||
<string name="pref_allow_nsfw_sources_blocked">拦截的</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed_multisource">拦截源但显示在扩展列表中</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed">允许的</string>
|
||||
<string name="pref_allow_nsfw_sources">NSFW 源</string>
|
||||
<string name="pref_remove_bookmarked_chapters">删除添加为书签的章节</string>
|
||||
<string name="pref_category_delete_chapters">删除章节</string>
|
||||
</resources>
|
@ -583,4 +583,12 @@
|
||||
<string name="invalid_backup_file_missing_data">檔案遺失資料</string>
|
||||
<string name="group_backup_restore">備份與還原</string>
|
||||
<string name="source_not_found_name">找不到來源:%1$s</string>
|
||||
<string name="backup_restore_missing_trackers">尚未登入至歷程平台:</string>
|
||||
<string name="channel_progress">進度</string>
|
||||
<string name="channel_errors">錯誤</string>
|
||||
<string name="channel_complete">完成</string>
|
||||
<string name="pref_allow_nsfw_sources_blocked">已封鎖</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed">已允許</string>
|
||||
<string name="download_notifier_download_finish">下載完成</string>
|
||||
<string name="group_downloader">下載</string>
|
||||
</resources>
|
@ -170,6 +170,13 @@
|
||||
<string name="secure_screen_summary">Hide app contents when switching apps and block screenshots</string>
|
||||
<string name="hide_notification_content">Hide notification content</string>
|
||||
|
||||
<string name="pref_category_parental_controls">Parental controls</string>
|
||||
<string name="pref_allow_nsfw_sources">18+ sources</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed">Allowed</string>
|
||||
<string name="pref_allow_nsfw_sources_allowed_multisource">Block browsing sources but show in extensions list</string>
|
||||
<string name="pref_allow_nsfw_sources_blocked">Blocked</string>
|
||||
<string name="parental_controls_info">This does not prevent unofficial or potentially incorrectly flagged extensions from surfacing 18+ content within the app.</string>
|
||||
|
||||
<!-- Library section -->
|
||||
<string name="pref_category_display">Display</string>
|
||||
<string name="pref_library_columns">Items per row</string>
|
||||
@ -231,6 +238,8 @@
|
||||
<string name="unofficial_extension_message">This extension is not from the official Tachiyomi extensions list.</string>
|
||||
<string name="ext_version_info">Version: %1$s</string>
|
||||
<string name="ext_language_info">Language: %1$s</string>
|
||||
<string name="ext_nsfw_short">18+</string>
|
||||
<string name="ext_nsfw_warning">May contain 18+ content</string>
|
||||
|
||||
<!-- Reader section -->
|
||||
<string name="pref_fullscreen">Fullscreen</string>
|
||||
@ -311,8 +320,10 @@
|
||||
<!-- Downloads section -->
|
||||
<string name="pref_download_directory">Download location</string>
|
||||
<string name="pref_download_only_over_wifi">Only download over Wi-Fi</string>
|
||||
<string name="pref_remove_after_marked_as_read">Remove when marked as read</string>
|
||||
<string name="pref_remove_after_read">Remove after read</string>
|
||||
<string name="pref_category_delete_chapters">Delete chapters</string>
|
||||
<string name="pref_remove_after_marked_as_read">After manually marked as read</string>
|
||||
<string name="pref_remove_after_read">After reading</string>
|
||||
<string name="pref_remove_bookmarked_chapters">Delete bookmarked chapters</string>
|
||||
<string name="custom_dir">Custom location</string>
|
||||
<string name="disabled">Disabled</string>
|
||||
<string name="last_read_chapter">Last read chapter</string>
|
||||
@ -349,6 +360,7 @@
|
||||
<string name="invalid_backup_file_missing_data">File is missing data.</string>
|
||||
<string name="invalid_backup_file_missing_manga">Backup does not contain any manga.</string>
|
||||
<string name="backup_restore_missing_sources">Missing sources:</string>
|
||||
<string name="backup_restore_missing_trackers">Trackers not logged into:</string>
|
||||
<string name="backup_restore_content">Restore uses sources to fetch data, carrier costs may apply.\n\nMake sure you have installed all necessary extensions and are logged in to sources and tracking services before restoring.</string>
|
||||
<string name="restore_completed">Restore completed</string>
|
||||
<string name="restore_duration">%02d min, %02d sec</string>
|
||||
|
Reference in New Issue
Block a user