Compare commits

..

8 Commits

Author SHA1 Message Date
3b7d83dd6f Bump version 2023-12-31 10:59:30 +02:00
877a018ced Fix crashes 2023-12-31 10:28:46 +02:00
2e80b330e9 Fix tracker duplicates 2023-12-31 10:17:43 +02:00
42ca38e693 Update dependencies 2023-12-31 10:06:48 +02:00
Feroli
d2fc3354af Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (7 of 7 strings)

Co-authored-by: Feroli <feroli@tuta.io>
Translate-URL: https://hosted.weblate.org/projects/kotatsu/plurals/pt_BR/
Translation: Kotatsu/plurals
2023-12-31 10:03:25 +02:00
2a870e6167 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (548 of 548 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (548 of 548 strings)

Co-authored-by: Koitharu <nvasya95@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/kotatsu/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/kotatsu/strings/uk/
Translation: Kotatsu/Strings
2023-12-31 10:03:25 +02:00
gallegonovato
393a9c2791 Translated using Weblate (Spanish)
Currently translated at 100.0% (548 of 548 strings)

Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/kotatsu/strings/es/
Translation: Kotatsu/Strings
2023-12-31 10:03:25 +02:00
dont wana say
4c69839076 Translated using Weblate (Estonian)
Currently translated at 75.5% (414 of 548 strings)

Added translation using Weblate (Estonian)

Added translation using Weblate (Estonian)

Co-authored-by: dont wana say <273ex2vl6@mozmail.com>
Translate-URL: https://hosted.weblate.org/projects/kotatsu/strings/et/
Translation: Kotatsu/Strings
2023-12-31 10:03:25 +02:00
14 changed files with 475 additions and 23 deletions

View File

@@ -16,8 +16,8 @@ android {
applicationId 'org.koitharu.kotatsu'
minSdk = 21
targetSdk = 34
versionCode = 609
versionName = '6.5.3'
versionCode = 610
versionName = '6.5.4'
generatedDensities = []
testInstrumentationRunner 'org.koitharu.kotatsu.HiltTestRunner'
ksp {
@@ -82,12 +82,12 @@ afterEvaluate {
}
dependencies {
//noinspection GradleDependency
implementation('com.github.KotatsuApp:kotatsu-parsers:a228d71d57') {
implementation('com.github.KotatsuApp:kotatsu-parsers:ea095084cc') {
exclude group: 'org.json', module: 'json'
}
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4'
implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.9.21'
implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.9.22'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3'
implementation 'androidx.appcompat:appcompat:1.6.1'

View File

@@ -295,13 +295,13 @@ class AppSettings @Inject constructor(@ApplicationContext context: Context) {
get() = prefs.getBoolean(KEY_READER_SCREEN_ON, true)
var readerColorFilter: ReaderColorFilter?
get() {
get() = runCatching {
val brightness = prefs.getFloat(KEY_CF_BRIGHTNESS, ReaderColorFilter.EMPTY.brightness)
val contrast = prefs.getFloat(KEY_CF_CONTRAST, ReaderColorFilter.EMPTY.contrast)
val inverted = prefs.getBoolean(KEY_CF_INVERTED, ReaderColorFilter.EMPTY.isInverted)
val grayscale = prefs.getBoolean(KEY_CF_GRAYSCALE, ReaderColorFilter.EMPTY.isGrayscale)
return ReaderColorFilter(brightness, contrast, inverted, grayscale).takeUnless { it.isEmpty }
}
ReaderColorFilter(brightness, contrast, inverted, grayscale).takeUnless { it.isEmpty }
}.getOrNull()
set(value) {
prefs.edit {
val cf = value ?: ReaderColorFilter.EMPTY

View File

@@ -1,5 +1,7 @@
package org.koitharu.kotatsu.core.ui
import android.content.ActivityNotFoundException
import android.content.Intent
import android.os.Bundle
import android.view.View
import androidx.annotation.CallSuper
@@ -8,7 +10,9 @@ import androidx.core.graphics.Insets
import androidx.core.view.updatePadding
import androidx.preference.PreferenceFragmentCompat
import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.snackbar.Snackbar
import dagger.hilt.android.AndroidEntryPoint
import org.koitharu.kotatsu.R
import org.koitharu.kotatsu.core.prefs.AppSettings
import org.koitharu.kotatsu.core.ui.util.RecyclerViewOwner
import org.koitharu.kotatsu.core.ui.util.WindowInsetsDelegate
@@ -62,4 +66,12 @@ abstract class BasePreferenceFragment(@StringRes private val titleId: Int) :
protected fun setTitle(title: CharSequence?) {
(activity as? SettingsActivity)?.setSectionTitle(title)
}
protected fun startActivitySafe(intent: Intent) {
try {
startActivity(intent)
} catch (_: ActivityNotFoundException) {
Snackbar.make(listView, R.string.operation_not_supported, Snackbar.LENGTH_SHORT).show()
}
}
}

View File

@@ -110,11 +110,7 @@ class ServicesSettingsFragment : BasePreferenceFragment(R.string.services),
if (account == null) {
am.addAccount(accountType, accountType, null, null, requireActivity(), null, null)
} else {
try {
startActivity(SyncSettingsIntent(account))
} catch (_: ActivityNotFoundException) {
Snackbar.make(listView, R.string.operation_not_supported, Snackbar.LENGTH_SHORT).show()
}
startActivitySafe(SyncSettingsIntent(account))
}
true
}

View File

@@ -83,7 +83,7 @@ class AboutSettingsFragment : BasePreferenceFragment(R.string.about) {
private fun openLink(url: String, title: CharSequence?) {
val intent = Intent(Intent.ACTION_VIEW)
intent.data = url.toUri()
startActivity(
startActivitySafe(
if (title != null) {
Intent.createChooser(intent, title)
} else {

View File

@@ -84,14 +84,14 @@ class TrackerSettingsFragment :
Build.VERSION.SDK_INT >= Build.VERSION_CODES.O -> {
val intent = Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS)
.putExtra(Settings.EXTRA_APP_PACKAGE, requireContext().packageName)
startActivity(intent)
startActivitySafe(intent)
true
}
channels.areNotificationsDisabled -> {
val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
.setData(Uri.fromParts("package", requireContext().packageName, null))
startActivity(intent)
startActivitySafe(intent)
true
}

View File

@@ -6,6 +6,7 @@ import org.koitharu.kotatsu.core.model.getPreferredBranch
import org.koitharu.kotatsu.core.parser.MangaRepository
import org.koitharu.kotatsu.core.parser.RemoteMangaRepository
import org.koitharu.kotatsu.core.prefs.AppSettings
import org.koitharu.kotatsu.core.util.CompositeMutex2
import org.koitharu.kotatsu.history.data.HistoryRepository
import org.koitharu.kotatsu.parsers.model.Manga
import org.koitharu.kotatsu.tracker.domain.model.MangaTracking
@@ -13,6 +14,8 @@ import org.koitharu.kotatsu.tracker.domain.model.MangaUpdates
import org.koitharu.kotatsu.tracker.work.TrackerNotificationChannels
import org.koitharu.kotatsu.tracker.work.TrackingItem
import javax.inject.Inject
import kotlin.contracts.InvocationKind
import kotlin.contracts.contract
class Tracker @Inject constructor(
private val settings: AppSettings,
@@ -77,7 +80,10 @@ class Tracker @Inject constructor(
repository.gc()
}
suspend fun fetchUpdates(track: MangaTracking, commit: Boolean): MangaUpdates.Success {
suspend fun fetchUpdates(
track: MangaTracking,
commit: Boolean
): MangaUpdates.Success = withMangaLock(track.manga.id) {
val repo = mangaRepositoryFactory.create(track.manga.source)
require(repo is RemoteMangaRepository) { "Repository ${repo.javaClass.simpleName} is not supported" }
val manga = repo.getDetails(track.manga, CachePolicy.WRITE_ONLY)
@@ -99,7 +105,7 @@ class Tracker @Inject constructor(
}
@VisibleForTesting
suspend fun deleteTrack(mangaId: Long) {
suspend fun deleteTrack(mangaId: Long) = withMangaLock(mangaId) {
repository.deleteTrack(mangaId)
}
@@ -137,4 +143,21 @@ class Tracker @Inject constructor(
}
}
}
private companion object {
private val mangaMutex = CompositeMutex2<Long>()
suspend inline fun <T> withMangaLock(id: Long, action: () -> T): T {
contract {
callsInPlace(action, InvocationKind.EXACTLY_ONCE)
}
mangaMutex.lock(id)
try {
return action()
} finally {
mangaMutex.unlock(id)
}
}
}
}

View File

@@ -543,4 +543,6 @@
<string name="restore">Restaurar</string>
<string name="backup_date_">Fecha de la copia de seguridad: %s</string>
<string name="sync_auth">Iniciar sesión en la cuenta de sincronización</string>
<string name="by_name_reverse">Nombre invertido</string>
<string name="state_upcoming">Próximamente</string>
</resources>

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>

View File

@@ -0,0 +1,413 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<string name="updates">Uuendused</string>
<string name="languages">Keel</string>
<string name="status_re_reading">Uuesti loen</string>
<string name="add_to_favourites">Lisa lemmikuks</string>
<string name="detect_reader_mode">Automaatne lugeja mood</string>
<string name="restore_backup_description">Impordi varem tehtud tagavara oma kasutaja andmetest</string>
<string name="manga_shelf">Riiul</string>
<string name="download_started">Allalaadimine alustatud</string>
<string name="tracking">Jälgimine</string>
<string name="close">Sulge</string>
<string name="progress">Progress</string>
<string name="text_history_holder_secondary">Leia mida lugeda «Seiklemis» osakonnas</string>
<string name="cancel_all">Tühista kõik</string>
<string name="sync_host_description">Saate kasutada ise korraldatud sünkroonimisserverit või tava sünkroonimisserverit. Ärge muutke seda, kui te ei ole kindel, mida teete.</string>
<string name="all_favourites">Kõik lemmikud</string>
<string name="email_enter_hint">Sisesta oma emaili aadress et jätkata</string>
<string name="save">Salvesta</string>
<string name="light_indicator">LED indikaator</string>
<string name="no_chapters">Pole peatükke</string>
<string name="related_manga_summary">Näita seotud mangade nimekirja. Mõnel juhul võib see olla ebatäpne või puududa</string>
<string name="theme_name_dynamic">Dünaamiline</string>
<string name="text_clear_cookies_prompt">Teid logitakse välja kõikidest allikatest</string>
<string name="clear_cookies">Tühjenda küpsisesd</string>
<string name="favourites_categories">Lemmikud kategooriad</string>
<string name="pages_cache">Lehekülgede vahemälu</string>
<string name="local_storage">Kohalik salvestamine</string>
<string name="filter">Filterid</string>
<string name="enabled_sources">Kasutatud allikad</string>
<string name="reset">Nulli</string>
<string name="disable_all">Lülita kõik välja</string>
<string name="error_occurred">Tekkis viga</string>
<string name="gestures_only">Ainult žestid</string>
<string name="order_added">Lisatud</string>
<string name="enable_logging">Lülita sisse loggig</string>
<string name="clear_thumbs_cache">Tühjenda pisipildi vahemälu</string>
<string name="taps_on_edges">Külje puudutused</string>
<string name="switch_pages">Vaheta lehekülge</string>
<string name="settings_apply_restart_required">Muudatuste rakendamiseks käivitage rakendus uuesti</string>
<string name="rotate_screen">Keera ekraani</string>
<string name="text_clear_updates_feed_prompt">Tühjenda kõik uuenduste ajalugu?</string>
<string name="source_disabled">Allikas välja lülitatud</string>
<string name="clear_cookies_summary">Võib aidata mõndade probleemidega. Kõik autoriseerimine saab invalideeritud</string>
<string name="enable_logging_summary">Salvesta mõned tegevused silumiseks. Ärge lülitage seda sisse, kui te ei ole kindel, mida teete</string>
<string name="suggestions_enable">Lülita sisse soovitused</string>
<string name="clear_feed">Tühjenda voog</string>
<string name="welcome">Tere tulemast</string>
<string name="no_description">Kirjeldus puudub</string>
<string name="about_app_translation_summary">Tõlgi see äppi</string>
<string name="text_shelf_holder_secondary">Leia mida lugeda «Seiklemis» osakonnas</string>
<string name="chapters_empty">Selles mangas ei ole peatükke</string>
<string name="remove">Eemalda</string>
<string name="vibration">Värisemine</string>
<string name="no_update_available">Uuendusi pole saadaval</string>
<string name="remove_category">Eemalda</string>
<string name="clear_all_history">Tühjenda kõik ajalugu</string>
<string name="preload_pages">Lehekülgede eellaadimine</string>
<string name="data_deletion">Andmete kustutamine</string>
<string name="favourites">Lemmikud</string>
<string name="history_shortcuts">Näita hiljutise manga lühitee</string>
<string name="downloads_wifi_only_summary">Peata allalaadimised kui vahetad mobiilsele ühendusele</string>
<string name="read_mode">Lugemis mood</string>
<string name="internal_storage">Sisemine mälu</string>
<string name="import_completed">Importitud</string>
<string name="different_languages">Erinevad keeled</string>
<string name="show_reading_indicators">Näita lugemis progressi näitaja</string>
<string name="read_later">Loe hiljem</string>
<string name="backup_saved">Tagavara salvestatud</string>
<string name="local_manga_processing">Töötlen salvestatud manga</string>
<string name="user_agent">UserAgent pealkiri</string>
<string name="cannot_find_available_storage">Puudub olemasolevat salvestamisruumi</string>
<string name="create_backup">Tee andmete tagavara</string>
<string name="detailed_list">Detailitud loetelu</string>
<string name="enabled_d_of_d" tools:ignore="PluralsCandidate">sisse lülitatud %1$d / %2$d</string>
<string name="tap_to_try_again">Vajuta, et uuesti proovida</string>
<string name="ignore_ssl_errors">Ignoreeri SSL vigasi</string>
<string name="auth_required">Selle sisu vaatamiseks logi sisse</string>
<string name="search_manga">Otsi mangat</string>
<string name="next">Järgmine</string>
<string name="restore_backup">Taasta andmete tagavarast</string>
<string name="reader_info_bar">Näita inforiba lugejas</string>
<string name="password_length_hint">Parool peab olema 4 tähemärki või veel</string>
<string name="server_address">Sereri aadress</string>
<string name="text_feed_holder">Uued peatükid mangast mis sa loed näidatakse siin</string>
<string name="text_suggestion_holder">Hakka lugema mangat ja sa saad isikupärastatud soovitusi</string>
<string name="explore">Seikle</string>
<string name="find_similar">Leija samasuguseid</string>
<string name="show_notification_new_chapters_off">Sa ei saa teateid uuenduste kohta, aga uued peatükkid on esiletoodud nimekirjas</string>
<string name="storage_usage">Ruumi kasutatud</string>
<string name="data_restored">Taastatud</string>
<string name="favourites_category_empty">Tühi kategooria</string>
<string name="protect_application_subtitle">Sisesta parool millega startida äppi</string>
<string name="remote_sources">Manga allikad</string>
<string name="theme_name_sakura">Sakura</string>
<string name="clear">Tühjenda</string>
<string name="view_list">Vaata nimekirja</string>
<string name="by_rating">Hinnang</string>
<string name="unknown">Mitte teatud</string>
<string name="newest">Uusimad</string>
<string name="suggestions">Soovitused</string>
<string name="sort_order">Sorteerimisjärjekord</string>
<string name="clear_history">Kustuta ajalugu</string>
<string name="show_notification_new_chapters_on">Sa saad manga kohta mis sa loed teateid uuenduste kohta</string>
<string name="importing_manga">Impordi manga</string>
<string name="enabled">Sisse lülitatud</string>
<string name="pause">Paus</string>
<string name="clear_new_chapters_counters">Ja tühjenda informatsioon uute peatükkide kohta</string>
<string name="text_clear_search_history_prompt">Eemaldada kõik hiljutised otsingupäringud?</string>
<string name="nothing_here">Midagi pole siin</string>
<string name="remove_completed">Eemalda lõpetatud</string>
<string name="manga_save_location">Kaust allalaadimiseks</string>
<string name="status_reading">Loen</string>
<string name="auth_complete">Lubatud</string>
<string name="loading_">Laadimine…</string>
<string name="suggestions_notifications_summary">Vahepeal näita teateid koos soovitatud mangaga</string>
<string name="updates_feed_cleared">Tühjendatud</string>
<string name="webtoon_zoom">Webtooni zoom</string>
<string name="various_languages">Erinevad keeled</string>
<string name="list_mode">Loetelu mood</string>
<string name="removal_completed">Eemalda lõppetatud</string>
<string name="download_complete">Alla laetud</string>
<string name="theme_name_miku">Miku</string>
<string name="edit">Muuda</string>
<string name="captcha_required">CAPTCHA vajatud</string>
<string name="filter_load_error">Ei saa laadida žanrite nimekirja</string>
<string name="popular">Populaarsed</string>
<string name="manage_categories">Halda kategoorjaid</string>
<string name="update">Uuenda</string>
<string name="scrobbling_empty_hint">Lugemise edenemise jälgimiseks valige manga üksikasjade ekraanil menüü → Jälgimine.</string>
<string name="removed_from_history">Eemaldatud ajaloost</string>
<string name="crash_text">Midagi läks valesti. Palun esitage arendajatele veateade, et aidata meil seda parandada.</string>
<string name="theme">Teema</string>
<string name="detect_reader_mode_summary">Automaatselt tuvastada, kas manga on webtoon</string>
<string name="color_correction_hint">Valitud värvi seaded jäetakse meelde selle manga jaoks</string>
<string name="not_found_404">Sisu mitte saadaval või eemaldatud</string>
<string name="feed_will_update_soon">Voogu uuendused algavad varsti</string>
<string name="appwidget_recent_description">Sinu hiljuti loetud manga</string>
<string name="got_it">Saadud</string>
<string name="chapters">Peatükid</string>
<string name="appearance">Välimus</string>
<string name="bookmark_remove">Eemalda järjehoidja</string>
<string name="search_hint">Sisestage manga pealkiri, žanr või allika nimi</string>
<string name="disable_battery_optimization_summary">Aitab tausta uuenduste kontrollimisega</string>
<string name="downloads">Alla laadimised</string>
<string name="auth_not_supported_by">Sisselogimine %s ei ole toetatud</string>
<string name="app_update_available">Uus äppi versioon on olemas</string>
<string name="status_on_hold">Ootel</string>
<string name="last_2_hours">Viimased 2 tundi</string>
<string name="name">Nimi</string>
<string name="sources_reorder_tip">Vajuta ja hoija asjal, et uuesti reastada neid</string>
<string name="edit_category">Muuda kategooriat</string>
<string name="resume">Jätka</string>
<string name="server_error">Serveri poolene viga (%1$d). Palun proovi uuessti hiljem</string>
<string name="bookmark_removed">Järjehoidja eemaldatud</string>
<string name="network_unavailable_hint">Lülita sisse Wi-Fi või mobile data, et lugeda mangat online</string>
<string name="you_have_not_favourites_yet">Pole lemmikuid veel</string>
<string name="select_range">Valige vahemik</string>
<string name="tracker_warning">Mõnedel seadmetel on erinev süsteemikäitumine, mis võib katkestada taustatööd.</string>
<string name="network_error">Võrguviga</string>
<string name="new_version_s">Uus versioon: %s</string>
<string name="no_manga_sources">Pole manga allikaid</string>
<string name="light">Valge</string>
<string name="suggestions_excluded_genres_summary">Täpsusta žanrid, mida te ei soovi ettepanekutes näha</string>
<string name="text_delete_local_manga">Kustuta \"%s\" seadelt?</string>
<string name="prefetch_content">Sisu eellaeb</string>
<string name="confirm_exit">Vajuta Tagasi, et lahkuda</string>
<string name="scale_mode">skaala mood</string>
<string name="advanced">Täiustatud</string>
<string name="only_using_wifi">Ainult Wi-Fi-l</string>
<string name="automatic">Jälgne süsteemile</string>
<string name="sync_settings">Sünkroniseeri seadeid</string>
<string name="black_dark_theme">Must</string>
<string name="text_history_holder_primary">Mis sa loed näidatakse siin</string>
<string name="back">Must</string>
<string name="delete_manga">Kustuta manga</string>
<string name="create_category">Uus kategooria</string>
<string name="delete">Kustuta</string>
<string name="notification_sound">Teate hääl</string>
<string name="screenshots_allow">Luba</string>
<string name="backup_restore">Varundamine ja taastamine</string>
<string name="other_cache">Teised vahemälud</string>
<string name="dns_over_https">DNS üle HTTPS</string>
<string name="show_suspicious_content">Näita kahtlast sisu</string>
<string name="show_pages_numbers">nummerda leheküljed</string>
<string name="allow_unstable_updates_summary">Saa teateid ebastabiilsete uuenduste kohta</string>
<string name="sync_title">Sünkroniseeri oma andmed</string>
<string name="appwidget_shelf_description">Manga sinu lemmikutest</string>
<string name="comics_archive_import_description">Sa võid valida üks või veel .cbz või .zip faile, iga fail võetakse kui erinev manga.</string>
<string name="search_history_cleared">Tühjendatud</string>
<string name="_s_deleted_from_local_storage">\"%s\" eemaldatud lokaasest salvestusruumist</string>
<string name="too_many_requests_message">Liiga palju taotlusi. Proovige hiljem uuesti</string>
<string name="downloads_wifi_only">Allalaadi ainult üle Wi-Fi</string>
<string name="send">Saada</string>
<string name="bookmark_add">Lisa järjehoidja</string>
<string name="discard">Unusta</string>
<string name="saved_manga">Salvestatud manga</string>
<string name="manga_downloading_">Laadin alla…</string>
<string name="screenshots_block_all">Alati blokeeri</string>
<string name="new_sources_text">Uued manga allikad on saadaval</string>
<string name="manga_error_description_pattern">Vea detailid:&lt;br&gt;&lt;tt&gt;%1$s&lt;/tt&gt;&lt;br&gt;&lt;br&gt;1. Proovi &lt;a href=%2$s&gt;avada mangat oma browseris&lt;/a&gt; et olla kindel et see manga on saadaval allikast &lt;br&gt;2. tee kindlaks et sa kasutad &lt;a href=kotatsu://about&gt;kõige uuemat versiooni Kotatsut&lt;/a&gt;&lt;br&gt;3. Kui see on saadaval, saada vea raport arendajatele.</string>
<string name="open_in_browser">Ava veebibrauser</string>
<string name="about_app_translation">Tõlge</string>
<string name="zoom_mode_fit_height">Sobita kõrgusele</string>
<string name="notifications">Teated</string>
<string name="not_available">Mitte saadaval</string>
<string name="check_new_chapters_title">Otsi uusi peatükke ja tevita sellest</string>
<string name="history_shortcuts_summary">Tee hiljutine manga saadaval hoides pikkalt applikatsiooni ikoonil</string>
<string name="automatic_scroll">Automaatiline scroll</string>
<string name="reverse">Tagurpidi</string>
<string name="track_sources">Otsi uusi uuendusi</string>
<string name="paused">Pausis</string>
<string name="clear_search_history">Tühjenda otsingute ajalugu</string>
<string name="wrong_password">Vale parool</string>
<string name="group">Grupp</string>
<string name="_import">Impordi</string>
<string name="color_correction">Värvi korektsioon</string>
<string name="just_now">Just nüüd</string>
<string name="text_file_not_supported">Vali kas ZIP või CBZ fail.</string>
<string name="download">Lae alla</string>
<string name="chapter_is_missing">See peatükk puudub</string>
<string name="categories_delete_confirm">Kas sa oled kindel, et tahad kustutada valitud lemmikud kategooriad?
\nKõik manga nende sees kaob ja seda tagasi ei saa.</string>
<string name="logged_in_as">Logitud sisse kui %s</string>
<string name="suggestions_info">Kõik andmed analüüsitakse ainult lokaalselt selles seadmes ja neid ei saadeta kunagi kuhugi.</string>
<string name="reader_info_pattern">Pt. %1$d/%2$d Lk. %3$d/%4$d</string>
<string name="contrast">Kontrast</string>
<string name="history_cleared">Ajalugu tühjendatud</string>
<string name="size_s">Suurus: %s</string>
<string name="reader_slider">Näita lehekülje vahetamise liugurit</string>
<string name="no_manga_sources_text">Lülita sisse manga allikaid, et lugeda mangat online</string>
<string name="about">Kohta</string>
<string name="undo">Tühista</string>
<string name="zoom_mode_fit_center">Sobita keskele</string>
<string name="options">Valikud</string>
<string name="services">Teenused</string>
<string name="exclude_nsfw_from_history">Jäta NSFW manga ajaloost välja</string>
<string name="clear_pages_cache">Tühjenda lehekülje vahemälu</string>
<string name="download_slowdown_summary">Aitab vältida teie IP-aadressi blokeerimist</string>
<string name="check_for_new_chapters">Otsi uusi peatükke</string>
<string name="read">Loe</string>
<string name="text_delete_local_manga_batch">Kustuta valitud asjad seadmelt?</string>
<string name="queued">Järjekorras</string>
<string name="text_clear_history_prompt">Tühjenda kõik lugemis ajalugu?</string>
<string name="text_shelf_holder_primary">Sinu mangat näidatakse siin</string>
<string name="report">Raporteeri</string>
<string name="captcha_solve">Lahenda</string>
<string name="download_slowdown">Aeglusta alla laadimised</string>
<string name="bookmark_added">Järjehoidja lisatud</string>
<string name="data_restored_with_errors">Andmed on taastatud, aga on vigasi</string>
<string name="details">Detailid</string>
<string name="sync">Sünkronisatsioon</string>
<string name="new_chapters">Uued peatükid</string>
<string name="search_chapters">Leia peatükk</string>
<string name="exit_confirmation">Lahkumise kinnitus</string>
<string name="comics_archive">Koomikute arhiiv</string>
<string name="more">Rohkem</string>
<string name="theme_name_asuka">Asuka</string>
<string name="history_is_empty">Pole mingit ajalugu veel</string>
<string name="always">Alati</string>
<string name="import_will_start_soon">Import algab varsti</string>
<string name="try_again">Proovi uuesti</string>
<string name="compact">Kompaktne</string>
<string name="protect_application">Kaitse seda äppi</string>
<string name="folder_with_images_import_description">Sa võid valida kausta arhiivi või piltidega. Iga arhiiv (või alamkaust) võetakse kui erinev peatükk.</string>
<string name="reorder">ümberjärjestamine</string>
<string name="share_s">Jaga %s</string>
<string name="suggestions_excluded_genres">Välista žanrid</string>
<string name="chapter_d_of_d">Peatükid %1$d %2$d-st</string>
<string name="canceled">Peatatud</string>
<string name="feed">Voog</string>
<string name="account_already_exists">Kasutaja juba eksisteerib</string>
<string name="dark">Must</string>
<string name="hide">Peida</string>
<string name="passwords_mismatch">Ebavõrdsed paroolid</string>
<string name="by_name">Nimi</string>
<string name="yesterday">Eile</string>
<string name="check_for_updates">Otsi uuendusi</string>
<string name="exclude_nsfw_from_history_summary">Manga märkitud kui NSFW kungai ei lisata sinu ajalukku ja progressi ei salvestata</string>
<string name="mark_as_current">Margi kui präegune</string>
<string name="protect_application_summary">Kusi parooli avades Kotatsut</string>
<string name="right_to_left">Paremalt-vasakule</string>
<string name="show_reading_indicators_summary">Näita mitu protsenti on loetud ajaloos ja lemmikutes</string>
<string name="random">Suvakas</string>
<string name="mirror_switching">Vali peegeldus automaatselt</string>
<string name="use_fingerprint">Kasuta näppujälge, kui see on olemas</string>
<string name="standard">Standard</string>
<string name="history">Ajalugu</string>
<string name="nothing_found">Mitte midagi leitud</string>
<string name="onboard_text">Väli keeled milles sa tahad mangat lugeda. Seda võib hiljem seadetes muuta.</string>
<string name="show_in_grid_view">Näita ruudustiku vaates</string>
<string name="reader_mode_hint">Valitud konfiguratsioon jäetakse meelde selle manga jaoks</string>
<string name="default_s">Default: %s</string>
<string name="volume_buttons">Helitugevusnupud</string>
<string name="confirm">Kinnita</string>
<string name="suggestions_updating">Soovitused uuendavad</string>
<string name="add_new_category">Uus kategooria</string>
<string name="clear_updates_feed">Tühjenda uuenduste voog</string>
<string name="enable">Lülita sisse</string>
<string name="percent_string_pattern">%1$s%%</string>
<string name="chapters_will_removed_background">Peatükid eemaldatakse taustal</string>
<string name="import_completed_hint">Ruumi säästmiseks saad originaalfaili salvestusruumist kustutada</string>
<string name="theme_name_rikka">Rikka</string>
<string name="share_image">Jaga pilt</string>
<string name="disabled">Välja lülitatud</string>
<string name="long_ago">Kaua aega tagasi</string>
<string name="reader_control_ltr_summary">Vajutades paremal äärele või paremale nuppule alati vahetub järgmisele leheküljele</string>
<string name="list">Loetelu</string>
<string name="notifications_settings">Teate seaded</string>
<string name="language">Keel</string>
<string name="domain">Domeen</string>
<string name="save_manga">Salvesta</string>
<string name="incognito_mode">Inkognito mood</string>
<string name="no_bookmarks_summary">Sa võid teha järjehoidjaid mangat lugedes</string>
<string name="large_manga_save_confirm">Sellel mangal on %s. Salvesta kõik?</string>
<string name="search">Otsi</string>
<string name="default_mode">Tava mood</string>
<string name="reader_settings">Lugeja seaded</string>
<string name="theme_name_mamimi">Mamimi</string>
<string name="text_search_holder_secondary">Proovi otsingut teiste sõnadega.</string>
<string name="error">Viga</string>
<string name="grid_size">Ruudustiku suurus</string>
<string name="manage">Halda</string>
<string name="logout">Logi välja</string>
<string name="text_file_sizes">B|kB|MB|GB|TB</string>
<string name="status_completed">Lõpetatud</string>
<string name="_continue">Jätka</string>
<string name="grid">Ruudustik</string>
<string name="recent_manga">Hiljutised</string>
<string name="operation_not_supported">See operatsioon ei ole toetatud</string>
<string name="reader_control_ltr">Ergonoomiline lügeja kontroll</string>
<string name="dont_check">Ära kontrolli</string>
<string name="save_page">Salvesta lehekülg</string>
<string name="zoom_mode_fit_width">Sobita laijusele</string>
<string name="read_more">Loe veel</string>
<string name="reset_filter">Nulli filter</string>
<string name="search_on_s">Otsi %s-st</string>
<string name="status_dropped">Kukkutatud</string>
<string name="nsfw">18+</string>
<string name="disable_nsfw">Lülita välja NSFW</string>
<string name="processing_">Töötlen…</string>
<string name="black_dark_theme_summary">Kasuta vähem elektrit AMOLED ekraanidel</string>
<string name="available">Saadaval</string>
<string name="notifications_enable">Lülita sisse notifikatsioonid</string>
<string name="network_unavailable">Võrk ei ole saadaval</string>
<string name="search_results">Otsingutulemused</string>
<string name="empty">Tühi</string>
<string name="webtoon">Webtoon</string>
<string name="exclude_nsfw_from_suggestions">Ära soovita NSFW mangat</string>
<string name="file_not_found">Fail mitte leitud</string>
<string name="never">Mitte kungai</string>
<string name="text_unsaved_changes_prompt">Salvesta või unusta mitte salvestatud muutused?</string>
<string name="settings">Seaded</string>
<string name="folder_with_images">Kaustad piltitega</string>
<string name="pages">Leheküljed</string>
<string name="app_version">Versioon %s</string>
<string name="cookies_cleared">Kõik küpsised on eemaldatud</string>
<string name="disable_battery_optimization">Lülita välja aku optimeerimine</string>
<string name="status_planned">Planeeritud</string>
<string name="pages_animation">Lehekülje animatsioon</string>
<string name="state_finished">Lõppetatud</string>
<string name="state_ongoing">Käimasolev</string>
<string name="suggestions_summary">Soovita manga vastavalt oma eelistustele</string>
<string name="show">Näita</string>
<string name="genres">Žanrid</string>
<string name="show_on_shelf">Näita riiulil</string>
<string name="allow_unstable_updates">Luba ebastabiilseid uuendusi</string>
<string name="sync_auth_hint">Sa võid sisse logida olemasolevasse kasutajasse või teha uue</string>
<string name="create_shortcut">Tee otsetee…</string>
<string name="theme_name_kanade">Kanade</string>
<string name="other_storage">Teine salvestamisruum</string>
<string name="updated">Uuendatud</string>
<string name="color_theme">Värvi skeema</string>
<string name="brightness">Helendus</string>
<string name="memory_usage_pattern">%s - %s</string>
<string name="preparing_">Valmistan…</string>
<string name="share">Jaga</string>
<string name="computing_">Arvutan…</string>
<string name="add">Lisa</string>
<string name="exit_confirmation_summary">Vajuta Tagasi kaks korda, et lahkuda äppist</string>
<string name="bookmarks_removed">Järjehoidjad eemaldatud</string>
<string name="screenshots_block_nsfw">Blokeeri kui NSFW</string>
<string name="enter_password">Sisesta parool</string>
<string name="repeat_password">Korda parooli</string>
<string name="data_restored_success">Kõik andmed on taastatud</string>
<string name="theme_name_mion">Mion</string>
<string name="mirror_switching_summary">Automaatselt vaheta domeene manga allika jaoks veaga kui peegeldused on saadaval</string>
<string name="no_bookmarks_yet">Pole järjehoidjaid veel</string>
<string name="no_thanks">Tänan ei</string>
<string name="backup_information">Sa saad teha tagavara enda ajaloost, lemmikutest ja siis taastada need</string>
<string name="available_sources">Kättesaadavad allikad</string>
<string name="share_logs">Jaga looge</string>
<string name="zoom_mode_keep_start">Hoija stardis</string>
<string name="external_storage">Väline mälu</string>
<string name="text_local_holder_secondary">Salvesta see interneti allikast või impordidtud failist.</string>
<string name="speed">Kiirus</string>
<string name="silent">Vaikne</string>
<string name="text_local_holder_primary">Salvesta midagi esimesena</string>
<string name="suggestion_manga">Soovitused: %s</string>
<string name="removed_from_favourites">Eemaldatud lemmikutest</string>
<string name="bookmarks">Järjehoidja</string>
<string name="show_all">Näita kõik</string>
<string name="page_saved">Salvestatud</string>
<string name="today">Täna</string>
<string name="empty_favourite_categories">Pole lemmikkategooriaid</string>
<string name="invalid_domain_message">Kehtetu domeen</string>
<string name="system_default">Tava</string>
<string name="text_empty_holder_primary">On üsna tühi siin…</string>
<string name="screenshots_policy">Ekraanipiltide poliitika</string>
<string name="done">Tehtud</string>
<string name="error_no_space_left">Ruumi pole ülejäänud seadmel</string>
<string name="sign_in">Logi sisse</string>
</resources>

View File

@@ -11,9 +11,9 @@
<item quantity="other">%1$d capítulos</item>
</plurals>
<plurals name="new_chapters">
<item quantity="one">%1$d novo capítulo</item>
<item quantity="many">%1$d novos capítulos</item>
<item quantity="other">%1$d novos capítulos</item>
<item quantity="one">%1$d capítulo novo</item>
<item quantity="many">%1$d capítulos novos</item>
<item quantity="other">%1$d capítulos novos</item>
</plurals>
<plurals name="minutes_ago">
<item quantity="one">%1$d minuto atrás</item>

View File

@@ -543,4 +543,6 @@
<string name="welcome_text">Пожалуйста, выберите, какие источники вы хотите включить. Это можно изменить в настройках позже</string>
<string name="restore">Восстановить</string>
<string name="backup_date_">Дата создания резервной копии: %s</string>
<string name="by_name_reverse">Имя (обратно)</string>
<string name="state_upcoming">Ожидается</string>
</resources>

View File

@@ -542,5 +542,7 @@
<string name="welcome_text">Виберіть, які джерела вмісту ви хочете включити. Це також можна налаштувати пізніше в налаштуваннях</string>
<string name="restore">Відновити</string>
<string name="backup_date_">Дата створення резервної копії: %s</string>
<string name="sync_auth">Увійдіть, щоб синхронізувати обліковий запис</string>
<string name="sync_auth">Увійти до синхронізації</string>
<string name="by_name_reverse">Ім\'я (навпаки)</string>
<string name="state_upcoming">Очікується</string>
</resources>

View File

@@ -5,9 +5,9 @@ buildscript {
}
dependencies {
classpath 'com.android.tools.build:gradle:8.2.0'
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.21'
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.22'
classpath 'com.google.dagger:hilt-android-gradle-plugin:2.50'
classpath 'com.google.devtools.ksp:symbol-processing-gradle-plugin:1.9.21-1.0.15'
classpath 'com.google.devtools.ksp:symbol-processing-gradle-plugin:1.9.22-1.0.16'
}
}