From ea59ad2953ff358c43b01139ae98beede0f4dfc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Goli=C5=84ski?= Date: Sat, 17 May 2025 20:27:36 +0200 Subject: [PATCH 01/77] Reuse the existing ObjectMapper --- .../main/java/com/audiobookshelf/app/data/ItemInProgress.kt | 4 ++-- .../src/main/java/com/audiobookshelf/app/server/ApiHandler.kt | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/android/app/src/main/java/com/audiobookshelf/app/data/ItemInProgress.kt b/android/app/src/main/java/com/audiobookshelf/app/data/ItemInProgress.kt index 48dd51fb..33240c8b 100644 --- a/android/app/src/main/java/com/audiobookshelf/app/data/ItemInProgress.kt +++ b/android/app/src/main/java/com/audiobookshelf/app/data/ItemInProgress.kt @@ -6,6 +6,7 @@ package com.audiobookshelf.app.data import com.fasterxml.jackson.annotation.JsonIgnoreProperties import com.fasterxml.jackson.core.json.JsonReadFeature +import com.fasterxml.jackson.databind.ObjectMapper import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper import com.fasterxml.jackson.module.kotlin.readValue import org.json.JSONObject @@ -18,8 +19,7 @@ data class ItemInProgress( val isLocal: Boolean ) { companion object { - fun makeFromServerObject(serverItem: JSONObject):ItemInProgress { - val jacksonMapper = jacksonObjectMapper().enable(JsonReadFeature.ALLOW_UNESCAPED_CONTROL_CHARS.mappedFeature()) + fun makeFromServerObject(serverItem: JSONObject, jacksonMapper: ObjectMapper):ItemInProgress { val libraryItem = jacksonMapper.readValue(serverItem.toString()) var episode:PodcastEpisode? = null diff --git a/android/app/src/main/java/com/audiobookshelf/app/server/ApiHandler.kt b/android/app/src/main/java/com/audiobookshelf/app/server/ApiHandler.kt index bf807f73..4086d6b7 100644 --- a/android/app/src/main/java/com/audiobookshelf/app/server/ApiHandler.kt +++ b/android/app/src/main/java/com/audiobookshelf/app/server/ApiHandler.kt @@ -334,8 +334,7 @@ class ApiHandler(var ctx:Context) { val array = it.getJSONArray("libraryItems") for (i in 0 until array.length()) { val jsobj = array.get(i) as JSONObject - - val itemInProgress = ItemInProgress.makeFromServerObject(jsobj) + val itemInProgress = ItemInProgress.makeFromServerObject(jsobj, jacksonMapper) items.add(itemInProgress) } } From 16694aa932d917863f9719c0a536a689b4409c05 Mon Sep 17 00:00:00 2001 From: advplyr Date: Sat, 17 May 2025 17:06:28 -0500 Subject: [PATCH 02/77] Update progress bar box shadow for visibility #1576 --- assets/app.css | 10 +++++++--- components/cards/LazyBookCard.vue | 2 +- components/cards/LazySeriesCard.vue | 2 +- pages/item/_id/index.vue | 2 +- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/assets/app.css b/assets/app.css index 3429acd8..dde1e0a9 100644 --- a/assets/app.css +++ b/assets/app.css @@ -1,5 +1,5 @@ -@import "./tailwind.css"; -@import "./fonts.css"; +@import './tailwind.css'; +@import './fonts.css'; @import './defaultStyles.css'; @import './absicons.css'; @import './transitions.css'; @@ -61,6 +61,10 @@ textarea { box-shadow: 4px 1px 8px #11111166, -4px 1px 8px #11111166, 1px -4px 8px #11111166; } +.box-shadow-progressbar { + box-shadow: 0px -1px 4px rgb(62, 50, 2, 0.5); +} + .shadow-height { height: calc(100% - 4px); } @@ -164,4 +168,4 @@ Bookshelf Label .tracksTable th { padding: 4px 8px; font-size: 0.75rem; -} \ No newline at end of file +} diff --git a/components/cards/LazyBookCard.vue b/components/cards/LazyBookCard.vue index d9a79eea..9aaa1739 100644 --- a/components/cards/LazyBookCard.vue +++ b/components/cards/LazyBookCard.vue @@ -59,7 +59,7 @@ -
+
diff --git a/components/cards/LazySeriesCard.vue b/components/cards/LazySeriesCard.vue index a52a828d..cff44410 100644 --- a/components/cards/LazySeriesCard.vue +++ b/components/cards/LazySeriesCard.vue @@ -5,7 +5,7 @@
-
+

{{ title }}

diff --git a/pages/item/_id/index.vue b/pages/item/_id/index.vue index 92895276..c5d0108a 100644 --- a/pages/item/_id/index.vue +++ b/pages/item/_id/index.vue @@ -14,7 +14,7 @@
-
+
From c4fe0680f3ef1b58969d1d98b0aa89be1036cd83 Mon Sep 17 00:00:00 2001 From: advplyr Date: Sun, 18 May 2025 17:06:06 -0500 Subject: [PATCH 03/77] Remove unused imports --- .../src/main/java/com/audiobookshelf/app/data/ItemInProgress.kt | 2 -- 1 file changed, 2 deletions(-) diff --git a/android/app/src/main/java/com/audiobookshelf/app/data/ItemInProgress.kt b/android/app/src/main/java/com/audiobookshelf/app/data/ItemInProgress.kt index 33240c8b..77d4c70e 100644 --- a/android/app/src/main/java/com/audiobookshelf/app/data/ItemInProgress.kt +++ b/android/app/src/main/java/com/audiobookshelf/app/data/ItemInProgress.kt @@ -5,9 +5,7 @@ package com.audiobookshelf.app.data import com.fasterxml.jackson.annotation.JsonIgnoreProperties -import com.fasterxml.jackson.core.json.JsonReadFeature import com.fasterxml.jackson.databind.ObjectMapper -import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper import com.fasterxml.jackson.module.kotlin.readValue import org.json.JSONObject From 1cf36e55490d6cc23db93795a2320f6c12dfa6c7 Mon Sep 17 00:00:00 2001 From: advplyr Date: Wed, 21 May 2025 17:26:31 -0500 Subject: [PATCH 04/77] Fix android system bars overlapping UI #1564 #1574 --- .../app/src/main/assets/capacitor.config.json | 4 ++ .../com/audiobookshelf/app/MainActivity.kt | 57 +++++++++++++++---- .../app/src/main/res/layout/activity_main.xml | 1 + .../app/src/main/res/values-v27/styles.xml | 11 ++++ android/app/src/main/res/values/colors.xml | 4 +- capacitor.config.json | 4 ++ ios/App/App/capacitor.config.json | 4 ++ plugins/init.client.js | 6 -- 8 files changed, 71 insertions(+), 20 deletions(-) create mode 100644 android/app/src/main/res/values-v27/styles.xml diff --git a/android/app/src/main/assets/capacitor.config.json b/android/app/src/main/assets/capacitor.config.json index a5ef24e4..0551bb2e 100644 --- a/android/app/src/main/assets/capacitor.config.json +++ b/android/app/src/main/assets/capacitor.config.json @@ -5,6 +5,10 @@ "plugins": { "CapacitorHttp": { "enabled": false + }, + "StatusBar": { + "backgroundColor": "#232323", + "style": "DARK" } }, "server": { diff --git a/android/app/src/main/java/com/audiobookshelf/app/MainActivity.kt b/android/app/src/main/java/com/audiobookshelf/app/MainActivity.kt index 87080a82..d9726654 100644 --- a/android/app/src/main/java/com/audiobookshelf/app/MainActivity.kt +++ b/android/app/src/main/java/com/audiobookshelf/app/MainActivity.kt @@ -6,10 +6,15 @@ import android.content.Context import android.content.Intent import android.content.ServiceConnection import android.content.pm.PackageManager +import android.os.Build import android.os.Bundle import android.os.IBinder import android.util.Log +import android.view.ViewGroup +import android.view.WindowInsets +import android.webkit.WebView import androidx.core.app.ActivityCompat +import androidx.core.view.updateLayoutParams import com.anggrayudi.storage.SimpleStorage import com.anggrayudi.storage.SimpleStorageHelper import com.audiobookshelf.app.managers.DbManager @@ -40,18 +45,6 @@ class MainActivity : BridgeActivity() { ) public override fun onCreate(savedInstanceState: Bundle?) { - // TODO: Optimize using strict mode logs -// StrictMode.setThreadPolicy(StrictMode.ThreadPolicy.Builder() -// .detectDiskReads() -// .detectDiskWrites().detectAll() -// .detectNetwork() // or .detectAll() for all detectable problems -// .penaltyLog() -// .build()) -// StrictMode.setVmPolicy(VmPolicy.Builder() -// .detectLeakedSqlLiteObjects() -// .detectLeakedClosableObjects() -// .penaltyLog() -// .build()) DbManager.initialize(applicationContext) registerPlugin(AbsAudioPlayer::class.java) @@ -63,7 +56,47 @@ class MainActivity : BridgeActivity() { super.onCreate(savedInstanceState) Log.d(tag, "onCreate") + // Update the margins to handle edge-to-edge enforced in SDK 35 + // See: https://developer.android.com/develop/ui/views/layout/edge-to-edge + val webView: WebView = findViewById(R.id.webview) + webView.setOnApplyWindowInsetsListener { v, insets -> + val (left, top, right, bottom) = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { + val sysInsets = insets.getInsets(WindowInsets.Type.systemBars()) + Log.d(tag, "safe sysInsets: $sysInsets") + arrayOf(sysInsets.left, sysInsets.top, sysInsets.right, sysInsets.bottom) + } else { + arrayOf( + insets.systemWindowInsetLeft, + insets.systemWindowInsetTop, + insets.systemWindowInsetRight, + insets.systemWindowInsetBottom + ) + } + // Inject as CSS variables + // NOTE: Possibly able to use in the future to support edge-to-edge better. + val js = """ + document.documentElement.style.setProperty('--safe-area-inset-top', '${top}px'); + document.documentElement.style.setProperty('--safe-area-inset-bottom', '${bottom}px'); + document.documentElement.style.setProperty('--safe-area-inset-left', '${left}px'); + document.documentElement.style.setProperty('--safe-area-inset-right', '${right}px'); + """.trimIndent() + webView.evaluateJavascript(js, null) + + // Set margins + v.updateLayoutParams { + leftMargin = left + bottomMargin = bottom + rightMargin = right + topMargin = top + } + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { + WindowInsets.CONSUMED + } else { + insets + } + } val permission = ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) if (permission != PackageManager.PERMISSION_GRANTED) { diff --git a/android/app/src/main/res/layout/activity_main.xml b/android/app/src/main/res/layout/activity_main.xml index b5ad1387..aeba3591 100644 --- a/android/app/src/main/res/layout/activity_main.xml +++ b/android/app/src/main/res/layout/activity_main.xml @@ -7,6 +7,7 @@ tools:context=".MainActivity"> diff --git a/android/app/src/main/res/values-v27/styles.xml b/android/app/src/main/res/values-v27/styles.xml new file mode 100644 index 00000000..f20ffc86 --- /dev/null +++ b/android/app/src/main/res/values-v27/styles.xml @@ -0,0 +1,11 @@ + + + + + diff --git a/android/app/src/main/res/values/colors.xml b/android/app/src/main/res/values/colors.xml index 41281939..6039c197 100644 --- a/android/app/src/main/res/values/colors.xml +++ b/android/app/src/main/res/values/colors.xml @@ -3,5 +3,5 @@ #FF81D4FA #FF039BE5 #FF01579B - #262626 - \ No newline at end of file + #232323 + diff --git a/capacitor.config.json b/capacitor.config.json index 81df5320..8947e8d7 100644 --- a/capacitor.config.json +++ b/capacitor.config.json @@ -5,6 +5,10 @@ "plugins": { "CapacitorHttp": { "enabled": false + }, + "StatusBar": { + "backgroundColor": "#232323", + "style": "DARK" } }, "server": { diff --git a/ios/App/App/capacitor.config.json b/ios/App/App/capacitor.config.json index 370d7bd3..a8d12c0a 100644 --- a/ios/App/App/capacitor.config.json +++ b/ios/App/App/capacitor.config.json @@ -5,6 +5,10 @@ "plugins": { "CapacitorHttp": { "enabled": false + }, + "StatusBar": { + "backgroundColor": "#232323", + "style": "DARK" } }, "server": { diff --git a/plugins/init.client.js b/plugins/init.client.js index fe20ad40..aa90dd4e 100644 --- a/plugins/init.client.js +++ b/plugins/init.client.js @@ -16,12 +16,6 @@ if (Capacitor.getPlatform() != 'web') { await StatusBar.setStyle({ style: Style.Dark }) } setStatusBarStyleDark() - - const setStatusBarOverlays = async () => { - // Defaults to true in capacitor v7 - await StatusBar.setOverlaysWebView({ overlay: false }) - } - setStatusBarOverlays() } Vue.prototype.$showHideStatusBar = async (show) => { From 8d563dcfed2101f3a6fba72c88708ce05a4a4411 Mon Sep 17 00:00:00 2001 From: advplyr Date: Wed, 21 May 2025 17:38:05 -0500 Subject: [PATCH 05/77] Remove unnecessary styles.xml --- android/app/src/main/res/values-v21/styles.xml | 2 +- android/app/src/main/res/values-v27/styles.xml | 11 ----------- android/app/src/main/res/values/styles.xml | 2 +- 3 files changed, 2 insertions(+), 13 deletions(-) delete mode 100644 android/app/src/main/res/values-v27/styles.xml diff --git a/android/app/src/main/res/values-v21/styles.xml b/android/app/src/main/res/values-v21/styles.xml index adcb18a0..91b56089 100644 --- a/android/app/src/main/res/values-v21/styles.xml +++ b/android/app/src/main/res/values-v21/styles.xml @@ -10,7 +10,7 @@ diff --git a/android/app/src/main/res/values-v27/styles.xml b/android/app/src/main/res/values-v27/styles.xml deleted file mode 100644 index f20ffc86..00000000 --- a/android/app/src/main/res/values-v27/styles.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml index 4234d998..4f1668d9 100644 --- a/android/app/src/main/res/values/styles.xml +++ b/android/app/src/main/res/values/styles.xml @@ -12,7 +12,7 @@ From 80e6fa7e7ad7f5e36bd2b3813bd65ac98dc70d96 Mon Sep 17 00:00:00 2001 From: advplyr Date: Fri, 23 May 2025 17:04:26 -0500 Subject: [PATCH 06/77] Add abridged indicator #1477 --- components/widgets/AbridgedIndicator.vue | 68 ++++++++++++++++++++++++ pages/item/_id/index.vue | 4 ++ 2 files changed, 72 insertions(+) create mode 100644 components/widgets/AbridgedIndicator.vue diff --git a/components/widgets/AbridgedIndicator.vue b/components/widgets/AbridgedIndicator.vue new file mode 100644 index 00000000..4f87e410 --- /dev/null +++ b/components/widgets/AbridgedIndicator.vue @@ -0,0 +1,68 @@ + + + diff --git a/pages/item/_id/index.vue b/pages/item/_id/index.vue index c5d0108a..73f87771 100644 --- a/pages/item/_id/index.vue +++ b/pages/item/_id/index.vue @@ -31,6 +31,7 @@

{{ title }}

+

{{ subtitle }}

@@ -438,6 +439,9 @@ export default { isExplicit() { return !!this.mediaMetadata.explicit }, + isAbridged() { + return !!this.mediaMetadata.abridged + }, showPlay() { return !this.isMissing && !this.isInvalid && (this.numTracks || this.episodes.length) }, From 93c0adecbdc446eef670184ee16f3b95f3a3d3a9 Mon Sep 17 00:00:00 2001 From: Oleg Ivasenko Date: Sat, 10 May 2025 16:36:57 +0200 Subject: [PATCH 07/77] Translated using Weblate (Russian) Currently translated at 100.0% (351 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/ru/ --- strings/ru.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/strings/ru.json b/strings/ru.json index 6fb0608f..9fe95d6d 100644 --- a/strings/ru.json +++ b/strings/ru.json @@ -136,7 +136,7 @@ "LabelDownload": "Скачать", "LabelDownloadUsingCellular": "Загрузка с помощью сотовой связи", "LabelDownloaded": "Загружено", - "LabelDuration": "Продолжительность", + "LabelDuration": "Длительность", "LabelEbook": "E-книга", "LabelEbooks": "E-книги", "LabelEnable": "Включить", From e6cdde4f7037ef898575f5ebc1f3baaad2fb091a Mon Sep 17 00:00:00 2001 From: peter cerny Date: Sat, 10 May 2025 21:40:11 +0200 Subject: [PATCH 08/77] Translated using Weblate (Slovak) Currently translated at 13.6% (48 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/sk/ --- strings/sk.json | 51 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/strings/sk.json b/strings/sk.json index 0967ef42..7e6a660f 100644 --- a/strings/sk.json +++ b/strings/sk.json @@ -1 +1,50 @@ -{} +{ + "ButtonAdd": "Pridať", + "ButtonAddNewServer": "Pridať nový server", + "ButtonAuthors": "Autori", + "ButtonBack": "Späť", + "ButtonCancel": "Zrušiť", + "ButtonCancelTimer": "Zrušiť časovač", + "ButtonClearFilter": "Zrušiť filter", + "ButtonClearLogs": "Zmazať záznamy logovania", + "ButtonCloseFeed": "Zatvoriť zdroj", + "ButtonCollections": "Kolekcie", + "ButtonConnect": "Pripojiť", + "ButtonConnectToServer": "Pripojte sa k serveru", + "ButtonCreate": "Vytvoriť", + "ButtonCreateBookmark": "Vytvoriť záložku", + "ButtonCreateNewPlaylist": "Vytvoriť nový playlist", + "ButtonDelete": "Zmazať", + "ButtonDeleteLocalEpisode": "Odstrániť lokálnu epizódu", + "ButtonDeleteLocalFile": "Odstrániť lokálny súbor", + "ButtonDeleteLocalItem": "Odstrániť lokálnu položku", + "ButtonDisableAutoTimer": "Vypnúť automatický časovač", + "ButtonDisconnect": "Odpojiť", + "ButtonGoToWebClient": "Prejsť na webové rozhranie", + "ButtonHistory": "História", + "ButtonHome": "Domov", + "ButtonIssues": "Problémy", + "ButtonLatest": "Najnovšie", + "ButtonLibrary": "Knižnica", + "ButtonLocalMedia": "Lokálne médiá", + "ButtonLogs": "Záznamy logovania", + "ButtonManageLocalFiles": "Spravovať lokálne súbory", + "ButtonMaskServerAddress": "Maska adresy servera", + "ButtonNewFolder": "Nový priečinok", + "ButtonNextEpisode": "Ďalšia epizóda", + "ButtonOk": "OK", + "ButtonOpenFeed": "Otvoriť zdroj", + "ButtonOverride": "Uprednostniť", + "ButtonPause": "Pozastaviť", + "ButtonPlay": "Prehrať", + "ButtonPlayEpisode": "Prehrať epizódu", + "ButtonPlaylists": "Playlisty", + "ButtonRead": "Načítať", + "ButtonReadLess": "Načítať menej", + "ButtonReadMore": "Načítať viac", + "ButtonRemove": "Odstrániť", + "ButtonRemoveFromServer": "Odstrániť zo servera", + "ButtonSave": "Uložiť", + "ButtonSaveOrder": "Uložiť poradie", + "ButtonSearch": "Vyhľadať" +} From 37c58a5d321f83bcc6a6c40cd791949a72ef20ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=93=D0=BE=D1=80?= =?UTF-8?q?=D0=BF=D0=B8=D0=BD=D1=96=D1=87?= Date: Mon, 12 May 2025 11:59:22 +0200 Subject: [PATCH 09/77] Translated using Weblate (Ukrainian) Currently translated at 100.0% (351 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/uk/ --- strings/uk.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/strings/uk.json b/strings/uk.json index b23c4af4..9016a892 100644 --- a/strings/uk.json +++ b/strings/uk.json @@ -316,7 +316,7 @@ "MessageNoItems": "Елементи відсутні", "MessageNoItemsFound": "Елементів не знайдено", "MessageNoListeningSessions": "Сеанси прослуховування відсутні", - "MessageNoLogs": "Без журналів", + "MessageNoLogs": "Без журнал", "MessageNoMediaFolders": "Теки медіа відсутні", "MessageNoNetworkConnection": "Немає підключення до мережі", "MessageNoPodcastsFound": "Подкастів не знайдено", From d16dfcb4b49fb24f5a35916a363077b7c4a835f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaakko=20Rantam=C3=A4ki?= Date: Tue, 13 May 2025 10:48:27 +0200 Subject: [PATCH 10/77] Translated using Weblate (Finnish) Currently translated at 98.2% (345 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/fi/ --- strings/fi.json | 1 + 1 file changed, 1 insertion(+) diff --git a/strings/fi.json b/strings/fi.json index 935210e7..ed865380 100644 --- a/strings/fi.json +++ b/strings/fi.json @@ -6,6 +6,7 @@ "ButtonCancel": "Peruuta", "ButtonCancelTimer": "Peruuta ajastin", "ButtonClearFilter": "Poista suodatus", + "ButtonClearLogs": "Tyhjennä lokit", "ButtonCloseFeed": "Sulje syöte", "ButtonCollections": "Kokoelmat", "ButtonConnect": "Yhdistä", From 9ade7add329ee6682b28faa79b00180dcbe57dd7 Mon Sep 17 00:00:00 2001 From: peter cerny Date: Mon, 12 May 2025 14:56:22 +0200 Subject: [PATCH 11/77] Translated using Weblate (Slovak) Currently translated at 54.4% (191 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/sk/ --- strings/sk.json | 96 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 95 insertions(+), 1 deletion(-) diff --git a/strings/sk.json b/strings/sk.json index 7e6a660f..e135a972 100644 --- a/strings/sk.json +++ b/strings/sk.json @@ -46,5 +46,99 @@ "ButtonRemoveFromServer": "Odstrániť zo servera", "ButtonSave": "Uložiť", "ButtonSaveOrder": "Uložiť poradie", - "ButtonSearch": "Vyhľadať" + "ButtonSearch": "Vyhľadať", + "ButtonSendEbookToDevice": "Poslať e-knihu do zariadenia", + "ButtonSeries": "Série", + "ButtonSetTimer": "Nastaviť časovač", + "ButtonStream": "Všeobecný", + "ButtonSubmit": "Odoslať", + "ButtonSwitchServerUser": "Zmeniť server/používateľa", + "ButtonUnmaskServerAddress": "Odmaskovať adresu servera", + "ButtonUserStats": "Štatistiky používateľov", + "ButtonYes": "Áno", + "HeaderAccount": "Účet", + "HeaderAdvanced": "Pokročilé", + "HeaderAndroidAutoSettings": "Nastavenia Android Auto", + "HeaderAudioTracks": "Zvukové stopy", + "HeaderChapters": "Kapitoly", + "HeaderCollection": "Zbierky", + "HeaderCollectionItems": "Položky zbierky", + "HeaderConnectionStatus": "Stav pripojenia", + "HeaderDataSettings": "Nastavenie dát", + "HeaderDetails": "Podrobnosti", + "HeaderDownloads": "Stiahnuté súbory", + "HeaderEbookFiles": "Súbory e-kníh", + "HeaderEpisodes": "Epizódy", + "HeaderEreaderSettings": "Nastavenia čítačky", + "HeaderLatestEpisodes": "Posledné epizódy", + "HeaderLibraries": "Knižnice", + "HeaderLocalFolders": "Lokálne priečinky", + "HeaderLocalLibraryItems": "Položky lokálnej knižnice", + "HeaderNewPlaylist": "Nový playlist", + "HeaderOpenRSSFeed": "Otvoriť RSS zdroj", + "HeaderPlaybackSettings": "Nastavenie prehrávania", + "HeaderPlaylist": "Playlist", + "HeaderPlaylistItems": "Položky playlistu", + "HeaderProgressSyncFailed": "Synchronizovanie aktuálneho stavu zlyhalo", + "HeaderRSSFeed": "RSS zdroj", + "HeaderRSSFeedGeneral": "Detaily RSS", + "HeaderRSSFeedIsOpen": "RSS zdroj je otvorený", + "HeaderSelectDownloadLocation": "Vyberte miesto na stiahnutie", + "HeaderSettings": "Nastavenia", + "HeaderSleepTimer": "Časovač spánku", + "HeaderSleepTimerSettings": "Nastavenia časovaču spánku", + "HeaderStatsMinutesListeningChart": "Vypočutých minút (za posledných 7 dní)", + "HeaderStatsRecentSessions": "Nedávne relácie", + "HeaderTableOfContents": "Obsah", + "HeaderUserInterfaceSettings": "Nastavenia používateľského rozhrania", + "HeaderYourStats": "Vaše štatistiky", + "LabelAddToPlaylist": "Pridať do playlistu", + "LabelAddedAt": "Pridané", + "LabelAddedDate": "Pridané {0}", + "LabelAll": "Všetko", + "LabelAllowSeekingOnMediaControls": "Povoliť zmenu pozície prehrávania v mediálnych notifikáciách", + "LabelAlways": "Vždy", + "LabelAndroidAutoBrowseLimitForGrouping": "Limit abecedného posunu", + "LabelAndroidAutoBrowseLimitForGroupingHelp": "Nezobrazí možnosť abecedného posunu, ak je počet zobrazených položiek menší ako limit", + "LabelAndroidAutoBrowseSeriesSequenceOrder": "Poradie kníh série", + "LabelAskConfirmation": "Požiadať o potvrdenie", + "LabelAuthor": "Autor", + "LabelAuthorFirstLast": "Autor (Meno Priezvisko)", + "LabelAuthorLastFirst": "Autor (Priezvisko, Meno)", + "LabelAuthors": "Autori", + "LabelAutoDownloadEpisodes": "Automaticky sťahovať epizódy", + "LabelAutoRewindTime": "Automatické presunutie času", + "LabelAutoSleepTimer": "Auto časovač spánku", + "LabelAutoSleepTimerAutoRewind": "Automatické posunutie času pre Auto časovač spánku", + "LabelAutoSleepTimerAutoRewindHelp": "Keď Auto časovač spánku skončí, pred nasledujúcim prehratím položky sa prehrávanie automaticky posunie.", + "LabelAutoSleepTimerHelp": "keď sa prehrávanie začne vo vymedzenom časovom intervale, časovač spánku sa automaticky spustí tiež.", + "LabelBooks": "Knihy", + "LabelChapterTrack": "Zvuková stopa kapitoly", + "LabelChapters": "Kapitoly", + "LabelClosePlayer": "Zavrieť prehrávač", + "LabelCollapseSeries": "Zbaliť série", + "LabelComplete": "Hotovo", + "LabelContinueBooks": "Pokračovať v knihách", + "LabelContinueEpisodes": "Pokračovať v epizódach", + "LabelContinueListening": "Pokračovať v počúvaní", + "LabelContinueReading": "Pokračovať v čítaní", + "LabelContinueSeries": "Pokračovať v sérii", + "LabelCustomTime": "Vlastný čas", + "LabelDescription": "Popis", + "LabelDisableAudioFadeOut": "Vypnúť fade out", + "LabelDisableAudioFadeOutHelp": "Hlasitosť prehrávania sa automaticky začne znižovať, ak zostáva menej ako 1 minúta na časovači spánku. Povolením tejto voľby sa fade out efekt vypne.", + "LabelDisableAutoRewind": "Vypnúť automatické presúvanie", + "LabelDisableShakeToReset": "Vypnúť reštart potrasením", + "LabelDisableShakeToResetHelp": "Potrasením vášho zariadenia v prípade, ak časovač beží ALEBO na ňom zostáva menej ako 2 minúty, dôjde k rešttartovaniu časovača. Povolením tejto voľby reštart zatrasením vypnete.", + "LabelDisableVibrateOnReset": "Vypnúť vybrovanie pri reštarte", + "LabelDisableVibrateOnResetHelp": "Keď sa čas na časovači spánku uplynie, časovač spánku sa reštartuje a vaše zariadenie zavibruje. Povolením tejto voľby vybrovanie vypnete.", + "LabelDiscover": "Objaviť", + "LabelDownload": "Stiahnuť", + "LabelDownloadUsingCellular": "Stiahnuť cez mobilné dáta", + "LabelDownloaded": "Stiahnuté", + "LabelDuration": "Dĺžka", + "LabelEbook": "E-kniha", + "LabelEbooks": "E-knihy", + "LabelEnable": "Povoliť", + "LabelEnableMp3IndexSeeking": "Povoliť vyhľadávanie v MP3 indexe" } From fcf55eb581bb1e777439ebcafda36c1af6ad7014 Mon Sep 17 00:00:00 2001 From: Michal Date: Tue, 13 May 2025 13:13:59 +0200 Subject: [PATCH 12/77] Translated using Weblate (Slovak) Currently translated at 54.4% (191 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/sk/ --- strings/sk.json | 51 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/strings/sk.json b/strings/sk.json index e135a972..2233a442 100644 --- a/strings/sk.json +++ b/strings/sk.json @@ -140,5 +140,54 @@ "LabelEbook": "E-kniha", "LabelEbooks": "E-knihy", "LabelEnable": "Povoliť", - "LabelEnableMp3IndexSeeking": "Povoliť vyhľadávanie v MP3 indexe" + "LabelEnableMp3IndexSeeking": "Povoliť vyhľadávanie v MP3 indexe", + "LabelEnableMp3IndexSeekingHelp": "Táto voľba by mala byť zapnutá iba v prípade, ak vaše MP3 súbory nie sú vyhľadané správne. Príčinou nesprávneho vyhľadania je najčastejšie meniaci sa bitrate (VBR) MP3 súborov. Toto nastavenie vynúti vyhľadávanie na báze indexu, v ktorom je počas načítania súboru vytvorené time-to-byte mapovanie. V prípade niektorých veľkých MP3 súborov sa pri čítaní ku koncu súboru môže objaviť dlhšia pauza.", + "LabelEnd": "Ukončiť", + "LabelEndOfChapter": "Koniec kapitoly", + "LabelEndTime": "Čas ukončenia", + "LabelEpisode": "Epizóda", + "LabelFeedURL": "URL zdroja", + "LabelFile": "Súbor", + "LabelFileBirthtime": "Čas vytvorenia súboru", + "LabelFileModified": "Súbor zmenený", + "LabelFilename": "Názov súboru", + "LabelFinished": "Ukončené", + "LabelFolder": "Priečinok", + "LabelFontBoldness": "Hrúbka písma", + "LabelFontScale": "Veľkosť písma", + "LabelGenre": "Žáner", + "LabelGenres": "Žánre", + "LabelHapticFeedback": "Haptická spätná väzba", + "LabelHasEbook": "Má e-knihu", + "LabelHasSupplementaryEbook": "Má doplnkovú e-knihu", + "LabelHeavy": "Ťažký", + "LabelHigh": "Vysoký", + "LabelHost": "Host", + "LabelInProgress": "Prebieha", + "LabelIncomplete": "Nekompletné", + "LabelInternalAppStorage": "Interné úložisko aplikácie", + "LabelJumpBackwardsTime": "Časový skok dozadu", + "LabelJumpForwardsTime": "Časový skok dopredu", + "LabelKeepScreenAwake": "Ponechať displej zapnutý", + "LabelLanguage": "Jazyk", + "LabelLayout": "Rozloženie", + "LabelLayoutAuto": "Auto", + "LabelLayoutSinglePage": "Jedna stránka", + "LabelLight": "Svetlá", + "LabelLineSpacing": "Riadkovanie", + "LabelListenAgain": "Počúvať znova", + "LabelLocalBooks": "Lokálne knihy", + "LabelLocalPodcasts": "Lokálne podcasty", + "LabelLockOrientation": "Uzamknúť orientáciu", + "LabelLockPlayer": "Uzamknúť prehrávač", + "LabelLow": "Nízky", + "LabelMediaType": "Typ média", + "LabelMedium": "Stredný", + "LabelMissing": "Chýbajúce", + "LabelMore": "Viac", + "LabelMoreInfo": "Viac informácií", + "LabelName": "Meno", + "LabelNarrator": "Interpret", + "LabelNarrators": "Interpreti", + "LabelNavigateWithVolume": "Navigovať tlačítkami hlasitosti" } From 24c3f45018d702b162ca109c66ae4a09287ff7c2 Mon Sep 17 00:00:00 2001 From: "J. Lavoie" Date: Wed, 14 May 2025 12:48:13 +0200 Subject: [PATCH 13/77] Translated using Weblate (German) Currently translated at 100.0% (351 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/de/ --- strings/de.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/strings/de.json b/strings/de.json index f9e297b6..bbb50e0e 100644 --- a/strings/de.json +++ b/strings/de.json @@ -17,11 +17,11 @@ "ButtonDelete": "Löschen", "ButtonDeleteLocalEpisode": "Lösche lokale Episode", "ButtonDeleteLocalFile": "Lösche lokale Datei", - "ButtonDeleteLocalItem": "Lösche lokales Element", - "ButtonDisableAutoTimer": "Deaktiviere automatischen Timer", + "ButtonDeleteLocalItem": "Lokales Element löschen", + "ButtonDisableAutoTimer": "Automatischen Timer deaktivieren", "ButtonDisconnect": "Trennen", - "ButtonGoToWebClient": "Gehe zum Web Client", - "ButtonHistory": "Historie", + "ButtonGoToWebClient": "Gehe zum Webclient", + "ButtonHistory": "Verlauf", "ButtonHome": "Startseite", "ButtonIssues": "Probleme", "ButtonLatest": "Neueste", @@ -316,8 +316,8 @@ "MessageNoItems": "Keine Medien", "MessageNoItemsFound": "Keine Medien gefunden", "MessageNoListeningSessions": "Keine Hörsitzungen", - "MessageNoLogs": "Keine Protokolle vorhanden", - "MessageNoMediaFolders": "Keine Medien Ordner", + "MessageNoLogs": "Keine Protokolle", + "MessageNoMediaFolders": "Keine Medien-Ordner", "MessageNoNetworkConnection": "Keine Netzwerkverbindung", "MessageNoPodcastsFound": "Keine Podcasts gefunden", "MessageNoSeries": "Keine Serie", From e4f02b7a51e8f9ccbe12a6ed2b7907218ebb294a Mon Sep 17 00:00:00 2001 From: "J. Lavoie" Date: Wed, 14 May 2025 12:52:53 +0200 Subject: [PATCH 14/77] Translated using Weblate (French) Currently translated at 100.0% (351 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/fr/ --- strings/fr.json | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/strings/fr.json b/strings/fr.json index 7346cded..7f91953a 100644 --- a/strings/fr.json +++ b/strings/fr.json @@ -6,6 +6,7 @@ "ButtonCancel": "Annuler", "ButtonCancelTimer": "Annuler la minuterie", "ButtonClearFilter": "Effacer le filtre", + "ButtonClearLogs": "Effacer les registres", "ButtonCloseFeed": "Fermer le flux", "ButtonCollections": "Collections", "ButtonConnect": "Connecter", @@ -26,7 +27,9 @@ "ButtonLatest": "Dernière version", "ButtonLibrary": "Bibliothèque", "ButtonLocalMedia": "Médias locaux", + "ButtonLogs": "Registres", "ButtonManageLocalFiles": "Gérer les fichiers locaux", + "ButtonMaskServerAddress": "Masquer l'adresse du serveur", "ButtonNewFolder": "Nouveau dossier", "ButtonNextEpisode": "Prochain épisode", "ButtonOk": "D'accord", @@ -50,6 +53,7 @@ "ButtonStream": "Flux", "ButtonSubmit": "Soumettre", "ButtonSwitchServerUser": "Changer de serveur / utilisateur", + "ButtonUnmaskServerAddress": "Afficher l'adresse du serveur", "ButtonUserStats": "Statistiques utilisateur", "ButtonYes": "Oui", "HeaderAccount": "Compte", @@ -116,7 +120,7 @@ "LabelComplete": "Complet", "LabelContinueBooks": "Continuer les Livres", "LabelContinueEpisodes": "Continuer les épisodes", - "LabelContinueListening": "Continuer la lecture", + "LabelContinueListening": "Continuer l'écoute", "LabelContinueReading": "Continuer la lecture", "LabelContinueSeries": "Continuer les séries", "LabelCustomTime": "Temps personalisé", @@ -129,7 +133,7 @@ "LabelDisableVibrateOnReset": "Désactiver la vibration au redémarrage", "LabelDisableVibrateOnResetHelp": "Lorsque le minuteur est redémarré, l'appareil vibre. Sélectionner pour désactiver les vibrations.", "LabelDiscover": "Découvrir", - "LabelDownload": "Téléchargement", + "LabelDownload": "Télécharger", "LabelDownloadUsingCellular": "Télécharger via les données mobiles", "LabelDownloaded": "Téléchargé", "LabelDuration": "Durée", @@ -237,6 +241,8 @@ "LabelShowAll": "Tout afficher", "LabelSize": "Taille", "LabelSleepTimer": "Minuterie", + "LabelSleepTimerAlmostDoneChime": "Jouer un son quand c'est presque fini", + "LabelSleepTimerAlmostDoneChimeHelp": "Jouer un son quand il reste 30 s au minuteur de veille", "LabelStart": "Démarrer", "LabelStartTime": "Heure de démarrage", "LabelStatsBestDay": "Meilleur jour", @@ -310,6 +316,7 @@ "MessageNoItems": "Aucun élément", "MessageNoItemsFound": "Aucun élément trouvé", "MessageNoListeningSessions": "Aucune session d’écoute en cours", + "MessageNoLogs": "Aucun registre", "MessageNoMediaFolders": "Aucun dossier multimédia", "MessageNoNetworkConnection": "Pas de connexion réseau", "MessageNoPodcastsFound": "Aucun podcast trouvé", From b92f4dfa02a622ba10921aa7e55d4c65ec897996 Mon Sep 17 00:00:00 2001 From: "J. Lavoie" Date: Wed, 14 May 2025 12:43:14 +0200 Subject: [PATCH 15/77] Translated using Weblate (Italian) Currently translated at 100.0% (351 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/it/ --- strings/it.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/strings/it.json b/strings/it.json index df12812e..4fce1994 100644 --- a/strings/it.json +++ b/strings/it.json @@ -3,10 +3,10 @@ "ButtonAddNewServer": "Aggiungi un nuovo server", "ButtonAuthors": "Autori", "ButtonBack": "Indietro", - "ButtonCancel": "Cancella", + "ButtonCancel": "Annulla", "ButtonCancelTimer": "Annulla il timer", "ButtonClearFilter": "Elimina filtri", - "ButtonClearLogs": "Pulisci i Log", + "ButtonClearLogs": "Cancella i registri", "ButtonCloseFeed": "Chiudi flusso", "ButtonCollections": "Raccolte", "ButtonConnect": "Connetti", @@ -27,9 +27,9 @@ "ButtonLatest": "Ultimi", "ButtonLibrary": "Biblioteca", "ButtonLocalMedia": "Media locali", - "ButtonLogs": "Log", + "ButtonLogs": "Registri", "ButtonManageLocalFiles": "Gestisci file locali", - "ButtonMaskServerAddress": "Nascondi Indirizzo Server", + "ButtonMaskServerAddress": "Nascondi l'indirizzo server", "ButtonNewFolder": "Nuova cartella", "ButtonNextEpisode": "Prossimo episodio", "ButtonOk": "D'accordo", @@ -53,7 +53,7 @@ "ButtonStream": "Stream", "ButtonSubmit": "Invia", "ButtonSwitchServerUser": "Cambia Server/Utente", - "ButtonUnmaskServerAddress": "Mostra Indirizzo Server", + "ButtonUnmaskServerAddress": "Mostra l'indirizzo server", "ButtonUserStats": "Statistiche utente", "ButtonYes": "Sì", "HeaderAccount": "Account", @@ -118,10 +118,10 @@ "LabelClosePlayer": "Chiudi player", "LabelCollapseSeries": "Comprimi Serie", "LabelComplete": "Completo", - "LabelContinueBooks": "Continua Libri", - "LabelContinueEpisodes": "Continua Episodi", - "LabelContinueListening": "Continua Ascolto", - "LabelContinueReading": "Continua Lettura", + "LabelContinueBooks": "Continua i libri", + "LabelContinueEpisodes": "Continua gli episodi", + "LabelContinueListening": "Continua l'ascolto", + "LabelContinueReading": "Continua la lettura", "LabelContinueSeries": "Continua serie", "LabelCustomTime": "Personalizza tempo", "LabelDescription": "Descrizione", @@ -316,7 +316,7 @@ "MessageNoItems": "Nessun oggetto", "MessageNoItemsFound": "Nessun oggetto trovato", "MessageNoListeningSessions": "Nessuna sessione di ascolto", - "MessageNoLogs": "Nessun Log", + "MessageNoLogs": "Nessun registro", "MessageNoMediaFolders": "Nessuna cartella media", "MessageNoNetworkConnection": "Nessuna connessione di rete", "MessageNoPodcastsFound": "Nessun podcast trovato", From 64ed35d2b17eab10a3c7d357e3d849a6127b8330 Mon Sep 17 00:00:00 2001 From: polarwood Date: Thu, 15 May 2025 00:52:56 +0200 Subject: [PATCH 16/77] Translated using Weblate (Turkish) Currently translated at 77.7% (273 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/tr/ --- strings/tr.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/strings/tr.json b/strings/tr.json index 1d1f8987..85195e49 100644 --- a/strings/tr.json +++ b/strings/tr.json @@ -6,6 +6,7 @@ "ButtonCancel": "İptal", "ButtonCancelTimer": "İptal Zamanlayıcısı", "ButtonClearFilter": "Filtreyi Temizle", + "ButtonClearLogs": "Günlükleri Temizle", "ButtonCloseFeed": "Akışı Kapat", "ButtonCollections": "Koleksiyonlar", "ButtonConnect": "Bağlan", @@ -26,7 +27,9 @@ "ButtonLatest": "En yeni", "ButtonLibrary": "Kütüphane", "ButtonLocalMedia": "Yerel Medya", + "ButtonLogs": "Günlükler", "ButtonManageLocalFiles": "Yerel Dosyaları Yönet", + "ButtonMaskServerAddress": "Sunucu adresini maskele", "ButtonNewFolder": "Yeni Klasör", "ButtonNextEpisode": "Sonraki Bölüm", "ButtonOk": "Tamam", @@ -50,6 +53,7 @@ "ButtonStream": "Yayın", "ButtonSubmit": "Gönder", "ButtonSwitchServerUser": "Sunucu/Kullanıcı Değiştir", + "ButtonUnmaskServerAddress": "Sunucu adresinin maskesini kaldır", "ButtonUserStats": "Kullanıcı İstatistikleri", "ButtonYes": "Evet", "HeaderAccount": "Hesap", @@ -202,6 +206,7 @@ "LabelOn": "Açık", "LabelPassword": "Şifre", "LabelPath": "Yol", + "LabelPlaybackDirect": "Doğrudan", "LabelPlaybackLocal": "Yerel", "LabelPlaybackSpeed": "Oynatma Hızı", "LabelPlaybackTranscode": "Transcode", From 27684079074d2963e9409d91950e92c03930fbbb Mon Sep 17 00:00:00 2001 From: peter cerny Date: Wed, 14 May 2025 09:34:00 +0200 Subject: [PATCH 17/77] Translated using Weblate (Slovak) Currently translated at 85.4% (300 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/sk/ --- strings/sk.json | 111 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 110 insertions(+), 1 deletion(-) diff --git a/strings/sk.json b/strings/sk.json index 2233a442..77820766 100644 --- a/strings/sk.json +++ b/strings/sk.json @@ -189,5 +189,114 @@ "LabelName": "Meno", "LabelNarrator": "Interpret", "LabelNarrators": "Interpreti", - "LabelNavigateWithVolume": "Navigovať tlačítkami hlasitosti" + "LabelNavigateWithVolume": "Navigovať tlačítkami hlasitosti", + "LabelNavigateWithVolumeMirrored": "Zrkadlový", + "LabelNavigateWithVolumeWhilePlaying": "Povoliť navigáciu tlačítkami hlasitosti počas prehrávania", + "LabelNavigateWithVolumeWhilePlayingDisabled": "Vypnuté", + "LabelNavigateWithVolumeWhilePlayingEnabled": "Zapnuté", + "LabelNever": "Nikdy", + "LabelNewestAuthors": "Najnovší autori", + "LabelNewestEpisodes": "Najnovšie epizódy", + "LabelNo": "Nie", + "LabelNotFinished": "Nedokončené", + "LabelNotStarted": "Nezačaté", + "LabelNumEpisodes": "{0} epizód", + "LabelNumEpisodesIncomplete": "{0} epizód, {1} nekompletných", + "LabelNumberOfEpisodes": "# z epizód", + "LabelOff": "Vypnuté", + "LabelOn": "Zapnuté", + "LabelPassword": "Heslo", + "LabelPath": "Cesta", + "LabelPlaybackDirect": "Priamy", + "LabelPlaybackLocal": "Lokálny", + "LabelPlaybackSpeed": "Rýchlosť prehrávania", + "LabelPlaybackTranscode": "Transkódovať", + "LabelPodcast": "Podcast", + "LabelPodcasts": "Podcasty", + "LabelPreventIndexing": "Zabráni indexácii vašich zdrojov službami iTunes a Google podcast directories", + "LabelProgress": "Stav", + "LabelPubDate": "Dátum publikovania", + "LabelPublishYear": "Rok vydania", + "LabelPublishedDate": "Vydané {0}", + "LabelRSSFeedCustomOwnerEmail": "Vlastný e-mail vlastníka", + "LabelRSSFeedCustomOwnerName": "Vlastné meno vlastníka", + "LabelRSSFeedPreventIndexing": "Zakázať indexovanie", + "LabelRSSFeedSlug": "Slug RSS zdroja", + "LabelRandomly": "Náhodne", + "LabelRead": "Načítať", + "LabelReadAgain": "Čítať znova", + "LabelRecentSeries": "Posledné série", + "LabelRecentlyAdded": "Posledné pridané", + "LabelRemoveFromPlaylist": "Odstrániť z playlistu", + "LabelScaleElapsedTimeBySpeed": "Zmeniť ubehnutý čas podľa rýchlosti", + "LabelSeason": "Sezóna", + "LabelSelectADevice": "Vyberte zariadenie", + "LabelSequenceAscending": "Vzostupné poradie", + "LabelSequenceDescending": "Zostupné poradie", + "LabelSeries": "Série", + "LabelServerAddress": "Adresa servera", + "LabelSetEbookAsPrimary": "Nastaviť ako primárny", + "LabelSetEbookAsSupplementary": "Nastaviť ako doplnkový", + "LabelShakeSensitivity": "Citlivosť na trasenie", + "LabelShowAll": "Zobraziť všetko", + "LabelSize": "Veľkosť", + "LabelSleepTimer": "Časovač spánku", + "LabelSleepTimerAlmostDoneChime": "Zahrať akord pred dokončením", + "LabelSleepTimerAlmostDoneChimeHelp": "Zahrá akord, keď na časovači spánku zostáva 30 sekúnd", + "LabelStart": "Spustiť", + "LabelStartTime": "Čas spustenia", + "LabelStatsBestDay": "Najlepší deň", + "LabelStatsDailyAverage": "Denný priemer", + "LabelStatsDays": "Dní", + "LabelStatsDaysListened": "Dní počúvania", + "LabelStatsInARow": "v rade", + "LabelStatsItemsFinished": "Dokončených položiek", + "LabelStatsMinutes": "minút", + "LabelStatsMinutesListening": "Minút počúvania", + "LabelStatsWeekListening": "Týždňov počúvania", + "LabelStreamingUsingCellular": "Streamovanie na mobilných dátach", + "LabelTag": "Štítok", + "LabelTags": "Štítky", + "LabelTheme": "Téma", + "LabelThemeBlack": "Čierna", + "LabelThemeDark": "Tmavá", + "LabelThemeLight": "Svetlá", + "LabelTimeRemaining": "Zostáva {0}", + "LabelTitle": "Názov", + "LabelTotalSize": "Celková veľkosť", + "LabelTotalTrack": "Celková stopa", + "LabelTracks": "Stopy", + "LabelType": "Typ", + "LabelUnknown": "Neznámy", + "LabelUnlockPlayer": "Odomknúť prehrávač", + "LabelUseBookshelfView": "Použiť zobrazenie poličiek", + "LabelUser": "Používateľ", + "LabelUsername": "Prihlasovacie meno", + "LabelVeryHigh": "Veľmi vysoká", + "LabelVeryLow": "Veľmi nízka", + "LabelYearReviewHide": "Skryť rok v prehľade", + "LabelYearReviewShow": "Zobraziť rok v prehľade", + "LabelYourBookmarks": "Vaše záložky", + "LabelYourProgress": "Váš aktuálny stav", + "MessageAndroid10Downloads": "Android 10 a nižšie používajú na sťahovanie lokálny odkladací priestor aplikácie.", + "MessageAttemptingServerConnection": "Pokus o pripojenie servera...", + "MessageAudiobookshelfServerNotConnected": "Audiobookshelf server nie je pripojený", + "MessageAudiobookshelfServerRequired": "Dôležité! Táto aplikácia je navrhnutá na fungovanie so Audiobookshelf serverom, ktorý patrí vám alebo niekomu inému. Táto aplikácia sama o sebe neposkytuje žiadny obsah.", + "MessageBookshelfEmpty": "Polička je prázdna", + "MessageConfirmDeleteLocalEpisode": "Želáte si odstrániť lokálnu epizódu \"{0}\" z vášho zariadenia? Súbor na serveri zostane nezmenený.", + "MessageConfirmDeleteLocalFiles": "Želáte si odstrániť z vášho zariadenia lokálne súbory patriace k tejto položke? Súbory na serveri a váš aktuálny stav počúvania zostanú nezmenené.", + "MessageConfirmDisableAutoTimer": "Ste si istí, že chcete vypnúť automatický časovač pre zvyšok dnešného dňa? Časovač sa znova zapne na konci nastavenej doby pre automatický časovač spánku alebo pri reštarte aplikácie.", + "MessageConfirmDiscardProgress": "Ste si istý, že chcete resetovať váš aktuálny stav počúvania?", + "MessageConfirmDownloadUsingCellular": "Chystáte sa sťahovať pri používaní mobilných dát. Toto môže mať za následok zvýšené poplatky u vášho poskytovateľ mobilnej siete. Chcete pokračovať?", + "MessageConfirmMarkAsFinished": "Ste si istý, že chcete označiť túto položku ako dokončenú?", + "MessageConfirmRemoveBookmark": "Ste si istý, že chcete odstrániť túto záložku?", + "MessageConfirmStreamingUsingCellular": "Chystáte sa streamovať pri používaní mobilných dát. To môže mať za následok zvýšené poplatky za využité dáta. Chcete pokračovať?", + "MessageDiscardProgress": "Odstrániť aktuálny stav počúvania", + "MessageDownloadCompleteProcessing": "Sťahovanie dokončené. Spracovávam...", + "MessageDownloading": "Sťahujem...", + "MessageDownloadingEpisode": "Sťahovanie epizódy", + "MessageEpisodesQueuedForDownload": "{0} epizód(a) v zozname na sťahovanie", + "MessageFeedURLWillBe": "URL zdroja bude {0}", + "MessageFetching": "Získavam...", + "MessageFollowTheProjectOnGithub": "Sledujte projekt na Github-e" } From a623de89aa7afe04cf271a91de878f76dbdd2695 Mon Sep 17 00:00:00 2001 From: Adolfo Jayme Barrientos Date: Fri, 16 May 2025 03:43:38 +0200 Subject: [PATCH 18/77] Translated using Weblate (Spanish) Currently translated at 100.0% (351 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/es/ --- strings/es.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/strings/es.json b/strings/es.json index 153af2f2..fc201667 100644 --- a/strings/es.json +++ b/strings/es.json @@ -338,7 +338,7 @@ "MessageSocketNotConnected": "Socket no conectado", "NoteRSSFeedPodcastAppsHttps": "Atención: la mayoría de las aplicaciones de pódcast requieren que el URL del suministro RSS use HTTPS", "NoteRSSFeedPodcastAppsPubDate": "Advertencia: 1 o más de sus episodios no tienen fecha de publicación. Algunas aplicaciones de podcast lo requieren.", - "ToastBookmarkCreateFailed": "Error al crear marcador", + "ToastBookmarkCreateFailed": "No se pudo crear el marcador", "ToastBookmarkRemoveFailed": "Error al eliminar marcador", "ToastBookmarkUpdateFailed": "Error al actualizar el marcador", "ToastDownloadNotAllowedOnCellular": "Las descargas no están permitidas con datos móviles", From b837ada3f890667a1c5abc296b7b6f6ff74cc701 Mon Sep 17 00:00:00 2001 From: Usama Khalil Date: Thu, 15 May 2025 19:39:30 +0200 Subject: [PATCH 19/77] Translated using Weblate (Arabic) Currently translated at 76.6% (269 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/ar/ --- strings/ar.json | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/strings/ar.json b/strings/ar.json index b4a4555b..c4ae2e4a 100644 --- a/strings/ar.json +++ b/strings/ar.json @@ -6,6 +6,7 @@ "ButtonCancel": "إلغاء", "ButtonCancelTimer": "إلغاء المؤقت", "ButtonClearFilter": "تصفية الفرز", + "ButtonClearLogs": "مسح السجل", "ButtonCloseFeed": "إغلاق", "ButtonCollections": "المجموعات", "ButtonConnect": "اتصل", @@ -28,6 +29,7 @@ "ButtonLocalMedia": "الوسائط المحلية", "ButtonLogs": "سجلات", "ButtonManageLocalFiles": "إدارة الملفات المحلية", + "ButtonMaskServerAddress": "إخفاء عنوان الخادم", "ButtonNewFolder": "مجلد جديد", "ButtonNextEpisode": "الحلقة التالية", "ButtonOk": "موافق", @@ -51,6 +53,7 @@ "ButtonStream": "بث", "ButtonSubmit": "إرسال", "ButtonSwitchServerUser": "تبديل الخادم/المستخدم", + "ButtonUnmaskServerAddress": "إظهار عنوان الخادم", "ButtonUserStats": "إحصائيات المستخدم", "ButtonYes": "نعم", "HeaderAccount": "الحساب", @@ -244,5 +247,26 @@ "LabelStartTime": "وقت البدء", "LabelStatsBestDay": "أفضل يوم", "LabelStatsDailyAverage": "المتوسط اليومي", - "LabelStatsDays": "أيام" + "LabelStatsDays": "أيام", + "LabelStatsDaysListened": "أيام الاستماع", + "LabelStatsInARow": "على التوالي", + "LabelStatsItemsFinished": "العناصر المنتهية", + "LabelStatsMinutes": "دقائق", + "LabelStatsMinutesListening": "دقائق الاستماع", + "MessageSocketConnectedOverUnmeteredWifi": "المقبس متصل عبر شبكة واي فاي غير محدودة", + "MessageSocketNotConnected": "المقبس غير متصل", + "NoteRSSFeedPodcastAppsHttps": "تحذير: تتطلب معظم تطبيقات البث الصوتي أن يكون عنوان URL لخلاصة RSS يستخدم HTTPS", + "NoteRSSFeedPodcastAppsPubDate": "تحذير: حلقة واحدة أو أكثر من حلقاتك ليس لها تاريخ نشر. بعض تطبيقات البودكاست تتطلب هذا.", + "ToastBookmarkCreateFailed": "فشل في إنشاء الإشارة المرجعية", + "ToastBookmarkRemoveFailed": "فشل في إزالة الإشارة المرجعية", + "ToastBookmarkUpdateFailed": "فشل في تحديث الإشارة المرجعية", + "ToastDownloadNotAllowedOnCellular": "لا يسمح بالتنزيل على البيانات الخلوية", + "ToastItemMarkedAsFinishedFailed": "فشل في وضع علامة على الانتهاء", + "ToastItemMarkedAsNotFinishedFailed": "فشل في وضع علامة \"غير مكتمل\"", + "ToastPlaylistCreateFailed": "فشل إنشاء قائمة التشغيل", + "ToastPodcastCreateFailed": "فشل في إنشاء البودكاست", + "ToastPodcastCreateSuccess": "تم إنشاء البودكاست بنجاح", + "ToastRSSFeedCloseFailed": "فشل في إغلاق موجز RSS", + "ToastRSSFeedCloseSuccess": "تم إغلاق موجز RSS", + "ToastStreamingNotAllowedOnCellular": "لا يُسمح بالبث عبر البيانات الخلوية" } From e4394da4678091f199284118fdc58db320cea22c Mon Sep 17 00:00:00 2001 From: Adolfo Jayme Barrientos Date: Fri, 16 May 2025 02:18:14 +0200 Subject: [PATCH 20/77] Translated using Weblate (Catalan) Currently translated at 79.4% (279 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/ca/ --- strings/ca.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/strings/ca.json b/strings/ca.json index 3c72dc54..d03b48d4 100644 --- a/strings/ca.json +++ b/strings/ca.json @@ -269,6 +269,8 @@ "MessageNoUpdatesWereNecessary": "No calia cap actualització", "MessageNoUserPlaylists": "No teniu cap llista de reproducció", "MessagePodcastSearchField": "Introduïu el terme de cerca o l'URL del canal RSS", + "NoteRSSFeedPodcastAppsHttps": "Avís: la majoria d'aplicacions de pòdcast requereixen que l'URL del canal RSS utilitzi HTTPS", + "NoteRSSFeedPodcastAppsPubDate": "Avís: un o més dels vostres episodis no tenen data de publicació. Algunes aplicacions de pòdcast ho requereixen.", "ToastItemMarkedAsFinishedFailed": "No s'ha pogut marcar com a finalitzat", "ToastItemMarkedAsNotFinishedFailed": "No s'ha pogut marcar com a no finalitzat", "ToastPlaylistCreateFailed": "No s'ha pogut crear la llista de reproducció", From 44036399b9d9d2f4e95d48d8a2344b2518ddf53b Mon Sep 17 00:00:00 2001 From: Usama Khalil Date: Sat, 17 May 2025 13:50:42 +0200 Subject: [PATCH 21/77] Translated using Weblate (Arabic) Currently translated at 100.0% (351 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/ar/ --- strings/ar.json | 87 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 84 insertions(+), 3 deletions(-) diff --git a/strings/ar.json b/strings/ar.json index c4ae2e4a..17085419 100644 --- a/strings/ar.json +++ b/strings/ar.json @@ -173,7 +173,7 @@ "LabelLayout": "التنسيق", "LabelLayoutAuto": "تلقائي", "LabelLayoutSinglePage": "صفحة واحدة", - "LabelLight": "خفيف/فاتح", + "LabelLight": "فاتح", "LabelLineSpacing": "تباعد الأسطر", "LabelListenAgain": "الاستماع مجدداً", "LabelLocalBooks": "الكتب المحلية", @@ -193,7 +193,7 @@ "LabelNavigateWithVolumeMirrored": "معكوس", "LabelNavigateWithVolumeWhilePlaying": "السماح لمفاتيح التحكم بالصوت بالتنقل أثناء التشغيل", "LabelNavigateWithVolumeWhilePlayingDisabled": "إيقاف", - "LabelNavigateWithVolumeWhilePlayingEnabled": "تشغيل", + "LabelNavigateWithVolumeWhilePlayingEnabled": "مُفعَّل", "LabelNever": "أبداً", "LabelNewestAuthors": "أجدد المؤلفين", "LabelNewestEpisodes": "أجدد الحلقات", @@ -204,7 +204,7 @@ "LabelNumEpisodesIncomplete": "{0} حلقات، {1} غير مكتمل", "LabelNumberOfEpisodes": "# من الحلقات", "LabelOff": "ايقاف", - "LabelOn": "تشغيل", + "LabelOn": "مُفعَّل", "LabelPassword": "كلمة المرور", "LabelPath": "مسار", "LabelPlaybackDirect": "مباشر", @@ -253,6 +253,87 @@ "LabelStatsItemsFinished": "العناصر المنتهية", "LabelStatsMinutes": "دقائق", "LabelStatsMinutesListening": "دقائق الاستماع", + "LabelStatsWeekListening": "استماع هذا الأسبوع", + "LabelStreamingUsingCellular": "البث عبر شبكة الجوال", + "LabelTag": "علامة", + "LabelTags": "علامات", + "LabelTheme": "النمط", + "LabelThemeBlack": "أسود", + "LabelThemeDark": "غامق", + "LabelThemeLight": "فاتح", + "LabelTimeRemaining": "{0} متبقية", + "LabelTitle": "عنوان", + "LabelTotalSize": "الحجم الكلي", + "LabelTotalTrack": "إجمالي المسارات", + "LabelTracks": "المسارات", + "LabelType": "نوع", + "LabelUnknown": "مجهول", + "LabelUnlockPlayer": "تفعيل المشغل", + "LabelUseBookshelfView": "تفعيل عرض الرف", + "LabelUser": "مستخدم", + "LabelUsername": "اسم المستخدم", + "LabelVeryHigh": "عالي جدًا", + "LabelVeryLow": "منخفض جدًا", + "LabelYearReviewHide": "إخفاء ملخص العام", + "LabelYearReviewShow": "عرض ملخص العام", + "LabelYourBookmarks": "علاماتك المرجعية", + "LabelYourProgress": "تقدمك", + "MessageAndroid10Downloads": "سيستخدم نظام أندرويد 10 والإصدارات الأقدم وحدة التخزين الداخلية.", + "MessageAttemptingServerConnection": "جاري محاولة الاتصال بالخادم...", + "MessageAudiobookshelfServerNotConnected": "خادم Audiobookshelf غير متصل", + "MessageAudiobookshelfServerRequired": "مهم! هذا التطبيق مصمم للعمل مع خادم Audiobookshelf تستضيفه أنت أو شخص تعرفه. هذا التطبيق لا يقدم أي محتوى.", + "MessageBookshelfEmpty": "الرف فارغ", + "MessageConfirmDeleteLocalEpisode": "هل تريد بالتأكيد إزالة الحلقة المحلية \"{0}\" من جهازك؟ لن يتأثر الملف الموجود على الخادم.", + "MessageConfirmDeleteLocalFiles": "هل تريد بالتأكيد إزالة الملفات المحلية لهذا العنصر من جهازك؟ لن تتأثر الملفات الموجودة على الخادم وتقدمك.", + "MessageConfirmDisableAutoTimer": "هل أنت متأكد أنك تريد تعطيل المؤقت التلقائي لبقية اليوم؟ سيتم إعادة تفعيل المؤقت في نهاية فترة مؤقت النوم التلقائي هذه، أو إذا قمت بإعادة تشغيل التطبيق.", + "MessageConfirmDiscardProgress": "هل أنت متأكد أنك تريد إعادة تعيين تقدمك؟", + "MessageConfirmDownloadUsingCellular": "أنت على وشك التنزيل باستخدام بيانات الجوال. قد يشمل ذلك رسوم استخدام بيانات من شركة الاتصالات. هل ترغب في المتابعة؟", + "MessageConfirmMarkAsFinished": "هل أنت متأكد أنك تريد وضع علامة \"تم\" على هذا العنصر؟", + "MessageConfirmRemoveBookmark": "هل أنت متأكد أنك تريد إزالة العلامة المرجعية؟", + "MessageConfirmStreamingUsingCellular": "أنت على وشك البث باستخدام بيانات الجوال. قد يشمل ذلك رسوم استخدام بيانات من شركة الاتصالات. هل ترغب في المتابعة؟", + "MessageDiscardProgress": "إلغاء التقدم", + "MessageDownloadCompleteProcessing": "اكتمل التنزيل. جاري المعالجة...", + "MessageDownloading": "جاري التنزيل...", + "MessageDownloadingEpisode": "جاري تنزيل الحلقة", + "MessageEpisodesQueuedForDownload": "تمت إضافة {0} حلقة (حلقات) إلى قائمة انتظار التنزيل", + "MessageFeedURLWillBe": "سيكون رابط التغذية هو {0}", + "MessageFetching": "جاري الجلب...", + "MessageFollowTheProjectOnGithub": "تابع المشروع على Github", + "MessageItemDownloadCompleteFailedToCreate": "كتمل تنزيل العنصر ولكن فشل إنشاء عنصر المكتبة", + "MessageItemMissing": "العنصر مفقود ويجب إصلاحه على الخادم. عادةً ما يتم وضع علامة \"مفقود\" على العنصر لأن مسارات الملفات غير قابلة للوصول.", + "MessageLoading": "جاري التحميل...", + "MessageLoadingServerData": "جاري تحميل بيانات الخادم...", + "MessageLocalFolderDescription": "\"وحدة تخزين التطبيق الداخلية\" لا يمكن الوصول إليها إلا بواسطة هذا التطبيق. هذا التطبيق يدعم فقط الوسائط التي تم تنزيلها مباشرةً من خلال التطبيق. يمكن استخدام مجلدات التخزين المشتركة للسماح لتطبيقات أخرى بالوصول إلى الوسائط التي تم تنزيلها بواسطة هذا التطبيق.", + "MessageMarkAsFinished": "وضع علامة \"تم الإنتهاء\"", + "MessageMediaLinkedToADifferentServer": "الوسائط مرتبطة بخادم Audiobookshelf على عنوان مختلف ({0}). ستتم مزامنة التقدم عند الاتصال بعنوان هذا الخادم.", + "MessageMediaLinkedToADifferentUser": "الوسائط مرتبطة بهذا الخادم ولكن تم تنزيلها بواسطة مستخدم مختلف. ستتم مزامنة التقدم فقط مع المستخدم الذي قام بتنزيلها.", + "MessageMediaLinkedToServer": "مرتبط بالخادم {0}", + "MessageMediaLinkedToThisServer": "الوسائط التي تم تنزيلها مرتبطة بهذا الخادم", + "MessageMediaNotLinkedToServer": "الوسائط غير مرتبطة بخادم Audiobookshelf. لن تتم مزامنة أي تقدم.", + "MessageNoBookmarks": "لا توجد علامات مرجعية", + "MessageNoChapters": "لا توجد فصول", + "MessageNoCollections": "لا توجد مجموعات", + "MessageNoItems": "لا توجد عناصر", + "MessageNoItemsFound": "لم يتم العثور على عناصر", + "MessageNoListeningSessions": "لا توجد جلسات استماع", + "MessageNoLogs": "لا توجد سجلات", + "MessageNoMediaFolders": "لا توجد مجلدات وسائط", + "MessageNoNetworkConnection": "لا يوجد اتصال بالشبكة", + "MessageNoPodcastsFound": "لم يتم العثور على أي بودكاست", + "MessageNoSeries": "لا توجد سلاسل", + "MessageNoUpdatesWereNecessary": "لا حاجة لأي تحديثات", + "MessageNoUserPlaylists": "ليست لديك أي قوائم تشغيل", + "MessageOldServerConnectionWarning": "تكوين اتصال الخادم يستخدم معرّف مستخدم قديم. يرجى حذف اتصال الخادم هذا وإعادة إضافته.", + "MessageOldServerConnectionWarningHelp": "لقد قمتَ بإعداد الاتصال بهذا الخادم قبل ترحيل قاعدة البيانات في الإصدار 2.3.0، الصادر في يونيو 2023. سيؤدي تحديث الخادم المستقبلي إلى إلغاء إمكانية تسجيل الدخول باستخدام هذا الاتصال القديم. يُرجى حذف اتصال الخادم الحالي والاتصال مرة أخرى (باستخدام نفس عنوان الخادم وبيانات الاعتماد). إذا كانت لديك أي وسائط مُنزّلة على هذا الجهاز، فيجب تنزيلها مرة أخرى لمزامنتها مع الخادم.", + "MessagePodcastSearchField": "أدخل مصطلح البحث أو عنوان URL لخلاصة RSS", + "MessageProgressSyncFailed": "فشلت آخر محاولة لإرسال تقدم استماعك إلى الخادم. ستستمر محاولات مزامنة التقدم كل 15 ثانية إلى دقيقة واحدة أثناء تشغيل الوسائط.", + "MessageReportBugsAndContribute": "أبلغ عن الأخطاء، واطلب الميزات، وساهم في", + "MessageSeriesAlreadyDownloaded": "لقد قمت بالفعل بتنزيل جميع الكتب في هذه السلسلة.", + "MessageSeriesDownloadConfirm": "هل تريد تنزيل {0} كتابًا (كتب) مفقودًا (مفقودة) مع {1} ملفًا (ملفات)، بإجمالي {2} إلى المجلد {3}؟", + "MessageSeriesDownloadConfirmIos": "هل تريد تنزيل {0} كتابًا (كتب) مفقودًا (مفقودة) مع {1} ملفًا (ملفات)، بإجمالي {2}؟", + "MessageSocketConnectedOverMeteredCellular": "تم توصيل المقبس عبر شبكة الجوال ذات الاستهلاك المحدود", + "MessageSocketConnectedOverMeteredWifi": "تم توصيل المقبس عبر شبكة الواي فاي ذات الاستهلاك المحدود", + "MessageSocketConnectedOverUnmeteredCellular": "تم توصيل المقبس عبر شبكة الجوال غير ذات الاستهلاك المحدود", "MessageSocketConnectedOverUnmeteredWifi": "المقبس متصل عبر شبكة واي فاي غير محدودة", "MessageSocketNotConnected": "المقبس غير متصل", "NoteRSSFeedPodcastAppsHttps": "تحذير: تتطلب معظم تطبيقات البث الصوتي أن يكون عنوان URL لخلاصة RSS يستخدم HTTPS", From 424e7d742b02c22ad2cdc6349880ae0d6136bbc1 Mon Sep 17 00:00:00 2001 From: ABS translator Date: Sat, 17 May 2025 18:00:28 +0200 Subject: [PATCH 22/77] Translated using Weblate (Arabic) Currently translated at 100.0% (351 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/ar/ --- strings/ar.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/strings/ar.json b/strings/ar.json index 17085419..7b6fa3c7 100644 --- a/strings/ar.json +++ b/strings/ar.json @@ -12,7 +12,7 @@ "ButtonConnect": "اتصل", "ButtonConnectToServer": "اتصال بالخادم", "ButtonCreate": "إنشاء", - "ButtonCreateBookmark": "إنشاء إشارة مرجعية", + "ButtonCreateBookmark": "إنشاء علامة مرجعية", "ButtonCreateNewPlaylist": "إنشاء قائمة تشغيل جديدة", "ButtonDelete": "حذف", "ButtonDeleteLocalEpisode": "احذف الحلقة المحلية", From 46ec7369e5da924dc4751543c4ad2ef26377256d Mon Sep 17 00:00:00 2001 From: Usama Khalil Date: Sun, 18 May 2025 00:22:22 +0200 Subject: [PATCH 23/77] Translated using Weblate (Arabic) Currently translated at 100.0% (351 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/ar/ --- strings/ar.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/strings/ar.json b/strings/ar.json index 7b6fa3c7..c5e1840f 100644 --- a/strings/ar.json +++ b/strings/ar.json @@ -212,7 +212,7 @@ "LabelPlaybackSpeed": "سرعة التشغيل", "LabelPlaybackTranscode": "تحويل الترميز", "LabelPodcast": "مدونة صوتية", - "LabelPodcasts": "مدونات صوتية", + "LabelPodcasts": "بودكاست", "LabelPreventIndexing": "منع فهرسة تغذيتك بواسطة دليل آيتونز وقوقل بودكاست", "LabelProgress": "تقدم", "LabelPubDate": "تاريخ النشر", @@ -221,7 +221,7 @@ "LabelRSSFeedCustomOwnerEmail": "البريد الالكتروني المخصص للمالك", "LabelRSSFeedCustomOwnerName": "الاسم المخصص للمالك", "LabelRSSFeedPreventIndexing": "منع الفهرسة", - "LabelRSSFeedSlug": "رابط تغذية RSS", + "LabelRSSFeedSlug": "اسم تعريف تغذية RSS", "LabelRandomly": "عشوائياً", "LabelRead": "اقرأ", "LabelReadAgain": "اقرأ مرة أخرى", @@ -238,7 +238,7 @@ "LabelSetEbookAsPrimary": "تعيين كرئيسي", "LabelSetEbookAsSupplementary": "تعيين كتكميلي", "LabelShakeSensitivity": "حساسية الرج", - "LabelShowAll": "اظهار الكل", + "LabelShowAll": "إظهار الكل", "LabelSize": "الحجم", "LabelSleepTimer": "مؤقت النوم", "LabelSleepTimerAlmostDoneChime": "تشغيل نغمة عند اقتراب النهاية", From 94791600440a7a70147ad32bbde5d5daf2b322b9 Mon Sep 17 00:00:00 2001 From: Usama Khalil Date: Sun, 18 May 2025 12:22:51 +0200 Subject: [PATCH 24/77] Translated using Weblate (Arabic) Currently translated at 100.0% (351 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/ar/ --- strings/ar.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/strings/ar.json b/strings/ar.json index c5e1840f..3546defc 100644 --- a/strings/ar.json +++ b/strings/ar.json @@ -75,7 +75,7 @@ "HeaderLocalFolders": "المجلدات المحلية", "HeaderLocalLibraryItems": "عناصر المكتبة المحلية", "HeaderNewPlaylist": "قائمة تشغيل جديدة", - "HeaderOpenRSSFeed": "فتح تغذية RSS", + "HeaderOpenRSSFeed": "عرض تغذية RSS", "HeaderPlaybackSettings": "إعدادات التشغيل", "HeaderPlaylist": "قائمة تشغيل", "HeaderPlaylistItems": "عناصر قائمة التشغيل", From 39c06005ed1cc4d088ce8e9d5e6cda59cfa2f534 Mon Sep 17 00:00:00 2001 From: peter cerny Date: Mon, 19 May 2025 08:39:53 +0200 Subject: [PATCH 25/77] Translated using Weblate (Slovak) Currently translated at 93.7% (329 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/sk/ --- strings/sk.json | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/strings/sk.json b/strings/sk.json index 77820766..f4f45e57 100644 --- a/strings/sk.json +++ b/strings/sk.json @@ -298,5 +298,35 @@ "MessageEpisodesQueuedForDownload": "{0} epizód(a) v zozname na sťahovanie", "MessageFeedURLWillBe": "URL zdroja bude {0}", "MessageFetching": "Získavam...", - "MessageFollowTheProjectOnGithub": "Sledujte projekt na Github-e" + "MessageFollowTheProjectOnGithub": "Sledujte projekt na Github-e", + "MessageItemDownloadCompleteFailedToCreate": "Stiahnutie položky prebehlo úspešne, ale zlyhalo vytvorenie položky v knižnici", + "MessageItemMissing": "Položka neexistuje, chybu je nutné opraviť na serveri. Najčastejšou príčinou označenia položky za chýbajúcu je nedostupnosť jej umiestnenia.", + "MessageLoading": "Načítavam...", + "MessageLoadingServerData": "Načítavam údaje zo servera...", + "MessageLocalFolderDescription": "'Lokálny odkladací pristor aplikácie' je prístupný len cez aplikáciu. Aplikáciou je možné prehrávať iba médiá stiahnuté cez aplikáciu. Zdieľanie priečinkov aplikácie umožňuje iným aplikáciám pristupovať k médiám stiahnutým aplikáciou Audiobookshelf.", + "MessageMarkAsFinished": "Označiť ako dokončené", + "MessageMediaLinkedToADifferentServer": "Médiá majú prepojenie na Audiobookshelf server bežiaci na odlišnej adrese ({0}). Aktuálny stav počúvania bude synchronizovaný po pripojení k danému serveru.", + "MessageMediaLinkedToADifferentUser": "Média majú prepojenie na aktuálny server, ale boli stiahnuté odlišným používateľom. Stav počúvania bude synchronizovaný iba pre používateľa, ktorý ich stiahol.", + "MessageMediaLinkedToServer": "Prepojené na server {0}", + "MessageMediaLinkedToThisServer": "Stiahnuté médiá sú prepojené s týmto serverom", + "MessageMediaNotLinkedToServer": "Médiá nie sú prepojené na Audiobookshelf server. Stav počúvania nebude synchronizovaný.", + "MessageNoBookmarks": "Žiadne záložky", + "MessageNoChapters": "Žiadne kapitoly", + "MessageNoCollections": "Žiadne zbierky", + "MessageNoItems": "Žiadne položky", + "MessageNoItemsFound": "Žiadne položky neboli nájdené", + "MessageNoListeningSessions": "Žiadne relácie", + "MessageNoLogs": "Žiadne záznamy udalostí", + "MessageNoMediaFolders": "Žiadne priečinky médií", + "MessageNoNetworkConnection": "Žiadne sieťové pripojenie", + "MessageNoPodcastsFound": "Žiadne podcasty neboli nájdené", + "MessageNoSeries": "Žiadne série", + "MessageNoUpdatesWereNecessary": "Neboli potrebné žiadne aktualizácie", + "MessageNoUserPlaylists": "Nemáte žiadny playlist", + "MessageOldServerConnectionWarning": "Konfigurácia pripojenia na server používa staré ID používateľa. Prosím, odstráňte a nanovo pridajte dané pripojenie.", + "MessageOldServerConnectionWarningHelp": "Pripojenie na tento server bolo nakonfigurované pred migráciou databázy vo verzii 2.3.0, vydanej v júni 2023. V budúcej aktualizácii servera bude možnosť prihlasovania pomocou tohto starého pripojenia odstránená. Prosím, odstráňte aktuálne pripojenie na server a vytvorte nové (pomocou rovnakej adresy a prihlasovacích údajov). V prípade, ak máte na zariadení lokálne stiahnuté akékoľvek médiá, bude potrebné ich stiahnuť nanovo, aby bola možná serverová synchronizácia.", + "MessagePodcastSearchField": "Zadajte hľadaný výraz alebo URL RSS zdroja", + "MessageProgressSyncFailed": "Posledný pokus o odoslanie vášho stavu počúvania na server zlyhal. Aplikácia sa pokúsi odoslať váš stav každých 15 sekúnd až 1 minúty počas prehrávania média.", + "MessageReportBugsAndContribute": "Nahlásiť chyby, požiadavky na funkcie, a prispievať na", + "MessageSeriesAlreadyDownloaded": "Už ste si stiahli všetky knihy v tejto sérii." } From a5de31da2b440b89509dbd13a1fd991491af8683 Mon Sep 17 00:00:00 2001 From: biuklija Date: Tue, 20 May 2025 07:51:18 +0200 Subject: [PATCH 26/77] Translated using Weblate (Croatian) Currently translated at 100.0% (351 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/hr/ --- strings/hr.json | 1 + 1 file changed, 1 insertion(+) diff --git a/strings/hr.json b/strings/hr.json index 2eb5ef7d..2a4fa35b 100644 --- a/strings/hr.json +++ b/strings/hr.json @@ -6,6 +6,7 @@ "ButtonCancel": "Odustani", "ButtonCancelTimer": "Poništi timer", "ButtonClearFilter": "Poništi filter", + "ButtonClearLogs": "Izbriši zapisnike", "ButtonCloseFeed": "Zatvori izvor", "ButtonCollections": "Zbirke", "ButtonConnect": "Povezivanje", From 7e8340537089b7f702906cf439ce87c62a55c4fa Mon Sep 17 00:00:00 2001 From: peter cerny Date: Mon, 19 May 2025 13:09:46 +0200 Subject: [PATCH 27/77] Translated using Weblate (Slovak) Currently translated at 99.7% (350 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/sk/ --- strings/sk.json | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/strings/sk.json b/strings/sk.json index f4f45e57..c1eccdf5 100644 --- a/strings/sk.json +++ b/strings/sk.json @@ -328,5 +328,26 @@ "MessagePodcastSearchField": "Zadajte hľadaný výraz alebo URL RSS zdroja", "MessageProgressSyncFailed": "Posledný pokus o odoslanie vášho stavu počúvania na server zlyhal. Aplikácia sa pokúsi odoslať váš stav každých 15 sekúnd až 1 minúty počas prehrávania média.", "MessageReportBugsAndContribute": "Nahlásiť chyby, požiadavky na funkcie, a prispievať na", - "MessageSeriesAlreadyDownloaded": "Už ste si stiahli všetky knihy v tejto sérii." + "MessageSeriesAlreadyDownloaded": "Už ste si stiahli všetky knihy v tejto sérii.", + "MessageSeriesDownloadConfirm": "Stiahnuť chýbajúce: {0} knihu(-íh) obsahujúce {1} súbor(-ov), celkovo {2} do priečinka {3}?", + "MessageSeriesDownloadConfirmIos": "Stiahnuť chýbajúce: {0} knihu(-íh) s {1} súborom(-mi), celkovo {2}?", + "MessageSocketConnectedOverMeteredCellular": "Socket pripojený cez merané mobilné dáta", + "MessageSocketConnectedOverMeteredWifi": "Socket pripojený cez meranú wifi", + "MessageSocketConnectedOverUnmeteredCellular": "Socket pripojený cez nemerané mobilné dáta", + "MessageSocketConnectedOverUnmeteredWifi": "Socket pripojený cez nemeranú wifi", + "MessageSocketNotConnected": "Socket nie je pripojený", + "NoteRSSFeedPodcastAppsHttps": "Varovanie: Väčšina podcastových aplikácií požaduje URL RSS zdroja s HTTPS", + "NoteRSSFeedPodcastAppsPubDate": "Varovanie: 1 alebo viac vašich epizód neobsahuje infomáciu o dátum vydania. Niektoré podcastové ju vyžadujú.", + "ToastBookmarkCreateFailed": "Vytvorenie záložky zlyhalo", + "ToastBookmarkRemoveFailed": "Odstránenie záložky zlyhalo", + "ToastBookmarkUpdateFailed": "Aktualizácia záložky zlyhala", + "ToastDownloadNotAllowedOnCellular": "Sťahovanie cez mobilné dáta nie je povolené", + "ToastItemMarkedAsFinishedFailed": "Označenie za Dokončené zlyhalo", + "ToastItemMarkedAsNotFinishedFailed": "Označenie za Nedokončené zlyhalo", + "ToastPlaylistCreateFailed": "Vytvorenie playlistu zlyhalo", + "ToastPodcastCreateFailed": "Vytvorenie podcastu zlyhalo", + "ToastPodcastCreateSuccess": "Podcast bol vytvorený", + "ToastRSSFeedCloseFailed": "Odstránenie RSS zdroja zlyhalo", + "ToastRSSFeedCloseSuccess": "RSS zdroj bol odstránený", + "ToastStreamingNotAllowedOnCellular": "Streamovanie cez mobilné dáta nie je povolené" } From d26403c8004fcc06509d87ec8ad6b31ac7fb7322 Mon Sep 17 00:00:00 2001 From: advplyr Date: Tue, 3 Jun 2025 17:16:54 -0500 Subject: [PATCH 28/77] Add book/podcast library filter for RSS Feed Open --- components/modals/FilterModal.vue | 10 ++++++++++ strings/en-us.json | 1 + 2 files changed, 11 insertions(+) diff --git a/components/modals/FilterModal.vue b/components/modals/FilterModal.vue index 7664e768..a551a0f4 100644 --- a/components/modals/FilterModal.vue +++ b/components/modals/FilterModal.vue @@ -104,6 +104,11 @@ export default { text: this.$strings.ButtonIssues, value: 'issues', sublist: false + }, + { + text: this.$strings.LabelRSSFeedOpen, + value: 'feed-open', + sublist: false } ], podcastItems: [ @@ -120,6 +125,11 @@ export default { text: this.$strings.LabelTag, value: 'tags', sublist: true + }, + { + text: this.$strings.LabelRSSFeedOpen, + value: 'feed-open', + sublist: false } ] } diff --git a/strings/en-us.json b/strings/en-us.json index 25c742cd..be1b9a5f 100644 --- a/strings/en-us.json +++ b/strings/en-us.json @@ -220,6 +220,7 @@ "LabelPublishedDate": "Published {0}", "LabelRSSFeedCustomOwnerEmail": "Custom owner Email", "LabelRSSFeedCustomOwnerName": "Custom owner Name", + "LabelRSSFeedOpen": "RSS Feed Open", "LabelRSSFeedPreventIndexing": "Prevent Indexing", "LabelRSSFeedSlug": "RSS Feed Slug", "LabelRandomly": "Randomly", From 7ed0cd26febe4ec4557e2d81b994f1cb0ac393c8 Mon Sep 17 00:00:00 2001 From: Adolfo Jayme Barrientos Date: Mon, 26 May 2025 04:03:42 +0200 Subject: [PATCH 29/77] Translated using Weblate (Spanish) Currently translated at 100.0% (351 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/es/ --- strings/es.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/strings/es.json b/strings/es.json index fc201667..f8c59876 100644 --- a/strings/es.json +++ b/strings/es.json @@ -220,7 +220,7 @@ "LabelPublishedDate": "Publicado {0}", "LabelRSSFeedCustomOwnerEmail": "Correo electrónico de dueño personalizado", "LabelRSSFeedCustomOwnerName": "Nombre de dueño personalizado", - "LabelRSSFeedPreventIndexing": "Prevenir indexado", + "LabelRSSFeedPreventIndexing": "Evitar indización", "LabelRSSFeedSlug": "«Slug» de suministro RSS", "LabelRandomly": "Aleatorio", "LabelRead": "Leído", From eeaf33be202a6bf20452b0f87fee1e77999afb7b Mon Sep 17 00:00:00 2001 From: Grzegorz Orlowski Date: Mon, 26 May 2025 21:32:11 +0200 Subject: [PATCH 30/77] Translated using Weblate (Polish) Currently translated at 96.8% (340 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/pl/ --- strings/pl.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/strings/pl.json b/strings/pl.json index f70146cd..8c8372ac 100644 --- a/strings/pl.json +++ b/strings/pl.json @@ -6,6 +6,7 @@ "ButtonCancel": "Anuluj", "ButtonCancelTimer": "Anuluj wyłącznik", "ButtonClearFilter": "Wyczyść filtr", + "ButtonClearLogs": "Wyczyść Logi", "ButtonCloseFeed": "Zamknij kanał", "ButtonCollections": "Kolekcje", "ButtonConnect": "Połącz", @@ -26,7 +27,9 @@ "ButtonLatest": "Aktualna wersja", "ButtonLibrary": "Biblioteka", "ButtonLocalMedia": "Media lokalne", + "ButtonLogs": "Logi", "ButtonManageLocalFiles": "Zarządzaj lokalnymi plikami", + "ButtonMaskServerAddress": "Ukryj adres serwera", "ButtonNewFolder": "Nowy folder", "ButtonNextEpisode": "Następny odcinek", "ButtonOk": "Ok", @@ -50,6 +53,7 @@ "ButtonStream": "Strumieniuj", "ButtonSubmit": "Zapisz", "ButtonSwitchServerUser": "Przełącz serwer/użytkownika", + "ButtonUnmaskServerAddress": "Pokaż adres serwera", "ButtonUserStats": "Statystyki użytkownika", "ButtonYes": "Tak", "HeaderAccount": "Konto", @@ -94,6 +98,8 @@ "LabelAll": "Wszystkie", "LabelAllowSeekingOnMediaControls": "Zezwól na wyszukiwanie pozycji na ekranie blokady", "LabelAlways": "Zawsze", + "LabelAndroidAutoBrowseLimitForGrouping": "Limit podziału listy alfabetycznej", + "LabelAndroidAutoBrowseLimitForGroupingHelp": "Nie używaj podziału alfabetycznego, jeśli liczba pozycji do pokazania jest mniejsza niż podana", "LabelAndroidAutoBrowseSeriesSequenceOrder": "Kolejność książek w serii", "LabelAskConfirmation": "Pytaj o potwierdzenie", "LabelAuthor": "Autor", From 95dd78d4aade8f69ad7721f097eb39835eaf38d7 Mon Sep 17 00:00:00 2001 From: ABS translator Date: Sun, 25 May 2025 09:22:39 +0200 Subject: [PATCH 31/77] Translated using Weblate (Arabic) Currently translated at 100.0% (351 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/ar/ --- strings/ar.json | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/strings/ar.json b/strings/ar.json index 3546defc..9d9bdc82 100644 --- a/strings/ar.json +++ b/strings/ar.json @@ -284,11 +284,11 @@ "MessageAudiobookshelfServerRequired": "مهم! هذا التطبيق مصمم للعمل مع خادم Audiobookshelf تستضيفه أنت أو شخص تعرفه. هذا التطبيق لا يقدم أي محتوى.", "MessageBookshelfEmpty": "الرف فارغ", "MessageConfirmDeleteLocalEpisode": "هل تريد بالتأكيد إزالة الحلقة المحلية \"{0}\" من جهازك؟ لن يتأثر الملف الموجود على الخادم.", - "MessageConfirmDeleteLocalFiles": "هل تريد بالتأكيد إزالة الملفات المحلية لهذا العنصر من جهازك؟ لن تتأثر الملفات الموجودة على الخادم وتقدمك.", + "MessageConfirmDeleteLocalFiles": "هل تريد بالتأكيد إزالة الملفات المحلية لهذا العنصر من جهازك؟ الملفات الموجودة على الخادم وتقدمك لن يتأثرا.", "MessageConfirmDisableAutoTimer": "هل أنت متأكد أنك تريد تعطيل المؤقت التلقائي لبقية اليوم؟ سيتم إعادة تفعيل المؤقت في نهاية فترة مؤقت النوم التلقائي هذه، أو إذا قمت بإعادة تشغيل التطبيق.", "MessageConfirmDiscardProgress": "هل أنت متأكد أنك تريد إعادة تعيين تقدمك؟", "MessageConfirmDownloadUsingCellular": "أنت على وشك التنزيل باستخدام بيانات الجوال. قد يشمل ذلك رسوم استخدام بيانات من شركة الاتصالات. هل ترغب في المتابعة؟", - "MessageConfirmMarkAsFinished": "هل أنت متأكد أنك تريد وضع علامة \"تم\" على هذا العنصر؟", + "MessageConfirmMarkAsFinished": "هل أنت متأكد أنك تريد وضع علامة \"مكتمل\" على هذا العنصر؟", "MessageConfirmRemoveBookmark": "هل أنت متأكد أنك تريد إزالة العلامة المرجعية؟", "MessageConfirmStreamingUsingCellular": "أنت على وشك البث باستخدام بيانات الجوال. قد يشمل ذلك رسوم استخدام بيانات من شركة الاتصالات. هل ترغب في المتابعة؟", "MessageDiscardProgress": "إلغاء التقدم", @@ -299,7 +299,7 @@ "MessageFeedURLWillBe": "سيكون رابط التغذية هو {0}", "MessageFetching": "جاري الجلب...", "MessageFollowTheProjectOnGithub": "تابع المشروع على Github", - "MessageItemDownloadCompleteFailedToCreate": "كتمل تنزيل العنصر ولكن فشل إنشاء عنصر المكتبة", + "MessageItemDownloadCompleteFailedToCreate": "اكتمل تنزيل العنصر ولكن فشل إنشاء عنصر المكتبة", "MessageItemMissing": "العنصر مفقود ويجب إصلاحه على الخادم. عادةً ما يتم وضع علامة \"مفقود\" على العنصر لأن مسارات الملفات غير قابلة للوصول.", "MessageLoading": "جاري التحميل...", "MessageLoadingServerData": "جاري تحميل بيانات الخادم...", @@ -322,10 +322,10 @@ "MessageNoPodcastsFound": "لم يتم العثور على أي بودكاست", "MessageNoSeries": "لا توجد سلاسل", "MessageNoUpdatesWereNecessary": "لا حاجة لأي تحديثات", - "MessageNoUserPlaylists": "ليست لديك أي قوائم تشغيل", + "MessageNoUserPlaylists": "ليس لديك أي قوائم تشغيل", "MessageOldServerConnectionWarning": "تكوين اتصال الخادم يستخدم معرّف مستخدم قديم. يرجى حذف اتصال الخادم هذا وإعادة إضافته.", "MessageOldServerConnectionWarningHelp": "لقد قمتَ بإعداد الاتصال بهذا الخادم قبل ترحيل قاعدة البيانات في الإصدار 2.3.0، الصادر في يونيو 2023. سيؤدي تحديث الخادم المستقبلي إلى إلغاء إمكانية تسجيل الدخول باستخدام هذا الاتصال القديم. يُرجى حذف اتصال الخادم الحالي والاتصال مرة أخرى (باستخدام نفس عنوان الخادم وبيانات الاعتماد). إذا كانت لديك أي وسائط مُنزّلة على هذا الجهاز، فيجب تنزيلها مرة أخرى لمزامنتها مع الخادم.", - "MessagePodcastSearchField": "أدخل مصطلح البحث أو عنوان URL لخلاصة RSS", + "MessagePodcastSearchField": "أدخل مصطلح البحث أو عنوان URL الخاص بتغذية RSS", "MessageProgressSyncFailed": "فشلت آخر محاولة لإرسال تقدم استماعك إلى الخادم. ستستمر محاولات مزامنة التقدم كل 15 ثانية إلى دقيقة واحدة أثناء تشغيل الوسائط.", "MessageReportBugsAndContribute": "أبلغ عن الأخطاء، واطلب الميزات، وساهم في", "MessageSeriesAlreadyDownloaded": "لقد قمت بالفعل بتنزيل جميع الكتب في هذه السلسلة.", @@ -336,18 +336,18 @@ "MessageSocketConnectedOverUnmeteredCellular": "تم توصيل المقبس عبر شبكة الجوال غير ذات الاستهلاك المحدود", "MessageSocketConnectedOverUnmeteredWifi": "المقبس متصل عبر شبكة واي فاي غير محدودة", "MessageSocketNotConnected": "المقبس غير متصل", - "NoteRSSFeedPodcastAppsHttps": "تحذير: تتطلب معظم تطبيقات البث الصوتي أن يكون عنوان URL لخلاصة RSS يستخدم HTTPS", + "NoteRSSFeedPodcastAppsHttps": "تحذير: تتطلب معظم تطبيقات البث الصوتي أن يكون عنوان URL الخاص بتغذية RSS يستخدم HTTPS", "NoteRSSFeedPodcastAppsPubDate": "تحذير: حلقة واحدة أو أكثر من حلقاتك ليس لها تاريخ نشر. بعض تطبيقات البودكاست تتطلب هذا.", "ToastBookmarkCreateFailed": "فشل في إنشاء الإشارة المرجعية", "ToastBookmarkRemoveFailed": "فشل في إزالة الإشارة المرجعية", "ToastBookmarkUpdateFailed": "فشل في تحديث الإشارة المرجعية", "ToastDownloadNotAllowedOnCellular": "لا يسمح بالتنزيل على البيانات الخلوية", - "ToastItemMarkedAsFinishedFailed": "فشل في وضع علامة على الانتهاء", - "ToastItemMarkedAsNotFinishedFailed": "فشل في وضع علامة \"غير مكتمل\"", + "ToastItemMarkedAsFinishedFailed": "فشل وضع علامة \"مكتمل\"", + "ToastItemMarkedAsNotFinishedFailed": "فشل وضع علامة \"غير مكتمل\"", "ToastPlaylistCreateFailed": "فشل إنشاء قائمة التشغيل", - "ToastPodcastCreateFailed": "فشل في إنشاء البودكاست", + "ToastPodcastCreateFailed": "فشل إنشاء البودكاست", "ToastPodcastCreateSuccess": "تم إنشاء البودكاست بنجاح", - "ToastRSSFeedCloseFailed": "فشل في إغلاق موجز RSS", - "ToastRSSFeedCloseSuccess": "تم إغلاق موجز RSS", + "ToastRSSFeedCloseFailed": "فشل إغلاق مغذّي RSS", + "ToastRSSFeedCloseSuccess": "تم إغلاق مغذّي RSS", "ToastStreamingNotAllowedOnCellular": "لا يُسمح بالبث عبر البيانات الخلوية" } From a970a06f57caf6f0c17650477069acd99f07e493 Mon Sep 17 00:00:00 2001 From: Adolfo Jayme Barrientos Date: Mon, 26 May 2025 04:36:47 +0200 Subject: [PATCH 32/77] Translated using Weblate (Catalan) Currently translated at 80.0% (281 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/ca/ --- strings/ca.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/strings/ca.json b/strings/ca.json index d03b48d4..8c1b44ff 100644 --- a/strings/ca.json +++ b/strings/ca.json @@ -203,6 +203,8 @@ "LabelProgress": "Progrés", "LabelPubDate": "Data de publicació", "LabelPublishYear": "Any de publicació", + "LabelRSSFeedPreventIndexing": "Evita la indexació", + "LabelRSSFeedSlug": "URL semàntic del canal RSS", "LabelRandomly": "A l'atzar", "LabelRead": "Llegit", "LabelReadAgain": "Tornar a llegir", @@ -210,7 +212,7 @@ "LabelRecentlyAdded": "Addicions recents", "LabelRemoveFromPlaylist": "Eliminar de la llista de reproducció", "LabelSelectADevice": "Seleccioneu un dispositiu", - "LabelSeries": "Sèries", + "LabelSeries": "Sèrie", "LabelServerAddress": "Adreça del servidor", "LabelShowAll": "Mostra-ho tot", "LabelSize": "Mida", From 7e136b17a525587eeb0cf7017d872bafbdc3039a Mon Sep 17 00:00:00 2001 From: Grzegorz Orlowski Date: Mon, 26 May 2025 22:24:27 +0200 Subject: [PATCH 33/77] Translated using Weblate (Polish) Currently translated at 98.2% (345 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/pl/ --- strings/pl.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/strings/pl.json b/strings/pl.json index 8c8372ac..7a5f9248 100644 --- a/strings/pl.json +++ b/strings/pl.json @@ -241,6 +241,8 @@ "LabelShowAll": "Pokaż wszystko", "LabelSize": "Rozmiar", "LabelSleepTimer": "Wyłącznik czasowy", + "LabelSleepTimerAlmostDoneChime": "Odtwórz dźwięk tuż przed zakończeniem", + "LabelSleepTimerAlmostDoneChimeHelp": "Odtwórz dźwięk 30 sekund przed zakończeniem czasu uśpienia", "LabelStart": "Rozpocznij", "LabelStartTime": "Czas rozpoczęcia", "LabelStatsBestDay": "Najlepszy dzień", @@ -256,6 +258,7 @@ "LabelTag": "Znacznik", "LabelTags": "Znaczniki", "LabelTheme": "Motyw", + "LabelThemeBlack": "Czarny", "LabelThemeDark": "Ciemny", "LabelThemeLight": "Jasny", "LabelTimeRemaining": "Pozostało {0}", @@ -282,6 +285,7 @@ "MessageBookshelfEmpty": "Półka pusta", "MessageConfirmDeleteLocalEpisode": "Usunąć lokalny odcinek \"{0}\" ze swojego urządzenia? Nie będzie to miało wpływu na plik na serwerze.", "MessageConfirmDeleteLocalFiles": "Usunąć lokalne pliki tego elementu ze swojego urządzenia? Nie będzie to miało wpływu na pliki na serwerze i Twoje postępy.", + "MessageConfirmDisableAutoTimer": "Czy na pewno chcesz wyłączyć automatyczny timer na resztę dnia? Timer zostanie ponownie aktywowany po upływie czasu automatycznego uśpienia lub po ponownym uruchomieniu aplikacji..", "MessageConfirmDiscardProgress": "Na pewno chcesz zresetować postęp?", "MessageConfirmDownloadUsingCellular": "Zamierzasz pobrać poprzez dane komórkowe. Może to wpłynąć na wysokość rachunku. Czy chcesz kontynuować?", "MessageConfirmMarkAsFinished": "Na pewno chcesz oznaczyć ten element jako ukończony?", @@ -296,6 +300,7 @@ "MessageFetching": "Pobieranie...", "MessageFollowTheProjectOnGithub": "Obserwuj projekt na Github'ie", "MessageItemDownloadCompleteFailedToCreate": "Pobieranie elementu zostało zakończone, ale nie udało się utworzyć elementu biblioteki", + "MessageItemMissing": "Brakujący element, należy go naprawić na serwerze. Zazwyczaj element jest oznaczany jako brakujący, ponieważ ścieżki do plików nie są dostępne.", "MessageLoading": "Ładowanie...", "MessageLoadingServerData": "Ładowanie danych serwera...", "MessageMarkAsFinished": "Oznacz jako ukończone", From 77545df1748646b6303b7391284f6b2cd32f9f12 Mon Sep 17 00:00:00 2001 From: DR Date: Sat, 31 May 2025 16:13:45 +0200 Subject: [PATCH 34/77] Translated using Weblate (Hebrew) Currently translated at 100.0% (351 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/he/ --- strings/he.json | 324 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 322 insertions(+), 2 deletions(-) diff --git a/strings/he.json b/strings/he.json index 0269062a..b652241c 100644 --- a/strings/he.json +++ b/strings/he.json @@ -6,6 +6,7 @@ "ButtonCancel": "ביטול", "ButtonCancelTimer": "בטל טיימר", "ButtonClearFilter": "נקה סינון", + "ButtonClearLogs": "נקה לוגים", "ButtonCloseFeed": "סגור ערוץ", "ButtonCollections": "אוספים", "ButtonConnect": "התחבר", @@ -25,9 +26,328 @@ "ButtonIssues": "בעיות", "ButtonLatest": "אחרון", "ButtonLibrary": "ספרייה", + "ButtonLocalMedia": "מדיה מקומית", + "ButtonLogs": "לוגים", + "ButtonManageLocalFiles": "נהל קבצים מקומיים", + "ButtonMaskServerAddress": "הסתר כתובת שרת", + "ButtonNewFolder": "תיקייה חדשה", + "ButtonNextEpisode": "הפרק הבא", + "ButtonOk": "אישור", + "ButtonOpenFeed": "פתח פיד", + "ButtonOverride": "עקוף", + "ButtonPause": "השהה", "ButtonPlay": "נגן", "ButtonPlayEpisode": "נגן פרק", - "ButtonPlaylists": "רשימת השמעה", + "ButtonPlaylists": "רשימות השמעה", + "ButtonRead": "קרא", + "ButtonReadLess": "קרא פחות", + "ButtonReadMore": "קרא עוד", + "ButtonRemove": "הסר", + "ButtonRemoveFromServer": "הסר מהשרת", + "ButtonSave": "שמור", + "ButtonSaveOrder": "שמור פקודה", + "ButtonSearch": "חיפוש", + "ButtonSendEbookToDevice": "שלח ספר אלקטרוני למכשיר", + "ButtonSeries": "סדרה", + "ButtonSetTimer": "הפעל טיימר", + "ButtonStream": "הזרם", + "ButtonSubmit": "שליחה", + "ButtonSwitchServerUser": "החלף שרת/משתמש", + "ButtonUnmaskServerAddress": "גלה כתובת שרת", + "ButtonUserStats": "נתוני משתמש", + "ButtonYes": "כן", + "HeaderAccount": "חשבון", + "HeaderAdvanced": "מתקדם", + "HeaderAndroidAutoSettings": "הגדרות Android Auto", + "HeaderAudioTracks": "רצועות קול", + "HeaderChapters": "פרקים", + "HeaderCollection": "אוסף", + "HeaderCollectionItems": "פרטי אוסף", + "HeaderConnectionStatus": "מצב החיבור", + "HeaderDataSettings": "הגדרות נתונים", + "HeaderDetails": "פרטים", + "HeaderDownloads": "הורדות", + "HeaderEbookFiles": "קבצי Ebook", + "HeaderEpisodes": "פרקים", + "HeaderEreaderSettings": "הגדרות קורא אלקטרוני", + "HeaderLatestEpisodes": "פרקים אחרונים", + "HeaderLibraries": "ספריות", + "HeaderLocalFolders": "תיקיות מקומיות", + "HeaderLocalLibraryItems": "פריטי ספרייה מקומית", + "HeaderNewPlaylist": "רשימת השמעה חדשה", "HeaderOpenRSSFeed": "פתח ערוץ RSS", - "LabelAddedDate": "נוסף ב-{0}" + "HeaderPlaybackSettings": "הגדרות ניגון", + "HeaderPlaylist": "רשימת השמעה", + "HeaderPlaylistItems": "פריטי רשימת השמעה", + "HeaderProgressSyncFailed": "סנכרון ההתקדמות נכשל", + "HeaderRSSFeed": "ערוץ RSS", + "HeaderRSSFeedGeneral": "פרטי RSS", + "HeaderRSSFeedIsOpen": "ערוץ RSS פתוח", + "HeaderSelectDownloadLocation": "בחר מיקום להורדה", + "HeaderSettings": "הגדרות", + "HeaderSleepTimer": "טיימר שינה", + "HeaderSleepTimerSettings": "הגדרות טיימר שינה", + "HeaderStatsMinutesListeningChart": "דקות האזנה (7 ימים אחרונים)", + "HeaderStatsRecentSessions": "האזנות אחרונות", + "HeaderTableOfContents": "תוכן עניינים", + "HeaderUserInterfaceSettings": "הגדרות ממשק משתמש", + "HeaderYourStats": "הסטטיסטיקות שלך", + "LabelAddToPlaylist": "הוסף לרשימת השמעה", + "LabelAddedAt": "נוסף ב-", + "LabelAddedDate": "נוסף ב-{0}", + "LabelAll": "הכל", + "LabelAllowSeekingOnMediaControls": "אפשר לשנות מיקום בבקר התראות מדיה", + "LabelAlways": "תמיד", + "LabelAndroidAutoBrowseLimitForGrouping": "מגבלת משיכה אלפביתית", + "LabelAndroidAutoBrowseLimitForGroupingHelp": "אל תשתמש במשיכה אלפביתית כאשר יש פחות מכמות פריטים זו להציג", + "LabelAndroidAutoBrowseSeriesSequenceOrder": "סדר הספרים בסדרה", + "LabelAskConfirmation": "בקש אישור", + "LabelAuthor": "סופר", + "LabelAuthorFirstLast": "סופר (שם, משפחה)", + "LabelAuthorLastFirst": "סופר (משפחה, שם)", + "LabelAuthors": "סופרים", + "LabelAutoDownloadEpisodes": "הורד פרקים באופן אוטומטי", + "LabelAutoRewindTime": "החזרה לאחור באופן אוטומטי", + "LabelAutoSleepTimer": "טיימר שינה אוטומטי", + "LabelAutoSleepTimerAutoRewind": "החזרת זמן אוטומטית לאחור בטיימר שינה", + "LabelAutoSleepTimerAutoRewindHelp": "כאשר טיימר השינה האוטומטי מסתיים, הפעלה נוספת של הפריט תגרום אוטומטית להריץ את מיקומך אחורה.", + "LabelAutoSleepTimerHelp": "בעת הפעלת מדיה בין שעות ההתחלה והסיום שצוינו, טיימר שינה יופעל אוטומטית.", + "LabelBooks": "ספרים", + "LabelChapterTrack": "רצועת פרק", + "LabelChapters": "פרקים", + "LabelClosePlayer": "סגור נגן", + "LabelCollapseSeries": "הסתר סדרה", + "LabelComplete": "הושלם", + "LabelContinueBooks": "המשך ספרים", + "LabelContinueEpisodes": "המשך פרקים", + "LabelContinueListening": "המשך האזנה", + "LabelContinueReading": "המשך קריאה", + "LabelContinueSeries": "המשך סדרה", + "LabelCustomTime": "זמן מותאם אישית", + "LabelDescription": "תיאור", + "LabelDisableAudioFadeOut": "השבתת דהיית שמע", + "LabelDisableAudioFadeOutHelp": "עוצמת השמע תתחיל לרדת כאשר נותרה פחות מדקה אחת בטיימר השינה. הפעל הגדרה זו כדי לא לדעוך.", + "LabelDisableAutoRewind": "השבתת הרצה אוטומטית אחורה", + "LabelDisableShakeToReset": "השבתת ניעור לאיפוס", + "LabelDisableShakeToResetHelp": "ניעור המכשיר בזמן שהטיימר פועל או תוך 2 דקות ממועד סופו יאפס את טיימר השינה. הפעל הגדרה זו כדי להשבית את הניעור לצורך איפוס.", + "LabelDisableVibrateOnReset": "השבתת רטט באיפוס", + "LabelDisableVibrateOnResetHelp": "כאשר טיימר השינה מתאפס, המכשיר ירטוט. הפעל הגדרה זו כדי לא לרטוט כאשר טיימר השינה מתאפס.", + "LabelDiscover": "גלה", + "LabelDownload": "הורדה", + "LabelDownloadUsingCellular": "הורדה באמצעות נתונים סלולריים", + "LabelDownloaded": "הורד", + "LabelDuration": "משך", + "LabelEbook": "ספר אלקטרוני", + "LabelEbooks": "ספרים אלקטרוניים", + "LabelEnable": "אפשר", + "LabelEnableMp3IndexSeeking": "אפשר חיפוש באינדקס mp3", + "LabelEnableMp3IndexSeekingHelp": "יש להפעיל הגדרה זו רק אם יש לכם קבצי mp3 שאינם מחפשים כראוי. חיפוש לא מדויק נובע ככל הנראה מקבצי MP3 בעלי קצב סיביות משתנה (VBR). הגדרה זו תכריח חיפוש אינדקס, שבו נבנה מיפוי זמן-לבייט בעת קריאת הקובץ. במקרים מסוימים, עם קבצי MP3 גדולים, יהיה עיכוב בחיפוש לקראת סוף הקובץ.", + "LabelEnd": "סוף", + "LabelEndOfChapter": "סוף הפרק", + "LabelEndTime": "זמן סיום", + "LabelEpisode": "פרק", + "LabelFeedURL": "כתובת ערוץ", + "LabelFile": "קובץ", + "LabelFileBirthtime": "זמן יצירת הקובץ", + "LabelFileModified": "קובץ נערך", + "LabelFilename": "שם קובץ", + "LabelFinished": "הושלם", + "LabelFolder": "תיקייה", + "LabelFontBoldness": "עובי פונט", + "LabelFontScale": "גודל פונט", + "LabelGenre": "סגנון", + "LabelGenres": "סגנונות", + "LabelHapticFeedback": "משוב מגע", + "LabelHasEbook": "קיים ספר אלקטרוני", + "LabelHasSupplementaryEbook": "קיים ספר אלקטרוני משלים", + "LabelHeavy": "כבד", + "LabelHigh": "גבוה", + "LabelHost": "מארח", + "LabelInProgress": "בתהליך", + "LabelIncomplete": "לא הושלם", + "LabelInternalAppStorage": "אחסון אפליקציה פנימי", + "LabelJumpBackwardsTime": "הרץ לאחור", + "LabelJumpForwardsTime": "הרץ קדימה", + "LabelKeepScreenAwake": "השאר מסך דלוק", + "LabelLanguage": "שפה", + "LabelLayout": "Layout", + "LabelLayoutAuto": "אוטומטי", + "LabelLayoutSinglePage": "עמוד יחיד", + "LabelLight": "בהיר", + "LabelLineSpacing": "מרווח שורה", + "LabelListenAgain": "האזן שוב", + "LabelLocalBooks": "ספרים מקומיים", + "LabelLocalPodcasts": "פודקאסטים מקומיים", + "LabelLockOrientation": "נעילת כיוון", + "LabelLockPlayer": "נעילת נגן", + "LabelLow": "נמוך", + "LabelMediaType": "סוג מדיה", + "LabelMedium": "בינוני", + "LabelMissing": "חסר", + "LabelMore": "עוד", + "LabelMoreInfo": "מידע נוסף", + "LabelName": "שם", + "LabelNarrator": "מספר", + "LabelNarrators": "מספרים", + "LabelNavigateWithVolume": "ניווט באמצעות כפתורי ווליום", + "LabelNavigateWithVolumeMirrored": "מראה", + "LabelNavigateWithVolumeWhilePlaying": "אפשר למקשי ווליום לנווט בזמן ניגון", + "LabelNavigateWithVolumeWhilePlayingDisabled": "כיבוי", + "LabelNavigateWithVolumeWhilePlayingEnabled": "הדלקה", + "LabelNever": "אף פעם", + "LabelNewestAuthors": "הסופרים האחרונים", + "LabelNewestEpisodes": "הפרקים החדשים ביותר", + "LabelNo": "לא", + "LabelNotFinished": "לא הושלם", + "LabelNotStarted": "לא התחיל", + "LabelNumEpisodes": "{0} פרקים", + "LabelNumEpisodesIncomplete": "{0} פרקים, {1} לא הושלם", + "LabelNumberOfEpisodes": "# פרקים", + "LabelOff": "כיבוי", + "LabelOn": "הדלקה", + "LabelPassword": "סיסמה", + "LabelPath": "נתיב", + "LabelPlaybackDirect": "ישיר", + "LabelPlaybackLocal": "מקומי", + "LabelPlaybackSpeed": "מהירות השמעה", + "LabelPlaybackTranscode": "קידוד מחדש", + "LabelPodcast": "פודקאסט", + "LabelPodcasts": "פודקאסטים", + "LabelPreventIndexing": "מנע רישום של הערוץ שלך על ידי ספריות אייטונס וגוגל פודקאסט", + "LabelProgress": "התקדמות", + "LabelPubDate": "תאריך פרסום", + "LabelPublishYear": "שנת הפרסום", + "LabelPublishedDate": "פורסם {0}", + "LabelRSSFeedCustomOwnerEmail": "אימייל בעלים מותאם אישית", + "LabelRSSFeedCustomOwnerName": "שם בעלים מותאם אישית", + "LabelRSSFeedPreventIndexing": "מנע רישום", + "LabelRSSFeedSlug": "Slug של ערוץ ה-RSS", + "LabelRandomly": "באופן אקראי", + "LabelRead": "קריאה", + "LabelReadAgain": "קרא שוב", + "LabelRecentSeries": "סדרות אחרונות", + "LabelRecentlyAdded": "נוסף לאחרונה", + "LabelRemoveFromPlaylist": "הסרה מרשימת השמעה", + "LabelScaleElapsedTimeBySpeed": "שנה קנה מידה של זמן שחלף לפי מהירות ההשמעה", + "LabelSeason": "עונה", + "LabelSelectADevice": "בחר מכשיר", + "LabelSequenceAscending": "רצף עולה", + "LabelSequenceDescending": "רצף יורד", + "LabelSeries": "סדרה", + "LabelServerAddress": "כתובת שרת", + "LabelSetEbookAsPrimary": "קבע כראשי", + "LabelSetEbookAsSupplementary": "קבע כמשלים", + "LabelShakeSensitivity": "רגישות ניעור", + "LabelShowAll": "הצג הכל", + "LabelSize": "גודל", + "LabelSleepTimer": "טיימר שינה", + "LabelSleepTimerAlmostDoneChime": "השמע פעמון כאשר כמעט הסתיים", + "LabelSleepTimerAlmostDoneChimeHelp": "השמע פעמון כאשר נשארו 30 שניות לסיום טיימר השינה", + "LabelStart": "התחל", + "LabelStartTime": "זמן התחלה", + "LabelStatsBestDay": "היום הטוב ביותר", + "LabelStatsDailyAverage": "ממוצע יומי", + "LabelStatsDays": "ימים", + "LabelStatsDaysListened": "מספר ימים בהם נשמע ספר", + "LabelStatsInARow": "ברצף", + "LabelStatsItemsFinished": "פריטים שסיימת", + "LabelStatsMinutes": "דקות", + "LabelStatsMinutesListening": "דקות האזנה", + "LabelStatsWeekListening": "האזנה שבועית", + "LabelStreamingUsingCellular": "הזרמת באמצעות נתונים סלולריים", + "LabelTag": "תג", + "LabelTags": "תגיות", + "LabelTheme": "ערכת נושא", + "LabelThemeBlack": "שחור", + "LabelThemeDark": "כהה", + "LabelThemeLight": "בהיר", + "LabelTimeRemaining": "{0} נותרו", + "LabelTitle": "כותרת", + "LabelTotalSize": "סה״כ גודל", + "LabelTotalTrack": "סה״כ רצועות", + "LabelTracks": "רצועות", + "LabelType": "סוג", + "LabelUnknown": "לא ידוע", + "LabelUnlockPlayer": "בטל נעילת נגן", + "LabelUseBookshelfView": "שימוש בתצוגת מדף ספרים", + "LabelUser": "משתמש", + "LabelUsername": "שם משתמש", + "LabelVeryHigh": "גבוה מאוד", + "LabelVeryLow": "נמוך מאוד", + "LabelYearReviewHide": "הסתר סקירת שנה", + "LabelYearReviewShow": "הצג סקירת שנה", + "LabelYourBookmarks": "הסימניות שלך", + "LabelYourProgress": "ההתקדמות שלך", + "MessageAndroid10Downloads": "מכשירי אנדרואיד 10 או נמוך יותר ישתמשו באחסון היישום הפנימי להורדות.", + "MessageAttemptingServerConnection": "מנסה להתחבר לשרת...", + "MessageAudiobookshelfServerNotConnected": "לא מחובר לשרת Audiobookshelf", + "MessageAudiobookshelfServerRequired": "חשוב! אפליקציה זו מתוכננת לעבוד עם שרת Audiobookshelf שאת/ה או מישהו שאת/ה מכיר/ה מארח/ת. האפליקציה בפני עצמה לא מספקת שום תוכן.", + "MessageBookshelfEmpty": "ספריה ריקה", + "MessageConfirmDeleteLocalEpisode": "להסיר את הפרק המקומי \"{0}\" מהמכשיר שלך? הקובץ בשרת לא יושפע.", + "MessageConfirmDeleteLocalFiles": "להסיר קבצים מקומיים של פריט זה מהמכשיר שלך? הקבצים בשרת והתקדמותך לא יושפעו.", + "MessageConfirmDisableAutoTimer": "האם אתה בטוח שאתה רוצה להשבית את הטיימר האוטומי עד סוף היום? הטיימר יופעל מחדש לאחר הטיימר השינה הנוכחי יסתיים, או לאחר הפעלה מחדש של האפליקציה.", + "MessageConfirmDiscardProgress": "אתה בטוח שאתה רוצה לאפס את ההתקדמות שלך?", + "MessageConfirmDownloadUsingCellular": "אתה עומד להוריד באמצעות נתונים סלולריים. ספק הסלולר עשוי לחייב על שימוש בנתונים סלולריים, האם להמשיך?", + "MessageConfirmMarkAsFinished": "אתה בטוח שאתה רוצה לסמן את הפריט הזה כהושלם?", + "MessageConfirmRemoveBookmark": "האם להסיר את הסימניה?", + "MessageConfirmStreamingUsingCellular": "אתה עומד להזרים באמצעות נתונים סלולריים. ספק הסלולר עשוי לחייב על שימוש בנתונים סלולריים, האם להמשיך?", + "MessageDiscardProgress": "איפוס התקדמות", + "MessageDownloadCompleteProcessing": "ההורדה הושלמה. מעבד...", + "MessageDownloading": "מוריד...", + "MessageDownloadingEpisode": "מוריד פרק", + "MessageEpisodesQueuedForDownload": "{0} פרק/ים בתור להורדה", + "MessageFeedURLWillBe": "כתובת ה- URL של הערוץ תהיה {0}", + "MessageFetching": "מושך...", + "MessageFollowTheProjectOnGithub": "עקבו אחרי הפרוייקט ב-Github", + "MessageItemDownloadCompleteFailedToCreate": "הורדת הפריט הושלמה אך יצירת פריט בספריה נכשלה", + "MessageItemMissing": "הפריט חסר ונדרש תיקונו בשרת. בדרך כלל פריט מסומן כחסר כי נתיבי הקובץ הקיימים לא נגישים.", + "MessageLoading": "טוען...", + "MessageLoadingServerData": "טוען נתוני שרת...", + "MessageLocalFolderDescription": "\"אחסון אפליקציה פנימי\" זמין רק על ידי אפליקציה זו. אפליקציה זו תומכת רק במדיה שהורדה ישירות ע״י האפליקציה עצמה. ניתן להשתמש בתיקיות אחסון משותפות בכדי לאפשר ליישומים אחרים לגשת מדיה שהורדה ע״י אפליקציה זו.", + "MessageMarkAsFinished": "סמן כהושלם", + "MessageMediaLinkedToADifferentServer": "מדיה מקושרת לשרת Audiobookshelf בכתובת אחרת ({0}). ההתקדמות תהיה מסונכרנת כאשר היא האפליקציה תהיה מחוברת לכתובת שרת זו.", + "MessageMediaLinkedToADifferentUser": "מדיה מקושרת לשרת זה אבל הורדה ע״י משתמש אחר. התקדמות תסונכרן רק למשתמש שהוריד אותה.", + "MessageMediaLinkedToServer": "מקושר לשרת {0}", + "MessageMediaLinkedToThisServer": "המדיה שהורדה מקושרת לשרת זה", + "MessageMediaNotLinkedToServer": "מדיה לא מקושרת לשרת Audiobookshelf. התקדמות לא תהיה מסונכרנת.", + "MessageNoBookmarks": "אין סימניות", + "MessageNoChapters": "אין פרקים", + "MessageNoCollections": "אין אוספים", + "MessageNoItems": "אין פריטים", + "MessageNoItemsFound": "לא נמצאו פריטים", + "MessageNoListeningSessions": "אין הפעלות האזנה", + "MessageNoLogs": "אין לוגים", + "MessageNoMediaFolders": "אין תיקיות מדיה", + "MessageNoNetworkConnection": "אין חיבור לרשת", + "MessageNoPodcastsFound": "לא נמצאו פודקאסטים", + "MessageNoSeries": "אין סדרות", + "MessageNoUpdatesWereNecessary": "לא נדרש עדכון", + "MessageNoUserPlaylists": "אין לך רשימות השמעה", + "MessageOldServerConnectionWarning": "תצורת חיבור שרת משתמשת במזהה משתמש ישן. נא למחוק ולהתחבר מחדש לשרת זה.", + "MessageOldServerConnectionWarningHelp": "הגדרת במקור את החיבור לשרת זה לפני העברת מסד הנתונים בגרסה 2.3.0, שיצאה ביוני 2023. עדכון שרת עתידי יסיר את היכולת להתחבר באמצעות חיבור ישן זה. אנא מחק את חיבור השרת הקיים והתחבר שוב (תוך שימוש באותה כתובת שרת ופרטי גישה). אם הורדת מדיה כלשהי במכשיר זה, יהיה צורך להוריד אותה שוב כדי שתסתנכרן עם השרת.", + "MessagePodcastSearchField": "הזן מונח חיפוש או כתובת URL של ערוץ RSS", + "MessageProgressSyncFailed": "הניסיון האחרון לדווח על התקדמות ההאזנה שלך לשרת נכשל. בקשות סנכרון התקדמות ימשיכו להתבצע כל 15 שניות עד דקה בזמן שהמדיה מופעלת.", + "MessageReportBugsAndContribute": "דווח על באגים, בקש תכונות חדשות, ותרום ב-", + "MessageSeriesAlreadyDownloaded": "כבר הורדת את כל הספרים בסדרה זו.", + "MessageSeriesDownloadConfirm": "להוריד את הספר החסר {0} עם {1} קבצים ,סה״כ {2} לתיקיה {3}?", + "MessageSeriesDownloadConfirmIos": "להוריד את הספר החסר {0} עם {1} קבצים ,סה״כ {2}?", + "MessageSocketConnectedOverMeteredCellular": "מחובר באמצעות רשת סלולרית", + "MessageSocketConnectedOverMeteredWifi": "מחוברת באמצעות רשת WiFi מדודה", + "MessageSocketConnectedOverUnmeteredCellular": "מחובר באמצעות רשת סלולרית לא מדודה", + "MessageSocketConnectedOverUnmeteredWifi": "מחוברת באמצעות רשת WiFi לא מדודה", + "MessageSocketNotConnected": "לא מחובר", + "NoteRSSFeedPodcastAppsHttps": "אזהרה: רוב אפליקציות הפודקאסטים ידרשו שכתובת האתר של ערוץ ה-RSS תשתמש ב-HTTPS", + "NoteRSSFeedPodcastAppsPubDate": "אזהרה: פרק אחד או יותר לא מכילים תאריך פרסום. חלק מיישומי הפודקאסט דורשים זאת.", + "ToastBookmarkCreateFailed": "יצירת סימניה נכשלה", + "ToastBookmarkRemoveFailed": "הסרת הסימניה נכשלה", + "ToastBookmarkUpdateFailed": "עדכון הסימניה נכשל", + "ToastDownloadNotAllowedOnCellular": "הורדה אינה מותרת באמצעות נתונים סלולריים", + "ToastItemMarkedAsFinishedFailed": "סימון כפריט שהושלם נכשל", + "ToastItemMarkedAsNotFinishedFailed": "סימון כפריט שלא הושלם נכשל", + "ToastPlaylistCreateFailed": "יצירת רשימת השמעה נכשלה", + "ToastPodcastCreateFailed": "יצירת הפודקאסט נכשלה", + "ToastPodcastCreateSuccess": "הפודקאסט נוצר בהצלחה", + "ToastRSSFeedCloseFailed": "סגירת ערוץ ה-RSS נכשלה", + "ToastRSSFeedCloseSuccess": "ערוץ ה-RSS נסגר בהצלחה", + "ToastStreamingNotAllowedOnCellular": "הזרמה אינה מותרת באמצעות נתונים סלולריים" } From e723601f6b7b91ec0646c4ea82a34d77cbfdf3d6 Mon Sep 17 00:00:00 2001 From: Anders Norman Date: Sun, 1 Jun 2025 20:21:23 +0200 Subject: [PATCH 35/77] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegian?= =?UTF-8?q?=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 71.5% (251 of 351 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/nb_NO/ --- strings/no.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/strings/no.json b/strings/no.json index b5b058a7..b42d7b10 100644 --- a/strings/no.json +++ b/strings/no.json @@ -1,7 +1,7 @@ { "ButtonAdd": "Legg til", "ButtonAddNewServer": "Legg til ny tjener", - "ButtonAuthors": "Forfatter", + "ButtonAuthors": "Forfattere", "ButtonBack": "Tilbake", "ButtonCancel": "Avbryt", "ButtonCancelTimer": "Avbryt tidsur", From c46891ecb0a2d09cd6127e7d1e51553766a82154 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=93=D0=BE=D1=80?= =?UTF-8?q?=D0=BF=D0=B8=D0=BD=D1=96=D1=87?= Date: Wed, 4 Jun 2025 11:11:23 +0200 Subject: [PATCH 36/77] Translated using Weblate (Ukrainian) Currently translated at 100.0% (352 of 352 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/uk/ --- strings/uk.json | 1 + 1 file changed, 1 insertion(+) diff --git a/strings/uk.json b/strings/uk.json index 9016a892..d3811064 100644 --- a/strings/uk.json +++ b/strings/uk.json @@ -220,6 +220,7 @@ "LabelPublishedDate": "Опубліковано {0}", "LabelRSSFeedCustomOwnerEmail": "Користувацька електронна адреса власника", "LabelRSSFeedCustomOwnerName": "Користувацьке ім'я власника", + "LabelRSSFeedOpen": "RSS-канал відкритий", "LabelRSSFeedPreventIndexing": "Запобігати індексації", "LabelRSSFeedSlug": "Назва RSS-каналу", "LabelRandomly": "Випадково", From 24b9df6fbde15662c7b6c773b30886c0eb9ab3ff Mon Sep 17 00:00:00 2001 From: max grakov Date: Sat, 7 Jun 2025 16:12:55 +0200 Subject: [PATCH 37/77] Translated using Weblate (Russian) Currently translated at 100.0% (352 of 352 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/ru/ --- strings/ru.json | 1 + 1 file changed, 1 insertion(+) diff --git a/strings/ru.json b/strings/ru.json index 9fe95d6d..cdf1cabe 100644 --- a/strings/ru.json +++ b/strings/ru.json @@ -220,6 +220,7 @@ "LabelPublishedDate": "Опубликовано {0}", "LabelRSSFeedCustomOwnerEmail": "Пользовательский Email владельца", "LabelRSSFeedCustomOwnerName": "Пользовательское Имя владельца", + "LabelRSSFeedOpen": "Открыть RSS-ленту", "LabelRSSFeedPreventIndexing": "Запретить индексирование", "LabelRSSFeedSlug": "Встроить RSS-канал", "LabelRandomly": "Случайно", From 1c4f43db7c2a5060b02bc3fb94e2277a26e4bd78 Mon Sep 17 00:00:00 2001 From: SunSpring Date: Fri, 6 Jun 2025 08:51:31 +0200 Subject: [PATCH 38/77] Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (352 of 352 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/zh_Hans/ --- strings/zh-cn.json | 1 + 1 file changed, 1 insertion(+) diff --git a/strings/zh-cn.json b/strings/zh-cn.json index e7ef21ef..4f007cfd 100644 --- a/strings/zh-cn.json +++ b/strings/zh-cn.json @@ -220,6 +220,7 @@ "LabelPublishedDate": "已发布 {0}", "LabelRSSFeedCustomOwnerEmail": "自定义所有者电子邮件", "LabelRSSFeedCustomOwnerName": "自定义所有者名称", + "LabelRSSFeedOpen": "打开 RSS 源", "LabelRSSFeedPreventIndexing": "防止索引", "LabelRSSFeedSlug": "RSS 源段", "LabelRandomly": "随机", From 65e8f2317e8a82bc01da4e03c71214b5d7a5ac28 Mon Sep 17 00:00:00 2001 From: thehijacker Date: Fri, 6 Jun 2025 08:41:26 +0200 Subject: [PATCH 39/77] Translated using Weblate (Slovenian) Currently translated at 100.0% (352 of 352 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/sl/ --- strings/sl.json | 1 + 1 file changed, 1 insertion(+) diff --git a/strings/sl.json b/strings/sl.json index d6cff288..600cad61 100644 --- a/strings/sl.json +++ b/strings/sl.json @@ -220,6 +220,7 @@ "LabelPublishedDate": "Objavljeno {0}", "LabelRSSFeedCustomOwnerEmail": "E-pošta lastnika po meri", "LabelRSSFeedCustomOwnerName": "Ime lastnika po meri", + "LabelRSSFeedOpen": "RSS vir je odprt", "LabelRSSFeedPreventIndexing": "Prepreči indeksiranje", "LabelRSSFeedSlug": "Slug RSS vira", "LabelRandomly": "Naključno", From f44dcdf124f064d892fcbfb247608b4ff848be27 Mon Sep 17 00:00:00 2001 From: Usama Khalil Date: Sat, 7 Jun 2025 16:07:46 +0200 Subject: [PATCH 40/77] Translated using Weblate (Arabic) Currently translated at 100.0% (352 of 352 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/ar/ --- strings/ar.json | 1 + 1 file changed, 1 insertion(+) diff --git a/strings/ar.json b/strings/ar.json index 9d9bdc82..ebb45d93 100644 --- a/strings/ar.json +++ b/strings/ar.json @@ -220,6 +220,7 @@ "LabelPublishedDate": "منشور {0}", "LabelRSSFeedCustomOwnerEmail": "البريد الالكتروني المخصص للمالك", "LabelRSSFeedCustomOwnerName": "الاسم المخصص للمالك", + "LabelRSSFeedOpen": "موجز RSS مفتوح", "LabelRSSFeedPreventIndexing": "منع الفهرسة", "LabelRSSFeedSlug": "اسم تعريف تغذية RSS", "LabelRandomly": "عشوائياً", From dd8f4d6201e31d95eaff0ea885df329c78bd22a5 Mon Sep 17 00:00:00 2001 From: peter cerny Date: Fri, 6 Jun 2025 13:23:42 +0200 Subject: [PATCH 41/77] Translated using Weblate (Slovak) Currently translated at 99.7% (351 of 352 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/sk/ --- strings/sk.json | 1 + 1 file changed, 1 insertion(+) diff --git a/strings/sk.json b/strings/sk.json index c1eccdf5..e786a21a 100644 --- a/strings/sk.json +++ b/strings/sk.json @@ -220,6 +220,7 @@ "LabelPublishedDate": "Vydané {0}", "LabelRSSFeedCustomOwnerEmail": "Vlastný e-mail vlastníka", "LabelRSSFeedCustomOwnerName": "Vlastné meno vlastníka", + "LabelRSSFeedOpen": "RSS zdroj otvorený", "LabelRSSFeedPreventIndexing": "Zakázať indexovanie", "LabelRSSFeedSlug": "Slug RSS zdroja", "LabelRandomly": "Náhodne", From 4cc4aceb41b1cb8a112232891befd50b0a89ca3b Mon Sep 17 00:00:00 2001 From: Plazec Date: Mon, 9 Jun 2025 18:39:23 +0200 Subject: [PATCH 42/77] Translated using Weblate (Czech) Currently translated at 100.0% (352 of 352 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/cs/ --- strings/cs.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/strings/cs.json b/strings/cs.json index 3edeead6..10a660f6 100644 --- a/strings/cs.json +++ b/strings/cs.json @@ -27,7 +27,7 @@ "ButtonLatest": "Nejnovější", "ButtonLibrary": "Knihovna", "ButtonLocalMedia": "Místní média", - "ButtonLogs": "Záznamy", + "ButtonLogs": "Logy", "ButtonManageLocalFiles": "Spravovat místní soubory", "ButtonMaskServerAddress": "Skrýt adresu serveru", "ButtonNewFolder": "Nová složka", @@ -220,6 +220,7 @@ "LabelPublishedDate": "Vydáno {0}", "LabelRSSFeedCustomOwnerEmail": "Vlastní e-mail vlastníka", "LabelRSSFeedCustomOwnerName": "Vlastní jméno vlastníka", + "LabelRSSFeedOpen": "RSS kanál otevřen", "LabelRSSFeedPreventIndexing": "Zabránit indexování", "LabelRSSFeedSlug": "Klíčové slovo kanálu RSS", "LabelRandomly": "Náhodně", From d6242c350df8ffe84999750b598b890c001bb9e5 Mon Sep 17 00:00:00 2001 From: David Havndrup Munch Date: Mon, 9 Jun 2025 09:48:24 +0200 Subject: [PATCH 43/77] Translated using Weblate (Danish) Currently translated at 98.0% (345 of 352 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/da/ --- strings/da.json | 1 + 1 file changed, 1 insertion(+) diff --git a/strings/da.json b/strings/da.json index 5deb0060..bbdfb547 100644 --- a/strings/da.json +++ b/strings/da.json @@ -216,6 +216,7 @@ "LabelPublishedDate": "Publiceret {0}", "LabelRSSFeedCustomOwnerEmail": "Brugerdefineret ejerens e-mail", "LabelRSSFeedCustomOwnerName": "Brugerdefineret ejerens navn", + "LabelRSSFeedOpen": "RSS-feed åbent", "LabelRSSFeedPreventIndexing": "Forhindrer indeksering", "LabelRSSFeedSlug": "RSS-feed-slug", "LabelRandomly": "Tilfældigt", From 9a487f3bb637aa7e9f384fe8e59966df58aa94ec Mon Sep 17 00:00:00 2001 From: Daniel Schosser Date: Mon, 9 Jun 2025 09:02:28 +0200 Subject: [PATCH 44/77] Translated using Weblate (German) Currently translated at 100.0% (352 of 352 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/de/ --- strings/de.json | 1 + 1 file changed, 1 insertion(+) diff --git a/strings/de.json b/strings/de.json index bbb50e0e..69334761 100644 --- a/strings/de.json +++ b/strings/de.json @@ -220,6 +220,7 @@ "LabelPublishedDate": "Veröffentlicht {0}", "LabelRSSFeedCustomOwnerEmail": "Benutzerdefinierte Eigentümer-E-Mail", "LabelRSSFeedCustomOwnerName": "Benutzerdefinierter Name des Eigentümers", + "LabelRSSFeedOpen": "RSS Feed öffnen", "LabelRSSFeedPreventIndexing": "Indizierung verhindern", "LabelRSSFeedSlug": "RSS-Feed-Schlagwort", "LabelRandomly": "Zufällig", From 7052674f325a0339a8340291f3f260374e0f03d5 Mon Sep 17 00:00:00 2001 From: Rekentek Date: Mon, 9 Jun 2025 21:11:09 +0200 Subject: [PATCH 45/77] Translated using Weblate (Dutch) Currently translated at 98.0% (345 of 352 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/nl/ --- strings/nl.json | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/strings/nl.json b/strings/nl.json index 18991812..b1f50feb 100644 --- a/strings/nl.json +++ b/strings/nl.json @@ -107,7 +107,7 @@ "LabelAutoDownloadEpisodes": "Afleveringen automatisch downloaden", "LabelAutoRewindTime": "Automatisch Terugspoelen", "LabelAutoSleepTimer": "Automatische sleep timer", - "LabelAutoSleepTimerAutoRewind": "Automatische slaap timer automatisch terugspoelen.", + "LabelAutoSleepTimerAutoRewind": "Automatische slaap timer automatisch terugspoelen", "LabelAutoSleepTimerAutoRewindHelp": "Wanneer de automatische slaap timer afloop zal het item terugspoelen naar de vorige positie.", "LabelAutoSleepTimerHelp": "Wanneer er tussen de opgegeven begin- en eindtijd media wordt afgespeeld, start er automatisch een slaaptimer.", "LabelBooks": "Boeken", @@ -229,7 +229,7 @@ "LabelScaleElapsedTimeBySpeed": "Schaal verstreken tijd per snelheid", "LabelSeason": "Seizoen", "LabelSelectADevice": "Apparaat Selecteren", - "LabelSequenceAscending": "Sequentie opflopend", + "LabelSequenceAscending": "Sequentie Oplopend", "LabelSequenceDescending": "Sequentie Aflopend", "LabelSeries": "Serie", "LabelServerAddress": "Server adres", @@ -239,6 +239,8 @@ "LabelShowAll": "Toon alle", "LabelSize": "Grootte", "LabelSleepTimer": "Slaaptimer", + "LabelSleepTimerAlmostDoneChime": "Speel een belsignaal indien bijna klaar", + "LabelSleepTimerAlmostDoneChimeHelp": "Speel een belsignaal af wanneer slaaptimer nog 30 seconden over heeft", "LabelStart": "Start", "LabelStartTime": "Starttijd", "LabelStatsBestDay": "Beste dag", @@ -310,7 +312,7 @@ "MessageNoItems": "Geen onderdelen", "MessageNoItemsFound": "Geen onderdelen gevonden", "MessageNoListeningSessions": "Geen luistersessies", - "MessageNoLogs": "Geen log bestanden", + "MessageNoLogs": "Geen logbestanden", "MessageNoMediaFolders": "Geen Media Folders", "MessageNoNetworkConnection": "Geen netwerk connectie", "MessageNoPodcastsFound": "Geen podcasts gevonden", @@ -319,6 +321,7 @@ "MessageNoUserPlaylists": "Je hebt geen afspeellijsten", "MessageOldServerConnectionWarning": "Server connectie configuratie gebruikt een oud user ID. Gelieve deze server connectie te verwijderen en opnieuw toe te voegen.", "MessagePodcastSearchField": "Zoekterm of RSS feed URL invullen", + "MessageProgressSyncFailed": "De meest recente poging om je luistervoortgang aan de server te rapporteren is mislukt. Verzoeken om voortgangssynchronisatie worden nog steeds elke 15 seconden tot 1 minuut uitgevoerd terwijl de media wordt afgespeeld.", "MessageReportBugsAndContribute": "Rapporteer bugs, vraag functionaliteiten aan en draag bij op", "MessageSeriesAlreadyDownloaded": "Je hebt alle boeken in deze serie al gedownload.", "MessageSeriesDownloadConfirm": "Ontbrekende {0} boek(en) met {1} bestand(en), in totaal {2}, downloaden naar map {3}?", From 1927dbf0ad300dabc50f2751a7af8a8af53f293b Mon Sep 17 00:00:00 2001 From: Grzegorz Orlowski Date: Sun, 8 Jun 2025 22:16:25 +0200 Subject: [PATCH 46/77] Translated using Weblate (Polish) Currently translated at 98.2% (346 of 352 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/pl/ --- strings/pl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/strings/pl.json b/strings/pl.json index 7a5f9248..ed5c8bb1 100644 --- a/strings/pl.json +++ b/strings/pl.json @@ -217,7 +217,7 @@ "LabelProgress": "Postęp", "LabelPubDate": "Data publikacji", "LabelPublishYear": "Rok publikacji", - "LabelPublishedDate": "Opublikowane", + "LabelPublishedDate": "Opublikowano {0}", "LabelRSSFeedCustomOwnerEmail": "Własny email", "LabelRSSFeedCustomOwnerName": "Własna nazwa", "LabelRSSFeedPreventIndexing": "Zapobiegaj indeksowaniu", From a44fc41caab5d903f91910256ac992a335882f19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dawid=20Ku=C5=BAnicki?= Date: Mon, 9 Jun 2025 07:22:12 +0200 Subject: [PATCH 47/77] Translated using Weblate (Polish) Currently translated at 98.2% (346 of 352 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/pl/ --- strings/pl.json | 1 + 1 file changed, 1 insertion(+) diff --git a/strings/pl.json b/strings/pl.json index ed5c8bb1..b451fb37 100644 --- a/strings/pl.json +++ b/strings/pl.json @@ -220,6 +220,7 @@ "LabelPublishedDate": "Opublikowano {0}", "LabelRSSFeedCustomOwnerEmail": "Własny email", "LabelRSSFeedCustomOwnerName": "Własna nazwa", + "LabelRSSFeedOpen": "Otwarty Kanał RSS", "LabelRSSFeedPreventIndexing": "Zapobiegaj indeksowaniu", "LabelRSSFeedSlug": "Numer Kanału RSS", "LabelRandomly": "Losowo", From 9792f4ebc11b3230cf52d40aef8fde053c7dea0e Mon Sep 17 00:00:00 2001 From: ugyes Date: Tue, 10 Jun 2025 22:25:12 +0200 Subject: [PATCH 48/77] Translated using Weblate (Hungarian) Currently translated at 100.0% (352 of 352 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/hu/ --- strings/hu.json | 1 + 1 file changed, 1 insertion(+) diff --git a/strings/hu.json b/strings/hu.json index d3f92000..49cb7162 100644 --- a/strings/hu.json +++ b/strings/hu.json @@ -220,6 +220,7 @@ "LabelPublishedDate": "Kiadva {0}", "LabelRSSFeedCustomOwnerEmail": "Egyéni tulajdonos e-mail", "LabelRSSFeedCustomOwnerName": "Egyéni tulajdonos neve", + "LabelRSSFeedOpen": "RSS-hírcsatorna nyitva", "LabelRSSFeedPreventIndexing": "Indexelés megakadályozása", "LabelRSSFeedSlug": "RSS hírcsatorna rövid cím", "LabelRandomly": "Véletlenszerűen", From 867dc69479687ec0e2d332c17be622ac343cbee9 Mon Sep 17 00:00:00 2001 From: petr-prikryl Date: Mon, 16 Jun 2025 11:53:58 +0200 Subject: [PATCH 49/77] Translated using Weblate (Czech) Currently translated at 99.1% (349 of 352 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/cs/ --- strings/cs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/strings/cs.json b/strings/cs.json index 10a660f6..5ab857c9 100644 --- a/strings/cs.json +++ b/strings/cs.json @@ -317,7 +317,7 @@ "MessageNoItems": "Žádné položky", "MessageNoItemsFound": "Nebyly nalezeny žádné položky", "MessageNoListeningSessions": "Žádné poslechové relace", - "MessageNoLogs": "Žádné logy", + "MessageNoLogs": "Žádné záznamy událostí", "MessageNoMediaFolders": "Žádné složky médií", "MessageNoNetworkConnection": "Žádné připojení k síti", "MessageNoPodcastsFound": "Nebyly nalezeny žádné podcasty", From 1eec470902b86b3492d57cfef0a0188f45b1806d Mon Sep 17 00:00:00 2001 From: biuklija Date: Mon, 16 Jun 2025 15:44:48 +0200 Subject: [PATCH 50/77] Translated using Weblate (Croatian) Currently translated at 100.0% (352 of 352 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/hr/ --- strings/hr.json | 1 + 1 file changed, 1 insertion(+) diff --git a/strings/hr.json b/strings/hr.json index 2a4fa35b..baa761be 100644 --- a/strings/hr.json +++ b/strings/hr.json @@ -220,6 +220,7 @@ "LabelPublishedDate": "Objavljeno {0}", "LabelRSSFeedCustomOwnerEmail": "Prilagođena adresa e-pošte vlasnika", "LabelRSSFeedCustomOwnerName": "Prilagođeno ime vlasnika", + "LabelRSSFeedOpen": "RSS izvor otvoren", "LabelRSSFeedPreventIndexing": "Onemogući indeksiranje", "LabelRSSFeedSlug": "Slug RSS izvora", "LabelRandomly": "Nasumično", From 0bf50de54d4c62dfb3c0cafc7c65418aaa2b103d Mon Sep 17 00:00:00 2001 From: Mathias Franco Date: Mon, 16 Jun 2025 09:36:09 +0200 Subject: [PATCH 51/77] Translated using Weblate (Dutch) Currently translated at 100.0% (352 of 352 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/nl/ --- strings/nl.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/strings/nl.json b/strings/nl.json index b1f50feb..cd4f0123 100644 --- a/strings/nl.json +++ b/strings/nl.json @@ -29,6 +29,7 @@ "ButtonLocalMedia": "Lokale Media", "ButtonLogs": "Log bestanden", "ButtonManageLocalFiles": "Beheer Lokale Bestanden", + "ButtonMaskServerAddress": "Server adres maskeren", "ButtonNewFolder": "Nieuwe map", "ButtonNextEpisode": "Volgende aflevering", "ButtonOk": "Akkoord", @@ -52,6 +53,7 @@ "ButtonStream": "Streamen", "ButtonSubmit": "Indienen", "ButtonSwitchServerUser": "Verwissel server/gebruiker", + "ButtonUnmaskServerAddress": "Ontmasker server adres", "ButtonUserStats": "Gebruiker statistieken", "ButtonYes": "Ja", "HeaderAccount": "Account", @@ -218,6 +220,7 @@ "LabelPublishedDate": "{0} gepubliceerd", "LabelRSSFeedCustomOwnerEmail": "Aangepast e-mailadres eigenaar", "LabelRSSFeedCustomOwnerName": "Aangepaste naam eigenaar", + "LabelRSSFeedOpen": "RSS Feed Open", "LabelRSSFeedPreventIndexing": "Voorkom indexering", "LabelRSSFeedSlug": "RSS-feed slug", "LabelRandomly": "Willekeurig", @@ -298,8 +301,10 @@ "MessageFetching": "Aan het ophalen...", "MessageFollowTheProjectOnGithub": "Volg dit project op Github", "MessageItemDownloadCompleteFailedToCreate": "Itemdownload voltooid, maar het aanmaken van een bibliotheekitem is mislukt", + "MessageItemMissing": "Item ontbreekt en moet opgelost worden op de server. Een item is typisch gemarkeerd als ontbrekend wanneer het file pad niet toegankelijk is.", "MessageLoading": "Aan het laden...", "MessageLoadingServerData": "Server data laden...", + "MessageLocalFolderDescription": "'Interne app-opslag' is alleen toegankelijk voor deze app. Deze app ondersteunt alleen media die rechtstreeks via de app is gedownload. Gedeelde opslagmappen kunnen worden gebruikt om andere apps toegang te geven tot media die door deze app zijn gedownload.", "MessageMarkAsFinished": "Markeer als Voltooid", "MessageMediaLinkedToADifferentServer": "Media is gekoppeld aan een Audiobookshelf-server op een ander adres ({0}). De voortgang wordt gesynchroniseerd wanneer er verbinding is met dit serveradres.", "MessageMediaLinkedToADifferentUser": "Media is gekoppeld aan deze server, maar is gedownload door een andere gebruiker. De voortgang wordt alleen gesynchroniseerd met de gebruiker die het heeft gedownload.", @@ -320,6 +325,7 @@ "MessageNoUpdatesWereNecessary": "Geen bijwerkingen waren noodzakelijk", "MessageNoUserPlaylists": "Je hebt geen afspeellijsten", "MessageOldServerConnectionWarning": "Server connectie configuratie gebruikt een oud user ID. Gelieve deze server connectie te verwijderen en opnieuw toe te voegen.", + "MessageOldServerConnectionWarningHelp": "U hebt de verbinding met deze server oorspronkelijk ingesteld vóór de databasemigratie in versie 2.3.0, uitgebracht in juni 2023. Een toekomstige serverupdate zal de mogelijkheid om in te loggen met deze oude verbinding verwijderen. Verwijder de bestaande serververbinding en maak opnieuw verbinding (met hetzelfde serveradres en dezelfde inloggegevens). Als u gedownloade media op dit apparaat hebt, moet u deze opnieuw downloaden om te synchroniseren met de server.", "MessagePodcastSearchField": "Zoekterm of RSS feed URL invullen", "MessageProgressSyncFailed": "De meest recente poging om je luistervoortgang aan de server te rapporteren is mislukt. Verzoeken om voortgangssynchronisatie worden nog steeds elke 15 seconden tot 1 minuut uitgevoerd terwijl de media wordt afgespeeld.", "MessageReportBugsAndContribute": "Rapporteer bugs, vraag functionaliteiten aan en draag bij op", From 7b5dc5262065b3bda7f3cb83d97c02cfec3fda97 Mon Sep 17 00:00:00 2001 From: B0rax Date: Thu, 19 Jun 2025 12:56:17 +0200 Subject: [PATCH 52/77] Translated using Weblate (German) Currently translated at 99.7% (351 of 352 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/de/ --- strings/de.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/strings/de.json b/strings/de.json index 69334761..e84cab27 100644 --- a/strings/de.json +++ b/strings/de.json @@ -28,7 +28,7 @@ "ButtonLibrary": "Bibliothek", "ButtonLocalMedia": "Lokale Medien", "ButtonLogs": "Protokolle", - "ButtonManageLocalFiles": "Verwalte lokale Dateien", + "ButtonManageLocalFiles": "Lokale Dateien verwalten", "ButtonMaskServerAddress": "Server Adresse verstecken", "ButtonNewFolder": "Neuer Ordner", "ButtonNextEpisode": "Nächste Episode", @@ -52,7 +52,7 @@ "ButtonSetTimer": "Setze Timer", "ButtonStream": "Streamen", "ButtonSubmit": "Ok", - "ButtonSwitchServerUser": "Wechsle Server/Benutzer", + "ButtonSwitchServerUser": "Server/Benutzer wechseln", "ButtonUnmaskServerAddress": "Server Adresse anzeigen", "ButtonUserStats": "Nutzerstatistiken", "ButtonYes": "Ja", From ae1dce455d2dd18b285e4af91bb9f3ac25e683e5 Mon Sep 17 00:00:00 2001 From: burghy86 Date: Wed, 18 Jun 2025 10:57:36 +0200 Subject: [PATCH 53/77] Translated using Weblate (Italian) Currently translated at 100.0% (352 of 352 strings) Translation: Audiobookshelf/Abs Mobile App Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-mobile-app/it/ --- strings/it.json | 1 + 1 file changed, 1 insertion(+) diff --git a/strings/it.json b/strings/it.json index 4fce1994..d0185f91 100644 --- a/strings/it.json +++ b/strings/it.json @@ -220,6 +220,7 @@ "LabelPublishedDate": "Pubblicati {0}", "LabelRSSFeedCustomOwnerEmail": "E-mail del proprietario personalizzato", "LabelRSSFeedCustomOwnerName": "Nome del proprietario personalizzato", + "LabelRSSFeedOpen": "Feed RSS aperto", "LabelRSSFeedPreventIndexing": "Impedisci l'indicizzazione", "LabelRSSFeedSlug": "Parole chiave del flusso RSS", "LabelRandomly": "Casualmente", From 3f21b4172ba9c53c40fb138146b2dd21e2fc24fc Mon Sep 17 00:00:00 2001 From: NickSkier Date: Fri, 20 Jun 2025 01:05:46 +0300 Subject: [PATCH 54/77] Add: UI Black/OLED theme --- assets/tailwind.css | 19 +++++++++++++++++++ pages/settings.vue | 4 ++++ 2 files changed, 23 insertions(+) diff --git a/assets/tailwind.css b/assets/tailwind.css index 08764ff9..2ecc8dfe 100644 --- a/assets/tailwind.css +++ b/assets/tailwind.css @@ -22,6 +22,25 @@ --gradient-minimized-audio-player: linear-gradient(145deg, rgba(38, 38, 38, 0.5) 0%, rgba(38, 38, 38, 0.9) 20%, rgb(38, 38, 38) 60%); } + html[data-theme='black'] { + color: white; + --color-bg: 0 0 0; + --color-bg-hover: 0 0 0; + --color-fg: 230 237 243; + --color-fg-muted: 120 126 132; + --color-primary: 0 0 0; + --color-secondary: 0 0 0; + --color-border: 55 62 65; + --color-bg-toggle: 0 0 0; + --color-bg-toggle-selected: 35 35 35; + --color-track-cursor: 229 231 235; + --color-track: 107 114 128; + --color-track-buffered: 75 85 99; + --gradient-item-page: rgb(0, 0, 0); + --gradient-audio-player: rgb(0, 0, 0); + --gradient-minimized-audio-player: rgb(0, 0, 0); + } + html[data-theme='light'] { color: black; --color-bg: 255 255 255; diff --git a/pages/settings.vue b/pages/settings.vue index 660d6a6a..63357548 100644 --- a/pages/settings.vue +++ b/pages/settings.vue @@ -363,6 +363,10 @@ export default { }, themeOptionItems() { return [ + { + text: this.$strings.LabelThemeBlack, + value: 'black' + }, { text: this.$strings.LabelThemeDark, value: 'dark' From 616cf9029dea495bff5a19ccbb76020dcda5ffd2 Mon Sep 17 00:00:00 2001 From: advplyr Date: Fri, 20 Jun 2025 16:51:19 -0500 Subject: [PATCH 55/77] Fix audio player colors for black theme --- components/app/AudioPlayer.vue | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/components/app/AudioPlayer.vue b/components/app/AudioPlayer.vue index b7747f2c..7684fb90 100644 --- a/components/app/AudioPlayer.vue +++ b/components/app/AudioPlayer.vue @@ -4,15 +4,15 @@
- keyboard_arrow_down + keyboard_arrow_down
- {{ isCasting ? 'cast_connected' : 'cast' }} + {{ isCasting ? 'cast_connected' : 'cast' }}
- more_vert + more_vert
-

{{ isDirectPlayMethod ? $strings.LabelPlaybackDirect : isLocalPlayMethod ? $strings.LabelPlaybackLocal : $strings.LabelPlaybackTranscode }}

+

{{ isDirectPlayMethod ? $strings.LabelPlaybackDirect : isLocalPlayMethod ? $strings.LabelPlaybackLocal : $strings.LabelPlaybackTranscode }}

@@ -182,6 +182,9 @@ export default { } }, computed: { + theme() { + return document.documentElement.dataset.theme || 'dark' + }, menuItems() { const items = [] // TODO: Implement on iOS From a77f3455968e080b492707cbdc0d757a6a085136 Mon Sep 17 00:00:00 2001 From: advplyr Date: Sun, 22 Jun 2025 17:36:09 -0500 Subject: [PATCH 56/77] Update create bookmark to not autofocus input and leave empty with placeholder --- components/modals/BookmarksModal.vue | 18 ++++++------------ components/ui/TextInput.vue | 6 +++++- components/ui/TextInputWithLabel.vue | 9 +++++++-- 3 files changed, 18 insertions(+), 15 deletions(-) diff --git a/components/modals/BookmarksModal.vue b/components/modals/BookmarksModal.vue index 5d91bcf8..edd93356 100644 --- a/components/modals/BookmarksModal.vue +++ b/components/modals/BookmarksModal.vue @@ -17,7 +17,7 @@

{{ this.$secondsToTimestamp(currentTime / _playbackRate) }}

- +
{{ selectedBookmark ? 'Update' : 'Create' }}
@@ -93,6 +93,10 @@ export default { } }, methods: { + bookmarkPlaceholder() { + // using a method prevents caching the date + return this.$formatDate(Date.now(), 'MMM dd, yyyy HH:mm') + }, editBookmark(bm) { this.selectedBookmark = bm this.newBookmarkTitle = bm.title @@ -157,18 +161,8 @@ export default { }, createBookmark() { this.selectedBookmark = null - this.newBookmarkTitle = this.$formatDate(Date.now(), 'MMM dd, yyyy HH:mm') + this.newBookmarkTitle = '' this.showBookmarkTitleInput = true - - // Auto focus the input and select the text - this.$nextTick(() => { - if (this.$refs.noteInput?.$refs.input?.$refs.input) { - this.$refs.noteInput.$refs.input.$refs.input.focus() - setTimeout(() => { - this.$refs.noteInput?.$refs.input?.$refs.input?.select() - }, 10) - } - }) }, async submitBookmark() { await this.$hapticsImpact() diff --git a/components/ui/TextInput.vue b/components/ui/TextInput.vue index 942a97e5..600f77ee 100644 --- a/components/ui/TextInput.vue +++ b/components/ui/TextInput.vue @@ -1,6 +1,6 @@