Merge branch 'main' of https://github.com/mihonapp/mihon into feat/add-cross-device-sync

This commit is contained in:
KaiserBh 2024-01-18 15:43:15 +11:00
commit 7d97e9c9d4
18 changed files with 151 additions and 89 deletions

View File

@ -53,7 +53,7 @@ body:
label: Mihon version label: Mihon version
description: You can find your Mihon version in **More → About**. description: You can find your Mihon version in **More → About**.
placeholder: | placeholder: |
Example: "0.15.3" Example: "0.16.1"
validations: validations:
required: true required: true
@ -98,7 +98,7 @@ body:
required: true required: true
- label: I have gone through the [FAQ](https://mihon.app/docs/faq/general) and [troubleshooting guide](https://mihon.app/docs/guides/troubleshooting/). - label: I have gone through the [FAQ](https://mihon.app/docs/faq/general) and [troubleshooting guide](https://mihon.app/docs/guides/troubleshooting/).
required: true required: true
- label: I have updated the app to version **[0.15.3](https://github.com/mihonapp/mihon/releases/latest)**. - label: I have updated the app to version **[0.16.1](https://github.com/mihonapp/mihon/releases/latest)**.
required: true required: true
- label: I have updated all installed extensions. - label: I have updated all installed extensions.
required: true required: true

View File

@ -33,7 +33,7 @@ body:
required: true required: true
- label: If this is an issue with an official extension, I should be opening an issue in the [extensions repository](https://github.com/tachiyomiorg/extensions/issues/new/choose). - label: If this is an issue with an official extension, I should be opening an issue in the [extensions repository](https://github.com/tachiyomiorg/extensions/issues/new/choose).
required: true required: true
- label: I have updated the app to version **[0.15.3](https://github.com/mihonapp/mihon/releases/latest)**. - label: I have updated the app to version **[0.16.1](https://github.com/mihonapp/mihon/releases/latest)**.
required: true required: true
- label: I will fill out all of the requested information in this form. - label: I will fill out all of the requested information in this form.
required: true required: true

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

@ -1,6 +1,6 @@
| Build | Stable | Weekly Preview | Support Server | | Build | Stable | Weekly Beta | Support Server |
|-------|----------|---------|---------| |-------|--------|-------------|----------------|
| [![CI](https://github.com/mihonapp/mihon/actions/workflows/build_push.yml/badge.svg)](https://github.com/mihonapp/mihon/actions/workflows/build_push.yml) | [![stable release](https://img.shields.io/github/release/mihonapp/mihon.svg?maxAge=3600&label=download)](https://github.com/mihonapp/mihon/releases) | [![latest preview build](https://img.shields.io/github/v/release/mihonapp/mihon-preview.svg?maxAge=3600&label=download)](https://github.com/mihonapp/mihon-preview/releases) | [![Discord](https://img.shields.io/discord/1195734228319617024.svg?label=discord&labelColor=7289da&color=2c2f33&style=flat)](https://discord.gg/mihon) | | [![CI](https://github.com/mihonapp/mihon/actions/workflows/build_push.yml/badge.svg)](https://github.com/mihonapp/mihon/actions/workflows/build_push.yml) | [![stable release](https://img.shields.io/github/release/mihonapp/mihon.svg?maxAge=3600&label=download)](https://github.com/mihonapp/mihon/releases) | [![latest beta build](https://img.shields.io/github/v/release/mihonapp/mihon-preview.svg?maxAge=3600&label=download)](https://github.com/mihonapp/mihon-preview/releases) | [![Discord](https://img.shields.io/discord/1195734228319617024.svg?label=discord&labelColor=7289da&color=2c2f33&style=flat)](https://discord.gg/mihon) |
# ![app icon](./.github/readme-images/app-icon.png)Mihon # ![app icon](./.github/readme-images/app-icon.png)Mihon
Mihon is a free and open source manga reader for Android 8.0 and above. Mihon is a free and open source manga reader for Android 8.0 and above.
@ -20,7 +20,7 @@ Features include:
## Download ## Download
Get the app from our [releases page](https://github.com/mihonapp/mihon/releases). Get the app from our [releases page](https://github.com/mihonapp/mihon/releases).
If you want to try new features before they get to the stable release, you can download the preview version [here](https://github.com/mihonapp/mihon-preview/releases). If you want to try new features before they get to the stable release, you can download the beta version [here](https://github.com/mihonapp/mihon-preview/releases).
## Issues, Feature Requests and Contributing ## Issues, Feature Requests and Contributing
@ -37,7 +37,7 @@ Please make sure to read the full guidelines. Your issue may be closed without w
* Include version (More → About → Version) * Include version (More → About → Version)
* If not latest, try updating, it may have already been solved * If not latest, try updating, it may have already been solved
* Preview version is equal to the number of commits as seen on the main page * Beta version is equal to the number of commits as seen on the main page
* Include steps to reproduce (if not obvious from description) * Include steps to reproduce (if not obvious from description)
* Include screenshot (if needed) * Include screenshot (if needed)
* If it could be device-dependent, try reproducing on another device (if possible) * If it could be device-dependent, try reproducing on another device (if possible)

View File

@ -22,8 +22,8 @@ android {
defaultConfig { defaultConfig {
applicationId = "app.mihon" applicationId = "app.mihon"
versionCode = 1 versionCode = 2
versionName = "0.16.0" versionName = "0.16.1"
buildConfigField("String", "COMMIT_COUNT", "\"${getCommitCount()}\"") buildConfigField("String", "COMMIT_COUNT", "\"${getCommitCount()}\"")
buildConfigField("String", "COMMIT_SHA", "\"${getGitSha()}\"") buildConfigField("String", "COMMIT_SHA", "\"${getGitSha()}\"")

View File

@ -3,19 +3,14 @@
android:height="108dp" android:height="108dp"
android:viewportWidth="432" android:viewportWidth="432"
android:viewportHeight="432"> android:viewportHeight="432">
<group android:scaleX="0.67" <group>
android:scaleY="0.67" <clip-path
android:translateX="71.28" android:pathData="M0,0h432v432h-432z"/>
android:translateY="71.28"> <path
android:pathData="M0,0h432v432h-432z"
android:fillColor="#FAFAFA"/>
<path <path
android:pathData="M0,0h432v432h-432z" android:pathData="M0,0h432v432h-432z"
android:fillColor="#2E3943"/> android:fillColor="#2E3943"/>
<path
android:pathData="M377,216C377,302.16 304.92,372 216,372C127.08,372 55,302.16 55,216C55,129.84 127.08,60 216,60C304.92,60 377,129.84 377,216Z"
android:fillColor="#F2FAFF"/>
<path
android:pathData="M216,342.75C288.25,342.75 346.81,286 346.81,216C346.81,146 288.25,89.25 216,89.25C143.75,89.25 85.19,146 85.19,216C85.19,286 143.75,342.75 216,342.75ZM216,372C304.92,372 377,302.16 377,216C377,129.84 304.92,60 216,60C127.08,60 55,129.84 55,216C55,302.16 127.08,372 216,372Z"
android:fillColor="#7EBBED"
android:fillType="evenOdd"/>
</group> </group>
</vector> </vector>

View File

@ -3,12 +3,14 @@
android:height="108dp" android:height="108dp"
android:viewportWidth="432" android:viewportWidth="432"
android:viewportHeight="432"> android:viewportHeight="432">
<group android:scaleX="0.67" <path
android:scaleY="0.67" android:pathData="M337,216C337,282.83 282.83,337 216,337C149.17,337 95,282.83 95,216C95,149.17 149.17,95 216,95C282.83,95 337,149.17 337,216Z"
android:translateX="71.28" android:fillColor="#F2FAFF"/>
android:translateY="71.28"> <path
<path android:pathData="M216,314.31C270.3,314.31 314.31,270.3 314.31,216C314.31,161.7 270.3,117.69 216,117.69C161.7,117.69 117.69,161.7 117.69,216C117.69,270.3 161.7,314.31 216,314.31ZM216,337C282.83,337 337,282.83 337,216C337,149.17 282.83,95 216,95C149.17,95 95,149.17 95,216C95,282.83 149.17,337 216,337Z"
android:pathData="M162.3,173.59L161.22,148.63C164.47,149.25 168.35,149.41 177.18,149.41C187.87,149.41 201.98,148.79 209.26,147.86C212.36,147.55 213.6,147.09 215.61,146L232.35,160.26C230.8,162.43 230.34,163.36 228.63,167.7C227.24,171.11 220.88,190.79 218.4,199.16C229.87,201.48 236.22,203.18 244.9,206.75C245.99,199.16 246.14,195.13 246.14,181.33C246.14,177.77 245.99,175.76 245.52,172.5L272.49,173.43C271.71,177.15 271.56,178.7 271.4,184.74C270.78,199.31 270.16,206.29 268.61,216.82C279.31,222.25 279.31,222.25 284.73,225.19C287.52,226.74 288.14,227.05 290,227.67L281.01,256.65C276.67,252.78 270.63,248.59 261.8,243.63C254.05,262.08 241.18,275.56 221.66,286.25C215.15,277.57 210.19,272.3 202.29,266.11C213.75,260.68 219.02,257.27 225.07,251.54C230.96,245.8 234.83,240.22 238.55,231.85C228.63,227.36 222.28,225.35 211.27,223.02C204.92,241.93 199.8,254.02 195.31,261.3C189.27,271.06 181.05,276.18 171.6,276.18C164.32,276.18 156.88,272.92 151.45,267.35C145.25,260.99 142,252.16 142,241.93C142,226.74 149.28,213.57 161.99,205.35C170.21,200.09 178.88,197.76 192.68,196.99C195.47,187.84 197.79,179.94 199.96,171.11C193.14,171.73 184.62,172.19 174.24,172.65C168.66,172.81 166.8,172.96 162.3,173.59ZM185.86,220.7C178.57,221.94 174.24,224.26 170.36,229.22C167.42,232.63 166.02,236.66 166.02,241C166.02,245.8 168.35,249.37 171.29,249.37C174.85,249.37 178.88,241.31 185.86,220.7Z" android:fillColor="#7EBBED"
android:fillColor="#031019"/> android:fillType="evenOdd"/>
</group> <path
android:pathData="M163.71,174.79L162.66,150.56C165.82,151.16 169.58,151.31 178.16,151.31C188.55,151.31 202.24,150.71 209.32,149.81C212.32,149.51 213.53,149.05 215.49,148L231.74,161.85C230.23,163.95 229.78,164.86 228.13,169.07C226.77,172.38 220.6,191.49 218.2,199.62C229.33,201.88 235.5,203.53 243.93,206.99C244.98,199.62 245.13,195.71 245.13,182.31C245.13,178.85 244.98,176.9 244.53,173.74L270.72,174.64C269.96,178.25 269.82,179.76 269.66,185.62C269.06,199.77 268.46,206.54 266.95,216.78C277.34,222.04 277.34,222.04 282.61,224.9C285.32,226.41 285.92,226.71 287.72,227.31L278.99,255.45C274.78,251.69 268.91,247.63 260.33,242.81C252.81,260.72 240.32,273.82 221.35,284.2C215.03,275.77 210.22,270.65 202.54,264.63C213.68,259.37 218.8,256.06 224.67,250.49C230.38,244.92 234.15,239.5 237.76,231.38C228.13,227.01 221.96,225.05 211.27,222.8C205.1,241.16 200.13,252.9 195.77,259.97C189.9,269.45 181.93,274.42 172.74,274.42C165.67,274.42 158.45,271.26 153.18,265.84C147.16,259.67 144,251.09 144,241.16C144,226.41 151.07,213.62 163.41,205.64C171.39,200.52 179.82,198.27 193.21,197.51C195.92,188.63 198.18,180.96 200.29,172.38C193.66,172.98 185.39,173.43 175.3,173.88C169.88,174.04 168.08,174.19 163.71,174.79ZM186.59,220.54C179.52,221.74 175.3,224 171.54,228.82C168.68,232.13 167.33,236.04 167.33,240.25C167.33,244.92 169.58,248.38 172.44,248.38C175.9,248.38 179.82,240.55 186.59,220.54Z"
android:fillColor="#031019"/>
</vector> </vector>

View File

@ -247,7 +247,7 @@ object AboutScreen : Screen() {
} }
} }
BuildConfig.PREVIEW -> { BuildConfig.PREVIEW -> {
"Preview r${BuildConfig.COMMIT_COUNT}".let { "Beta r${BuildConfig.COMMIT_COUNT}".let {
if (withBuildDate) { if (withBuildDate) {
"$it (${BuildConfig.COMMIT_SHA}, ${getFormattedBuildTime()})" "$it (${BuildConfig.COMMIT_SHA}, ${getFormattedBuildTime()})"
} else { } else {

View File

@ -6,6 +6,8 @@ import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.Track import eu.kanade.tachiyomi.data.database.models.Track
import eu.kanade.tachiyomi.data.track.BaseTracker import eu.kanade.tachiyomi.data.track.BaseTracker
import eu.kanade.tachiyomi.data.track.DeletableTracker import eu.kanade.tachiyomi.data.track.DeletableTracker
import eu.kanade.tachiyomi.data.track.mangaupdates.dto.ListItem
import eu.kanade.tachiyomi.data.track.mangaupdates.dto.Rating
import eu.kanade.tachiyomi.data.track.mangaupdates.dto.copyTo import eu.kanade.tachiyomi.data.track.mangaupdates.dto.copyTo
import eu.kanade.tachiyomi.data.track.mangaupdates.dto.toTrackSearch import eu.kanade.tachiyomi.data.track.mangaupdates.dto.toTrackSearch
import eu.kanade.tachiyomi.data.track.model.TrackSearch import eu.kanade.tachiyomi.data.track.model.TrackSearch
@ -23,10 +25,16 @@ class MangaUpdates(id: Long) : BaseTracker(id, "MangaUpdates"), DeletableTracker
const val UNFINISHED_LIST = 3 const val UNFINISHED_LIST = 3
const val ON_HOLD_LIST = 4 const val ON_HOLD_LIST = 4
private val SCORE_LIST = ( private val SCORE_LIST = (0..10)
(0..9) .flatMap { decimal ->
.flatMap { i -> (0..9).map { j -> "$i.$j" } } + listOf("10.0") when (decimal) {
) 0 -> listOf("-")
10 -> listOf("10.0")
else -> (0..9).map { fraction ->
"$decimal.$fraction"
}
}
}
.toImmutableList() .toImmutableList()
} }
@ -59,7 +67,7 @@ class MangaUpdates(id: Long) : BaseTracker(id, "MangaUpdates"), DeletableTracker
override fun getScoreList(): ImmutableList<String> = SCORE_LIST override fun getScoreList(): ImmutableList<String> = SCORE_LIST
override fun indexToScore(index: Int): Float = SCORE_LIST[index].toFloat() override fun indexToScore(index: Int): Float = if (index == 0) 0f else SCORE_LIST[index].toFloat()
override fun displayScore(track: DomainTrack): String = track.score.toString() override fun displayScore(track: DomainTrack): String = track.score.toString()
@ -78,9 +86,9 @@ class MangaUpdates(id: Long) : BaseTracker(id, "MangaUpdates"), DeletableTracker
override suspend fun bind(track: Track, hasReadChapters: Boolean): Track { override suspend fun bind(track: Track, hasReadChapters: Boolean): Track {
return try { return try {
val (series, rating) = api.getSeriesListItem(track) val (series, rating) = api.getSeriesListItem(track)
series.copyTo(track) track.copyFrom(series, rating)
rating?.copyTo(track) ?: track
} catch (e: Exception) { } catch (e: Exception) {
track.score = 0f
api.addSeriesToList(track, hasReadChapters) api.addSeriesToList(track, hasReadChapters)
track track
} }
@ -95,8 +103,12 @@ class MangaUpdates(id: Long) : BaseTracker(id, "MangaUpdates"), DeletableTracker
override suspend fun refresh(track: Track): Track { override suspend fun refresh(track: Track): Track {
val (series, rating) = api.getSeriesListItem(track) val (series, rating) = api.getSeriesListItem(track)
series.copyTo(track) return track.copyFrom(series, rating)
return rating?.copyTo(track) ?: track }
private fun Track.copyFrom(item: ListItem, rating: Rating?): Track = apply {
item.copyTo(this)
score = rating?.rating ?: 0f
} }
override suspend fun login(username: String, password: String) { override suspend fun login(username: String, password: String) {
@ -106,6 +118,6 @@ class MangaUpdates(id: Long) : BaseTracker(id, "MangaUpdates"), DeletableTracker
} }
fun restoreSession(): String? { fun restoreSession(): String? {
return trackPreferences.trackPassword(this).get() return trackPreferences.trackPassword(this).get().ifBlank { null }
} }
} }

View File

@ -1,5 +1,6 @@
package eu.kanade.tachiyomi.data.track.mangaupdates package eu.kanade.tachiyomi.data.track.mangaupdates
import eu.kanade.tachiyomi.BuildConfig
import okhttp3.Interceptor import okhttp3.Interceptor
import okhttp3.Response import okhttp3.Response
import java.io.IOException import java.io.IOException
@ -18,6 +19,7 @@ class MangaUpdatesInterceptor(
// Add the authorization header to the original request. // Add the authorization header to the original request.
val authRequest = originalRequest.newBuilder() val authRequest = originalRequest.newBuilder()
.addHeader("Authorization", "Bearer $token") .addHeader("Authorization", "Bearer $token")
.header("User-Agent", "Mihon v${BuildConfig.VERSION_NAME} (${BuildConfig.APPLICATION_ID})")
.build() .build()
return chain.proceed(authRequest) return chain.proceed(authRequest)

View File

@ -3,23 +3,11 @@
android:height="108dp" android:height="108dp"
android:viewportWidth="432" android:viewportWidth="432"
android:viewportHeight="432"> android:viewportHeight="432">
<group android:scaleX="0.67" <group>
android:scaleY="0.67" <clip-path
android:translateX="71.28" android:pathData="M0,0h432v432h-432z"/>
android:translateY="71.28">
<path <path
android:pathData="M0,0h432v432h-432z" android:pathData="M0,0h432v432h-432z"
android:fillColor="#FAFAFA"/> android:fillColor="#FAFAFA"/>
<path
android:pathData="M377,216C377,302.16 304.92,372 216,372C127.08,372 55,302.16 55,216C55,129.84 127.08,60 216,60C304.92,60 377,129.84 377,216Z"
android:fillColor="#F2FAFF"/>
<path
android:pathData="M216,342.75C288.25,342.75 346.81,286 346.81,216C346.81,146 288.25,89.25 216,89.25C143.75,89.25 85.19,146 85.19,216C85.19,286 143.75,342.75 216,342.75ZM216,372C304.92,372 377,302.16 377,216C377,129.84 304.92,60 216,60C127.08,60 55,129.84 55,216C55,302.16 127.08,372 216,372Z"
android:fillColor="#0058A0"
android:fillType="evenOdd"/>
<path
android:pathData="M216,342.75C288.25,342.75 346.81,286 346.81,216C346.81,146 288.25,89.25 216,89.25C143.75,89.25 85.19,146 85.19,216C85.19,286 143.75,342.75 216,342.75ZM216,372C304.92,372 377,302.16 377,216C377,129.84 304.92,60 216,60C127.08,60 55,129.84 55,216C55,302.16 127.08,372 216,372Z"
android:fillColor="#0058A0"
android:fillType="evenOdd"/>
</group> </group>
</vector> </vector>

View File

@ -3,12 +3,14 @@
android:height="108dp" android:height="108dp"
android:viewportWidth="432" android:viewportWidth="432"
android:viewportHeight="432"> android:viewportHeight="432">
<group android:scaleX="0.67" <path
android:scaleY="0.67" android:pathData="M337,216C337,282.83 282.83,337 216,337C149.17,337 95,282.83 95,216C95,149.17 149.17,95 216,95C282.83,95 337,149.17 337,216Z"
android:translateX="71.28" android:fillColor="#F2FAFF"/>
android:translateY="71.28"> <path
<path android:pathData="M216,314.31C270.3,314.31 314.31,270.3 314.31,216C314.31,161.7 270.3,117.69 216,117.69C161.7,117.69 117.69,161.7 117.69,216C117.69,270.3 161.7,314.31 216,314.31ZM216,337C282.83,337 337,282.83 337,216C337,149.17 282.83,95 216,95C149.17,95 95,149.17 95,216C95,282.83 149.17,337 216,337Z"
android:pathData="M162.3,173.59L161.22,148.63C164.47,149.25 168.35,149.41 177.18,149.41C187.87,149.41 201.98,148.79 209.26,147.86C212.36,147.55 213.6,147.09 215.61,146L232.35,160.26C230.8,162.43 230.34,163.36 228.63,167.7C227.24,171.11 220.88,190.79 218.4,199.16C229.87,201.48 236.22,203.18 244.9,206.75C245.99,199.16 246.14,195.13 246.14,181.33C246.14,177.77 245.99,175.76 245.52,172.5L272.49,173.43C271.71,177.15 271.56,178.7 271.4,184.74C270.78,199.31 270.16,206.29 268.61,216.82C279.31,222.25 279.31,222.25 284.73,225.19C287.52,226.74 288.14,227.05 290,227.67L281.01,256.65C276.67,252.78 270.63,248.59 261.8,243.63C254.05,262.08 241.18,275.56 221.66,286.25C215.15,277.57 210.19,272.3 202.29,266.11C213.75,260.68 219.02,257.27 225.07,251.54C230.96,245.8 234.83,240.22 238.55,231.85C228.63,227.36 222.28,225.35 211.27,223.02C204.92,241.93 199.8,254.02 195.31,261.3C189.27,271.06 181.05,276.18 171.6,276.18C164.32,276.18 156.88,272.92 151.45,267.35C145.25,260.99 142,252.16 142,241.93C142,226.74 149.28,213.57 161.99,205.35C170.21,200.09 178.88,197.76 192.68,196.99C195.47,187.84 197.79,179.94 199.96,171.11C193.14,171.73 184.62,172.19 174.24,172.65C168.66,172.81 166.8,172.96 162.3,173.59ZM185.86,220.7C178.57,221.94 174.24,224.26 170.36,229.22C167.42,232.63 166.02,236.66 166.02,241C166.02,245.8 168.35,249.37 171.29,249.37C174.85,249.37 178.88,241.31 185.86,220.7Z" android:fillColor="#0058A0"
android:fillColor="#031019"/> android:fillType="evenOdd"/>
</group> <path
android:pathData="M163.71,174.79L162.66,150.56C165.82,151.16 169.58,151.31 178.16,151.31C188.55,151.31 202.24,150.71 209.32,149.81C212.32,149.51 213.53,149.05 215.49,148L231.74,161.85C230.23,163.95 229.78,164.86 228.13,169.07C226.77,172.38 220.6,191.49 218.2,199.62C229.33,201.88 235.5,203.53 243.93,206.99C244.98,199.62 245.13,195.71 245.13,182.31C245.13,178.85 244.98,176.9 244.53,173.74L270.72,174.64C269.96,178.25 269.82,179.76 269.66,185.62C269.06,199.77 268.46,206.54 266.95,216.78C277.34,222.04 277.34,222.04 282.61,224.9C285.32,226.41 285.92,226.71 287.72,227.31L278.99,255.45C274.78,251.69 268.91,247.63 260.33,242.81C252.81,260.72 240.32,273.82 221.35,284.2C215.03,275.77 210.22,270.65 202.54,264.63C213.68,259.37 218.8,256.06 224.67,250.49C230.38,244.92 234.15,239.5 237.76,231.38C228.13,227.01 221.96,225.05 211.27,222.8C205.1,241.16 200.13,252.9 195.77,259.97C189.9,269.45 181.93,274.42 172.74,274.42C165.67,274.42 158.45,271.26 153.18,265.84C147.16,259.67 144,251.09 144,241.16C144,226.41 151.07,213.62 163.41,205.64C171.39,200.52 179.82,198.27 193.21,197.51C195.92,188.63 198.18,180.96 200.29,172.38C193.66,172.98 185.39,173.43 175.3,173.88C169.88,174.04 168.08,174.19 163.71,174.79ZM186.59,220.54C179.52,221.74 175.3,224 171.54,228.82C168.68,232.13 167.33,236.04 167.33,240.25C167.33,244.92 169.58,248.38 172.44,248.38C175.9,248.38 179.82,240.55 186.59,220.54Z"
android:fillColor="#031019"/>
</vector> </vector>

View File

@ -20,7 +20,7 @@ END;
insert: insert:
INSERT INTO mangas_categories(manga_id, category_id, last_modified_at) INSERT INTO mangas_categories(manga_id, category_id, last_modified_at)
VALUES (:mangaId, :categoryId, strftime('%s', 'now')); VALUES (:mangaId, :categoryId, 0);
deleteMangaCategoryByMangaId: deleteMangaCategoryByMangaId:
DELETE FROM mangas_categories DELETE FROM mangas_categories

View File

@ -143,7 +143,7 @@
<string name="untrusted_extension">Luottamattomat laajennokset</string> <string name="untrusted_extension">Luottamattomat laajennokset</string>
<string name="untrusted_extension_message">Tämä laajennus on allekirjoitettu luottamattomalla sertifikaatilla ja sitä ei ole aktivoitu. <string name="untrusted_extension_message">Tämä laajennus on allekirjoitettu luottamattomalla sertifikaatilla ja sitä ei ole aktivoitu.
\n \n
\nHaitallinen laajennus voisi lukea mahdolliset kirjautumistiedot Mihonsta tai suorittaa luvatonta koodia. \nHaitallinen laajennus voisi lukea mahdolliset kirjautumistiedot Mihonista tai suorittaa luvatonta koodia.
\n \n
\nLuottamalla tähän sertifikaattiin hyväksyt nämä riskit.</string> \nLuottamalla tähän sertifikaattiin hyväksyt nämä riskit.</string>
<string name="pref_fullscreen">Koko näyttö</string> <string name="pref_fullscreen">Koko näyttö</string>
@ -348,7 +348,7 @@
<string name="action_pin">Kiinnitä</string> <string name="action_pin">Kiinnitä</string>
<string name="action_select_inverse">Valitse käänteinen</string> <string name="action_select_inverse">Valitse käänteinen</string>
<string name="vertical_plus_viewer">Jatkuva pystysuora</string> <string name="vertical_plus_viewer">Jatkuva pystysuora</string>
<string name="information_webview_required">WebView on pakollinen Mihonssa</string> <string name="information_webview_required">WebView on pakollinen Mihonissa</string>
<string name="restore_in_progress">Palautus on jo käynnissä</string> <string name="restore_in_progress">Palautus on jo käynnissä</string>
<string name="backup_in_progress">Varmuuskopiointi on jo käynnissä</string> <string name="backup_in_progress">Varmuuskopiointi on jo käynnissä</string>
<string name="pref_webtoon_side_padding">Sivuntäyttö</string> <string name="pref_webtoon_side_padding">Sivuntäyttö</string>
@ -495,7 +495,7 @@
<string name="off">Pois päältä</string> <string name="off">Pois päältä</string>
<string name="on">Päällä</string> <string name="on">Päällä</string>
<string name="getting_started_guide">Aloitusopas</string> <string name="getting_started_guide">Aloitusopas</string>
<string name="download_queue_size_warning">Varoitus: massalataukset voivat johtaa siihen, että lähteet muuttuvat hitaammiksi käyttää ja/tai ne estävät Mihonn käytön. Napauta saadaksesi lisätietoja.</string> <string name="download_queue_size_warning">Varoitus: massalataukset voivat johtaa siihen, että lähteet muuttuvat hitaammiksi käyttää ja/tai ne estävät Mihonin käytön. Napauta saadaksesi lisätietoja.</string>
<string name="action_show_manga">Näytä manga</string> <string name="action_show_manga">Näytä manga</string>
<string name="action_display_cover_only_grid">Kansikuva ruudukko</string> <string name="action_display_cover_only_grid">Kansikuva ruudukko</string>
<string name="theme_monet">Dynaaminen</string> <string name="theme_monet">Dynaaminen</string>

View File

@ -192,7 +192,7 @@
<string name="snack_add_to_library">Tambahkan ke pustaka\?</string> <string name="snack_add_to_library">Tambahkan ke pustaka\?</string>
<string name="picture_saved">Gambar disimpan</string> <string name="picture_saved">Gambar disimpan</string>
<string name="custom_filter">Filter khusus</string> <string name="custom_filter">Filter khusus</string>
<string name="set_as_cover">Tetapkan sebagai sampul</string> <string name="set_as_cover">Terapkan sebagai sampul</string>
<string name="cover_updated">Sampul telah diperbarui</string> <string name="cover_updated">Sampul telah diperbarui</string>
<string name="chapter_progress">Halaman: %1$d</string> <string name="chapter_progress">Halaman: %1$d</string>
<string name="no_next_chapter">Bab berikutnya tak ditemukan</string> <string name="no_next_chapter">Bab berikutnya tak ditemukan</string>
@ -406,15 +406,15 @@
<string name="channel_progress">Kemajuan</string> <string name="channel_progress">Kemajuan</string>
<string name="channel_errors">Masalah</string> <string name="channel_errors">Masalah</string>
<string name="backup_restore_missing_trackers">Pelacakan tidak tersinkronisasi di:</string> <string name="backup_restore_missing_trackers">Pelacakan tidak tersinkronisasi di:</string>
<string name="ext_nsfw_warning">Sumber dari ekstensi ini mungkin berisi konten DEWASA (18+)</string> <string name="ext_nsfw_warning">Sumber dari ekstensi ini mungkin berisi konten DEWASA (NSFW 18+)</string>
<string name="ext_nsfw_short">18+</string> <string name="ext_nsfw_short">18+</string>
<string name="pref_remove_bookmarked_chapters">Hapus bab yang ditandai</string> <string name="pref_remove_bookmarked_chapters">Hapus bab yang ditandai</string>
<string name="pref_category_delete_chapters">Hapus chapter</string> <string name="pref_category_delete_chapters">Hapus chapter</string>
<string name="parental_controls_info">Hal ini tidak mencegah ekstensi yang tidak resmi atau berpotensi salah ditandai untuk menampilkan konten NSFW (18+) di dalam aplikasi.</string> <string name="parental_controls_info">Hal ini tidak mencegah ekstensi non-resmi atau konten DEWASA (NSFW 18+) yang tidak ditandai dengan benar muncul di dalam aplikasi.</string>
<string name="no_chapters_error">Tidak ada bab yang ditemukan</string> <string name="no_chapters_error">Tidak ada bab yang ditemukan</string>
<string name="chapter_settings_updated">Pengaturan bab bawaan diperbarui</string> <string name="chapter_settings_updated">Pengaturan bab bawaan diperbarui</string>
<string name="set_chapter_settings_as_default">Tetapkan sebagai bawaan</string> <string name="set_chapter_settings_as_default">Terapkan sebagai bawaan</string>
<string name="also_set_chapter_settings_for_library">Juga terapkan untuk semua entri di pustaka saya</string> <string name="also_set_chapter_settings_for_library">Terapkan pula untuk semua entri di pustaka saya</string>
<string name="confirm_set_chapter_settings">Apakah anda yakin ingin menyimpan pengaturan ini sebagai bawaan\?</string> <string name="confirm_set_chapter_settings">Apakah anda yakin ingin menyimpan pengaturan ini sebagai bawaan\?</string>
<string name="chapter_settings">Pengaturan bab</string> <string name="chapter_settings">Pengaturan bab</string>
<string name="share_page_info">%1$s: %2$s, halaman %3$d</string> <string name="share_page_info">%1$s: %2$s, halaman %3$d</string>
@ -573,7 +573,7 @@
<string name="action_move_to_top_all_for_series">Pindahkan seri ke atas</string> <string name="action_move_to_top_all_for_series">Pindahkan seri ke atas</string>
<string name="update_check_fdroid_migration_info">Versi baru tersedia dari perilisan resmi. Ketuk untuk mempelajari migrasi dari perilisan non-resmi dari F-Droid.</string> <string name="update_check_fdroid_migration_info">Versi baru tersedia dari perilisan resmi. Ketuk untuk mempelajari migrasi dari perilisan non-resmi dari F-Droid.</string>
<string name="disabled_nav">Dinonaktifkan</string> <string name="disabled_nav">Dinonaktifkan</string>
<string name="error_saving_picture">Error menyimpan gambar</string> <string name="error_saving_picture">Gagal menyimpan gambar</string>
<string name="empty_backup_error">Tidak ada entri perpustakaan untuk dicadangkan</string> <string name="empty_backup_error">Tidak ada entri perpustakaan untuk dicadangkan</string>
<string name="update_check_open">Buka di Github</string> <string name="update_check_open">Buka di Github</string>
<string name="pref_clear_webview_data">Membersihkan data WebView</string> <string name="pref_clear_webview_data">Membersihkan data WebView</string>
@ -700,7 +700,7 @@
<string name="pref_chapter_swipe_start">Geser kekiri</string> <string name="pref_chapter_swipe_start">Geser kekiri</string>
<string name="pref_double_tap_zoom">Ketuk dua kali untuk memperbesar</string> <string name="pref_double_tap_zoom">Ketuk dua kali untuk memperbesar</string>
<string name="pref_library_columns_per_row">%d per baris</string> <string name="pref_library_columns_per_row">%d per baris</string>
<string name="action_set_interval">Tetapkan jeda waktu</string> <string name="action_set_interval">Terapkan jeda waktu</string>
<string name="action_filter_interval_custom">Frekuensi pembaruan yang disesuaikan</string> <string name="action_filter_interval_custom">Frekuensi pembaruan yang disesuaikan</string>
<string name="skipped_reason_not_in_release_period">Dilewati karena tidak ada rilis yang diharapkan hari ini</string> <string name="skipped_reason_not_in_release_period">Dilewati karena tidak ada rilis yang diharapkan hari ini</string>
<string name="action_sort_next_updated">Pembaruan yang diharapkan berikutnya</string> <string name="action_sort_next_updated">Pembaruan yang diharapkan berikutnya</string>
@ -783,7 +783,7 @@
<string name="action_add_repo_message">Tambahkan repo lain ke Mihon. Seharusnya URL yang memiliki akhiran \"index.min.json\".</string> <string name="action_add_repo_message">Tambahkan repo lain ke Mihon. Seharusnya URL yang memiliki akhiran \"index.min.json\".</string>
<string name="label_extension_repos">Repositori ekstensi</string> <string name="label_extension_repos">Repositori ekstensi</string>
<string name="information_empty_repos">Anda tidak memiliki repositori yang ditetapkan.</string> <string name="information_empty_repos">Anda tidak memiliki repositori yang ditetapkan.</string>
<string name="invalid_backup_file_error">Keseluruhan eror:</string> <string name="invalid_backup_file_error">Kesalahan penuh:</string>
<string name="error_repo_exists">Repositori ini sudah ada!</string> <string name="error_repo_exists">Repositori ini sudah ada!</string>
<string name="label_add_repo_input">URL Repo</string> <string name="label_add_repo_input">URL Repo</string>
<string name="invalid_repo_name">URL repo tidak valid</string> <string name="invalid_repo_name">URL repo tidak valid</string>
@ -793,9 +793,9 @@
<string name="delete_repo_confirmation">Apa Anda yakin ingin menghapus repo \"%s\"?</string> <string name="delete_repo_confirmation">Apa Anda yakin ingin menghapus repo \"%s\"?</string>
<string name="manga_interval_expected_update">Bab baru diperkirakan akan dirils sekitar %1$s, diperiksa setiap sekitar %2$s.</string> <string name="manga_interval_expected_update">Bab baru diperkirakan akan dirils sekitar %1$s, diperiksa setiap sekitar %2$s.</string>
<string name="available_disk_space_info">Tersedia:%1$s/Total:%2$s</string> <string name="available_disk_space_info">Tersedia:%1$s/Total:%2$s</string>
<string name="manga_interval_custom_amount">Keseringan pembaruan yang di kostumisasi:</string> <string name="manga_interval_custom_amount">Frekuensi pembaruan khusus:</string>
<string name="theme_nord">Nord</string> <string name="theme_nord">Nord</string>
<string name="manga_interval_expected_update_soon">Segera</string> <string name="manga_interval_expected_update_soon">Segera</string>
<string name="ext_revoke_trust">Mencabut ekstensi tidak dikenal yang tepercaya</string> <string name="ext_revoke_trust">Cabut izin ekstensi tidak dikenal yang tepercaya</string>
<string name="action_open_repo">Repo sumber terbuka</string> <string name="action_open_repo">Repo sumber terbuka</string>
</resources> </resources>

View File

@ -26,9 +26,9 @@
<item quantity="other">%d категорија</item> <item quantity="other">%d категорија</item>
</plurals> </plurals>
<plurals name="relative_time"> <plurals name="relative_time">
<item quantity="one">Pre %1$d dan</item> <item quantity="one">Пре %1$d дан</item>
<item quantity="few">Pre %1$d dana</item> <item quantity="few">Пре %1$d дана</item>
<item quantity="other">Pre %1$d dana</item> <item quantity="other">Пре %1$d дана</item>
</plurals> </plurals>
<plurals name="missing_chapters_warning"> <plurals name="missing_chapters_warning">
<item quantity="one">Прескаче се %d поглавље, или не постоји у извору или је филтером издвојено</item> <item quantity="one">Прескаче се %d поглавље, или не постоји у извору или је филтером издвојено</item>
@ -80,4 +80,9 @@
<item quantity="few">%d дана</item> <item quantity="few">%d дана</item>
<item quantity="other">%d дана</item> <item quantity="other">%d дана</item>
</plurals> </plurals>
<plurals name="num_repos">
<item quantity="one">%d репозиторија</item>
<item quantity="few">%d репозиторија</item>
<item quantity="other">%d репозиторија</item>
</plurals>
</resources> </resources>

View File

@ -15,6 +15,7 @@
<string name="label_migration">Миграција</string> <string name="label_migration">Миграција</string>
<string name="label_extensions">Додаци</string> <string name="label_extensions">Додаци</string>
<string name="label_extension_info">Информације о додатку</string> <string name="label_extension_info">Информације о додатку</string>
<string name="label_data_storage">Складиштење и подаци</string>
<string name="action_settings">Подешавања</string> <string name="action_settings">Подешавања</string>
<string name="action_filter">Филтер</string> <string name="action_filter">Филтер</string>
<string name="action_filter_bookmarked">Забележено</string> <string name="action_filter_bookmarked">Забележено</string>
@ -83,7 +84,7 @@
<string name="all">Све</string> <string name="all">Све</string>
<string name="pref_library_update_restriction">Ограничења уређаја за аутоматска ажурирања</string> <string name="pref_library_update_restriction">Ограничења уређаја за аутоматска ажурирања</string>
<string name="charging">Пуњење</string> <string name="charging">Пуњење</string>
<string name="pref_update_only_non_completed">Са статусом \"Завршено\"</string> <string name="pref_update_only_non_completed">Прескочи уносе са статусом \"Завршено\"</string>
<string name="pref_auto_update_manga_sync">Ажурирај пратиоца након читања</string> <string name="pref_auto_update_manga_sync">Ажурирај пратиоца након читања</string>
<string name="default_category">Подразумевана категорија</string> <string name="default_category">Подразумевана категорија</string>
<string name="default_category_summary">Увек питај</string> <string name="default_category_summary">Увек питај</string>
@ -428,7 +429,7 @@
<string name="label_network">Мрежа</string> <string name="label_network">Мрежа</string>
<string name="backup_restore_content_full">Подаци из датотеке резервне копије ће бити враћени. <string name="backup_restore_content_full">Подаци из датотеке резервне копије ће бити враћени.
\n \n
\nМораћете да инсталирате све додатке које недостају и да се после тога пријавите на трекере да бисте их користили.</string> \nМораћете да инсталирате све додатке које недостају и да се после тога пријавите на пратиоце да бисте их користили.</string>
<string name="enhanced_tracking_info">Сервиси који пружају побољшане услуге за одређене изворе. Наслов се аутоматски прати када га додате у колекцију.</string> <string name="enhanced_tracking_info">Сервиси који пружају побољшане услуге за одређене изворе. Наслов се аутоматски прати када га додате у колекцију.</string>
<string name="help_translate">Помозите у превођењу</string> <string name="help_translate">Помозите у превођењу</string>
<string name="pref_dump_crash_logs">Дели извештаје о паду</string> <string name="pref_dump_crash_logs">Дели извештаје о паду</string>
@ -535,7 +536,7 @@
<string name="pref_remove_bookmarked_chapters">Дозволи брисање забележених поглавља</string> <string name="pref_remove_bookmarked_chapters">Дозволи брисање забележених поглавља</string>
<string name="pref_remove_exclude_categories">Искључене категорије</string> <string name="pref_remove_exclude_categories">Искључене категорије</string>
<string name="pref_download_new_categories_details">Наслови у искљученим категоријама неће се преузимати иако су такође у укљученим категоријама.</string> <string name="pref_download_new_categories_details">Наслови у искљученим категоријама неће се преузимати иако су такође у укљученим категоријама.</string>
<string name="tracking_info">Једносмерна синхронизација за ажурирање броја прочитаних поглавља у трекерима. За појединачно праћење наслова додирни дугме за њихово праћење.</string> <string name="tracking_info">Једносмерна синхронизација за ажурирање броја прочитаних поглавља у пратиоцима. За појединачно праћење наслова додирни дугме за њихово праћење.</string>
<string name="label_data">Подаци</string> <string name="label_data">Подаци</string>
<string name="pref_incognito_mode">Инкогнито мод</string> <string name="pref_incognito_mode">Инкогнито мод</string>
<string name="cover_updated">Омот је ажуриран</string> <string name="cover_updated">Омот је ажуриран</string>
@ -556,11 +557,11 @@
<string name="extension_api_error">Преузимање листе додатака није успело</string> <string name="extension_api_error">Преузимање листе додатака није успело</string>
<string name="pref_auto_clear_chapter_cache">Испразни кеш меморију поглавља током покретања апликације</string> <string name="pref_auto_clear_chapter_cache">Испразни кеш меморију поглавља током покретања апликације</string>
<string name="database_clean">Нема ништа за чишћење</string> <string name="database_clean">Нема ништа за чишћење</string>
<string name="pref_update_only_completely_read">Sa neporcitanim poglavljem(ima)</string> <string name="pref_update_only_completely_read">Прескочи уносе са непрочитаним поглављима</string>
<string name="privacy_policy">Политика приватности</string> <string name="privacy_policy">Политика приватности</string>
<string name="cancelled">Отказано</string> <string name="cancelled">Отказано</string>
<string name="on_hiatus">На паузи</string> <string name="on_hiatus">На паузи</string>
<string name="pref_update_only_started">То није започето</string> <string name="pref_update_only_started">Прескочи уносе који нису започети</string>
<string name="action_show_manga">Прикажи наслов</string> <string name="action_show_manga">Прикажи наслов</string>
<string name="action_move_to_top_all_for_series">Помакни наслов на врх</string> <string name="action_move_to_top_all_for_series">Помакни наслов на врх</string>
<string name="notification_update_error">%1$d ажурирање није успело</string> <string name="notification_update_error">%1$d ажурирање није успело</string>
@ -681,7 +682,7 @@
<string name="error_user_agent_string_blank">Низ корисничког агента не може бити празан</string> <string name="error_user_agent_string_blank">Низ корисничког агента не може бити празан</string>
<string name="pref_reset_user_agent_string">Ресетуј подразумевани низ корисничког агента</string> <string name="pref_reset_user_agent_string">Ресетуј подразумевани низ корисничког агента</string>
<string name="label_tracked_titles">Праћени наслови</string> <string name="label_tracked_titles">Праћени наслови</string>
<string name="label_tracker_section">Трекери</string> <string name="label_tracker_section">Пратиоци</string>
<string name="ext_info_age_rating">Рангирање по узрасту</string> <string name="ext_info_age_rating">Рангирање по узрасту</string>
<string name="custom_cover">Персонализовани омот</string> <string name="custom_cover">Персонализовани омот</string>
<string name="pref_reset_viewer_flags">Ресетуј подешавања читача по наслову</string> <string name="pref_reset_viewer_flags">Ресетуј подешавања читача по наслову</string>
@ -708,7 +709,7 @@
<string name="licensed_manga_chapters_error">Лиценцирано - Нема поглавља за приказ</string> <string name="licensed_manga_chapters_error">Лиценцирано - Нема поглавља за приказ</string>
<string name="has_results">Има резултата</string> <string name="has_results">Има резултата</string>
<string name="skipped_reason_not_in_release_period">Прескочено јер данас није очекивано издање</string> <string name="skipped_reason_not_in_release_period">Прескочено јер данас није очекивано издање</string>
<string name="pref_update_only_in_release_period">Изван очекиваног периода изласка</string> <string name="pref_update_only_in_release_period">Предвиди очекивано време изласка</string>
<string name="action_set_interval">Постави интервалу</string> <string name="action_set_interval">Постави интервалу</string>
<string name="intervals_header">Интервали</string> <string name="intervals_header">Интервали</string>
<string name="track_delete_remote_text">Такође уклони из %s</string> <string name="track_delete_remote_text">Такође уклони из %s</string>
@ -729,4 +730,59 @@
<string name="exception_offline">Нема везе са интернетом</string> <string name="exception_offline">Нема везе са интернетом</string>
<string name="exception_http">HTTP %d, погледај веб сајт у WebView</string> <string name="exception_http">HTTP %d, погледај веб сајт у WebView</string>
<string name="exception_unknown_host">%s је недоступан</string> <string name="exception_unknown_host">%s је недоступан</string>
<string name="pref_relative_format">Релативне временске ознаке</string>
<string name="pref_relative_format_summary">„%1$s” уместо „%2$s”</string>
<string name="pref_library_update_smart_update">Паметно ажурирање</string>
<string name="pref_flash_page">Забљесни приликом листања</string>
<string name="pref_flash_page_summ">Смањује артефакте на е-инк екранима</string>
<string name="label_extension_repos">Репозиторије екстензија</string>
<string name="pref_storage_location">Место складиштења</string>
<string name="pref_storage_location_info">Користи се за аутоматске резервне копије, преузимаље поглавља и локални извор.</string>
<string name="ext_revoke_trust">Опозови поверење непознатим екстензијама</string>
<string name="action_sort_tracker_score">Оцена на пратиоцу</string>
<string name="scanlator">Аматерски преводилац</string>
<string name="no_scanlators_found">Ниједан аматерски преводилац није пронађен</string>
<string name="exclude_scanlators">Не укључуј аматерске преводиоце</string>
<string name="manga_interval_expected_update">Предвиђа се да ће нова поглавља изаћи за %1$s, проверава се сваких %2$s.</string>
<string name="manga_interval_expected_update_soon">Ускоро</string>
<string name="available_disk_space_info">Доступно: %1$s / Укупно: %2$s</string>
<string name="information_empty_repos">Немате додатих репозиторија.</string>
<string name="action_add_repo">Додај репозиторију</string>
<string name="action_delete_repo">Избриши репозиторију</string>
<string name="label_add_repo_input">URL репозиторије</string>
<string name="action_add_repo_message">Додај додатне репозиторије у Михон. Треба да буде URL који се завршава са „index.min.json”.</string>
<string name="invalid_repo_name">Неисправан URL репозиторије</string>
<string name="delete_repo_confirmation">Да ли желиш да избришеш репозиторију „%s”?</string>
<string name="private_settings">Укључи и осетљива подешавања (нпр. токени за пријаву у пратиоце)</string>
<string name="onboarding_storage_action_select">Изабери путању</string>
<string name="onboarding_action_finish">Започни</string>
<string name="onboarding_storage_selection_required">Мораш да изабереш једну путању</string>
<string name="onboarding_permission_notifications">Дозвола за обавештења</string>
<string name="onboarding_permission_install_apps">Дозвола за инсталацију апликација</string>
<string name="onboarding_action_skip">Пресокочи</string>
<string name="onboarding_action_next">Следеће</string>
<string name="onboarding_permission_install_apps_description">За инсталирање екстензија.</string>
<string name="onboarding_permission_notifications_description">За примање обавештења о ажурурању библиотеке и др.</string>
<string name="onboarding_permission_action_grant">Одобри</string>
<string name="onboarding_heading">Добро дошли!</string>
<string name="pref_onboarding_guide">Водич за прво покретање</string>
<string name="onboarding_guides_new_user">Користш %s први пут? Препоручујемо да погледаш водич за покретање</string>
<string name="onboarding_guides_returning_user">Поново инсталираш %s?</string>
<string name="onboarding_permission_ignore_battery_opts_description">Избегни прекиде при дуготрајном ажурирању колекције, преузимању и обнављању резервне копије</string>
<string name="onboarding_permission_ignore_battery_opts">Коришћење батерије у позадини</string>
<string name="onboarding_description">Хајде да обавимо нека подешавања. Ако желиш можеш их касније променити у подешавањима.</string>
<string name="no_location_set">Није постављена локација за складиштење</string>
<string name="onboarding_storage_info">Одабери путању у коју ће %1$s чувати преузимања поглавља, резервне копије и друго.
\n
\nПрепоручујемо коришћење засебне путање
\n
\nОдабрана путања: %2$s</string>
<string name="theme_nord">Норд</string>
<string name="onboarding_storage_help_info">Ажурураш са старије верзије и не знаш шта да изабереш? Потражи информације у водичу складиштења.</string>
<string name="onboarding_storage_help_action">Водич складиштења</string>
<string name="ext_permission_install_apps_warning">За инсталацију екстензија потребне су дозволе. Додирни овде за одобрење</string>
<string name="invalid_backup_file_error">Грешка:</string>
<string name="error_repo_exists">Ова репозиторија већ постоји</string>
<string name="manga_interval_custom_amount">Прилагођена учесталост ажурирања:</string>
<string name="action_open_repo">Отвори репозиторију</string>
</resources> </resources>