mirror of
https://github.com/mihonapp/mihon.git
synced 2024-11-21 20:47:03 -05:00
Clean up some unnecessary bits
- Remove analytics/crash reporting - Remove app update check - Remove F-Droid warning - Remove Discord references
This commit is contained in:
parent
899bd26956
commit
33c62ab711
50 changed files with 42 additions and 289 deletions
|
@ -59,8 +59,7 @@ representative at an online or offline event.
|
||||||
## Enforcement
|
## Enforcement
|
||||||
|
|
||||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||||
reported to the community moderators responsible for enforcement at
|
reported to the community moderators via issues.
|
||||||
the [Tachiyomi Discord server](https://discord.gg/tachiyomi).
|
|
||||||
All complaints will be reviewed and investigated promptly and fairly.
|
All complaints will be reviewed and investigated promptly and fairly.
|
||||||
|
|
||||||
All community moderators are obligated to respect the privacy and security of the
|
All community moderators are obligated to respect the privacy and security of the
|
||||||
|
|
|
@ -30,7 +30,7 @@ To auto-fix some linting errors, run the `ktlintFormat` Gradle task.
|
||||||
|
|
||||||
## Getting help
|
## Getting help
|
||||||
|
|
||||||
- Join [the Discord server](https://discord.gg/tachiyomi) for online help and to ask questions while developing.
|
No support is currently provided.
|
||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
|
|
||||||
|
|
10
README.md
10
README.md
|
@ -1,6 +1,6 @@
|
||||||
| Build | Stable | Weekly Preview | Contribute | Support Server |
|
| Build | Stable | Weekly Preview | Contribute |
|
||||||
|-------|----------|---------|------------|---------|
|
|-------|--------|----------------|------------|
|
||||||
| [![CI](https://github.com/tachiyomiorg/tachiyomi/actions/workflows/build_push.yml/badge.svg)](https://github.com/tachiyomiorg/tachiyomi/actions/workflows/build_push.yml) | [![stable release](https://img.shields.io/github/release/tachiyomiorg/tachiyomi.svg?maxAge=3600&label=download)](https://github.com/tachiyomiorg/tachiyomi/releases) | [![latest preview build](https://img.shields.io/github/v/release/tachiyomiorg/tachiyomi-preview.svg?maxAge=3600&label=download)](https://github.com/tachiyomiorg/tachiyomi-preview/releases) | [![Translation status](https://hosted.weblate.org/widgets/tachiyomi/-/svg-badge.svg)](https://hosted.weblate.org/engage/tachiyomi/?utm_source=widget) | [![Discord](https://img.shields.io/discord/349436576037732353.svg?label=discord&labelColor=7289da&color=2c2f33&style=flat)](https://discord.gg/tachiyomi) |
|
| [![CI](https://github.com/tachiyomiorg/tachiyomi/actions/workflows/build_push.yml/badge.svg)](https://github.com/tachiyomiorg/tachiyomi/actions/workflows/build_push.yml) | [![stable release](https://img.shields.io/github/release/tachiyomiorg/tachiyomi.svg?maxAge=3600&label=download)](https://github.com/tachiyomiorg/tachiyomi/releases) | [![latest preview build](https://img.shields.io/github/v/release/tachiyomiorg/tachiyomi-preview.svg?maxAge=3600&label=download)](https://github.com/tachiyomiorg/tachiyomi-preview/releases) | [![Translation status](https://hosted.weblate.org/widgets/tachiyomi/-/svg-badge.svg)](https://hosted.weblate.org/engage/tachiyomi/?utm_source=widget) |
|
||||||
|
|
||||||
# ![app icon](./.github/readme-images/app-icon.png)Tachiyomi
|
# ![app icon](./.github/readme-images/app-icon.png)Tachiyomi
|
||||||
Tachiyomi is a free and open source manga reader for Android 6.0 and above.
|
Tachiyomi is a free and open source manga reader for Android 6.0 and above.
|
||||||
|
@ -28,8 +28,7 @@ Please make sure to read the full guidelines. Your issue may be closed without w
|
||||||
|
|
||||||
<details><summary>Issues</summary>
|
<details><summary>Issues</summary>
|
||||||
|
|
||||||
1. **Before reporting a new issue, take a look at the [FAQ](https://tachiyomi.org/docs/faq/general), the [changelog](https://tachiyomi.org/changelogs/) and the already opened [issues](https://github.com/tachiyomiorg/tachiyomi/issues).**
|
**Before reporting a new issue, take a look at the [FAQ](https://tachiyomi.org/docs/faq/general), the [changelog](https://tachiyomi.org/changelogs/) and the already opened [issues](https://github.com/tachiyomiorg/tachiyomi/issues).**
|
||||||
2. If you are unsure, ask here: [![Discord](https://img.shields.io/discord/349436576037732353.svg)](https://discord.gg/tachiyomi)
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
@ -70,7 +69,6 @@ See [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md).
|
||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
[See our website.](https://tachiyomi.org/)
|
[See our website.](https://tachiyomi.org/)
|
||||||
You can also reach out to us on [Discord](https://discord.gg/tachiyomi).
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|
|
@ -8,10 +8,6 @@ plugins {
|
||||||
id("com.github.zellius.shortcut-helper")
|
id("com.github.zellius.shortcut-helper")
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gradle.startParameter.taskRequests.toString().contains("Standard")) {
|
|
||||||
apply<com.google.gms.googleservices.GoogleServicesPlugin>()
|
|
||||||
}
|
|
||||||
|
|
||||||
shortcutHelper.setFilePath("./shortcuts.xml")
|
shortcutHelper.setFilePath("./shortcuts.xml")
|
||||||
|
|
||||||
val SUPPORTED_ABIS = setOf("armeabi-v7a", "arm64-v8a", "x86", "x86_64")
|
val SUPPORTED_ABIS = setOf("armeabi-v7a", "arm64-v8a", "x86", "x86_64")
|
||||||
|
@ -31,9 +27,6 @@ android {
|
||||||
buildConfigField("boolean", "INCLUDE_UPDATER", "false")
|
buildConfigField("boolean", "INCLUDE_UPDATER", "false")
|
||||||
buildConfigField("boolean", "PREVIEW", "false")
|
buildConfigField("boolean", "PREVIEW", "false")
|
||||||
|
|
||||||
// Please disable ACRA or use your own instance in forked versions of the project
|
|
||||||
buildConfigField("String", "ACRA_URI", "\"https://tachiyomi.kanade.eu/crash_report\"")
|
|
||||||
|
|
||||||
ndk {
|
ndk {
|
||||||
abiFilters += SUPPORTED_ABIS
|
abiFilters += SUPPORTED_ABIS
|
||||||
}
|
}
|
||||||
|
@ -245,10 +238,6 @@ dependencies {
|
||||||
// Logging
|
// Logging
|
||||||
implementation(libs.logcat)
|
implementation(libs.logcat)
|
||||||
|
|
||||||
// Crash reports/analytics
|
|
||||||
implementation(libs.bundles.acra)
|
|
||||||
"standardImplementation"(libs.firebase.analytics)
|
|
||||||
|
|
||||||
// Shizuku
|
// Shizuku
|
||||||
implementation(libs.bundles.shizuku)
|
implementation(libs.bundles.shizuku)
|
||||||
|
|
||||||
|
|
4
app/proguard-rules.pro
vendored
4
app/proguard-rules.pro
vendored
|
@ -71,7 +71,3 @@
|
||||||
|
|
||||||
# XmlUtil
|
# XmlUtil
|
||||||
-keep public enum nl.adaptivity.xmlutil.EventType { *; }
|
-keep public enum nl.adaptivity.xmlutil.EventType { *; }
|
||||||
|
|
||||||
# Firebase
|
|
||||||
-keep class com.google.firebase.installations.** { *; }
|
|
||||||
-keep interface com.google.firebase.installations.** { *; }
|
|
|
@ -33,11 +33,6 @@
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
|
||||||
|
|
||||||
<!-- Remove permission from Firebase dependency -->
|
|
||||||
<uses-permission
|
|
||||||
android:name="com.google.android.gms.permission.AD_ID"
|
|
||||||
tools:node="remove" />
|
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:name=".App"
|
android:name=".App"
|
||||||
android:allowBackup="false"
|
android:allowBackup="false"
|
||||||
|
@ -236,11 +231,6 @@
|
||||||
android:name="android.webkit.WebView.MetricsOptOut"
|
android:name="android.webkit.WebView.MetricsOptOut"
|
||||||
android:value="true" />
|
android:value="true" />
|
||||||
|
|
||||||
<!-- Disable advertising ID collection for Firebase -->
|
|
||||||
<meta-data
|
|
||||||
android:name="google_analytics_adid_collection_enabled"
|
|
||||||
android:value="false" />
|
|
||||||
|
|
||||||
</application>
|
</application>
|
||||||
|
|
||||||
</manifest>
|
</manifest>
|
||||||
|
|
|
@ -2,8 +2,6 @@ package eu.kanade.domain.base
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import dev.icerock.moko.resources.StringResource
|
import dev.icerock.moko.resources.StringResource
|
||||||
import eu.kanade.tachiyomi.util.system.isPreviewBuildType
|
|
||||||
import eu.kanade.tachiyomi.util.system.isReleaseBuildType
|
|
||||||
import tachiyomi.core.preference.Preference
|
import tachiyomi.core.preference.Preference
|
||||||
import tachiyomi.core.preference.PreferenceStore
|
import tachiyomi.core.preference.PreferenceStore
|
||||||
import tachiyomi.i18n.MR
|
import tachiyomi.i18n.MR
|
||||||
|
@ -22,8 +20,6 @@ class BasePreferences(
|
||||||
|
|
||||||
fun extensionInstaller() = ExtensionInstallerPreference(context, preferenceStore)
|
fun extensionInstaller() = ExtensionInstallerPreference(context, preferenceStore)
|
||||||
|
|
||||||
fun acraEnabled() = preferenceStore.getBoolean("acra.enable", isPreviewBuildType || isReleaseBuildType)
|
|
||||||
|
|
||||||
fun shownOnboardingFlow() = preferenceStore.getBoolean(Preference.appStateKey("onboarding_complete"), false)
|
fun shownOnboardingFlow() = preferenceStore.getBoolean(Preference.appStateKey("onboarding_complete"), false)
|
||||||
|
|
||||||
enum class ExtensionInstaller(val titleRes: StringResource, val requiresSystemPermission: Boolean) {
|
enum class ExtensionInstaller(val titleRes: StringResource, val requiresSystemPermission: Boolean) {
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package eu.kanade.presentation.more
|
package eu.kanade.presentation.more
|
||||||
|
|
||||||
import androidx.compose.foundation.clickable
|
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.WindowInsets
|
import androidx.compose.foundation.layout.WindowInsets
|
||||||
import androidx.compose.foundation.layout.WindowInsetsSides
|
import androidx.compose.foundation.layout.WindowInsetsSides
|
||||||
|
@ -23,7 +22,6 @@ import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.vector.ImageVector
|
import androidx.compose.ui.graphics.vector.ImageVector
|
||||||
import androidx.compose.ui.platform.LocalUriHandler
|
import androidx.compose.ui.platform.LocalUriHandler
|
||||||
import androidx.compose.ui.res.vectorResource
|
import androidx.compose.ui.res.vectorResource
|
||||||
import eu.kanade.presentation.components.WarningBanner
|
|
||||||
import eu.kanade.presentation.more.settings.widget.SwitchPreferenceWidget
|
import eu.kanade.presentation.more.settings.widget.SwitchPreferenceWidget
|
||||||
import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget
|
import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
|
@ -60,14 +58,7 @@ fun MoreScreen(
|
||||||
),
|
),
|
||||||
) {
|
) {
|
||||||
if (isFDroid) {
|
if (isFDroid) {
|
||||||
WarningBanner(
|
// Don't really care about slow updaters now
|
||||||
textRes = MR.strings.fdroid_warning,
|
|
||||||
modifier = Modifier.clickable {
|
|
||||||
uriHandler.openUri(
|
|
||||||
"https://tachiyomi.org/docs/faq/general#how-do-i-update-from-the-f-droid-builds",
|
|
||||||
)
|
|
||||||
},
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -48,7 +48,6 @@ import eu.kanade.tachiyomi.ui.more.OnboardingScreen
|
||||||
import eu.kanade.tachiyomi.util.CrashLogUtil
|
import eu.kanade.tachiyomi.util.CrashLogUtil
|
||||||
import eu.kanade.tachiyomi.util.system.isDevFlavor
|
import eu.kanade.tachiyomi.util.system.isDevFlavor
|
||||||
import eu.kanade.tachiyomi.util.system.isPreviewBuildType
|
import eu.kanade.tachiyomi.util.system.isPreviewBuildType
|
||||||
import eu.kanade.tachiyomi.util.system.isReleaseBuildType
|
|
||||||
import eu.kanade.tachiyomi.util.system.isShizukuInstalled
|
import eu.kanade.tachiyomi.util.system.isShizukuInstalled
|
||||||
import eu.kanade.tachiyomi.util.system.powerManager
|
import eu.kanade.tachiyomi.util.system.powerManager
|
||||||
import eu.kanade.tachiyomi.util.system.setDefaultSettings
|
import eu.kanade.tachiyomi.util.system.setDefaultSettings
|
||||||
|
@ -88,12 +87,6 @@ object SettingsAdvancedScreen : SearchableSettings {
|
||||||
return buildList {
|
return buildList {
|
||||||
addAll(
|
addAll(
|
||||||
listOf(
|
listOf(
|
||||||
Preference.PreferenceItem.SwitchPreference(
|
|
||||||
pref = basePreferences.acraEnabled(),
|
|
||||||
title = stringResource(MR.strings.pref_enable_acra),
|
|
||||||
subtitle = stringResource(MR.strings.pref_acra_summary),
|
|
||||||
enabled = isPreviewBuildType || isReleaseBuildType,
|
|
||||||
),
|
|
||||||
Preference.PreferenceItem.TextPreference(
|
Preference.PreferenceItem.TextPreference(
|
||||||
title = stringResource(MR.strings.pref_dump_crash_logs),
|
title = stringResource(MR.strings.pref_dump_crash_logs),
|
||||||
subtitle = stringResource(MR.strings.pref_dump_crash_logs_summary),
|
subtitle = stringResource(MR.strings.pref_dump_crash_logs_summary),
|
||||||
|
|
|
@ -1,15 +1,12 @@
|
||||||
package eu.kanade.presentation.more.settings.screen.about
|
package eu.kanade.presentation.more.settings.screen.about
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.compose.animation.AnimatedVisibility
|
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.size
|
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.outlined.Public
|
import androidx.compose.material.icons.outlined.Public
|
||||||
import androidx.compose.material3.CircularProgressIndicator
|
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.runtime.mutableStateOf
|
import androidx.compose.runtime.mutableStateOf
|
||||||
|
@ -30,13 +27,10 @@ import eu.kanade.presentation.util.LocalBackPress
|
||||||
import eu.kanade.presentation.util.Screen
|
import eu.kanade.presentation.util.Screen
|
||||||
import eu.kanade.tachiyomi.BuildConfig
|
import eu.kanade.tachiyomi.BuildConfig
|
||||||
import eu.kanade.tachiyomi.data.updater.AppUpdateChecker
|
import eu.kanade.tachiyomi.data.updater.AppUpdateChecker
|
||||||
import eu.kanade.tachiyomi.data.updater.RELEASE_URL
|
|
||||||
import eu.kanade.tachiyomi.ui.more.NewUpdateScreen
|
|
||||||
import eu.kanade.tachiyomi.util.CrashLogUtil
|
import eu.kanade.tachiyomi.util.CrashLogUtil
|
||||||
import eu.kanade.tachiyomi.util.lang.toDateTimestampString
|
import eu.kanade.tachiyomi.util.lang.toDateTimestampString
|
||||||
import eu.kanade.tachiyomi.util.system.copyToClipboard
|
import eu.kanade.tachiyomi.util.system.copyToClipboard
|
||||||
import eu.kanade.tachiyomi.util.system.toast
|
import eu.kanade.tachiyomi.util.system.toast
|
||||||
import kotlinx.coroutines.launch
|
|
||||||
import logcat.LogPriority
|
import logcat.LogPriority
|
||||||
import tachiyomi.core.util.lang.withIOContext
|
import tachiyomi.core.util.lang.withIOContext
|
||||||
import tachiyomi.core.util.lang.withUIContext
|
import tachiyomi.core.util.lang.withUIContext
|
||||||
|
@ -48,7 +42,6 @@ import tachiyomi.presentation.core.components.ScrollbarLazyColumn
|
||||||
import tachiyomi.presentation.core.components.material.Scaffold
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
import tachiyomi.presentation.core.i18n.stringResource
|
import tachiyomi.presentation.core.i18n.stringResource
|
||||||
import tachiyomi.presentation.core.icons.CustomIcons
|
import tachiyomi.presentation.core.icons.CustomIcons
|
||||||
import tachiyomi.presentation.core.icons.Discord
|
|
||||||
import tachiyomi.presentation.core.icons.Facebook
|
import tachiyomi.presentation.core.icons.Facebook
|
||||||
import tachiyomi.presentation.core.icons.Github
|
import tachiyomi.presentation.core.icons.Github
|
||||||
import tachiyomi.presentation.core.icons.Reddit
|
import tachiyomi.presentation.core.icons.Reddit
|
||||||
|
@ -98,61 +91,6 @@ object AboutScreen : Screen() {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (BuildConfig.INCLUDE_UPDATER) {
|
|
||||||
item {
|
|
||||||
TextPreferenceWidget(
|
|
||||||
title = stringResource(MR.strings.check_for_updates),
|
|
||||||
widget = {
|
|
||||||
AnimatedVisibility(visible = isCheckingUpdates) {
|
|
||||||
CircularProgressIndicator(
|
|
||||||
modifier = Modifier.size(28.dp),
|
|
||||||
strokeWidth = 3.dp,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
onPreferenceClick = {
|
|
||||||
if (!isCheckingUpdates) {
|
|
||||||
scope.launch {
|
|
||||||
isCheckingUpdates = true
|
|
||||||
|
|
||||||
checkVersion(
|
|
||||||
context = context,
|
|
||||||
onAvailableUpdate = { result ->
|
|
||||||
val updateScreen = NewUpdateScreen(
|
|
||||||
versionName = result.release.version,
|
|
||||||
changelogInfo = result.release.info,
|
|
||||||
releaseLink = result.release.releaseLink,
|
|
||||||
downloadLink = result.release.getDownloadLink(),
|
|
||||||
)
|
|
||||||
navigator.push(updateScreen)
|
|
||||||
},
|
|
||||||
onFinish = {
|
|
||||||
isCheckingUpdates = false
|
|
||||||
},
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!BuildConfig.DEBUG) {
|
|
||||||
item {
|
|
||||||
TextPreferenceWidget(
|
|
||||||
title = stringResource(MR.strings.whats_new),
|
|
||||||
onPreferenceClick = { uriHandler.openUri(RELEASE_URL) },
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
item {
|
|
||||||
TextPreferenceWidget(
|
|
||||||
title = stringResource(MR.strings.help_translate),
|
|
||||||
onPreferenceClick = { uriHandler.openUri("https://tachiyomi.org/docs/contribute#translation") },
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
item {
|
item {
|
||||||
TextPreferenceWidget(
|
TextPreferenceWidget(
|
||||||
title = stringResource(MR.strings.licenses),
|
title = stringResource(MR.strings.licenses),
|
||||||
|
@ -179,11 +117,6 @@ object AboutScreen : Screen() {
|
||||||
icon = Icons.Outlined.Public,
|
icon = Icons.Outlined.Public,
|
||||||
url = "https://tachiyomi.org",
|
url = "https://tachiyomi.org",
|
||||||
)
|
)
|
||||||
LinkIcon(
|
|
||||||
label = "Discord",
|
|
||||||
icon = CustomIcons.Discord,
|
|
||||||
url = "https://discord.gg/tachiyomi",
|
|
||||||
)
|
|
||||||
LinkIcon(
|
LinkIcon(
|
||||||
label = "X",
|
label = "X",
|
||||||
icon = CustomIcons.X,
|
icon = CustomIcons.X,
|
||||||
|
|
|
@ -3,7 +3,6 @@ package eu.kanade.tachiyomi
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
import android.app.PendingIntent
|
import android.app.PendingIntent
|
||||||
import android.app.job.JobInfo
|
|
||||||
import android.content.BroadcastReceiver
|
import android.content.BroadcastReceiver
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
@ -42,8 +41,6 @@ import eu.kanade.tachiyomi.util.system.DeviceUtil
|
||||||
import eu.kanade.tachiyomi.util.system.WebViewUtil
|
import eu.kanade.tachiyomi.util.system.WebViewUtil
|
||||||
import eu.kanade.tachiyomi.util.system.animatorDurationScale
|
import eu.kanade.tachiyomi.util.system.animatorDurationScale
|
||||||
import eu.kanade.tachiyomi.util.system.cancelNotification
|
import eu.kanade.tachiyomi.util.system.cancelNotification
|
||||||
import eu.kanade.tachiyomi.util.system.isPreviewBuildType
|
|
||||||
import eu.kanade.tachiyomi.util.system.isReleaseBuildType
|
|
||||||
import eu.kanade.tachiyomi.util.system.notify
|
import eu.kanade.tachiyomi.util.system.notify
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.flow.launchIn
|
import kotlinx.coroutines.flow.launchIn
|
||||||
|
@ -51,13 +48,8 @@ import kotlinx.coroutines.flow.onEach
|
||||||
import logcat.AndroidLogcatLogger
|
import logcat.AndroidLogcatLogger
|
||||||
import logcat.LogPriority
|
import logcat.LogPriority
|
||||||
import logcat.LogcatLogger
|
import logcat.LogcatLogger
|
||||||
import org.acra.config.httpSender
|
|
||||||
import org.acra.config.scheduler
|
|
||||||
import org.acra.ktx.initAcra
|
|
||||||
import org.acra.sender.HttpSender
|
|
||||||
import org.conscrypt.Conscrypt
|
import org.conscrypt.Conscrypt
|
||||||
import tachiyomi.core.i18n.stringResource
|
import tachiyomi.core.i18n.stringResource
|
||||||
import tachiyomi.core.preference.Preference
|
|
||||||
import tachiyomi.core.util.system.logcat
|
import tachiyomi.core.util.system.logcat
|
||||||
import tachiyomi.i18n.MR
|
import tachiyomi.i18n.MR
|
||||||
import tachiyomi.presentation.widget.WidgetManager
|
import tachiyomi.presentation.widget.WidgetManager
|
||||||
|
@ -94,7 +86,6 @@ class App : Application(), DefaultLifecycleObserver, ImageLoaderFactory {
|
||||||
Injekt.importModule(AppModule(this))
|
Injekt.importModule(AppModule(this))
|
||||||
Injekt.importModule(DomainModule())
|
Injekt.importModule(DomainModule())
|
||||||
|
|
||||||
setupAcra()
|
|
||||||
setupNotificationChannels()
|
setupNotificationChannels()
|
||||||
|
|
||||||
ProcessLifecycleOwner.get().lifecycle.addObserver(this)
|
ProcessLifecycleOwner.get().lifecycle.addObserver(this)
|
||||||
|
@ -198,28 +189,6 @@ class App : Application(), DefaultLifecycleObserver, ImageLoaderFactory {
|
||||||
return super.getPackageName()
|
return super.getPackageName()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setupAcra() {
|
|
||||||
if (isPreviewBuildType || isReleaseBuildType) {
|
|
||||||
initAcra {
|
|
||||||
buildConfigClass = BuildConfig::class.java
|
|
||||||
excludeMatchingSharedPreferencesKeys = listOf(
|
|
||||||
Preference.privateKey(".*"), ".*username.*", ".*password.*", ".*token.*",
|
|
||||||
)
|
|
||||||
|
|
||||||
httpSender {
|
|
||||||
uri = BuildConfig.ACRA_URI
|
|
||||||
httpMethod = HttpSender.Method.PUT
|
|
||||||
}
|
|
||||||
|
|
||||||
scheduler {
|
|
||||||
requiresBatteryNotLow = true
|
|
||||||
requiresDeviceIdle = true
|
|
||||||
requiresNetworkType = JobInfo.NETWORK_TYPE_UNMETERED
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun setupNotificationChannels() {
|
private fun setupNotificationChannels() {
|
||||||
try {
|
try {
|
||||||
Notifications.createChannels(this)
|
Notifications.createChannels(this)
|
||||||
|
|
|
@ -65,7 +65,6 @@ import eu.kanade.tachiyomi.Migrations
|
||||||
import eu.kanade.tachiyomi.data.cache.ChapterCache
|
import eu.kanade.tachiyomi.data.cache.ChapterCache
|
||||||
import eu.kanade.tachiyomi.data.download.DownloadCache
|
import eu.kanade.tachiyomi.data.download.DownloadCache
|
||||||
import eu.kanade.tachiyomi.data.notification.NotificationReceiver
|
import eu.kanade.tachiyomi.data.notification.NotificationReceiver
|
||||||
import eu.kanade.tachiyomi.data.updater.AppUpdateChecker
|
|
||||||
import eu.kanade.tachiyomi.data.updater.RELEASE_URL
|
import eu.kanade.tachiyomi.data.updater.RELEASE_URL
|
||||||
import eu.kanade.tachiyomi.extension.api.ExtensionApi
|
import eu.kanade.tachiyomi.extension.api.ExtensionApi
|
||||||
import eu.kanade.tachiyomi.ui.base.activity.BaseActivity
|
import eu.kanade.tachiyomi.ui.base.activity.BaseActivity
|
||||||
|
@ -74,7 +73,6 @@ import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchScreen
|
||||||
import eu.kanade.tachiyomi.ui.deeplink.DeepLinkScreen
|
import eu.kanade.tachiyomi.ui.deeplink.DeepLinkScreen
|
||||||
import eu.kanade.tachiyomi.ui.home.HomeScreen
|
import eu.kanade.tachiyomi.ui.home.HomeScreen
|
||||||
import eu.kanade.tachiyomi.ui.manga.MangaScreen
|
import eu.kanade.tachiyomi.ui.manga.MangaScreen
|
||||||
import eu.kanade.tachiyomi.ui.more.NewUpdateScreen
|
|
||||||
import eu.kanade.tachiyomi.ui.more.OnboardingScreen
|
import eu.kanade.tachiyomi.ui.more.OnboardingScreen
|
||||||
import eu.kanade.tachiyomi.util.system.dpToPx
|
import eu.kanade.tachiyomi.util.system.dpToPx
|
||||||
import eu.kanade.tachiyomi.util.system.isNavigationBarNeedsScrim
|
import eu.kanade.tachiyomi.util.system.isNavigationBarNeedsScrim
|
||||||
|
@ -93,7 +91,6 @@ import tachiyomi.core.Constants
|
||||||
import tachiyomi.core.util.lang.launchIO
|
import tachiyomi.core.util.lang.launchIO
|
||||||
import tachiyomi.core.util.system.logcat
|
import tachiyomi.core.util.system.logcat
|
||||||
import tachiyomi.domain.library.service.LibraryPreferences
|
import tachiyomi.domain.library.service.LibraryPreferences
|
||||||
import tachiyomi.domain.release.interactor.GetApplicationRelease
|
|
||||||
import tachiyomi.i18n.MR
|
import tachiyomi.i18n.MR
|
||||||
import tachiyomi.presentation.core.components.material.Scaffold
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
import tachiyomi.presentation.core.i18n.stringResource
|
import tachiyomi.presentation.core.i18n.stringResource
|
||||||
|
@ -314,27 +311,6 @@ class MainActivity : BaseActivity() {
|
||||||
@Composable
|
@Composable
|
||||||
private fun CheckForUpdates() {
|
private fun CheckForUpdates() {
|
||||||
val context = LocalContext.current
|
val context = LocalContext.current
|
||||||
val navigator = LocalNavigator.currentOrThrow
|
|
||||||
|
|
||||||
// App updates
|
|
||||||
LaunchedEffect(Unit) {
|
|
||||||
if (BuildConfig.INCLUDE_UPDATER) {
|
|
||||||
try {
|
|
||||||
val result = AppUpdateChecker().checkForUpdate(context)
|
|
||||||
if (result is GetApplicationRelease.Result.NewUpdate) {
|
|
||||||
val updateScreen = NewUpdateScreen(
|
|
||||||
versionName = result.release.version,
|
|
||||||
changelogInfo = result.release.info,
|
|
||||||
releaseLink = result.release.releaseLink,
|
|
||||||
downloadLink = result.release.getDownloadLink(),
|
|
||||||
)
|
|
||||||
navigator.push(updateScreen)
|
|
||||||
}
|
|
||||||
} catch (e: Exception) {
|
|
||||||
logcat(LogPriority.ERROR, e)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Extensions updates
|
// Extensions updates
|
||||||
LaunchedEffect(Unit) {
|
LaunchedEffect(Unit) {
|
||||||
|
|
|
@ -1,69 +0,0 @@
|
||||||
{
|
|
||||||
"project_info": {
|
|
||||||
"project_number": "777921915939",
|
|
||||||
"firebase_url": "https://tachiyomi-47364.firebaseio.com",
|
|
||||||
"project_id": "tachiyomi-47364",
|
|
||||||
"storage_bucket": "tachiyomi-47364.appspot.com"
|
|
||||||
},
|
|
||||||
"client": [
|
|
||||||
{
|
|
||||||
"client_info": {
|
|
||||||
"mobilesdk_app_id": "1:777921915939:android:36544cd2d96c50c7",
|
|
||||||
"android_client_info": {
|
|
||||||
"package_name": "eu.kanade.tachiyomi"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"oauth_client": [
|
|
||||||
{
|
|
||||||
"client_id": "777921915939-9q25jvgbdtpk91daqlk7sa1cbdcg77o6.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"api_key": [
|
|
||||||
{
|
|
||||||
"current_key": "AIzaSyAHr8RxyeiSPC_MxJTnivz-hmdo5oX0QQQ"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"services": {
|
|
||||||
"appinvite_service": {
|
|
||||||
"other_platform_oauth_client": [
|
|
||||||
{
|
|
||||||
"client_id": "777921915939-9q25jvgbdtpk91daqlk7sa1cbdcg77o6.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"client_info": {
|
|
||||||
"mobilesdk_app_id": "1:777921915939:android:564fdc1d62efd1de",
|
|
||||||
"android_client_info": {
|
|
||||||
"package_name": "eu.kanade.tachiyomi.debug"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"oauth_client": [
|
|
||||||
{
|
|
||||||
"client_id": "777921915939-9q25jvgbdtpk91daqlk7sa1cbdcg77o6.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"api_key": [
|
|
||||||
{
|
|
||||||
"current_key": "AIzaSyAHr8RxyeiSPC_MxJTnivz-hmdo5oX0QQQ"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"services": {
|
|
||||||
"appinvite_service": {
|
|
||||||
"other_platform_oauth_client": [
|
|
||||||
{
|
|
||||||
"client_id": "777921915939-9q25jvgbdtpk91daqlk7sa1cbdcg77o6.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"configuration_version": "1"
|
|
||||||
}
|
|
|
@ -6,7 +6,6 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile
|
||||||
buildscript {
|
buildscript {
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath(libs.android.shortcut.gradle)
|
classpath(libs.android.shortcut.gradle)
|
||||||
classpath(libs.google.services.gradle)
|
|
||||||
classpath(libs.aboutLibraries.gradle)
|
classpath(libs.aboutLibraries.gradle)
|
||||||
classpath(libs.sqldelight.gradle)
|
classpath(libs.sqldelight.gradle)
|
||||||
classpath(libs.moko.gradle)
|
classpath(libs.moko.gradle)
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
[versions]
|
[versions]
|
||||||
aboutlib_version = "10.10.0"
|
aboutlib_version = "10.10.0"
|
||||||
acra = "5.11.3"
|
|
||||||
leakcanary = "2.13"
|
leakcanary = "2.13"
|
||||||
moko = "0.23.0"
|
moko = "0.23.0"
|
||||||
okhttp_version = "5.0.0-alpha.12"
|
okhttp_version = "5.0.0-alpha.12"
|
||||||
|
@ -13,7 +12,6 @@ voyager = "1.0.0"
|
||||||
[libraries]
|
[libraries]
|
||||||
desugar = "com.android.tools:desugar_jdk_libs:2.0.4"
|
desugar = "com.android.tools:desugar_jdk_libs:2.0.4"
|
||||||
android-shortcut-gradle = "com.github.zellius:android-shortcut-gradle-plugin:0.1.2"
|
android-shortcut-gradle = "com.github.zellius:android-shortcut-gradle-plugin:0.1.2"
|
||||||
google-services-gradle = "com.google.gms:google-services:4.4.0"
|
|
||||||
|
|
||||||
rxjava = "io.reactivex:rxjava:1.3.8"
|
rxjava = "io.reactivex:rxjava:1.3.8"
|
||||||
|
|
||||||
|
@ -68,10 +66,6 @@ moko-gradle = { module = "dev.icerock.moko:resources-generator", version.ref = "
|
||||||
|
|
||||||
logcat = "com.squareup.logcat:logcat:0.1"
|
logcat = "com.squareup.logcat:logcat:0.1"
|
||||||
|
|
||||||
acra-http = { module = "ch.acra:acra-http", version.ref = "acra" }
|
|
||||||
acra-scheduler = { module = "ch.acra:acra-advanced-scheduler", version.ref = "acra" }
|
|
||||||
firebase-analytics = "com.google.firebase:firebase-analytics-ktx:21.5.0"
|
|
||||||
|
|
||||||
aboutLibraries-gradle = { module = "com.mikepenz.aboutlibraries.plugin:aboutlibraries-plugin", version.ref = "aboutlib_version" }
|
aboutLibraries-gradle = { module = "com.mikepenz.aboutlibraries.plugin:aboutlibraries-plugin", version.ref = "aboutlib_version" }
|
||||||
aboutLibraries-compose = { module = "com.mikepenz:aboutlibraries-compose-m3", version.ref = "aboutlib_version" }
|
aboutLibraries-compose = { module = "com.mikepenz:aboutlibraries-compose-m3", version.ref = "aboutlib_version" }
|
||||||
|
|
||||||
|
@ -99,7 +93,6 @@ voyager-transitions = { module = "cafe.adriel.voyager:voyager-transitions", vers
|
||||||
ktlint = "org.jlleitschuh.gradle:ktlint-gradle:12.0.3"
|
ktlint = "org.jlleitschuh.gradle:ktlint-gradle:12.0.3"
|
||||||
|
|
||||||
[bundles]
|
[bundles]
|
||||||
acra = ["acra-http", "acra-scheduler"]
|
|
||||||
okhttp = ["okhttp-core", "okhttp-logging", "okhttp-brotli", "okhttp-dnsoverhttps"]
|
okhttp = ["okhttp-core", "okhttp-logging", "okhttp-brotli", "okhttp-dnsoverhttps"]
|
||||||
js-engine = ["quickjs-android"]
|
js-engine = ["quickjs-android"]
|
||||||
sqlite = ["sqlite-framework", "sqlite-ktx", "sqlite-android"]
|
sqlite = ["sqlite-framework", "sqlite-ktx", "sqlite-android"]
|
||||||
|
|
|
@ -809,7 +809,7 @@
|
||||||
|
|
||||||
<!-- Crash screen -->
|
<!-- Crash screen -->
|
||||||
<string name="crash_screen_title">Whoops!</string>
|
<string name="crash_screen_title">Whoops!</string>
|
||||||
<string name="crash_screen_description">%s ran into an unexpected error. We suggest you share the crash logs in our support channel on Discord.</string>
|
<string name="crash_screen_description">%s ran into an unexpected error.</string>
|
||||||
<string name="crash_screen_restart_application">Restart the application</string>
|
<string name="crash_screen_restart_application">Restart the application</string>
|
||||||
|
|
||||||
<!-- Stats screen -->
|
<!-- Stats screen -->
|
||||||
|
|
|
@ -575,7 +575,7 @@
|
||||||
<string name="are_you_sure">Сигурни ли сте\?</string>
|
<string name="are_you_sure">Сигурни ли сте\?</string>
|
||||||
<string name="popular">Популярни</string>
|
<string name="popular">Популярни</string>
|
||||||
<string name="unfinished_list">Списък с незавършени</string>
|
<string name="unfinished_list">Списък с незавършени</string>
|
||||||
<string name="crash_screen_description">%s се сблъска с неочаквана грешка. Препоръчваме да заснемете това съобщение, да запазите записите от крашовете и да ги споделите в нашия канал за поддръжка в Discord.</string>
|
<string name="crash_screen_description">%s се сблъска с неочаквана грешка.</string>
|
||||||
<string name="updates_last_update_info">Последно обновяване на библиотеката: %1$s</string>
|
<string name="updates_last_update_info">Последно обновяване на библиотеката: %1$s</string>
|
||||||
<string name="reading_list">Списък за четене</string>
|
<string name="reading_list">Списък за четене</string>
|
||||||
<string name="cant_open_last_read_chapter">Не може да се отвори последната прочетена глава</string>
|
<string name="cant_open_last_read_chapter">Не може да се отвори последната прочетена глава</string>
|
||||||
|
|
|
@ -625,7 +625,7 @@
|
||||||
<string name="auto_download_while_reading">Baixa automàticament mentre es llegeix</string>
|
<string name="auto_download_while_reading">Baixa automàticament mentre es llegeix</string>
|
||||||
<string name="download_ahead_info">Només funciona si el capítol actual i el següent ja estan baixats.</string>
|
<string name="download_ahead_info">Només funciona si el capítol actual i el següent ja estan baixats.</string>
|
||||||
<string name="crash_screen_title">Ups!</string>
|
<string name="crash_screen_title">Ups!</string>
|
||||||
<string name="crash_screen_description">S’ha produït un error inesperat al %s. Us suggerim que compartiu el registre d’errors al nostre canal d’assistència al Discord.</string>
|
<string name="crash_screen_description">S’ha produït un error inesperat al %s.</string>
|
||||||
<string name="missing_storage_permission">No s’han concedit permisos d’emmagatzematge</string>
|
<string name="missing_storage_permission">No s’han concedit permisos d’emmagatzematge</string>
|
||||||
<string name="popular">Populars</string>
|
<string name="popular">Populars</string>
|
||||||
<string name="pref_backup_summary">Còpies de seguretat automàtiques i manuals i espai d’emmagatzematge</string>
|
<string name="pref_backup_summary">Còpies de seguretat automàtiques i manuals i espai d’emmagatzematge</string>
|
||||||
|
|
|
@ -637,7 +637,7 @@
|
||||||
<string name="pref_browse_summary">Zdroje, rozšíření, globální vyhledávání</string>
|
<string name="pref_browse_summary">Zdroje, rozšíření, globální vyhledávání</string>
|
||||||
<string name="pref_security_summary">Zámek aplikace, zabezpečená obrazovka</string>
|
<string name="pref_security_summary">Zámek aplikace, zabezpečená obrazovka</string>
|
||||||
<string name="pref_advanced_summary">Výpis protokolů selhání, optimalizace baterie</string>
|
<string name="pref_advanced_summary">Výpis protokolů selhání, optimalizace baterie</string>
|
||||||
<string name="crash_screen_description">%s narazil na neočekávanou chybu. Doporučujeme vám sdílet protokoly o selhání a poté je sdílet v našem kanálu podpory na Discordu.</string>
|
<string name="crash_screen_description">%s narazil na neočekávanou chybu.</string>
|
||||||
<string name="crash_screen_restart_application">Restartujte aplikaci</string>
|
<string name="crash_screen_restart_application">Restartujte aplikaci</string>
|
||||||
<string name="pref_backup_summary">Ruční a automatické zálohování, místo v úložišti</string>
|
<string name="pref_backup_summary">Ruční a automatické zálohování, místo v úložišti</string>
|
||||||
<string name="crash_screen_title">Ups!</string>
|
<string name="crash_screen_title">Ups!</string>
|
||||||
|
|
|
@ -639,7 +639,7 @@
|
||||||
<string name="crash_screen_title">Ups!</string>
|
<string name="crash_screen_title">Ups!</string>
|
||||||
<string name="pref_advanced_summary">Absturzprotokolle ausgeben, Akkuverbrauch-Optimierung</string>
|
<string name="pref_advanced_summary">Absturzprotokolle ausgeben, Akkuverbrauch-Optimierung</string>
|
||||||
<string name="pref_backup_summary">Manuelle und automatische Datensicherungen, Speicherplatz</string>
|
<string name="pref_backup_summary">Manuelle und automatische Datensicherungen, Speicherplatz</string>
|
||||||
<string name="crash_screen_description">%s ist auf einen unerwarteten Fehler gestoßen. Wir empfehlen dir, die Absturzprotokolle in unserem Support-Kanal auf Discord zu teilen.</string>
|
<string name="crash_screen_description">%s ist auf einen unerwarteten Fehler gestoßen.</string>
|
||||||
<string name="pref_security_summary">App-Sperre, sicherer Bildschirm</string>
|
<string name="pref_security_summary">App-Sperre, sicherer Bildschirm</string>
|
||||||
<string name="unknown_title">Unbekannter Titel</string>
|
<string name="unknown_title">Unbekannter Titel</string>
|
||||||
<string name="invalid_location">Ungültiger Speicherort: %s</string>
|
<string name="invalid_location">Ungültiger Speicherort: %s</string>
|
||||||
|
|
|
@ -640,7 +640,7 @@
|
||||||
<string name="crash_screen_restart_application">Επανεκκίνηση της εφαρμογής</string>
|
<string name="crash_screen_restart_application">Επανεκκίνηση της εφαρμογής</string>
|
||||||
<string name="pref_downloads_summary">Αυτόματη λήψη, λήψη εκ των προτέρων</string>
|
<string name="pref_downloads_summary">Αυτόματη λήψη, λήψη εκ των προτέρων</string>
|
||||||
<string name="pref_advanced_summary">Αρχεία καταγραφής σφαλμάτων, βελτιστοποιήσεις μπαταρίας</string>
|
<string name="pref_advanced_summary">Αρχεία καταγραφής σφαλμάτων, βελτιστοποιήσεις μπαταρίας</string>
|
||||||
<string name="crash_screen_description">Το %s αντιμετώπισε ένα απροσδόκητο σφάλμα. Σας προτείνουμε να μοιραστείτε τα αρχεία καταγραφής σφαλμάτων στο κανάλι υποστήριξης μας στο Discord.</string>
|
<string name="crash_screen_description">Το %s αντιμετώπισε ένα απροσδόκητο σφάλμα.</string>
|
||||||
<string name="unknown_title">Άγνωστος τίτλος</string>
|
<string name="unknown_title">Άγνωστος τίτλος</string>
|
||||||
<string name="invalid_location">Μη έγκυρη τοποθεσία: %s</string>
|
<string name="invalid_location">Μη έγκυρη τοποθεσία: %s</string>
|
||||||
<string name="error_user_agent_string_invalid">Μη έγκυρη συμβολοσειρά πράκτορα χρήστη</string>
|
<string name="error_user_agent_string_invalid">Μη έγκυρη συμβολοσειρά πράκτορα χρήστη</string>
|
||||||
|
|
|
@ -632,7 +632,7 @@
|
||||||
<string name="pref_tracking_summary">Sincroniza tu progreso de lectura; unidireccional o mejorada</string>
|
<string name="pref_tracking_summary">Sincroniza tu progreso de lectura; unidireccional o mejorada</string>
|
||||||
<string name="pref_downloads_summary">Descargas automáticas y por adelantado</string>
|
<string name="pref_downloads_summary">Descargas automáticas y por adelantado</string>
|
||||||
<string name="pref_library_summary">Categorías, actualizaciones generales y acciones al deslizar el dedo</string>
|
<string name="pref_library_summary">Categorías, actualizaciones generales y acciones al deslizar el dedo</string>
|
||||||
<string name="crash_screen_description">%s se ha cerrado por un problema inesperado. Te sugerimos que compartas todos tus registros de depuración, enviándolos a nuestro canal de apoyo en Discord, en inglés.</string>
|
<string name="crash_screen_description">%s se ha cerrado por un problema inesperado.</string>
|
||||||
<string name="pref_reader_summary">Modos de lectura, apariencia y navegación</string>
|
<string name="pref_reader_summary">Modos de lectura, apariencia y navegación</string>
|
||||||
<string name="pref_appearance_summary">Temas de colores y formatos de fecha</string>
|
<string name="pref_appearance_summary">Temas de colores y formatos de fecha</string>
|
||||||
<string name="pref_advanced_summary">Volcar datos del cuelgue y estado de ahorro de batería</string>
|
<string name="pref_advanced_summary">Volcar datos del cuelgue y estado de ahorro de batería</string>
|
||||||
|
|
|
@ -638,7 +638,7 @@
|
||||||
<string name="pref_advanced_summary">Itambak ang mga crash log, pag-o-optimisa sa baterya</string>
|
<string name="pref_advanced_summary">Itambak ang mga crash log, pag-o-optimisa sa baterya</string>
|
||||||
<string name="pref_library_summary">Mga kategorya, panlahatang update, pag-swipe ng kabanata</string>
|
<string name="pref_library_summary">Mga kategorya, panlahatang update, pag-swipe ng kabanata</string>
|
||||||
<string name="pref_browse_summary">Mga source, extension, panlahatang paghanap</string>
|
<string name="pref_browse_summary">Mga source, extension, panlahatang paghanap</string>
|
||||||
<string name="crash_screen_description">Nagkaroon ng hindi inaasahang error ang %s. Iminumungkahi naming ibahagi mo ang mga crash log sa aming support channel sa Discord.</string>
|
<string name="crash_screen_description">Nagkaroon ng hindi inaasahang error ang %s.</string>
|
||||||
<string name="crash_screen_title">Ay!</string>
|
<string name="crash_screen_title">Ay!</string>
|
||||||
<string name="crash_screen_restart_application">Buksan muli ang app</string>
|
<string name="crash_screen_restart_application">Buksan muli ang app</string>
|
||||||
<string name="invalid_location">Invalid na lugar: %s</string>
|
<string name="invalid_location">Invalid na lugar: %s</string>
|
||||||
|
|
|
@ -640,7 +640,7 @@
|
||||||
<string name="pref_library_summary">Catégories, mise à jour globale, faire glisser le chapitre</string>
|
<string name="pref_library_summary">Catégories, mise à jour globale, faire glisser le chapitre</string>
|
||||||
<string name="pref_reader_summary">Mode de lecture, affichage, navigation</string>
|
<string name="pref_reader_summary">Mode de lecture, affichage, navigation</string>
|
||||||
<string name="pref_security_summary">Verrouillage des applications, écran sécurisé</string>
|
<string name="pref_security_summary">Verrouillage des applications, écran sécurisé</string>
|
||||||
<string name="crash_screen_description">%s a rencontré une erreur inattendue. Nous vous suggérons de nous partager les rapports de plantage dans notre salon d\'assistance sur Discord.</string>
|
<string name="crash_screen_description">%s a rencontré une erreur inattendue.</string>
|
||||||
<string name="invalid_location">Emplacement invalide : %s</string>
|
<string name="invalid_location">Emplacement invalide : %s</string>
|
||||||
<string name="error_user_agent_string_invalid">Chaîne d\'agent utilisateur invalide</string>
|
<string name="error_user_agent_string_invalid">Chaîne d\'agent utilisateur invalide</string>
|
||||||
<string name="unknown_title">Titre inconnu</string>
|
<string name="unknown_title">Titre inconnu</string>
|
||||||
|
|
|
@ -584,7 +584,7 @@
|
||||||
<string name="manga_tracking_tab">En seguimento</string>
|
<string name="manga_tracking_tab">En seguimento</string>
|
||||||
<string name="reading">Lendo</string>
|
<string name="reading">Lendo</string>
|
||||||
<string name="download_notifier_text_only_wifi">Non hai ningunha conexión Wi-Fi dispoñible</string>
|
<string name="download_notifier_text_only_wifi">Non hai ningunha conexión Wi-Fi dispoñible</string>
|
||||||
<string name="crash_screen_description">%s pechouse por un problema inesperado. Aconsellámoste que compartas os rexistros de erros na canle de soporte no Discord (en inglés).</string>
|
<string name="crash_screen_description">%s pechouse por un problema inesperado.</string>
|
||||||
<string name="crash_screen_restart_application">Reinicia a aplicación</string>
|
<string name="crash_screen_restart_application">Reinicia a aplicación</string>
|
||||||
<string name="source_filter_empty_screen">Non se atopou ninguna fonte instalada</string>
|
<string name="source_filter_empty_screen">Non se atopou ninguna fonte instalada</string>
|
||||||
<string name="download_queue_size_warning">Advertencia: As baixadas grandes poden facer que as fontes se volvan máis lentas e/ou bloqueen Tachiyomi. Preme para saber máis.</string>
|
<string name="download_queue_size_warning">Advertencia: As baixadas grandes poden facer que as fontes se volvan máis lentas e/ou bloqueen Tachiyomi. Preme para saber máis.</string>
|
||||||
|
|
|
@ -641,7 +641,7 @@
|
||||||
<string name="unknown_title">Nepoznat naslov</string>
|
<string name="unknown_title">Nepoznat naslov</string>
|
||||||
<string name="updates_last_update_info">Zadnje aktualiziranje biblioteke: %s</string>
|
<string name="updates_last_update_info">Zadnje aktualiziranje biblioteke: %s</string>
|
||||||
<string name="are_you_sure">Sigurno\?</string>
|
<string name="are_you_sure">Sigurno\?</string>
|
||||||
<string name="crash_screen_description">%s je naišao na neočekivanu grešku. Predlažemo da podijeliš zapis o prekidu programa u našem kanalu za podršku na Discordu.</string>
|
<string name="crash_screen_description">%s je naišao na neočekivanu grešku.</string>
|
||||||
<string name="label_overview_section">Pregled</string>
|
<string name="label_overview_section">Pregled</string>
|
||||||
<string name="label_completed_titles">Dovršene stavke</string>
|
<string name="label_completed_titles">Dovršene stavke</string>
|
||||||
<string name="label_read_duration">Trajanje čitanja</string>
|
<string name="label_read_duration">Trajanje čitanja</string>
|
||||||
|
|
|
@ -677,7 +677,7 @@
|
||||||
<string name="pref_debug_info">Debug információ</string>
|
<string name="pref_debug_info">Debug információ</string>
|
||||||
<string name="popular">Felkapott</string>
|
<string name="popular">Felkapott</string>
|
||||||
<string name="update_already_running">A frissités már folyamatban van</string>
|
<string name="update_already_running">A frissités már folyamatban van</string>
|
||||||
<string name="crash_screen_description">%s hibába ütközött. A hiba üzenetet kérünk oszd meg velünk a Discord szerverünkön.</string>
|
<string name="crash_screen_description">%s hibába ütközött.</string>
|
||||||
<string name="track_remove_date_conf_title">Dátum eltávolítása\?</string>
|
<string name="track_remove_date_conf_title">Dátum eltávolítása\?</string>
|
||||||
<string name="crash_screen_restart_application">Applikáció újrainditása</string>
|
<string name="crash_screen_restart_application">Applikáció újrainditása</string>
|
||||||
<string name="label_titles_in_global_update">Globális frissités</string>
|
<string name="label_titles_in_global_update">Globális frissités</string>
|
||||||
|
|
|
@ -632,7 +632,7 @@
|
||||||
<string name="pref_browse_summary">Sumber, ekstensi, pencarian global</string>
|
<string name="pref_browse_summary">Sumber, ekstensi, pencarian global</string>
|
||||||
<string name="pref_reader_summary">Mode membaca, tampilan, navigasi</string>
|
<string name="pref_reader_summary">Mode membaca, tampilan, navigasi</string>
|
||||||
<string name="pref_tracking_summary">Sinkronisasi progres searah, sinkronisasi yang ditingkatkan</string>
|
<string name="pref_tracking_summary">Sinkronisasi progres searah, sinkronisasi yang ditingkatkan</string>
|
||||||
<string name="crash_screen_description">%s mengalami kesalahan tak terduga. Kami menyarankan Anda membagi log kerusakan di saluran dukungan kami di Discord.</string>
|
<string name="crash_screen_description">%s mengalami kesalahan tak terduga.</string>
|
||||||
<string name="pref_downloads_summary">Unduh otomatis, unduh terlebih dahulu</string>
|
<string name="pref_downloads_summary">Unduh otomatis, unduh terlebih dahulu</string>
|
||||||
<string name="pref_security_summary">Kunci aplikasi, amankan layar</string>
|
<string name="pref_security_summary">Kunci aplikasi, amankan layar</string>
|
||||||
<string name="pref_appearance_summary">Tema, format tanggal & waktu</string>
|
<string name="pref_appearance_summary">Tema, format tanggal & waktu</string>
|
||||||
|
|
|
@ -634,7 +634,7 @@
|
||||||
<string name="skipped_reason_not_always_update">Saltato perché la serie non richiede aggiornamenti</string>
|
<string name="skipped_reason_not_always_update">Saltato perché la serie non richiede aggiornamenti</string>
|
||||||
<string name="action_search_hint">Ricerca…</string>
|
<string name="action_search_hint">Ricerca…</string>
|
||||||
<string name="pref_appearance_summary">Tema, formato data e ora</string>
|
<string name="pref_appearance_summary">Tema, formato data e ora</string>
|
||||||
<string name="crash_screen_description">%s ha riscontrato un errore imprevisto. Ti suggeriamo di condividere il registro degli arresti anomali nel nostro canale di supporto su Discord.</string>
|
<string name="crash_screen_description">%s ha riscontrato un errore imprevisto.</string>
|
||||||
<string name="pref_library_summary">Categorie, aggiornamenti globali, azioni di scorrimento capitoli</string>
|
<string name="pref_library_summary">Categorie, aggiornamenti globali, azioni di scorrimento capitoli</string>
|
||||||
<string name="pref_downloads_summary">Download automatico, download anticipato</string>
|
<string name="pref_downloads_summary">Download automatico, download anticipato</string>
|
||||||
<string name="pref_browse_summary">Fonti, estensioni, ricerca globale</string>
|
<string name="pref_browse_summary">Fonti, estensioni, ricerca globale</string>
|
||||||
|
|
|
@ -629,7 +629,7 @@
|
||||||
<string name="missing_storage_permission">ストレージ権限を持っていません</string>
|
<string name="missing_storage_permission">ストレージ権限を持っていません</string>
|
||||||
<string name="skipped_reason_not_always_update">シリーズは更新を必要としないため、スキップされました</string>
|
<string name="skipped_reason_not_always_update">シリーズは更新を必要としないため、スキップされました</string>
|
||||||
<string name="action_search_hint">検索…</string>
|
<string name="action_search_hint">検索…</string>
|
||||||
<string name="crash_screen_description">%sでは予期せぬエラーが発生しました。お手数ですが、クラッシュ ログを Discord のサポート チャネルで共有するようお願い致します。</string>
|
<string name="crash_screen_description">%sでは予期せぬエラーが発生しました。</string>
|
||||||
<string name="invalid_location">無効な場所: %s</string>
|
<string name="invalid_location">無効な場所: %s</string>
|
||||||
<string name="unknown_title">不明なタイトル</string>
|
<string name="unknown_title">不明なタイトル</string>
|
||||||
<string name="error_user_agent_string_invalid">ユーザー エージェント文字列が無効です</string>
|
<string name="error_user_agent_string_invalid">ユーザー エージェント文字列が無効です</string>
|
||||||
|
|
|
@ -573,7 +573,7 @@
|
||||||
<string name="file_select_cover">Мұқаба таңдау</string>
|
<string name="file_select_cover">Мұқаба таңдау</string>
|
||||||
<string name="file_select_backup">Сақтық көшірме файлын таңдау</string>
|
<string name="file_select_backup">Сақтық көшірме файлын таңдау</string>
|
||||||
<string name="crash_screen_title">Ойбай!</string>
|
<string name="crash_screen_title">Ойбай!</string>
|
||||||
<string name="crash_screen_description">%s күтпеген қатеге ұшырады. Жаңылыс журналдарын Discord сайтындағы қолдау арнамызда ортақ пайдалануды ұсынамыз.</string>
|
<string name="crash_screen_description">%s күтпеген қатеге ұшырады.</string>
|
||||||
<string name="crash_screen_restart_application">Қолданбаны өшіріп қосу</string>
|
<string name="crash_screen_restart_application">Қолданбаны өшіріп қосу</string>
|
||||||
<string name="download_queue_error">Тараулар жүктелмеді. Жүктеулер кезегіне барып, сол жерден байқап көре аласыз</string>
|
<string name="download_queue_error">Тараулар жүктелмеді. Жүктеулер кезегіне барып, сол жерден байқап көре аласыз</string>
|
||||||
<string name="download_insufficient_space">Жадта орын аз болғандықтан тараулар жүктелмейді</string>
|
<string name="download_insufficient_space">Жадта орын аз болғандықтан тараулар жүктелмейді</string>
|
||||||
|
|
|
@ -640,7 +640,7 @@
|
||||||
<string name="pref_downloads_summary">자동 다운로드, 미리 다운로드</string>
|
<string name="pref_downloads_summary">자동 다운로드, 미리 다운로드</string>
|
||||||
<string name="crash_screen_title">앗!</string>
|
<string name="crash_screen_title">앗!</string>
|
||||||
<string name="crash_screen_restart_application">애플리케이션 재시작</string>
|
<string name="crash_screen_restart_application">애플리케이션 재시작</string>
|
||||||
<string name="crash_screen_description">%s에 예기치 않은 오류가 발생했습니다. 충돌 로그를 공식 디스코드 채널에 공유하는 것을 추천합니다.</string>
|
<string name="crash_screen_description">%s에 예기치 않은 오류가 발생했습니다.</string>
|
||||||
<string name="unknown_title">알 수 없는 제목</string>
|
<string name="unknown_title">알 수 없는 제목</string>
|
||||||
<string name="invalid_location">잘못된 위치: %s</string>
|
<string name="invalid_location">잘못된 위치: %s</string>
|
||||||
<string name="error_user_agent_string_invalid">잘못된 사용자 에이전트 문자열</string>
|
<string name="error_user_agent_string_invalid">잘못된 사용자 에이전트 문자열</string>
|
||||||
|
|
|
@ -644,7 +644,7 @@
|
||||||
<string name="error_user_agent_string_invalid">Netinkama naudotojo agento eilutė</string>
|
<string name="error_user_agent_string_invalid">Netinkama naudotojo agento eilutė</string>
|
||||||
<string name="unknown_title">Nežinomas pavadinimas</string>
|
<string name="unknown_title">Nežinomas pavadinimas</string>
|
||||||
<string name="updates_last_update_info_just_now">Ką tik</string>
|
<string name="updates_last_update_info_just_now">Ką tik</string>
|
||||||
<string name="crash_screen_description">%s susidūrė su netikėta klaida. Siūlome padaryti šio pranešimo ekrano nuotrauką, išsisaugoti gedimų žurnalus ir pasidalyti tuo mūsų „Discord“ palaikymo kanale.</string>
|
<string name="crash_screen_description">%s susidūrė su netikėta klaida.</string>
|
||||||
<string name="are_you_sure">Ar esate tikri\?</string>
|
<string name="are_you_sure">Ar esate tikri\?</string>
|
||||||
<string name="popular">Populiaru</string>
|
<string name="popular">Populiaru</string>
|
||||||
<string name="crash_screen_title">Ups!</string>
|
<string name="crash_screen_title">Ups!</string>
|
||||||
|
|
|
@ -671,7 +671,7 @@
|
||||||
<string name="delete_category_confirmation">Vai vēlaties dzēst kategoriju \"%s\"\?</string>
|
<string name="delete_category_confirmation">Vai vēlaties dzēst kategoriju \"%s\"\?</string>
|
||||||
<string name="track_error">%1$s kļūda: %2$s</string>
|
<string name="track_error">%1$s kļūda: %2$s</string>
|
||||||
<string name="update_already_running">Atjauninājums jau darbojas</string>
|
<string name="update_already_running">Atjauninājums jau darbojas</string>
|
||||||
<string name="crash_screen_description">%s radās neparedzēta kļūda. Mēs iesakām dalīties ar avārijas žurnālu mūsu atbalsta kanālā Discord lietotnē.</string>
|
<string name="crash_screen_description">%s radās neparedzēta kļūda.</string>
|
||||||
<string name="pref_page_rotate">Pagrieziet platas lapas, lai tās ietilptu</string>
|
<string name="pref_page_rotate">Pagrieziet platas lapas, lai tās ietilptu</string>
|
||||||
<string name="pref_page_rotate_invert">Apvērst orientācija pagrieztām platām lapām</string>
|
<string name="pref_page_rotate_invert">Apvērst orientācija pagrieztām platām lapām</string>
|
||||||
<string name="split_tall_images">Sadalīt augstus attēlus</string>
|
<string name="split_tall_images">Sadalīt augstus attēlus</string>
|
||||||
|
|
|
@ -640,7 +640,7 @@
|
||||||
<string name="crash_screen_title">Aduhai!</string>
|
<string name="crash_screen_title">Aduhai!</string>
|
||||||
<string name="crash_screen_restart_application">Mulakan semula aplikasi</string>
|
<string name="crash_screen_restart_application">Mulakan semula aplikasi</string>
|
||||||
<string name="pref_browse_summary">Sumber, sambungan, carian keseluruhan</string>
|
<string name="pref_browse_summary">Sumber, sambungan, carian keseluruhan</string>
|
||||||
<string name="crash_screen_description">%s mengalami ralat tidak dijangka. Kami mencadangkan anda untuk kongsi log kerosakan pada Discord kami di saluran bantuan.</string>
|
<string name="crash_screen_description">%s mengalami ralat tidak dijangka.</string>
|
||||||
<string name="unknown_title">Tajuk tidak diketahui</string>
|
<string name="unknown_title">Tajuk tidak diketahui</string>
|
||||||
<string name="invalid_location">Lokasi tidak sah: %s</string>
|
<string name="invalid_location">Lokasi tidak sah: %s</string>
|
||||||
<string name="error_user_agent_string_invalid">Rentetan ejen pengguna tidak sah</string>
|
<string name="error_user_agent_string_invalid">Rentetan ejen pengguna tidak sah</string>
|
||||||
|
|
|
@ -623,7 +623,7 @@
|
||||||
<string name="delete_category">Slett kategori</string>
|
<string name="delete_category">Slett kategori</string>
|
||||||
<string name="internal_error">InternalError: Sjekk krasjlogger for mer informasjon</string>
|
<string name="internal_error">InternalError: Sjekk krasjlogger for mer informasjon</string>
|
||||||
<string name="crash_screen_title">Oops!</string>
|
<string name="crash_screen_title">Oops!</string>
|
||||||
<string name="crash_screen_description">%s fikk en uventet feil. Vi foreslår at du deler krasjloggene i vår støttekanal på Discord.</string>
|
<string name="crash_screen_description">%s fikk en uventet feil.</string>
|
||||||
<string name="pref_app_language">Appspråk</string>
|
<string name="pref_app_language">Appspråk</string>
|
||||||
<string name="description_placeholder">Ingen beskrivelse</string>
|
<string name="description_placeholder">Ingen beskrivelse</string>
|
||||||
<string name="action_search_hint">Søk…</string>
|
<string name="action_search_hint">Søk…</string>
|
||||||
|
|
|
@ -668,7 +668,7 @@
|
||||||
<string name="track_remove_start_date_conf_text">Dit gaat je eerder geselcteerde startdatum %s verwijderen</string>
|
<string name="track_remove_start_date_conf_text">Dit gaat je eerder geselcteerde startdatum %s verwijderen</string>
|
||||||
<string name="delete_downloaded">Download verwijderen</string>
|
<string name="delete_downloaded">Download verwijderen</string>
|
||||||
<string name="skipped_reason_not_always_update">Overgeslagen omdat serie geen updates vereist.</string>
|
<string name="skipped_reason_not_always_update">Overgeslagen omdat serie geen updates vereist.</string>
|
||||||
<string name="crash_screen_description">%s is een onverwachte fout tegengekomen. We raden u aan de crashlogboeken te delen in ons ondersteuningskanaal op Discord.</string>
|
<string name="crash_screen_description">%s is een onverwachte fout tegengekomen.</string>
|
||||||
<string name="pref_debug_info">Foutopsporingsinformatie</string>
|
<string name="pref_debug_info">Foutopsporingsinformatie</string>
|
||||||
<string name="label_completed_titles">Voltooide titels</string>
|
<string name="label_completed_titles">Voltooide titels</string>
|
||||||
<string name="pref_update_only_in_release_period">Buiten verwachte vrijgave periode</string>
|
<string name="pref_update_only_in_release_period">Buiten verwachte vrijgave periode</string>
|
||||||
|
|
|
@ -635,7 +635,7 @@
|
||||||
<string name="label_local">Lokalne</string>
|
<string name="label_local">Lokalne</string>
|
||||||
<string name="label_downloaded">Pobrane</string>
|
<string name="label_downloaded">Pobrane</string>
|
||||||
<string name="pref_invalidate_download_cache_summary">Wymuś ponowne sprawdzenie pobranych rozdziałów przez aplikację</string>
|
<string name="pref_invalidate_download_cache_summary">Wymuś ponowne sprawdzenie pobranych rozdziałów przez aplikację</string>
|
||||||
<string name="crash_screen_description">%s napotkał nieoczekiwany błąd. Sugerujemy podzielenie się logami crasha, a następnie udostępnienie ich na naszym kanale wsparcia na Discordzie.</string>
|
<string name="crash_screen_description">%s napotkał nieoczekiwany błąd.</string>
|
||||||
<string name="pref_reader_summary">Tryb czytania, wyświetl, nawigacja</string>
|
<string name="pref_reader_summary">Tryb czytania, wyświetl, nawigacja</string>
|
||||||
<string name="invalid_location">Nieprawidłowa lokalizacja: %s</string>
|
<string name="invalid_location">Nieprawidłowa lokalizacja: %s</string>
|
||||||
<string name="action_display_show_continue_reading_button">Przycisk wznów czytanie</string>
|
<string name="action_display_show_continue_reading_button">Przycisk wznów czytanie</string>
|
||||||
|
|
|
@ -640,7 +640,7 @@
|
||||||
<string name="pref_advanced_summary">Exportar registros de travamento, otimizações de bateria</string>
|
<string name="pref_advanced_summary">Exportar registros de travamento, otimizações de bateria</string>
|
||||||
<string name="crash_screen_title">Ooops!</string>
|
<string name="crash_screen_title">Ooops!</string>
|
||||||
<string name="crash_screen_restart_application">Reiniciar o aplicativo</string>
|
<string name="crash_screen_restart_application">Reiniciar o aplicativo</string>
|
||||||
<string name="crash_screen_description">%s teve um erro inesperado. Nós sugerimos que você compartilhe os registros de travamento em nosso canal de suporte no Discord.</string>
|
<string name="crash_screen_description">%s teve um erro inesperado.</string>
|
||||||
<string name="unknown_title">Título desconhecido</string>
|
<string name="unknown_title">Título desconhecido</string>
|
||||||
<string name="invalid_location">Local inválido: %s</string>
|
<string name="invalid_location">Local inválido: %s</string>
|
||||||
<string name="error_user_agent_string_invalid">Valor de user agent inválido</string>
|
<string name="error_user_agent_string_invalid">Valor de user agent inválido</string>
|
||||||
|
|
|
@ -651,7 +651,7 @@
|
||||||
<string name="updates_last_update_info_just_now">Agora mesmo</string>
|
<string name="updates_last_update_info_just_now">Agora mesmo</string>
|
||||||
<string name="crash_screen_restart_application">Reinicie o aplicativo</string>
|
<string name="crash_screen_restart_application">Reinicie o aplicativo</string>
|
||||||
<string name="crash_screen_title">Ops!</string>
|
<string name="crash_screen_title">Ops!</string>
|
||||||
<string name="crash_screen_description">%s encontrou um erro inesperado. Sugerimos que você compartilhe os registros de falha em nosso canal de suporte no Discord.</string>
|
<string name="crash_screen_description">%s encontrou um erro inesperado.</string>
|
||||||
<string name="pref_downloads_summary">Descarga automática, descarga a frente</string>
|
<string name="pref_downloads_summary">Descarga automática, descarga a frente</string>
|
||||||
<string name="pref_tracking_summary">Sincronização de progresso unidirecional, sincronização aprimorada</string>
|
<string name="pref_tracking_summary">Sincronização de progresso unidirecional, sincronização aprimorada</string>
|
||||||
<string name="pref_browse_summary">Fontes, extensões, pesquisa global</string>
|
<string name="pref_browse_summary">Fontes, extensões, pesquisa global</string>
|
||||||
|
|
|
@ -633,7 +633,7 @@
|
||||||
<string name="pref_reset_user_agent_string">Restabilirea șirului implicit de agent al utilizatorului</string>
|
<string name="pref_reset_user_agent_string">Restabilirea șirului implicit de agent al utilizatorului</string>
|
||||||
<string name="updates_last_update_info_just_now">Chiar acum</string>
|
<string name="updates_last_update_info_just_now">Chiar acum</string>
|
||||||
<string name="pref_verbose_logging">Consemnare verbală</string>
|
<string name="pref_verbose_logging">Consemnare verbală</string>
|
||||||
<string name="crash_screen_description">%s a întâmpinat o eroare neașteptată. Vă sugerăm să faceți o captură de ecran a acestui mesaj, să descărcați registrele de erori și apoi să le partajați prin intermediul canalului nostru de asistență pe Discord.</string>
|
<string name="crash_screen_description">%s a întâmpinat o eroare neașteptată.</string>
|
||||||
<string name="appwidget_unavailable_locked">Widgetul nu este disponibil atunci când este activată blocarea aplicației</string>
|
<string name="appwidget_unavailable_locked">Widgetul nu este disponibil atunci când este activată blocarea aplicației</string>
|
||||||
<string name="pref_appearance_summary">Tema, formatul datei și al orei</string>
|
<string name="pref_appearance_summary">Tema, formatul datei și al orei</string>
|
||||||
<string name="pref_library_summary">Categorii, actualizări globale</string>
|
<string name="pref_library_summary">Categorii, actualizări globale</string>
|
||||||
|
|
|
@ -640,7 +640,7 @@
|
||||||
<string name="pref_security_summary">Блокировка приложения, защита экрана</string>
|
<string name="pref_security_summary">Блокировка приложения, защита экрана</string>
|
||||||
<string name="pref_advanced_summary">Выгрузка журнала с ошибками, оптимизация батареи</string>
|
<string name="pref_advanced_summary">Выгрузка журнала с ошибками, оптимизация батареи</string>
|
||||||
<string name="crash_screen_title">Ой, ошибочка вышла!</string>
|
<string name="crash_screen_title">Ой, ошибочка вышла!</string>
|
||||||
<string name="crash_screen_description">%s столкнулось с непредвиденной ошибкой. Мы рекомендуем поделиться журналом с ошибками в нашем Discord сервере в ветке support.</string>
|
<string name="crash_screen_description">%s столкнулось с непредвиденной ошибкой.</string>
|
||||||
<string name="unknown_title">Неизвестное название</string>
|
<string name="unknown_title">Неизвестное название</string>
|
||||||
<string name="invalid_location">Недопустимое расположение: %s</string>
|
<string name="invalid_location">Недопустимое расположение: %s</string>
|
||||||
<string name="error_user_agent_string_invalid">Недопустимый параметр user agent</string>
|
<string name="error_user_agent_string_invalid">Недопустимый параметр user agent</string>
|
||||||
|
|
|
@ -633,7 +633,7 @@
|
||||||
<string name="missing_storage_permission">Permissu de archiviatzione non cuntzessu</string>
|
<string name="missing_storage_permission">Permissu de archiviatzione non cuntzessu</string>
|
||||||
<string name="skipped_reason_not_always_update">Brincadu ca sa sèrie non tenet bisòngiu de agiornamentos</string>
|
<string name="skipped_reason_not_always_update">Brincadu ca sa sèrie non tenet bisòngiu de agiornamentos</string>
|
||||||
<string name="action_search_hint">Chirca…</string>
|
<string name="action_search_hint">Chirca…</string>
|
||||||
<string name="crash_screen_description">%s at tentu un\'errore non prevìdidu. Ti cussigiamus de cumpartzire sos registros de sas serraduras anòmalas in su canale de suportu nostru de Discord.</string>
|
<string name="crash_screen_description">%s at tentu un\'errore non prevìdidu.</string>
|
||||||
<string name="crash_screen_restart_application">Torra a allùghere s\'aplicatzione</string>
|
<string name="crash_screen_restart_application">Torra a allùghere s\'aplicatzione</string>
|
||||||
<string name="pref_appearance_summary">Tema, data e formadu de s\'ora</string>
|
<string name="pref_appearance_summary">Tema, data e formadu de s\'ora</string>
|
||||||
<string name="pref_library_summary">Categorias, agiornamentos globales, iscurrimentu de capìtulos</string>
|
<string name="pref_library_summary">Categorias, agiornamentos globales, iscurrimentu de capìtulos</string>
|
||||||
|
|
|
@ -614,7 +614,7 @@
|
||||||
<string name="migration_help_guide">Udhëzuesi i migrimit të burimit</string>
|
<string name="migration_help_guide">Udhëzuesi i migrimit të burimit</string>
|
||||||
<string name="migration_selection_prompt">Zgjidhni një burim për të migruar</string>
|
<string name="migration_selection_prompt">Zgjidhni një burim për të migruar</string>
|
||||||
<string name="migrate">Migroni</string>
|
<string name="migrate">Migroni</string>
|
||||||
<string name="crash_screen_description">%s hasi në një gabim të papritur. Ne ju sugjerojmë që të fotografoni këtë mesazh, të hidhni regjistrat e aksidenteve dhe më pas ta shpërndani në kanalin tonë të mbështetjes në Discord.</string>
|
<string name="crash_screen_description">%s hasi në një gabim të papritur.</string>
|
||||||
<string name="crash_screen_restart_application">Rinisni aplikacionin</string>
|
<string name="crash_screen_restart_application">Rinisni aplikacionin</string>
|
||||||
<string name="download_insufficient_space">Kapitujt nuk mund të shkarkoheshin për shkak të hapësirës së ulët të ruajtjes</string>
|
<string name="download_insufficient_space">Kapitujt nuk mund të shkarkoheshin për shkak të hapësirës së ulët të ruajtjes</string>
|
||||||
<string name="download_queue_size_warning">Paralajmërim: shkarkimet e mëdha me shumicë mund të çojnë në ngadalësimin e burimeve dhe/ose bllokimin e Tachiyomi. Trokit për të mësuar më shumë.</string>
|
<string name="download_queue_size_warning">Paralajmërim: shkarkimet e mëdha me shumicë mund të çojnë në ngadalësimin e burimeve dhe/ose bllokimin e Tachiyomi. Trokit për të mësuar më shumë.</string>
|
||||||
|
|
|
@ -594,7 +594,7 @@
|
||||||
<string name="pref_reset_viewer_flags_success">Сва подешавања читача су ресетована</string>
|
<string name="pref_reset_viewer_flags_success">Сва подешавања читача су ресетована</string>
|
||||||
<string name="pref_invalidate_download_cache_summary">Присили апликацију да поново провери преузета поглавља</string>
|
<string name="pref_invalidate_download_cache_summary">Присили апликацију да поново провери преузета поглавља</string>
|
||||||
<string name="not_installed">Није инсталирано</string>
|
<string name="not_installed">Није инсталирано</string>
|
||||||
<string name="crash_screen_description">%s је наишао на неочекивану грешку. Предлажемо да поделите запис о прекиду програма на нашем каналу за подршку на Discord-у.</string>
|
<string name="crash_screen_description">%s је наишао на неочекивану грешку.</string>
|
||||||
<string name="appwidget_unavailable_locked">Widget није доступан када је омогућено закључавање апликације</string>
|
<string name="appwidget_unavailable_locked">Widget није доступан када је омогућено закључавање апликације</string>
|
||||||
<string name="pref_library_update_show_tab_badge">Прокажи број непрочитаних на икони ажурирања</string>
|
<string name="pref_library_update_show_tab_badge">Прокажи број непрочитаних на икони ажурирања</string>
|
||||||
<string name="wish_list">Листа жеља</string>
|
<string name="wish_list">Листа жеља</string>
|
||||||
|
|
|
@ -638,7 +638,7 @@
|
||||||
<string name="invalid_location">Ogiltig plats: %s</string>
|
<string name="invalid_location">Ogiltig plats: %s</string>
|
||||||
<string name="missing_storage_permission">Lagrings rättigheter inte tillagda</string>
|
<string name="missing_storage_permission">Lagrings rättigheter inte tillagda</string>
|
||||||
<string name="skipped_reason_not_always_update">Hoppat över för att serien inte behöver uppdateras</string>
|
<string name="skipped_reason_not_always_update">Hoppat över för att serien inte behöver uppdateras</string>
|
||||||
<string name="crash_screen_description">%s stötte på ett oväntat fel. Vi föreslår att du delar med dig av kraschloggen i vår supportkanal på Discord.</string>
|
<string name="crash_screen_description">%s stötte på ett oväntat fel.</string>
|
||||||
<string name="pref_appearance_summary">Tema, datum och tids format</string>
|
<string name="pref_appearance_summary">Tema, datum och tids format</string>
|
||||||
<string name="pref_browse_summary">Källor, tillägg, global sökning</string>
|
<string name="pref_browse_summary">Källor, tillägg, global sökning</string>
|
||||||
<string name="crash_screen_restart_application">Starta om applikationen</string>
|
<string name="crash_screen_restart_application">Starta om applikationen</string>
|
||||||
|
|
|
@ -640,7 +640,7 @@
|
||||||
<string name="pref_tracking_summary">Tek yönlü ilerleme eşitlemesi, gelişmiş eşitleme</string>
|
<string name="pref_tracking_summary">Tek yönlü ilerleme eşitlemesi, gelişmiş eşitleme</string>
|
||||||
<string name="crash_screen_restart_application">Uygulamayı yeniden başlat</string>
|
<string name="crash_screen_restart_application">Uygulamayı yeniden başlat</string>
|
||||||
<string name="crash_screen_title">Tüh!</string>
|
<string name="crash_screen_title">Tüh!</string>
|
||||||
<string name="crash_screen_description">%s beklenmeyen bir hatayla karşılaştı. Çökme günlüklerini Discord\'daki destek kanalımızda paylaşmanızı öneririz.</string>
|
<string name="crash_screen_description">%s beklenmeyen bir hatayla karşılaştı.</string>
|
||||||
<string name="unknown_title">Bilinmeyen başlık</string>
|
<string name="unknown_title">Bilinmeyen başlık</string>
|
||||||
<string name="invalid_location">Geçersiz konum: %s</string>
|
<string name="invalid_location">Geçersiz konum: %s</string>
|
||||||
<string name="error_user_agent_string_invalid">Geçersiz kullanıcı aracısı dizgesi</string>
|
<string name="error_user_agent_string_invalid">Geçersiz kullanıcı aracısı dizgesi</string>
|
||||||
|
|
|
@ -627,7 +627,7 @@
|
||||||
<string name="error_user_agent_string_blank">Рядок User agent не може бути пустим</string>
|
<string name="error_user_agent_string_blank">Рядок User agent не може бути пустим</string>
|
||||||
<string name="popular">Популярне</string>
|
<string name="popular">Популярне</string>
|
||||||
<string name="auto_download_while_reading">Автоматичне завантаження під час читання</string>
|
<string name="auto_download_while_reading">Автоматичне завантаження під час читання</string>
|
||||||
<string name="crash_screen_description">%s зіткнулися з неочікуваною помилкою. Ми пропонуємо вам поділитися журналами збоїв у нашому каналі підтримки на Discord.</string>
|
<string name="crash_screen_description">%s зіткнулися з неочікуваною помилкою.</string>
|
||||||
<string name="pref_appearance_summary">Тема, формат дати та часу</string>
|
<string name="pref_appearance_summary">Тема, формат дати та часу</string>
|
||||||
<string name="pref_library_summary">Категорії, глобальне оновлення, гортання розділів</string>
|
<string name="pref_library_summary">Категорії, глобальне оновлення, гортання розділів</string>
|
||||||
<string name="pref_reader_summary">Режим читання, відображення, навігація</string>
|
<string name="pref_reader_summary">Режим читання, відображення, навігація</string>
|
||||||
|
|
|
@ -680,7 +680,7 @@
|
||||||
<string name="pref_hide_in_library_items">Giấu những truyện đã có trong thư viện</string>
|
<string name="pref_hide_in_library_items">Giấu những truyện đã có trong thư viện</string>
|
||||||
<string name="minute_short">%d phút</string>
|
<string name="minute_short">%d phút</string>
|
||||||
<string name="download_notifier_cache_renewal">Đang kiểm tra những truyện đã tải xuống</string>
|
<string name="download_notifier_cache_renewal">Đang kiểm tra những truyện đã tải xuống</string>
|
||||||
<string name="crash_screen_description">%s đã có lỗi. Bạn nên chia sẻ tệp báo lỗi tạm ở trong kênh hỗ trợ của chúng tôi trên Discord.</string>
|
<string name="crash_screen_description">%s đã có lỗi.</string>
|
||||||
<string name="action_update_category">Cập nhật danh mục</string>
|
<string name="action_update_category">Cập nhật danh mục</string>
|
||||||
<string name="confirm_add_duplicate_manga">Truyện này đã có sẵn trong thư viện bạn.
|
<string name="confirm_add_duplicate_manga">Truyện này đã có sẵn trong thư viện bạn.
|
||||||
\n
|
\n
|
||||||
|
|
|
@ -638,7 +638,7 @@
|
||||||
<string name="pref_advanced_summary">傾印當機記錄、電池效能最佳化</string>
|
<string name="pref_advanced_summary">傾印當機記錄、電池效能最佳化</string>
|
||||||
<string name="crash_screen_restart_application">重新啟動應用程式</string>
|
<string name="crash_screen_restart_application">重新啟動應用程式</string>
|
||||||
<string name="crash_screen_title">哎呀!</string>
|
<string name="crash_screen_title">哎呀!</string>
|
||||||
<string name="crash_screen_description">「%s」發生了未預期的錯誤。我們建議你將當機記錄分享至我們位於 Discord 上的 support 頻道。</string>
|
<string name="crash_screen_description">「%s」發生了未預期的錯誤。</string>
|
||||||
<string name="pref_library_summary">類別、全域更新、目錄滑動動作</string>
|
<string name="pref_library_summary">類別、全域更新、目錄滑動動作</string>
|
||||||
<string name="pref_browse_summary">來源、擴充套件、全域搜尋</string>
|
<string name="pref_browse_summary">來源、擴充套件、全域搜尋</string>
|
||||||
<string name="invalid_location">無效的位置:%s</string>
|
<string name="invalid_location">無效的位置:%s</string>
|
||||||
|
|
Loading…
Reference in a new issue