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
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported to the community moderators responsible for enforcement at
|
||||
the [Tachiyomi Discord server](https://discord.gg/tachiyomi).
|
||||
reported to the community moderators via issues.
|
||||
All complaints will be reviewed and investigated promptly and fairly.
|
||||
|
||||
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
|
||||
|
||||
- Join [the Discord server](https://discord.gg/tachiyomi) for online help and to ask questions while developing.
|
||||
No support is currently provided.
|
||||
|
||||
# Translations
|
||||
|
||||
|
|
10
README.md
10
README.md
|
@ -1,6 +1,6 @@
|
|||
| Build | Stable | Weekly Preview | Contribute | Support Server |
|
||||
|-------|----------|---------|------------|---------|
|
||||
| [![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) |
|
||||
| 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) |
|
||||
|
||||
# ![app icon](./.github/readme-images/app-icon.png)Tachiyomi
|
||||
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>
|
||||
|
||||
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).**
|
||||
2. If you are unsure, ask here: [![Discord](https://img.shields.io/discord/349436576037732353.svg)](https://discord.gg/tachiyomi)
|
||||
**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).**
|
||||
|
||||
</details>
|
||||
|
||||
|
@ -70,7 +69,6 @@ See [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md).
|
|||
## FAQ
|
||||
|
||||
[See our website.](https://tachiyomi.org/)
|
||||
You can also reach out to us on [Discord](https://discord.gg/tachiyomi).
|
||||
|
||||
## License
|
||||
|
||||
|
|
|
@ -8,10 +8,6 @@ plugins {
|
|||
id("com.github.zellius.shortcut-helper")
|
||||
}
|
||||
|
||||
if (gradle.startParameter.taskRequests.toString().contains("Standard")) {
|
||||
apply<com.google.gms.googleservices.GoogleServicesPlugin>()
|
||||
}
|
||||
|
||||
shortcutHelper.setFilePath("./shortcuts.xml")
|
||||
|
||||
val SUPPORTED_ABIS = setOf("armeabi-v7a", "arm64-v8a", "x86", "x86_64")
|
||||
|
@ -31,9 +27,6 @@ android {
|
|||
buildConfigField("boolean", "INCLUDE_UPDATER", "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 {
|
||||
abiFilters += SUPPORTED_ABIS
|
||||
}
|
||||
|
@ -245,10 +238,6 @@ dependencies {
|
|||
// Logging
|
||||
implementation(libs.logcat)
|
||||
|
||||
// Crash reports/analytics
|
||||
implementation(libs.bundles.acra)
|
||||
"standardImplementation"(libs.firebase.analytics)
|
||||
|
||||
// Shizuku
|
||||
implementation(libs.bundles.shizuku)
|
||||
|
||||
|
|
4
app/proguard-rules.pro
vendored
4
app/proguard-rules.pro
vendored
|
@ -71,7 +71,3 @@
|
|||
|
||||
# XmlUtil
|
||||
-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" />
|
||||
|
||||
<!-- Remove permission from Firebase dependency -->
|
||||
<uses-permission
|
||||
android:name="com.google.android.gms.permission.AD_ID"
|
||||
tools:node="remove" />
|
||||
|
||||
<application
|
||||
android:name=".App"
|
||||
android:allowBackup="false"
|
||||
|
@ -236,11 +231,6 @@
|
|||
android:name="android.webkit.WebView.MetricsOptOut"
|
||||
android:value="true" />
|
||||
|
||||
<!-- Disable advertising ID collection for Firebase -->
|
||||
<meta-data
|
||||
android:name="google_analytics_adid_collection_enabled"
|
||||
android:value="false" />
|
||||
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
|
|
|
@ -2,8 +2,6 @@ package eu.kanade.domain.base
|
|||
|
||||
import android.content.Context
|
||||
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.PreferenceStore
|
||||
import tachiyomi.i18n.MR
|
||||
|
@ -22,8 +20,6 @@ class BasePreferences(
|
|||
|
||||
fun extensionInstaller() = ExtensionInstallerPreference(context, preferenceStore)
|
||||
|
||||
fun acraEnabled() = preferenceStore.getBoolean("acra.enable", isPreviewBuildType || isReleaseBuildType)
|
||||
|
||||
fun shownOnboardingFlow() = preferenceStore.getBoolean(Preference.appStateKey("onboarding_complete"), false)
|
||||
|
||||
enum class ExtensionInstaller(val titleRes: StringResource, val requiresSystemPermission: Boolean) {
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package eu.kanade.presentation.more
|
||||
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.WindowInsets
|
||||
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.platform.LocalUriHandler
|
||||
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.TextPreferenceWidget
|
||||
import eu.kanade.tachiyomi.R
|
||||
|
@ -60,14 +58,7 @@ fun MoreScreen(
|
|||
),
|
||||
) {
|
||||
if (isFDroid) {
|
||||
WarningBanner(
|
||||
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",
|
||||
)
|
||||
},
|
||||
)
|
||||
// Don't really care about slow updaters now
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -48,7 +48,6 @@ import eu.kanade.tachiyomi.ui.more.OnboardingScreen
|
|||
import eu.kanade.tachiyomi.util.CrashLogUtil
|
||||
import eu.kanade.tachiyomi.util.system.isDevFlavor
|
||||
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.powerManager
|
||||
import eu.kanade.tachiyomi.util.system.setDefaultSettings
|
||||
|
@ -88,12 +87,6 @@ object SettingsAdvancedScreen : SearchableSettings {
|
|||
return buildList {
|
||||
addAll(
|
||||
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(
|
||||
title = stringResource(MR.strings.pref_dump_crash_logs),
|
||||
subtitle = stringResource(MR.strings.pref_dump_crash_logs_summary),
|
||||
|
|
|
@ -1,15 +1,12 @@
|
|||
package eu.kanade.presentation.more.settings.screen.about
|
||||
|
||||
import android.content.Context
|
||||
import androidx.compose.animation.AnimatedVisibility
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.outlined.Public
|
||||
import androidx.compose.material3.CircularProgressIndicator
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
|
@ -30,13 +27,10 @@ import eu.kanade.presentation.util.LocalBackPress
|
|||
import eu.kanade.presentation.util.Screen
|
||||
import eu.kanade.tachiyomi.BuildConfig
|
||||
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.lang.toDateTimestampString
|
||||
import eu.kanade.tachiyomi.util.system.copyToClipboard
|
||||
import eu.kanade.tachiyomi.util.system.toast
|
||||
import kotlinx.coroutines.launch
|
||||
import logcat.LogPriority
|
||||
import tachiyomi.core.util.lang.withIOContext
|
||||
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.i18n.stringResource
|
||||
import tachiyomi.presentation.core.icons.CustomIcons
|
||||
import tachiyomi.presentation.core.icons.Discord
|
||||
import tachiyomi.presentation.core.icons.Facebook
|
||||
import tachiyomi.presentation.core.icons.Github
|
||||
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 {
|
||||
TextPreferenceWidget(
|
||||
title = stringResource(MR.strings.licenses),
|
||||
|
@ -179,11 +117,6 @@ object AboutScreen : Screen() {
|
|||
icon = Icons.Outlined.Public,
|
||||
url = "https://tachiyomi.org",
|
||||
)
|
||||
LinkIcon(
|
||||
label = "Discord",
|
||||
icon = CustomIcons.Discord,
|
||||
url = "https://discord.gg/tachiyomi",
|
||||
)
|
||||
LinkIcon(
|
||||
label = "X",
|
||||
icon = CustomIcons.X,
|
||||
|
|
|
@ -3,7 +3,6 @@ package eu.kanade.tachiyomi
|
|||
import android.annotation.SuppressLint
|
||||
import android.app.Application
|
||||
import android.app.PendingIntent
|
||||
import android.app.job.JobInfo
|
||||
import android.content.BroadcastReceiver
|
||||
import android.content.Context
|
||||
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.animatorDurationScale
|
||||
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 kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.flow.launchIn
|
||||
|
@ -51,13 +48,8 @@ import kotlinx.coroutines.flow.onEach
|
|||
import logcat.AndroidLogcatLogger
|
||||
import logcat.LogPriority
|
||||
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 tachiyomi.core.i18n.stringResource
|
||||
import tachiyomi.core.preference.Preference
|
||||
import tachiyomi.core.util.system.logcat
|
||||
import tachiyomi.i18n.MR
|
||||
import tachiyomi.presentation.widget.WidgetManager
|
||||
|
@ -94,7 +86,6 @@ class App : Application(), DefaultLifecycleObserver, ImageLoaderFactory {
|
|||
Injekt.importModule(AppModule(this))
|
||||
Injekt.importModule(DomainModule())
|
||||
|
||||
setupAcra()
|
||||
setupNotificationChannels()
|
||||
|
||||
ProcessLifecycleOwner.get().lifecycle.addObserver(this)
|
||||
|
@ -198,28 +189,6 @@ class App : Application(), DefaultLifecycleObserver, ImageLoaderFactory {
|
|||
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() {
|
||||
try {
|
||||
Notifications.createChannels(this)
|
||||
|
|
|
@ -65,7 +65,6 @@ import eu.kanade.tachiyomi.Migrations
|
|||
import eu.kanade.tachiyomi.data.cache.ChapterCache
|
||||
import eu.kanade.tachiyomi.data.download.DownloadCache
|
||||
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.extension.api.ExtensionApi
|
||||
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.home.HomeScreen
|
||||
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.util.system.dpToPx
|
||||
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.system.logcat
|
||||
import tachiyomi.domain.library.service.LibraryPreferences
|
||||
import tachiyomi.domain.release.interactor.GetApplicationRelease
|
||||
import tachiyomi.i18n.MR
|
||||
import tachiyomi.presentation.core.components.material.Scaffold
|
||||
import tachiyomi.presentation.core.i18n.stringResource
|
||||
|
@ -314,27 +311,6 @@ class MainActivity : BaseActivity() {
|
|||
@Composable
|
||||
private fun CheckForUpdates() {
|
||||
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
|
||||
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 {
|
||||
dependencies {
|
||||
classpath(libs.android.shortcut.gradle)
|
||||
classpath(libs.google.services.gradle)
|
||||
classpath(libs.aboutLibraries.gradle)
|
||||
classpath(libs.sqldelight.gradle)
|
||||
classpath(libs.moko.gradle)
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
[versions]
|
||||
aboutlib_version = "10.10.0"
|
||||
acra = "5.11.3"
|
||||
leakcanary = "2.13"
|
||||
moko = "0.23.0"
|
||||
okhttp_version = "5.0.0-alpha.12"
|
||||
|
@ -13,7 +12,6 @@ voyager = "1.0.0"
|
|||
[libraries]
|
||||
desugar = "com.android.tools:desugar_jdk_libs:2.0.4"
|
||||
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"
|
||||
|
||||
|
@ -68,10 +66,6 @@ moko-gradle = { module = "dev.icerock.moko:resources-generator", version.ref = "
|
|||
|
||||
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-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"
|
||||
|
||||
[bundles]
|
||||
acra = ["acra-http", "acra-scheduler"]
|
||||
okhttp = ["okhttp-core", "okhttp-logging", "okhttp-brotli", "okhttp-dnsoverhttps"]
|
||||
js-engine = ["quickjs-android"]
|
||||
sqlite = ["sqlite-framework", "sqlite-ktx", "sqlite-android"]
|
||||
|
|
|
@ -809,7 +809,7 @@
|
|||
|
||||
<!-- Crash screen -->
|
||||
<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>
|
||||
|
||||
<!-- Stats screen -->
|
||||
|
|
|
@ -575,7 +575,7 @@
|
|||
<string name="are_you_sure">Сигурни ли сте\?</string>
|
||||
<string name="popular">Популярни</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="reading_list">Списък за четене</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="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_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="popular">Populars</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_security_summary">Zámek aplikace, zabezpečená obrazovka</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="pref_backup_summary">Ruční a automatické zálohování, místo v úložišti</string>
|
||||
<string name="crash_screen_title">Ups!</string>
|
||||
|
|
|
@ -639,7 +639,7 @@
|
|||
<string name="crash_screen_title">Ups!</string>
|
||||
<string name="pref_advanced_summary">Absturzprotokolle ausgeben, Akkuverbrauch-Optimierung</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="unknown_title">Unbekannter Titel</string>
|
||||
<string name="invalid_location">Ungültiger Speicherort: %s</string>
|
||||
|
|
|
@ -640,7 +640,7 @@
|
|||
<string name="crash_screen_restart_application">Επανεκκίνηση της εφαρμογής</string>
|
||||
<string name="pref_downloads_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="invalid_location">Μη έγκυρη τοποθεσία: %s</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_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="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_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>
|
||||
|
|
|
@ -638,7 +638,7 @@
|
|||
<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_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_restart_application">Buksan muli ang app</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_reader_summary">Mode de lecture, affichage, navigation</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="error_user_agent_string_invalid">Chaîne d\'agent utilisateur invalide</string>
|
||||
<string name="unknown_title">Titre inconnu</string>
|
||||
|
|
|
@ -584,7 +584,7 @@
|
|||
<string name="manga_tracking_tab">En seguimento</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="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="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>
|
||||
|
|
|
@ -641,7 +641,7 @@
|
|||
<string name="unknown_title">Nepoznat naslov</string>
|
||||
<string name="updates_last_update_info">Zadnje aktualiziranje biblioteke: %s</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_completed_titles">Dovršene stavke</string>
|
||||
<string name="label_read_duration">Trajanje čitanja</string>
|
||||
|
|
|
@ -677,7 +677,7 @@
|
|||
<string name="pref_debug_info">Debug információ</string>
|
||||
<string name="popular">Felkapott</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="crash_screen_restart_application">Applikáció újrainditása</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_reader_summary">Mode membaca, tampilan, navigasi</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_security_summary">Kunci aplikasi, amankan layar</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="action_search_hint">Ricerca…</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_downloads_summary">Download automatico, download anticipato</string>
|
||||
<string name="pref_browse_summary">Fonti, estensioni, ricerca globale</string>
|
||||
|
|
|
@ -629,7 +629,7 @@
|
|||
<string name="missing_storage_permission">ストレージ権限を持っていません</string>
|
||||
<string name="skipped_reason_not_always_update">シリーズは更新を必要としないため、スキップされました</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="unknown_title">不明なタイトル</string>
|
||||
<string name="error_user_agent_string_invalid">ユーザー エージェント文字列が無効です</string>
|
||||
|
|
|
@ -573,7 +573,7 @@
|
|||
<string name="file_select_cover">Мұқаба таңдау</string>
|
||||
<string name="file_select_backup">Сақтық көшірме файлын таңдау</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="download_queue_error">Тараулар жүктелмеді. Жүктеулер кезегіне барып, сол жерден байқап көре аласыз</string>
|
||||
<string name="download_insufficient_space">Жадта орын аз болғандықтан тараулар жүктелмейді</string>
|
||||
|
|
|
@ -640,7 +640,7 @@
|
|||
<string name="pref_downloads_summary">자동 다운로드, 미리 다운로드</string>
|
||||
<string name="crash_screen_title">앗!</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="invalid_location">잘못된 위치: %s</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="unknown_title">Nežinomas pavadinimas</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="popular">Populiaru</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="track_error">%1$s kļūda: %2$s</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_invert">Apvērst orientācija pagrieztām platām lapām</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_restart_application">Mulakan semula aplikasi</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="invalid_location">Lokasi tidak sah: %s</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="internal_error">InternalError: Sjekk krasjlogger for mer informasjon</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="description_placeholder">Ingen beskrivelse</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="delete_downloaded">Download verwijderen</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="label_completed_titles">Voltooide titels</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_downloaded">Pobrane</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="invalid_location">Nieprawidłowa lokalizacja: %s</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="crash_screen_title">Ooops!</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="invalid_location">Local inválido: %s</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="crash_screen_restart_application">Reinicie o aplicativo</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_tracking_summary">Sincronização de progresso unidirecional, sincronização aprimorada</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="updates_last_update_info_just_now">Chiar acum</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="pref_appearance_summary">Tema, formatul datei și al orei</string>
|
||||
<string name="pref_library_summary">Categorii, actualizări globale</string>
|
||||
|
|
|
@ -640,7 +640,7 @@
|
|||
<string name="pref_security_summary">Блокировка приложения, защита экрана</string>
|
||||
<string name="pref_advanced_summary">Выгрузка журнала с ошибками, оптимизация батареи</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="invalid_location">Недопустимое расположение: %s</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="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="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="pref_appearance_summary">Tema, data e formadu de s\'ora</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_selection_prompt">Zgjidhni një burim për të migruar</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="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>
|
||||
|
|
|
@ -594,7 +594,7 @@
|
|||
<string name="pref_reset_viewer_flags_success">Сва подешавања читача су ресетована</string>
|
||||
<string name="pref_invalidate_download_cache_summary">Присили апликацију да поново провери преузета поглавља</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="pref_library_update_show_tab_badge">Прокажи број непрочитаних на икони ажурирања</string>
|
||||
<string name="wish_list">Листа жеља</string>
|
||||
|
|
|
@ -638,7 +638,7 @@
|
|||
<string name="invalid_location">Ogiltig plats: %s</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="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_browse_summary">Källor, tillägg, global sökning</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="crash_screen_restart_application">Uygulamayı yeniden başlat</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="invalid_location">Geçersiz konum: %s</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="popular">Популярне</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_library_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="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="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="confirm_add_duplicate_manga">Truyện này đã có sẵn trong thư viện bạn.
|
||||
\n
|
||||
|
|
|
@ -638,7 +638,7 @@
|
|||
<string name="pref_advanced_summary">傾印當機記錄、電池效能最佳化</string>
|
||||
<string name="crash_screen_restart_application">重新啟動應用程式</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_browse_summary">來源、擴充套件、全域搜尋</string>
|
||||
<string name="invalid_location">無效的位置:%s</string>
|
||||
|
|
Loading…
Reference in a new issue