From 84f99370eee07ae5975443e4f71335d82a9e1d9e Mon Sep 17 00:00:00 2001 From: advplyr Date: Fri, 21 Mar 2025 17:53:17 -0500 Subject: [PATCH 01/32] Update audio file scanner to support multiple series in series/series-part tags separated by semicolon if they match #4136 --- server/scanner/AudioFileScanner.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/server/scanner/AudioFileScanner.js b/server/scanner/AudioFileScanner.js index 73324b72..2ba4230d 100644 --- a/server/scanner/AudioFileScanner.js +++ b/server/scanner/AudioFileScanner.js @@ -308,6 +308,27 @@ class AudioFileScanner { bookMetadata.series = series } } else { + // Detect if multiple series are in the series & series-part tags. + // Note: This requires that every series has a sequence and that they are separated by a semicolon. + if (value.includes(';') && audioFileMetaTags.tagSeriesPart?.includes(';')) { + const seriesSplit = value + .split(';') + .map((s) => s.trim()) + .filter(Boolean) + const seriesSequenceSplit = audioFileMetaTags.tagSeriesPart + .split(';') + .map((s) => s.trim()) + .filter(Boolean) + if (seriesSplit.length > 1 && seriesSplit.length === seriesSequenceSplit.length) { + bookMetadata.series = seriesSplit.map((series, index) => ({ + name: series, + sequence: seriesSequenceSplit[index] || null + })) + libraryScan.addLog(LogLevel.DEBUG, `Detected multiple series in series/series-part tags: ${bookMetadata.series.map((s) => `${s.name} #${s.sequence}`).join(', ')}`) + return + } + } + // Original embed used "series" and "series-part" tags bookMetadata.series = [ { From 006af2d616efb8c20439a547e3d7084c1dafddf4 Mon Sep 17 00:00:00 2001 From: advplyr Date: Sun, 23 Mar 2025 18:00:29 -0500 Subject: [PATCH 02/32] Add translations for bulk editor #4017 --- client/pages/batch/index.vue | 6 +++--- client/strings/en-us.json | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/client/pages/batch/index.vue b/client/pages/batch/index.vue index 575f1db1..9bad9ca5 100644 --- a/client/pages/batch/index.vue +++ b/client/pages/batch/index.vue @@ -380,7 +380,7 @@ export default { const ref = this.getEditFormRef(li.id) ref.mapBatchDetails(batchMapPayload, this.mapDetailsType) }) - this.$toast.success('Details mapped') + this.$toast.success(this.$strings.ToastBatchApplyDetailsToItemsSuccess) }, newSeriesItem(item) {}, removedSeriesItem(item) {}, @@ -452,7 +452,7 @@ export default { this.isProcessing = false if (data.updates) { this.itemsWithChanges = [] - this.$toast.success(`Successfully updated ${data.updates} items`) + this.$toast.success(this.$getString('MessageItemsUpdated', [data.updates])) this.$router.replace(`/library/${this.currentLibraryId}/bookshelf`) } else { this.$toast.warning(this.$strings.MessageNoUpdatesWereNecessary) @@ -460,7 +460,7 @@ export default { }) .catch((error) => { console.error('failed to batch update', error) - this.$toast.error('Failed to batch update') + this.$toast.error(this.$strings.ToastFailedToUpdate) this.isProcessing = false }) }, diff --git a/client/strings/en-us.json b/client/strings/en-us.json index cdc65228..4d0c6ec4 100644 --- a/client/strings/en-us.json +++ b/client/strings/en-us.json @@ -777,8 +777,8 @@ "MessageForceReScanDescription": "will scan all files again like a fresh scan. Audio file ID3 tags, OPF files, and text files will be scanned as new.", "MessageImportantNotice": "Important Notice!", "MessageInsertChapterBelow": "Insert chapter below", - "MessageItemsSelected": "{0} Items Selected", - "MessageItemsUpdated": "{0} Items Updated", + "MessageItemsSelected": "{0} items selected", + "MessageItemsUpdated": "{0} items updated", "MessageJoinUsOn": "Join us on", "MessageLoading": "Loading...", "MessageLoadingFolders": "Loading folders...", @@ -953,6 +953,7 @@ "ToastBackupRestoreFailed": "Failed to restore backup", "ToastBackupUploadFailed": "Failed to upload backup", "ToastBackupUploadSuccess": "Backup uploaded", + "ToastBatchApplyDetailsToItemsSuccess": "Details applied to items", "ToastBatchDeleteFailed": "Batch delete failed", "ToastBatchDeleteSuccess": "Batch delete success", "ToastBatchQuickMatchFailed": "Batch Quick Match failed!", From ec4f275d526c2b7c2083085d853b36f8836c8468 Mon Sep 17 00:00:00 2001 From: advplyr Date: Sun, 23 Mar 2025 18:09:59 -0500 Subject: [PATCH 03/32] Remove tooltip for re-scan in item modal, add missing translations #4017 --- client/components/modals/item/tabs/Details.vue | 4 +--- client/components/modals/podcast/EpisodeFeed.vue | 2 +- client/components/widgets/SeriesInputWidget.vue | 2 +- client/pages/upload/index.vue | 3 +-- client/strings/en-us.json | 2 ++ 5 files changed, 6 insertions(+), 7 deletions(-) diff --git a/client/components/modals/item/tabs/Details.vue b/client/components/modals/item/tabs/Details.vue index 48b97088..2765ae2e 100644 --- a/client/components/modals/item/tabs/Details.vue +++ b/client/components/modals/item/tabs/Details.vue @@ -11,9 +11,7 @@ {{ $strings.ButtonQuickMatch }} - - {{ $strings.ButtonReScan }} - + {{ $strings.ButtonReScan }}
diff --git a/client/components/modals/podcast/EpisodeFeed.vue b/client/components/modals/podcast/EpisodeFeed.vue index 167344bc..c3556faf 100644 --- a/client/components/modals/podcast/EpisodeFeed.vue +++ b/client/components/modals/podcast/EpisodeFeed.vue @@ -42,7 +42,7 @@
{{ buttonText }} -

All episodes are downloaded

+

{{ $strings.LabelAllEpisodesDownloaded }}

diff --git a/client/components/widgets/SeriesInputWidget.vue b/client/components/widgets/SeriesInputWidget.vue index 1d8b64fe..916b108d 100644 --- a/client/components/widgets/SeriesInputWidget.vue +++ b/client/components/widgets/SeriesInputWidget.vue @@ -81,7 +81,7 @@ export default { var existingSeriesSameName = this.seriesItems.findIndex((se) => se.name.toLowerCase() === this.selectedSeries.name.toLowerCase()) if (existingSeriesSameName >= 0 && existingSeriesIndex < 0) { console.error('Attempt to add duplicate series') - this.$toast.error('Cannot add two of the same series') + this.$toast.error(this.$strings.ToastSeriesSubmitFailedSameName) return } diff --git a/client/pages/upload/index.vue b/client/pages/upload/index.vue index 441ce88e..7fd74b78 100644 --- a/client/pages/upload/index.vue +++ b/client/pages/upload/index.vue @@ -54,8 +54,7 @@
-

{{ items.length }} item{{ items.length === 1 ? '' : 's' }}

-

 | {{ ignoredFiles.length }} file{{ ignoredFiles.length === 1 ? '' : 's' }} ignored

+

{{ items.length === 1 ? `1 ${$strings.LabelItem}` : $getString('LabelXItems', [items.length]) }}

{{ $strings.ButtonReset }}
diff --git a/client/strings/en-us.json b/client/strings/en-us.json index 4d0c6ec4..c67c1630 100644 --- a/client/strings/en-us.json +++ b/client/strings/en-us.json @@ -229,6 +229,7 @@ "LabelAddedDate": "Added {0}", "LabelAdminUsersOnly": "Admin users only", "LabelAll": "All", + "LabelAllEpisodesDownloaded": "All episodes downloaded", "LabelAllUsers": "All Users", "LabelAllUsersExcludingGuests": "All users excluding guests", "LabelAllUsersIncludingGuests": "All users including guests", @@ -1066,6 +1067,7 @@ "ToastSelectAtLeastOneUser": "Select at least one user", "ToastSendEbookToDeviceFailed": "Failed to send ebook to device", "ToastSendEbookToDeviceSuccess": "Ebook sent to device \"{0}\"", + "ToastSeriesSubmitFailedSameName": "Cannot add two series with the same name", "ToastSeriesUpdateFailed": "Series update failed", "ToastSeriesUpdateSuccess": "Series update success", "ToastServerSettingsUpdateSuccess": "Server settings updated", From e16d3d72b69cb3ed547643cb7ae8f822327966cd Mon Sep 17 00:00:00 2001 From: advplyr Date: Mon, 24 Mar 2025 18:01:38 -0500 Subject: [PATCH 04/32] Fix uploader check if item already exists in a subdirectory #4146 --- client/pages/upload/index.vue | 8 +++- client/strings/en-us.json | 2 + server/controllers/FileSystemController.js | 45 ++++++++++++++++++++-- 3 files changed, 49 insertions(+), 6 deletions(-) diff --git a/client/pages/upload/index.vue b/client/pages/upload/index.vue index 7fd74b78..39955181 100644 --- a/client/pages/upload/index.vue +++ b/client/pages/upload/index.vue @@ -362,10 +362,14 @@ export default { for (const item of items) { const filepath = Path.join(this.selectedFolder.fullPath, item.directory) const exists = await this.$axios - .$post(`/api/filesystem/pathexists`, { filepath }) + .$post(`/api/filesystem/pathexists`, { filepath, directory: item.directory, folderPath: this.selectedFolder.fullPath }) .then((data) => { if (data.exists) { - this.$toast.error(`Filepath "${filepath}" already exists on server`) + if (data.libraryItemTitle) { + this.$toast.error(this.$getString('ToastUploaderItemExistsInSubdirectoryError', [data.libraryItemTitle])) + } else { + this.$toast.error(this.$getString('ToastUploaderFilepathExistsError', [filepath])) + } } return data.exists }) diff --git a/client/strings/en-us.json b/client/strings/en-us.json index c67c1630..636e3019 100644 --- a/client/strings/en-us.json +++ b/client/strings/en-us.json @@ -1086,6 +1086,8 @@ "ToastUnknownError": "Unknown error", "ToastUnlinkOpenIdFailed": "Failed to unlink user from OpenID", "ToastUnlinkOpenIdSuccess": "User unlinked from OpenID", + "ToastUploaderFilepathExistsError": "Filepath \"{0}\" already exists on server", + "ToastUploaderItemExistsInSubdirectoryError": "Item \"{0}\" is using a subdirectory of the upload path.", "ToastUserDeleteFailed": "Failed to delete user", "ToastUserDeleteSuccess": "User deleted", "ToastUserPasswordChangeSuccess": "Password changed successfully", diff --git a/server/controllers/FileSystemController.js b/server/controllers/FileSystemController.js index e923c495..d0b190a4 100644 --- a/server/controllers/FileSystemController.js +++ b/server/controllers/FileSystemController.js @@ -4,6 +4,7 @@ const Logger = require('../Logger') const fs = require('../libs/fsExtra') const { toNumber } = require('../utils/index') const fileUtils = require('../utils/fileUtils') +const Database = require('../Database') /** * @typedef RequestUserObject @@ -87,14 +88,50 @@ class FileSystemController { return res.sendStatus(403) } - const filepath = req.body.filepath - if (!filepath?.length) { + const { filepath, directory, folderPath } = req.body + + if (!filepath?.length || typeof filepath !== 'string') { return res.sendStatus(400) } const exists = await fs.pathExists(filepath) - res.json({ - exists + + if (exists) { + return res.json({ + exists: true + }) + } + + // If directory and folderPath are passed in, check if a library item exists in a subdirectory + // See: https://github.com/advplyr/audiobookshelf/issues/4146 + if (typeof directory === 'string' && typeof folderPath === 'string' && directory.length > 0 && folderPath.length > 0) { + const cleanedDirectory = directory.split('/').filter(Boolean).join('/') + if (cleanedDirectory.includes('/')) { + // Can only be 2 levels deep + const possiblePaths = [] + const subdir = Path.dirname(directory) + possiblePaths.push(fileUtils.filePathToPOSIX(Path.join(folderPath, subdir))) + if (subdir.includes('/')) { + possiblePaths.push(fileUtils.filePathToPOSIX(Path.join(folderPath, Path.dirname(subdir)))) + } + + const libraryItem = await Database.libraryItemModel.findOne({ + where: { + path: possiblePaths + } + }) + + if (libraryItem) { + return res.json({ + exists: true, + libraryItemTitle: libraryItem.title + }) + } + } + } + + return res.json({ + exists: false }) } } From af50fabdbf31d5549b5d9d521cecdd0710c1b7d2 Mon Sep 17 00:00:00 2001 From: peter cerny Date: Mon, 17 Mar 2025 21:23:38 +0100 Subject: [PATCH 05/32] Translated using Weblate (Slovak) Currently translated at 16.3% (178 of 1090 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/sk/ --- client/strings/sk.json | 91 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 89 insertions(+), 2 deletions(-) diff --git a/client/strings/sk.json b/client/strings/sk.json index ed13e9a4..ef719116 100644 --- a/client/strings/sk.json +++ b/client/strings/sk.json @@ -12,12 +12,12 @@ "ButtonBack": "Späť", "ButtonBatchEditPopulateFromExisting": "Vytvoriť z existujúcej", "ButtonBatchEditPopulateMapDetails": "Vyplniť detaily na mape", - "ButtonBrowseForFolder": "Prehľadávať adresáre", + "ButtonBrowseForFolder": "Prehľadávať priečinky", "ButtonCancel": "Zrušiť", "ButtonCancelEncode": "Zrušiť kódovanie", "ButtonChangeRootPassword": "Zmeniť Root heslo", "ButtonCheckAndDownloadNewEpisodes": "Skontrolovať a stiahnuť nové epizódy", - "ButtonChooseAFolder": "Vyberte adresár", + "ButtonChooseAFolder": "Vyberte priečinok", "ButtonChooseFiles": "Vyberte súbory", "ButtonClearFilter": "Zrušiť filter", "ButtonCloseFeed": "Zatvoriť zdroj", @@ -88,6 +88,93 @@ "ButtonSaveTracklist": "Uložiť zoznam", "ButtonScan": "Skenovať", "ButtonScanLibrary": "Skenovať knižnicu", + "ButtonScrollLeft": "Doľava", + "ButtonScrollRight": "Doprava", + "ButtonSearch": "Vyhľadávanie", + "ButtonSelectFolderPath": "Vybrať umiestnenie priečinku", + "ButtonSeries": "Série", + "ButtonSetChaptersFromTracks": "Nastaviť kapitoly podľa stôp", + "ButtonShare": "Zdieľať", + "ButtonShiftTimes": "Posunúť začiatky kapitol", + "ButtonShow": "Zobraziť", + "ButtonStartM4BEncode": "Spustiť prekódovanie na M4B", + "ButtonStartMetadataEmbed": "Vložiť metadáta", + "ButtonStats": "Štatistiky", + "ButtonSubmit": "Odoslať", + "ButtonTest": "Test", + "ButtonUnlinkOpenId": "Odhlásiť OpenID", + "ButtonUpload": "Nahrať", + "ButtonUploadBackup": "Nahrať zálohu", + "ButtonUploadCover": "Nahrať obal", + "ButtonUploadOPMLFile": "Nahrať súbor OPML", + "ButtonUserDelete": "Odstrániť užívateľa {0}", + "ButtonUserEdit": "Upraviť užívateľa {0}", + "ButtonViewAll": "Zobraziť všetko", + "ButtonYes": "Áno", + "ErrorUploadFetchMetadataAPI": "Chyba pri sťahovaní metadát", + "ErrorUploadFetchMetadataNoResults": "Metadáta sa nenašli - skúste upraviť názov a/alebo autora", + "ErrorUploadLacksTitle": "Musí mať názov", + "HeaderAccount": "Účet", + "HeaderAddCustomMetadataProvider": "Pridať vastný zdroj metadát", + "HeaderAdvanced": "Pokročilé", + "HeaderAppriseNotificationSettings": "Nastavenie Apprise notifikácií", + "HeaderAudioTracks": "Zvukové stopy", + "HeaderAudiobookTools": "Nástroje na správu súborov audiokníh", + "HeaderAuthentication": "Overenie", + "HeaderBackups": "Zálohy", + "HeaderChangePassword": "Zmeniť heslo", + "HeaderChapters": "Kapitoly", + "HeaderChooseAFolder": "Vybrať priečinok", + "HeaderCollection": "Zbierka", + "HeaderCollectionItems": "Položky zbierky", + "HeaderCover": "Obal", + "HeaderCurrentDownloads": "Aktuálne sťahovanie", + "HeaderCustomMessageOnLogin": "Vlastné privítanie pri prihlásení", + "HeaderCustomMetadataProviders": "Vlastné zdroje metadát", + "HeaderDetails": "Podrobnosti", + "HeaderDownloadQueue": "Poradie sťahovania", + "HeaderEbookFiles": "Súbory e-kníh", + "HeaderEmail": "E-mail", + "HeaderEmailSettings": "Nastavenie e-mailu", + "HeaderEpisodes": "Epizódy", + "HeaderEreaderDevices": "Čítačky e-kníh", + "HeaderEreaderSettings": "Nastavenia čítačky", + "HeaderFiles": "Súbory", + "HeaderFindChapters": "Nájsť kapitoly", + "HeaderIgnoredFiles": "Ignorované súbory", + "HeaderItemFiles": "Položka Súbory", + "HeaderItemMetadataUtils": "Položka Nástroje metadát", + "HeaderLatestEpisodes": "Najnovšie epizódy", + "HeaderLibraries": "Knižnice", + "HeaderLibraryFiles": "Súbory knižnice", + "HeaderLibraryStats": "Štatistiky knižnice", + "HeaderListeningStats": "Štatistiky počúvania", + "HeaderLogin": "Prihlásenie", + "HeaderLogs": "Záznamy udalostí", + "HeaderManageGenres": "Spravovať žánre", + "HeaderManageTags": "Spravovať štítky", "HeaderMatch": "Spárovať", + "HeaderMetadataToEmbed": "Metadáta na vloženie", + "HeaderNewAccount": "Nový účet", + "HeaderNewLibrary": "Nová knižnica", + "HeaderNotificationCreate": "Vytvoriť notifikáciu", + "HeaderNotificationUpdate": "Aktualizovať notifikáciu", + "HeaderNotifications": "Notifikácie", + "HeaderOpenIDConnectAuthentication": "Overenie pripojenia OpenID", + "HeaderOpenRSSFeed": "Otvoriť RSS zdroj", + "HeaderOtherFiles": "Ostatné súbory", + "HeaderPasswordAuthentication": "Overenie heslom", + "HeaderPermissions": "Povolenia", + "HeaderPlayerQueue": "Poradie prehrávania", + "HeaderPlayerSettings": "Nastavenia prehrávania", + "HeaderPlaylist": "Playlist", + "HeaderPlaylistItems": "Položky playlistu", + "HeaderPodcastsToAdd": "Podcasty na pridanie", + "HeaderPreviewCover": "Ukážka obalu", + "HeaderRSSFeedGeneral": "Detaily RSS", + "HeaderRSSFeedIsOpen": "RSS zdroj je otvorený", + "HeaderRSSFeeds": "RSS zdroje", + "HeaderRemoveEpisode": "Odstrániť epizódu", + "HeaderRemoveEpisodes": "Odstrániť {0} epizód", "LabelBackupsNumberToKeepHelp": "Týmto spôsobom odstránite vždy iba jednu zálohu. V prípade, ak chcete odtrániť viacero záloh, mali by ste ich odstrániť manuálne." } From 6760fa34989562bd7650f199732f6aa1420006e1 Mon Sep 17 00:00:00 2001 From: Jan-Eric Myhrgren Date: Thu, 20 Mar 2025 06:59:42 +0100 Subject: [PATCH 06/32] Translated using Weblate (Swedish) Currently translated at 94.6% (1032 of 1090 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/sv/ --- client/strings/sv.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/client/strings/sv.json b/client/strings/sv.json index 57af5df3..68c730f6 100644 --- a/client/strings/sv.json +++ b/client/strings/sv.json @@ -164,6 +164,7 @@ "HeaderNotificationUpdate": "Uppdateringsnotis", "HeaderNotifications": "Meddelanden", "HeaderOpenIDConnectAuthentication": "OpenID Connect Autentisering", + "HeaderOpenListeningSessions": "Öppna lyssningstillfällen", "HeaderOpenRSSFeed": "Öppna RSS-flöde", "HeaderOtherFiles": "Andra filer", "HeaderPasswordAuthentication": "Lösenordsautentisering", @@ -429,7 +430,7 @@ "LabelMetadataProvider": "Källa för metadata", "LabelMinute": "Minut", "LabelMinutes": "Minuter", - "LabelMissing": "Saknad", + "LabelMissing": "Saknar", "LabelMissingEbook": "Saknar e-bok", "LabelMissingSupplementaryEbook": "Saknar kompletterande e-bok", "LabelMore": "Mer", From de2efda5776a301dc6a7d1870825b0be9cca86e4 Mon Sep 17 00:00:00 2001 From: peter cerny Date: Thu, 20 Mar 2025 11:52:15 +0100 Subject: [PATCH 07/32] Translated using Weblate (Slovak) Currently translated at 16.8% (184 of 1090 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/sk/ --- client/strings/sk.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/client/strings/sk.json b/client/strings/sk.json index ef719116..769a52ec 100644 --- a/client/strings/sk.json +++ b/client/strings/sk.json @@ -32,6 +32,8 @@ "ButtonEditChapters": "Upraviť kapitoly", "ButtonEditPodcast": "Upraviť podcast", "ButtonEnable": "Povoliť", + "ButtonFireAndFail": "Fire and Fail", + "ButtonFireOnTest": "Fire onTest udalosť", "ButtonForceReScan": "Vynútiť preskenovanie", "ButtonFullPath": "Zobraziť cestu", "ButtonHide": "Skryť", @@ -144,16 +146,19 @@ "HeaderIgnoredFiles": "Ignorované súbory", "HeaderItemFiles": "Položka Súbory", "HeaderItemMetadataUtils": "Položka Nástroje metadát", + "HeaderLastListeningSession": "Posledné pripojenie", "HeaderLatestEpisodes": "Najnovšie epizódy", "HeaderLibraries": "Knižnice", "HeaderLibraryFiles": "Súbory knižnice", "HeaderLibraryStats": "Štatistiky knižnice", + "HeaderListeningSessions": "Pripojenia", "HeaderListeningStats": "Štatistiky počúvania", "HeaderLogin": "Prihlásenie", "HeaderLogs": "Záznamy udalostí", "HeaderManageGenres": "Spravovať žánre", "HeaderManageTags": "Spravovať štítky", "HeaderMatch": "Spárovať", + "HeaderMetadataOrderOfPrecedence": "Metadáta pravidiel poradia", "HeaderMetadataToEmbed": "Metadáta na vloženie", "HeaderNewAccount": "Nový účet", "HeaderNewLibrary": "Nová knižnica", @@ -161,6 +166,7 @@ "HeaderNotificationUpdate": "Aktualizovať notifikáciu", "HeaderNotifications": "Notifikácie", "HeaderOpenIDConnectAuthentication": "Overenie pripojenia OpenID", + "HeaderOpenListeningSessions": "Aktívne pripojenia", "HeaderOpenRSSFeed": "Otvoriť RSS zdroj", "HeaderOtherFiles": "Ostatné súbory", "HeaderPasswordAuthentication": "Overenie heslom", From 9edc8b4d2179238ee3d59d784b73d6c366d64219 Mon Sep 17 00:00:00 2001 From: Jan-Eric Myhrgren Date: Thu, 20 Mar 2025 13:50:45 +0100 Subject: [PATCH 08/32] Translated using Weblate (Swedish) Currently translated at 94.6% (1032 of 1090 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/sv/ --- client/strings/sv.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/strings/sv.json b/client/strings/sv.json index 68c730f6..7871e57d 100644 --- a/client/strings/sv.json +++ b/client/strings/sv.json @@ -71,8 +71,8 @@ "ButtonQuickMatch": "Snabbmatchning", "ButtonReScan": "Ny skanning", "ButtonRead": "Läs", - "ButtonReadLess": "Läs mindre", - "ButtonReadMore": "Läs mer", + "ButtonReadLess": "Visa mindre", + "ButtonReadMore": "Visa mer", "ButtonRefresh": "Uppdatera", "ButtonRemove": "Ta bort", "ButtonRemoveAll": "Ta bort alla", From ae65c7d650c4a0696544cbd0ad9adf1ab02de7ba Mon Sep 17 00:00:00 2001 From: Adolfo Jayme Barrientos Date: Fri, 21 Mar 2025 02:48:45 +0100 Subject: [PATCH 09/32] Translated using Weblate (Spanish) Currently translated at 99.2% (1082 of 1090 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/es/ --- client/strings/es.json | 94 ++++++++++++++++++++++-------------------- 1 file changed, 50 insertions(+), 44 deletions(-) diff --git a/client/strings/es.json b/client/strings/es.json index 3ca765c3..98db061d 100644 --- a/client/strings/es.json +++ b/client/strings/es.json @@ -1,16 +1,16 @@ { - "ButtonAdd": "Agregar", - "ButtonAddChapters": "Agregar", - "ButtonAddDevice": "Agregar Dispositivo", - "ButtonAddLibrary": "Crear Biblioteca", - "ButtonAddPodcasts": "Agregar Podcasts", - "ButtonAddUser": "Crear Usuario", - "ButtonAddYourFirstLibrary": "Crea tu Primera Biblioteca", + "ButtonAdd": "Añadir", + "ButtonAddChapters": "Añadir capítulos", + "ButtonAddDevice": "Añadir dispositivo", + "ButtonAddLibrary": "Añadir biblioteca", + "ButtonAddPodcasts": "Añadir pódcast", + "ButtonAddUser": "Añadir usuario", + "ButtonAddYourFirstLibrary": "Añada su primera biblioteca", "ButtonApply": "Aplicar", - "ButtonApplyChapters": "Aplicar Capítulos", + "ButtonApplyChapters": "Aplicar capítulos", "ButtonAuthors": "Autores", "ButtonBack": "Atrás", - "ButtonBrowseForFolder": "Buscar por Carpeta", + "ButtonBrowseForFolder": "Buscar carpeta", "ButtonCancel": "Cancelar", "ButtonCancelEncode": "Cancelar Codificador", "ButtonChangeRootPassword": "Cambiar Contraseña Root", @@ -18,7 +18,7 @@ "ButtonChooseAFolder": "Escoger una Carpeta", "ButtonChooseFiles": "Escoger un Archivo", "ButtonClearFilter": "Quitar filtros", - "ButtonCloseFeed": "Cerrar fuente", + "ButtonCloseFeed": "Cerrar suministro", "ButtonCloseSession": "Cerrar la sesión abierta", "ButtonCollections": "Colecciones", "ButtonConfigureScanner": "Configurar Escáner", @@ -52,7 +52,7 @@ "ButtonNextChapter": "Siguiente Capítulo", "ButtonNextItemInQueue": "El siguiente elemento en cola", "ButtonOk": "Bueno", - "ButtonOpenFeed": "Abrir fuente", + "ButtonOpenFeed": "Abrir suministro", "ButtonOpenManager": "Abrir Editor", "ButtonPause": "Pausar", "ButtonPlay": "Reproducir", @@ -105,7 +105,7 @@ "ButtonUnlinkOpenId": "Desvincular OpenID", "ButtonUpload": "Subir", "ButtonUploadBackup": "Subir Respaldo", - "ButtonUploadCover": "Subir Portada", + "ButtonUploadCover": "Cargar cubierta", "ButtonUploadOPMLFile": "Cargar archivo OPML", "ButtonUserDelete": "Eliminar Usuario {0}", "ButtonUserEdit": "Editar Usuario {0}", @@ -127,7 +127,7 @@ "HeaderChooseAFolder": "Escoger una Carpeta", "HeaderCollection": "Colección", "HeaderCollectionItems": "Elementos en la colección", - "HeaderCover": "Portada", + "HeaderCover": "Cubierta", "HeaderCurrentDownloads": "Descargando Actualmente", "HeaderCustomMessageOnLogin": "Mensaje personalizado al iniciar sesión", "HeaderCustomMetadataProviders": "Proveedores de metadatos personalizados", @@ -166,8 +166,8 @@ "HeaderNotifications": "Notificaciones", "HeaderOpenIDConnectAuthentication": "Autenticación OpenID Connect", "HeaderOpenListeningSessions": "Sesiones públicas de escucha", - "HeaderOpenRSSFeed": "Abrir fuente RSS", - "HeaderOtherFiles": "Otros Archivos", + "HeaderOpenRSSFeed": "Abrir suministro RSS", + "HeaderOtherFiles": "Otros archivos", "HeaderPasswordAuthentication": "Autenticación por contraseña", "HeaderPermissions": "Permisos", "HeaderPlayerQueue": "Fila del Reproductor", @@ -175,10 +175,10 @@ "HeaderPlaylist": "Lista de reproducción", "HeaderPlaylistItems": "Elementos de lista de reproducción", "HeaderPodcastsToAdd": "Podcasts para agregar", - "HeaderPreviewCover": "Vista Previa de Portada", + "HeaderPreviewCover": "Previsualizar cubierta", "HeaderRSSFeedGeneral": "Detalles RSS", - "HeaderRSSFeedIsOpen": "Fuente RSS está abierta", - "HeaderRSSFeeds": "Fuentes RSS", + "HeaderRSSFeedIsOpen": "El suministro RSS está abierto", + "HeaderRSSFeeds": "Suministros RSS", "HeaderRemoveEpisode": "Remover Episodio", "HeaderRemoveEpisodes": "Remover {0} Episodios", "HeaderSavedMediaProgress": "Guardar Progreso de Multimedia", @@ -217,6 +217,7 @@ "LabelAccountTypeAdmin": "Administrador", "LabelAccountTypeGuest": "Invitado", "LabelAccountTypeUser": "Usuario", + "LabelActivities": "Actividades", "LabelActivity": "Actividad", "LabelAddToCollection": "Añadido a la Colección", "LabelAddToCollectionBatch": "Se Añadieron {0} Libros a la Colección", @@ -249,8 +250,8 @@ "LabelBackToUser": "Regresar a Usuario", "LabelBackupAudioFiles": "Copia de seguridad de archivos de audio", "LabelBackupLocation": "Ubicación del Respaldo", - "LabelBackupsEnableAutomaticBackups": "Habilitar Respaldo Automático", - "LabelBackupsEnableAutomaticBackupsHelp": "Respaldo Guardado en /metadata/backups", + "LabelBackupsEnableAutomaticBackups": "Copias de respaldo automáticas", + "LabelBackupsEnableAutomaticBackupsHelp": "Respaldos guardados en /metadata/backups", "LabelBackupsMaxBackupSize": "Tamaño máximo de copia de seguridad (en GB) (0 para ilimitado)", "LabelBackupsMaxBackupSizeHelp": "Como protección contra una configuración errónea, los respaldos fallarán si se excede el tamaño configurado.", "LabelBackupsNumberToKeep": "Numero de respaldos para conservar", @@ -279,8 +280,9 @@ "LabelContinueListening": "Seguir escuchando", "LabelContinueReading": "Continuar leyendo", "LabelContinueSeries": "Continuar series", - "LabelCover": "Portada", - "LabelCoverImageURL": "URL de Imagen de Portada", + "LabelCover": "Cubierta", + "LabelCoverImageURL": "URL de imagen de cubierta", + "LabelCoverProvider": "Proveedor de cubiertas", "LabelCreatedAt": "Creado", "LabelCronExpression": "Expresión de Cron", "LabelCurrent": "Actual", @@ -292,15 +294,15 @@ "LabelDescription": "Descripción", "LabelDeselectAll": "Deseleccionar Todos", "LabelDevice": "Dispositivo", - "LabelDeviceInfo": "Información de Dispositivo", + "LabelDeviceInfo": "Información del dispositivo", "LabelDeviceIsAvailableTo": "El dispositivo está disponible para...", "LabelDirectory": "Directorio", - "LabelDiscFromFilename": "Disco a partir del Nombre del Archivo", - "LabelDiscFromMetadata": "Disco a partir de Metadata", + "LabelDiscFromFilename": "Disco a partir del nombre de archivo", + "LabelDiscFromMetadata": "Disco a partir de metadatos", "LabelDiscover": "Descubrir", "LabelDownload": "Descargar", "LabelDownloadNEpisodes": "Descargar {0} episodios", - "LabelDownloadable": "Descarregable", + "LabelDownloadable": "Descargable", "LabelDuration": "Duración", "LabelDurationComparisonExactMatch": "(coincidencia exacta)", "LabelDurationComparisonLonger": "({0} más largo)", @@ -344,7 +346,7 @@ "LabelExplicitChecked": "Explícito (marcado)", "LabelExplicitUnchecked": "No Explícito (sin marcar)", "LabelExportOPML": "Exportar OPML", - "LabelFeedURL": "Fuente de URL", + "LabelFeedURL": "URL del suministro", "LabelFetchingMetadata": "Obteniendo metadatos", "LabelFile": "Archivo", "LabelFileBirthtime": "Archivo creado en", @@ -358,10 +360,10 @@ "LabelFolder": "Carpeta", "LabelFolders": "Carpetas", "LabelFontBold": "Negrilla", - "LabelFontBoldness": "Nivel de negrilla en fuente", + "LabelFontBoldness": "Peso tipográfico", "LabelFontFamily": "Familia tipográfica", "LabelFontItalic": "Itálica", - "LabelFontScale": "Tamaño de fuente", + "LabelFontScale": "Escala de letra", "LabelFontStrikethrough": "Tachado", "LabelFormat": "Formato", "LabelFull": "Completo", @@ -389,6 +391,7 @@ "LabelIntervalEvery6Hours": "Cada 6 Horas", "LabelIntervalEveryDay": "Cada Día", "LabelIntervalEveryHour": "Cada Hora", + "LabelIntervalEveryMinute": "Cada minuto", "LabelInvert": "Invertir", "LabelItem": "Elemento", "LabelJumpBackwardAmount": "Cantidad de saltos hacia atrás", @@ -446,15 +449,15 @@ "LabelNewPassword": "Nueva Contraseña", "LabelNewestAuthors": "Autores más recientes", "LabelNewestEpisodes": "Episodios más recientes", - "LabelNextBackupDate": "Fecha del Siguiente Respaldo", - "LabelNextScheduledRun": "Próxima Ejecución Programada", + "LabelNextBackupDate": "Fecha del siguiente respaldo", + "LabelNextScheduledRun": "Próxima ejecución programada", "LabelNoCustomMetadataProviders": "Sin proveedores de metadatos personalizados", "LabelNoEpisodesSelected": "Ningún Episodio Seleccionado", "LabelNotFinished": "No terminado", "LabelNotStarted": "Sin iniciar", "LabelNotes": "Notas", "LabelNotificationAppriseURL": "URL(s) de Apprise", - "LabelNotificationAvailableVariables": "Variables Disponibles", + "LabelNotificationAvailableVariables": "Variables disponibles", "LabelNotificationBodyTemplate": "Plantilla de Cuerpo", "LabelNotificationEvent": "Evento de Notificación", "LabelNotificationTitleTemplate": "Plantilla de Titulo", @@ -462,12 +465,12 @@ "LabelNotificationsMaxFailedAttemptsHelp": "Las notificaciones se desactivan después de fallar este número de veces", "LabelNotificationsMaxQueueSize": "Tamaño máximo de la cola de notificaciones", "LabelNotificationsMaxQueueSizeHelp": "Las notificaciones están limitadas a 1 por segundo. Las notificaciones serán ignoradas si llegan al numero máximo de cola para prevenir spam de eventos.", - "LabelNumberOfBooks": "Numero de Libros", - "LabelNumberOfEpisodes": "# de Episodios", + "LabelNumberOfBooks": "Número de libros", + "LabelNumberOfEpisodes": "N.º de episodios", "LabelOpenIDAdvancedPermsClaimDescription": "Nombre de la notificación de OpenID que contiene permisos avanzados para acciones de usuario dentro de la aplicación que se aplicarán a roles que no sean de administrador (si están configurados). Si el reclamo no aparece en la respuesta, se denegará el acceso a ABS. Si falta una sola opción, se tratará como falsa. Asegúrese de que la notificación del proveedor de identidades coincida con la estructura esperada:", "LabelOpenIDClaims": "Deje las siguientes opciones vacías para deshabilitar la asignación avanzada de grupos y permisos, lo que asignaría de manera automática al grupo 'Usuario'.", "LabelOpenIDGroupClaimDescription": "Nombre de la declaración OpenID que contiene una lista de grupos del usuario. Comúnmente conocidos como grupos. Si se configura, la aplicación asignará automáticamente roles en función de la pertenencia a grupos del usuario, siempre que estos grupos se denominen \"admin\", \"user\" o \"guest\" en la notificación. La solicitud debe contener una lista, y si un usuario pertenece a varios grupos, la aplicación asignará el rol correspondiente al mayor nivel de acceso. Si ningún grupo coincide, se denegará el acceso.", - "LabelOpenRSSFeed": "Abrir Fuente RSS", + "LabelOpenRSSFeed": "Abrir suministro RSS", "LabelOverwrite": "Sobrescribir", "LabelPaginationPageXOfY": "Página {0} de {1}", "LabelPassword": "Contraseña", @@ -484,6 +487,7 @@ "LabelPersonalYearReview": "Revisión de tu año ({0})", "LabelPhotoPathURL": "Ruta de Acceso/URL de Foto", "LabelPlayMethod": "Método de Reproducción", + "LabelPlaybackRateIncrementDecrement": "Cantidad de aumento/reducción de tasa de reproducción", "LabelPlayerChapterNumberMarker": "{0} de {1}", "LabelPlaylists": "Lista de Reproducción", "LabelPodcast": "Podcast", @@ -492,7 +496,7 @@ "LabelPodcasts": "Podcasts", "LabelPort": "Puerto", "LabelPrefixesToIgnore": "Prefijos para Ignorar (no distingue entre mayúsculas y minúsculas.)", - "LabelPreventIndexing": "Evite que su fuente sea indexada por los directorios de podcasts de iTunes y Google", + "LabelPreventIndexing": "Evite que los directorios de pódcast de iTunes y Google indicen su suministro", "LabelPrimaryEbook": "Ebook principal", "LabelProgress": "Progreso", "LabelProvider": "Proveedor", @@ -506,10 +510,10 @@ "LabelPublishers": "Editores", "LabelRSSFeedCustomOwnerEmail": "Correo electrónico de dueño personalizado", "LabelRSSFeedCustomOwnerName": "Nombre de dueño personalizado", - "LabelRSSFeedOpen": "Fuente RSS Abierta", + "LabelRSSFeedOpen": "Suministro RSS abierto", "LabelRSSFeedPreventIndexing": "Prevenir indexado", - "LabelRSSFeedSlug": "Fuente RSS Slug", - "LabelRSSFeedURL": "URL de Fuente RSS", + "LabelRSSFeedSlug": "«Slug» de suministro RSS", + "LabelRSSFeedURL": "URL de suministro RSS", "LabelRandomly": "Aleatorio", "LabelReAddSeriesToContinueListening": "Volver a agregar la serie para continuar escuchándola", "LabelRead": "Leído", @@ -552,6 +556,8 @@ "LabelSettingsBookshelfViewHelp": "Diseño Esqueuomorfo con Estantes de Madera", "LabelSettingsChromecastSupport": "Soporte para Chromecast", "LabelSettingsDateFormat": "Formato de Fecha", + "LabelSettingsEnableWatcher": "Buscar cambios automáticamente en las bibliotecas", + "LabelSettingsEnableWatcherForLibrary": "Buscar cambios automáticamente en la biblioteca", "LabelSettingsEnableWatcherHelp": "Permite agregar/actualizar elementos automáticamente cuando se detectan cambios en los archivos. *Requiere reiniciar el servidor", "LabelSettingsEpubsAllowScriptedContent": "Permitir scripts en epubs", "LabelSettingsEpubsAllowScriptedContentHelp": "Permitir que los archivos epub ejecuten scripts. Se recomienda mantener esta opción desactivada a menos que confíe en el origen de los archivos epub.", @@ -584,7 +590,7 @@ "LabelSettingsStoreMetadataWithItemHelp": "Por defecto, los archivos de metadatos se almacenan en /metadata/items. Si habilita esta opción, los archivos de metadatos se guardarán en la carpeta de elementos de su biblioteca", "LabelSettingsTimeFormat": "Formato de Tiempo", "LabelShare": "Compartir", - "LabelShareDownloadableHelp": "Permet als usuaris amb l'enllaç compartit descarregar un arxiu zip amb l'item de la llibreria.", + "LabelShareDownloadableHelp": "Permite a quienes posean el enlace de compartición descargar un archivo ZIP del elemento de la biblioteca.", "LabelShareOpen": "abrir un recurso compartido", "LabelShareURL": "Compartir la URL", "LabelShowAll": "Mostrar Todos", @@ -701,7 +707,7 @@ "MessageBackupsLocationPathEmpty": "La ruta de la copia de seguridad no puede estar vacía", "MessageBatchQuickMatchDescription": "\"Encontrar Rápido\" tratará de agregar portadas y metadatos faltantes de los elementos seleccionados. Habilite la opción de abajo para que \"Encontrar Rápido\" pueda sobrescribir portadas y/o metadatos existentes.", "MessageBookshelfNoCollections": "No tienes ninguna colección", - "MessageBookshelfNoRSSFeeds": "Ninguna Fuente RSS esta abierta", + "MessageBookshelfNoRSSFeeds": "Ningún suministro RSS está abierto", "MessageBookshelfNoResultsForFilter": "Ningún Resultado para el filtro \"{0}: {1}\"", "MessageBookshelfNoResultsForQuery": "No hay resultados para la consulta", "MessageBookshelfNoSeries": "No tienes ninguna serie", @@ -711,13 +717,13 @@ "MessageChapterErrorStartLtPrev": "El tiempo de inicio no es válido: debe ser mayor o igual que el tiempo de inicio del capítulo anterior", "MessageChapterStartIsAfter": "El comienzo del capítulo es después del final de su audiolibro", "MessageCheckingCron": "Revisando cron...", - "MessageConfirmCloseFeed": "Está seguro de que desea cerrar esta fuente?", + "MessageConfirmCloseFeed": "¿Confirma que quiere cerrar este suministro?", "MessageConfirmDeleteBackup": "¿Está seguro de que desea eliminar el respaldo {0}?", "MessageConfirmDeleteDevice": "¿Estás seguro de que deseas eliminar el lector electrónico \"{0}\"?", "MessageConfirmDeleteFile": "Esto eliminará el archivo de su sistema de archivos. ¿Está seguro?", "MessageConfirmDeleteLibrary": "¿Está seguro de que desea eliminar permanentemente la biblioteca \"{0}\"?", - "MessageConfirmDeleteLibraryItem": "Esto removerá la librería de la base de datos y archivos en tu sistema. ¿Estás seguro?", - "MessageConfirmDeleteLibraryItems": "Esto removerá {0} elemento(s) de la librería en base de datos y archivos en tu sistema. ¿Estás seguro?", + "MessageConfirmDeleteLibraryItem": "Esto eliminará el elemento de la biblioteca de la base de datos y del sistema de archivos. ¿Confirma que quiere hacerlo?", + "MessageConfirmDeleteLibraryItems": "Esto eliminará {0} elementos de la biblioteca de la base de datos y del sistema de archivos. ¿Confirma que quiere hacerlo?", "MessageConfirmDeleteMetadataProvider": "¿Estás seguro de que deseas eliminar el proveedor de metadatos personalizado \"{0}\"?", "MessageConfirmDeleteNotification": "¿Estás seguro de que deseas eliminar esta notificación?", "MessageConfirmDeleteSession": "¿Está seguro de que desea eliminar esta sesión?", From 45f7ceeef6835c72a6cd224753fa797688edebce Mon Sep 17 00:00:00 2001 From: Adolfo Jayme Barrientos Date: Fri, 21 Mar 2025 04:16:18 +0100 Subject: [PATCH 10/32] Translated using Weblate (Spanish) Currently translated at 99.2% (1082 of 1090 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/es/ --- client/strings/es.json | 220 ++++++++++++++++++++--------------------- 1 file changed, 110 insertions(+), 110 deletions(-) diff --git a/client/strings/es.json b/client/strings/es.json index 98db061d..fd5db881 100644 --- a/client/strings/es.json +++ b/client/strings/es.json @@ -13,8 +13,8 @@ "ButtonBrowseForFolder": "Buscar carpeta", "ButtonCancel": "Cancelar", "ButtonCancelEncode": "Cancelar Codificador", - "ButtonChangeRootPassword": "Cambiar Contraseña Root", - "ButtonCheckAndDownloadNewEpisodes": "Verificar y Descargar Nuevos Episodios", + "ButtonChangeRootPassword": "Cambiar contraseña administrativa", + "ButtonCheckAndDownloadNewEpisodes": "Comprobar y descargar episodios nuevos", "ButtonChooseAFolder": "Escoger una Carpeta", "ButtonChooseFiles": "Escoger un Archivo", "ButtonClearFilter": "Quitar filtros", @@ -23,27 +23,27 @@ "ButtonCollections": "Colecciones", "ButtonConfigureScanner": "Configurar Escáner", "ButtonCreate": "Crear", - "ButtonCreateBackup": "Crear Respaldo", + "ButtonCreateBackup": "Crear respaldo", "ButtonDelete": "Eliminar", - "ButtonDownloadQueue": "Fila", + "ButtonDownloadQueue": "Cola", "ButtonEdit": "Editar", - "ButtonEditChapters": "Editar Capítulo", - "ButtonEditPodcast": "Editar Podcast", + "ButtonEditChapters": "Editar capítulos", + "ButtonEditPodcast": "Editar pódcast", "ButtonEnable": "Permitir", "ButtonFireAndFail": "Ejecutado y fallido", "ButtonFireOnTest": "Activar evento de prueba", "ButtonForceReScan": "Forzar Re-Escaneo", - "ButtonFullPath": "Ruta de Acceso Completa", - "ButtonHide": "Esconder", + "ButtonFullPath": "Ruta completa", + "ButtonHide": "Ocultar", "ButtonHome": "Inicio", "ButtonIssues": "Problemas", "ButtonJumpBackward": "Retroceder", "ButtonJumpForward": "Adelantar", - "ButtonLatest": "Últimos", + "ButtonLatest": "Más recientes", "ButtonLibrary": "Biblioteca", - "ButtonLogout": "Cerrar Sesión", + "ButtonLogout": "Salir", "ButtonLookup": "Buscar", - "ButtonManageTracks": "Administrar Pistas de Audio", + "ButtonManageTracks": "Gestionar pistas", "ButtonMapChapterTitles": "Asignar Títulos a Capítulos", "ButtonMatchAllAuthors": "Encontrar Todos los Autores", "ButtonMatchBooks": "Encontrar Libros", @@ -51,9 +51,9 @@ "ButtonNext": "Siguiente", "ButtonNextChapter": "Siguiente Capítulo", "ButtonNextItemInQueue": "El siguiente elemento en cola", - "ButtonOk": "Bueno", + "ButtonOk": "Aceptar", "ButtonOpenFeed": "Abrir suministro", - "ButtonOpenManager": "Abrir Editor", + "ButtonOpenManager": "Abrir gestor", "ButtonPause": "Pausar", "ButtonPlay": "Reproducir", "ButtonPlayAll": "Reproducir todo", @@ -62,10 +62,10 @@ "ButtonPrevious": "Anterior", "ButtonPreviousChapter": "Capítulo Anterior", "ButtonProbeAudioFile": "Examinar archivo de audio", - "ButtonPurgeAllCache": "Purgar Todo el Cache", - "ButtonPurgeItemsCache": "Purgar Elementos de Cache", - "ButtonQueueAddItem": "Agregar a la Fila", - "ButtonQueueRemoveItem": "Remover de la Fila", + "ButtonPurgeAllCache": "Purgar toda la antememoria", + "ButtonPurgeItemsCache": "Purgar antememoria de elementos", + "ButtonQueueAddItem": "Añadir a la cola", + "ButtonQueueRemoveItem": "Quitar de la cola", "ButtonQuickEmbed": "Inserción rápida", "ButtonQuickEmbedMetadata": "Agregue metadatos rápidamente", "ButtonQuickMatch": "Encontrar Rápido", @@ -73,25 +73,25 @@ "ButtonRead": "Leer", "ButtonReadLess": "Leer menos", "ButtonReadMore": "Leer más", - "ButtonRefresh": "Refrecar", - "ButtonRemove": "Remover", - "ButtonRemoveAll": "Remover Todos", - "ButtonRemoveAllLibraryItems": "Remover Todos los Elementos de la Biblioteca", + "ButtonRefresh": "Actualizar", + "ButtonRemove": "Quitar", + "ButtonRemoveAll": "Quitar todo", + "ButtonRemoveAllLibraryItems": "Quitar todos los elementos de la biblioteca", "ButtonRemoveFromContinueListening": "Remover de Continuar Escuchando", "ButtonRemoveFromContinueReading": "Remover de Continuar Leyendo", "ButtonRemoveSeriesFromContinueSeries": "Remover Serie de Continuar Series", - "ButtonReset": "Reiniciar", - "ButtonResetToDefault": "Restaurar valores por defecto", + "ButtonReset": "Restablecer", + "ButtonResetToDefault": "Restaurar valores predeterminados", "ButtonRestore": "Restaurar", "ButtonSave": "Guardar", - "ButtonSaveAndClose": "Guardar y Cerrar", - "ButtonSaveTracklist": "Guardar Tracklist", + "ButtonSaveAndClose": "Guardar y cerrar", + "ButtonSaveTracklist": "Guardar lista de pistas", "ButtonScan": "Escanear", "ButtonScanLibrary": "Escanear Biblioteca", "ButtonScrollLeft": "Desplazarse hacia la izquierda", "ButtonScrollRight": "Desplazarse hacia la derecha", "ButtonSearch": "Buscar", - "ButtonSelectFolderPath": "Seleccionar Ruta de Carpeta", + "ButtonSelectFolderPath": "Seleccionar ruta de carpeta", "ButtonSeries": "Series", "ButtonSetChaptersFromTracks": "Seleccionar Capítulos Según las Pistas", "ButtonShare": "Compartir", @@ -103,33 +103,33 @@ "ButtonSubmit": "Enviar", "ButtonTest": "Prueba", "ButtonUnlinkOpenId": "Desvincular OpenID", - "ButtonUpload": "Subir", - "ButtonUploadBackup": "Subir Respaldo", + "ButtonUpload": "Cargar", + "ButtonUploadBackup": "Cargar respaldo", "ButtonUploadCover": "Cargar cubierta", "ButtonUploadOPMLFile": "Cargar archivo OPML", - "ButtonUserDelete": "Eliminar Usuario {0}", - "ButtonUserEdit": "Editar Usuario {0}", - "ButtonViewAll": "Ver Todos", + "ButtonUserDelete": "Eliminar usuario {0}", + "ButtonUserEdit": "Editar usuario {0}", + "ButtonViewAll": "Ver todo", "ButtonYes": "Sí", - "ErrorUploadFetchMetadataAPI": "Error obteniendo metadatos", - "ErrorUploadFetchMetadataNoResults": "No se pudo obtener metadatos - Intenta actualizar el título y/o autor", - "ErrorUploadLacksTitle": "Se debe tener título", + "ErrorUploadFetchMetadataAPI": "Error al recuperar los metadatos", + "ErrorUploadFetchMetadataNoResults": "No se pudieron recuperar los metadatos; pruebe a actualizar el título o autor", + "ErrorUploadLacksTitle": "Debe tener título", "HeaderAccount": "Cuenta", - "HeaderAddCustomMetadataProvider": "Agregar proveedor de metadatos personalizado", + "HeaderAddCustomMetadataProvider": "Añadir proveedor de metadatos personalizado", "HeaderAdvanced": "Avanzado", - "HeaderAppriseNotificationSettings": "Ajustes de Notificaciones de Apprise", + "HeaderAppriseNotificationSettings": "Configuración de notificaciones de Apprise", "HeaderAudioTracks": "Pistas de audio", "HeaderAudiobookTools": "Herramientas de Gestión de Archivos de Audiolibro", "HeaderAuthentication": "Autenticación", "HeaderBackups": "Respaldos", - "HeaderChangePassword": "Cambiar Contraseña", + "HeaderChangePassword": "Cambiar contraseña", "HeaderChapters": "Capítulos", "HeaderChooseAFolder": "Escoger una Carpeta", "HeaderCollection": "Colección", "HeaderCollectionItems": "Elementos en la colección", "HeaderCover": "Cubierta", - "HeaderCurrentDownloads": "Descargando Actualmente", - "HeaderCustomMessageOnLogin": "Mensaje personalizado al iniciar sesión", + "HeaderCurrentDownloads": "Descargas actuales", + "HeaderCustomMessageOnLogin": "Mensaje personalizado al acceder", "HeaderCustomMetadataProviders": "Proveedores de metadatos personalizados", "HeaderDetails": "Detalles", "HeaderDownloadQueue": "Lista de Descarga", @@ -138,7 +138,7 @@ "HeaderEmailSettings": "Opciones de Email", "HeaderEpisodes": "Episodios", "HeaderEreaderDevices": "Dispositivos Ereader", - "HeaderEreaderSettings": "Ajustes del lector", + "HeaderEreaderSettings": "Configuración del lector", "HeaderFiles": "Elemento", "HeaderFindChapters": "Buscar Capitulo", "HeaderIgnoredFiles": "Ignorar Elemento", @@ -171,10 +171,10 @@ "HeaderPasswordAuthentication": "Autenticación por contraseña", "HeaderPermissions": "Permisos", "HeaderPlayerQueue": "Fila del Reproductor", - "HeaderPlayerSettings": "Ajustes del reproductor", + "HeaderPlayerSettings": "Configuración del reproductor", "HeaderPlaylist": "Lista de reproducción", "HeaderPlaylistItems": "Elementos de lista de reproducción", - "HeaderPodcastsToAdd": "Podcasts para agregar", + "HeaderPodcastsToAdd": "Pódcast para añadir", "HeaderPreviewCover": "Previsualizar cubierta", "HeaderRSSFeedGeneral": "Detalles RSS", "HeaderRSSFeedIsOpen": "El suministro RSS está abierto", @@ -248,11 +248,11 @@ "LabelAutoRegister": "Registro automático", "LabelAutoRegisterDescription": "Crear usuarios automáticamente tras iniciar sesión", "LabelBackToUser": "Regresar a Usuario", - "LabelBackupAudioFiles": "Copia de seguridad de archivos de audio", + "LabelBackupAudioFiles": "Respaldar archivos de audio", "LabelBackupLocation": "Ubicación del Respaldo", "LabelBackupsEnableAutomaticBackups": "Copias de respaldo automáticas", "LabelBackupsEnableAutomaticBackupsHelp": "Respaldos guardados en /metadata/backups", - "LabelBackupsMaxBackupSize": "Tamaño máximo de copia de seguridad (en GB) (0 para ilimitado)", + "LabelBackupsMaxBackupSize": "Tamaño máximo de copia de respaldo (en GB) (0 para ilimitado)", "LabelBackupsMaxBackupSizeHelp": "Como protección contra una configuración errónea, los respaldos fallarán si se excede el tamaño configurado.", "LabelBackupsNumberToKeep": "Numero de respaldos para conservar", "LabelBackupsNumberToKeepHelp": "Solamente 1 respaldo se removerá a la vez. Si tiene mas respaldos guardados, debe removerlos manualmente.", @@ -314,15 +314,15 @@ "LabelEmail": "Correo electrónico", "LabelEmailSettingsFromAddress": "Remitente", "LabelEmailSettingsRejectUnauthorized": "Rechazar certificados no autorizados", - "LabelEmailSettingsRejectUnauthorizedHelp": "Deshabilitar la validación de certificados SSL puede exponer tu conexión a riesgos de seguridad, como ataques man-in-the-middle. Desactiva esta opción sólo si conoces las implicaciones y confias en el servidor de correo al que te conectas.", + "LabelEmailSettingsRejectUnauthorizedHelp": "Desactivar la validación de certificados SSL puede exponer su conexión a riesgos de seguridad, como los ataques por intermediario. Desactive esta opción solo si conoce las implicaciones y confía en el servidor de correo al que se conecta.", "LabelEmailSettingsSecure": "Seguridad", "LabelEmailSettingsSecureHelp": "Si está activado, se usará TLS para conectarse al servidor. Si está apagado, se usará TLS si su servidor tiene soporte para la extensión STARTTLS. En la mayoría de los casos, puede dejar esta opción activada si se está conectando al puerto 465. Apáguela en el caso de usar los puertos 587 o 25. (de nodemailer.com/smtp/#authentication)", - "LabelEmailSettingsTestAddress": "Probar Dirección", - "LabelEmbeddedCover": "Portada Integrada", - "LabelEnable": "Habilitar", - "LabelEncodingBackupLocation": "Se guardará una copia de seguridad de tus archivos de audio originales en:", + "LabelEmailSettingsTestAddress": "Probar dirección", + "LabelEmbeddedCover": "Cubierta incrustada", + "LabelEnable": "Activar", + "LabelEncodingBackupLocation": "Se guardará una copia de respaldo de sus archivos de audio originales en:", "LabelEncodingChaptersNotEmbedded": "Los capítulos no se incrustan en los audiolibros multipista.", - "LabelEncodingClearItemCache": "Asegúrese de purgar periódicamente la caché.", + "LabelEncodingClearItemCache": "Asegúrese de purgar periódicamente la antememoria de elementos.", "LabelEncodingFinishedM4B": "El M4B terminado se colocará en su carpeta de audiolibros en:", "LabelEncodingInfoEmbedded": "Los metadatos se integrarán en las pistas de audio dentro de la carpeta de audiolibros.", "LabelEncodingStartedNavigation": "Una vez iniciada la tarea, puedes salir de esta página.", @@ -333,16 +333,16 @@ "LabelEndOfChapter": "Fin del capítulo", "LabelEpisode": "Episodio", "LabelEpisodeNotLinkedToRssFeed": "Episodio no enlazado al feed RSS", - "LabelEpisodeNumber": "Episodio #{0}", - "LabelEpisodeTitle": "Titulo de Episodio", - "LabelEpisodeType": "Tipo de Episodio", - "LabelEpisodeUrlFromRssFeed": "URL del episodio del feed RSS", + "LabelEpisodeNumber": "Episodio n.º {0}", + "LabelEpisodeTitle": "Título de episodio", + "LabelEpisodeType": "Tipo de episodio", + "LabelEpisodeUrlFromRssFeed": "URL de episodio del suministro RSS", "LabelEpisodes": "Episodios", - "LabelEpisodic": "Episodios", + "LabelEpisodic": "Episódico", "LabelExample": "Ejemplo", "LabelExpandSeries": "Ampliar serie", "LabelExpandSubSeries": "Expandir la subserie", - "LabelExplicit": "Explicito", + "LabelExplicit": "Explícito", "LabelExplicitChecked": "Explícito (marcado)", "LabelExplicitUnchecked": "No Explícito (sin marcar)", "LabelExportOPML": "Exportar OPML", @@ -476,24 +476,24 @@ "LabelPassword": "Contraseña", "LabelPath": "Ruta de carpeta", "LabelPermanent": "Permanente", - "LabelPermissionsAccessAllLibraries": "Puede Accesar a Todas las bibliotecas", - "LabelPermissionsAccessAllTags": "Pueda Accesar a Todas las Etiquetas", - "LabelPermissionsAccessExplicitContent": "Puede Accesar a Contenido Explicito", - "LabelPermissionsCreateEreader": "Puede crear un gestor de proyectos", - "LabelPermissionsDelete": "Puede Eliminar", - "LabelPermissionsDownload": "Puede Descargar", - "LabelPermissionsUpdate": "Puede Actualizar", - "LabelPermissionsUpload": "Puede Subir", - "LabelPersonalYearReview": "Revisión de tu año ({0})", - "LabelPhotoPathURL": "Ruta de Acceso/URL de Foto", - "LabelPlayMethod": "Método de Reproducción", + "LabelPermissionsAccessAllLibraries": "Puede acceder a todas las bibliotecas", + "LabelPermissionsAccessAllTags": "Puede acceder a todas las etiquetas", + "LabelPermissionsAccessExplicitContent": "Puede acceder a contenido explícito", + "LabelPermissionsCreateEreader": "Puede crear un lector", + "LabelPermissionsDelete": "Puede eliminar", + "LabelPermissionsDownload": "Puede descargar", + "LabelPermissionsUpdate": "Puede actualizar", + "LabelPermissionsUpload": "Puede cargar", + "LabelPersonalYearReview": "Revisión de su año ({0})", + "LabelPhotoPathURL": "Ruta/URL de foto", + "LabelPlayMethod": "Método de reproducción", "LabelPlaybackRateIncrementDecrement": "Cantidad de aumento/reducción de tasa de reproducción", "LabelPlayerChapterNumberMarker": "{0} de {1}", - "LabelPlaylists": "Lista de Reproducción", - "LabelPodcast": "Podcast", - "LabelPodcastSearchRegion": "Región de búsqueda de podcasts", - "LabelPodcastType": "Tipo Podcast", - "LabelPodcasts": "Podcasts", + "LabelPlaylists": "Listas de reproducción", + "LabelPodcast": "Pódcast", + "LabelPodcastSearchRegion": "Región de búsqueda de pódcast", + "LabelPodcastType": "Tipo de pódcast", + "LabelPodcasts": "Pódcast", "LabelPort": "Puerto", "LabelPrefixesToIgnore": "Prefijos para Ignorar (no distingue entre mayúsculas y minúsculas.)", "LabelPreventIndexing": "Evite que los directorios de pódcast de iTunes y Google indicen su suministro", @@ -518,34 +518,34 @@ "LabelReAddSeriesToContinueListening": "Volver a agregar la serie para continuar escuchándola", "LabelRead": "Leído", "LabelReadAgain": "Volver a leer", - "LabelReadEbookWithoutProgress": "Leer Ebook sin guardar progreso", - "LabelRecentSeries": "Series Recientes", - "LabelRecentlyAdded": "Agregado Recientemente", + "LabelReadEbookWithoutProgress": "Leer libro electrónico sin guardar progreso", + "LabelRecentSeries": "Series recientes", + "LabelRecentlyAdded": "Añadidos recientemente", "LabelRecommended": "Recomendados", "LabelRedo": "Rehacer", "LabelRegion": "Región", - "LabelReleaseDate": "Fecha de Estreno", + "LabelReleaseDate": "Fecha de estreno", "LabelRemoveAllMetadataAbs": "Eliminar todos los archivos metadata.abs", "LabelRemoveAllMetadataJson": "Eliminar todos los archivos metadata.json", - "LabelRemoveCover": "Remover Portada", + "LabelRemoveCover": "Quitar cubierta", "LabelRemoveMetadataFile": "Eliminar archivos de metadatos en carpetas de elementos de biblioteca", "LabelRemoveMetadataFileHelp": "Elimine todos los archivos metadata.json y metadata.abs de sus carpetas {0}.", "LabelRowsPerPage": "Filas por página", - "LabelSearchTerm": "Buscar Termino", - "LabelSearchTitle": "Buscar Titulo", - "LabelSearchTitleOrASIN": "Buscar Título o ASIN", + "LabelSearchTerm": "Buscar término", + "LabelSearchTitle": "Buscar título", + "LabelSearchTitleOrASIN": "Buscar título o ASIN", "LabelSeason": "Temporada", "LabelSeasonNumber": "Sesión #{0}", "LabelSelectAll": "Seleccionar todo", "LabelSelectAllEpisodes": "Seleccionar todos los episodios", "LabelSelectEpisodesShowing": "Seleccionar los {0} episodios visibles", "LabelSelectUsers": "Seleccionar usuarios", - "LabelSendEbookToDevice": "Enviar Ebook a...", + "LabelSendEbookToDevice": "Enviar libro electrónico a...", "LabelSequence": "Secuencia", "LabelSerial": "Serial", - "LabelSeries": "Series", - "LabelSeriesName": "Nombre de la Serie", - "LabelSeriesProgress": "Progreso de la Serie", + "LabelSeries": "Serie", + "LabelSeriesName": "Nombre de la serie", + "LabelSeriesProgress": "Progreso de la serie", "LabelServerLogLevel": "Nivel de registro del servidor", "LabelServerYearReview": "Resumen del año del servidor ({0})", "LabelSetEbookAsPrimary": "Establecer como primario", @@ -554,7 +554,7 @@ "LabelSettingsAudiobooksOnly": "Sólo Audiolibros", "LabelSettingsAudiobooksOnlyHelp": "Al activar esta opción se ignorarán los archivos de ebook a menos de que estén dentro de la carpeta de un audiolibro, en cuyo caso se marcarán como ebooks suplementarios", "LabelSettingsBookshelfViewHelp": "Diseño Esqueuomorfo con Estantes de Madera", - "LabelSettingsChromecastSupport": "Soporte para Chromecast", + "LabelSettingsChromecastSupport": "Compatibilidad con Chromecast", "LabelSettingsDateFormat": "Formato de Fecha", "LabelSettingsEnableWatcher": "Buscar cambios automáticamente en las bibliotecas", "LabelSettingsEnableWatcherForLibrary": "Buscar cambios automáticamente en la biblioteca", @@ -563,8 +563,8 @@ "LabelSettingsEpubsAllowScriptedContentHelp": "Permitir que los archivos epub ejecuten scripts. Se recomienda mantener esta opción desactivada a menos que confíe en el origen de los archivos epub.", "LabelSettingsExperimentalFeatures": "Funciones Experimentales", "LabelSettingsExperimentalFeaturesHelp": "Funciones en desarrollo que se beneficiarían de sus comentarios y experiencias de prueba. Haga click aquí para abrir una conversación en Github.", - "LabelSettingsFindCovers": "Buscar Portadas", - "LabelSettingsFindCoversHelp": "Si tu audiolibro no tiene una portada incluída, o la portada no esta dentro de la carpeta, el escaneador tratará de encontrar una portada.
Nota: Esto extenderá el tiempo de escaneo", + "LabelSettingsFindCovers": "Encontrar cubiertas", + "LabelSettingsFindCoversHelp": "Si su audiolibro no tiene una cubierta incrustada, o esta no se encuentra en la carpeta, el escaneador tratará de encontrar una cubierta.
Nota: esto prolongará el tiempo de escaneo", "LabelSettingsHideSingleBookSeries": "Esconder series con un solo libro", "LabelSettingsHideSingleBookSeriesHelp": "Las series con un solo libro no aparecerán en la página de series ni la repisa para series de la página principal.", "LabelSettingsHomePageBookshelfView": "Usar la vista de librero en la página principal", @@ -582,9 +582,9 @@ "LabelSettingsSkipMatchingBooksWithISBN": "Omitir libros coincidentes que ya tengan un ISBN", "LabelSettingsSortingIgnorePrefixes": "Ignorar prefijos al ordenar", "LabelSettingsSortingIgnorePrefixesHelp": "Es decir, para el prefijo \"el\" título del libro, \"El título del libro\" se ordenaría como \"Título del libro, El\"", - "LabelSettingsSquareBookCovers": "Usar portadas cuadradas", - "LabelSettingsSquareBookCoversHelp": "Prefierir usar portadas cuadradas sobre las portadas estándar 1.6:1", - "LabelSettingsStoreCoversWithItem": "Guardar portadas con elementos", + "LabelSettingsSquareBookCovers": "Usar cubiertas cuadradas", + "LabelSettingsSquareBookCoversHelp": "Preferir usar cubiertas cuadradas sobre las cubiertas estándar 1.6:1", + "LabelSettingsStoreCoversWithItem": "Guardar cubiertas con el elemento", "LabelSettingsStoreCoversWithItemHelp": "De forma predeterminada, las portadas se almacenan en /metadata/items, activando esta opción almacenará las portadas en la carpeta de elementos de la biblioteca. Sólo se conservará un archivo llamado \"cover\"", "LabelSettingsStoreMetadataWithItem": "Guardar metadatos con elementos", "LabelSettingsStoreMetadataWithItemHelp": "Por defecto, los archivos de metadatos se almacenan en /metadata/items. Si habilita esta opción, los archivos de metadatos se guardarán en la carpeta de elementos de su biblioteca", @@ -621,7 +621,7 @@ "LabelStatsOverallHours": "Total de Horas", "LabelStatsWeekListening": "Tiempo escuchando en la Semana", "LabelSubtitle": "Subtítulo", - "LabelSupportedFileTypes": "Tipos de Archivos Soportados", + "LabelSupportedFileTypes": "Tipos de archivo admitidos", "LabelTag": "Etiqueta", "LabelTags": "Etiquetas", "LabelTagsAccessibleToUser": "Etiquetas Accessibles al Usuario", @@ -666,9 +666,9 @@ "LabelUndo": "Deshacer", "LabelUnknown": "Desconocido", "LabelUnknownPublishDate": "Fecha de publicación desconocida", - "LabelUpdateCover": "Actualizar Portada", - "LabelUpdateCoverHelp": "Permitir sobrescribir las portadas existentes para los libros seleccionados cuando se encuentra una coincidencia", - "LabelUpdateDetails": "Actualizar Detalles", + "LabelUpdateCover": "Actualizar cubierta", + "LabelUpdateCoverHelp": "Permitir sobrescribir las cubiertas existentes de los libros seleccionados cuando se encuentra una coincidencia", + "LabelUpdateDetails": "Actualizar detalles", "LabelUpdateDetailsHelp": "Permitir sobrescribir detalles existentes de los libros seleccionados cuando sean encontrados", "LabelUpdatedAt": "Actualizado En", "LabelUploaderDragAndDrop": "Arrastre y suelte archivos o carpetas", @@ -685,7 +685,7 @@ "LabelVersion": "Versión", "LabelViewBookmarks": "Ver Marcadores", "LabelViewChapters": "Ver Capítulos", - "LabelViewPlayerSettings": "Ver los ajustes del reproductor", + "LabelViewPlayerSettings": "Ver configuración del reproductor", "LabelViewQueue": "Ver Fila del Reproductor", "LabelVolume": "Volumen", "LabelWebRedirectURLsDescription": "Autorice estas URL en su proveedor OAuth para permitir la redirección a la aplicación web después de iniciar sesión:", @@ -702,8 +702,8 @@ "MessageAddToPlayerQueue": "Agregar a fila del Reproductor", "MessageAppriseDescription": "Para usar esta función deberás tener la API de Apprise corriendo o una API que maneje los mismos resultados.
La URL de la API de Apprise debe tener la misma ruta de archivos que donde se envían las notificaciones. Por ejemplo: si su API esta en http://192.168.1.1:8337 entonces pondría http://192.168.1.1:8337/notify.", "MessageBackupsDescription": "Los respaldos incluyen: usuarios, el progreso del los usuarios, los detalles de los elementos de la biblioteca, la configuración del servidor y las imágenes en /metadata/items y /metadata/authors. Los Respaldos NO incluyen ningún archivo guardado en la carpeta de tu biblioteca.", - "MessageBackupsLocationEditNote": "Nota: Actualizar la ubicación de la copia de seguridad no moverá ni modificará las copias de seguridad existentes", - "MessageBackupsLocationNoEditNote": "Nota: La ubicación de la copia de seguridad se establece a través de una variable de entorno y no se puede cambiar aquí.", + "MessageBackupsLocationEditNote": "Nota: actualizar la ubicación de la copia de respaldo no moverá ni modificará los respaldos existentes", + "MessageBackupsLocationNoEditNote": "Nota: la ubicación de la copia de respaldo se establece a través de una variable de entorno y no se puede cambiar aquí.", "MessageBackupsLocationPathEmpty": "La ruta de la copia de seguridad no puede estar vacía", "MessageBatchQuickMatchDescription": "\"Encontrar Rápido\" tratará de agregar portadas y metadatos faltantes de los elementos seleccionados. Habilite la opción de abajo para que \"Encontrar Rápido\" pueda sobrescribir portadas y/o metadatos existentes.", "MessageBookshelfNoCollections": "No tienes ninguna colección", @@ -767,7 +767,7 @@ "MessageEmbedQueue": "En cola para incrustar metadatos ({0} en cola)", "MessageEpisodesQueuedForDownload": "{0} Episodio(s) en cola para descargar", "MessageEreaderDevices": "Para garantizar la entrega de libros electrónicos, es posible que tenga que agregar la dirección de correo electrónico anterior como remitente válido para cada dispositivo enumerado a continuación.", - "MessageFeedURLWillBe": "URL de la fuente será {0}", + "MessageFeedURLWillBe": "El URL del suministro será {0}", "MessageFetching": "Buscando...", "MessageForceReScanDescription": "Escaneará todos los archivos como un nuevo escaneo. Archivos de audio con etiquetas ID3, archivos OPF y archivos de texto serán escaneados como nuevos.", "MessageImportantNotice": "¡Notificación importante!", @@ -792,7 +792,7 @@ "MessageNoBookmarks": "Sin marcadores", "MessageNoChapters": "Sin capítulos", "MessageNoCollections": "Sin colecciones", - "MessageNoCoversFound": "Ninguna Portada Encontrada", + "MessageNoCoversFound": "Ninguna cubierta encontrada", "MessageNoDescription": "Sin Descripción", "MessageNoDevices": "Sin dispositivos", "MessageNoDownloadsInProgress": "No hay descargas actualmente en curso", @@ -824,8 +824,8 @@ "MessagePlayChapter": "Escuchar el comienzo del capítulo", "MessagePlaylistCreateFromCollection": "Crear una lista de reproducción a partir de una colección", "MessagePleaseWait": "Por favor, espera...", - "MessagePodcastHasNoRSSFeedForMatching": "El podcast no tiene una URL de fuente RSS que pueda usar", - "MessagePodcastSearchField": "Introduzca el término de búsqueda o la URL de la fuente RSS", + "MessagePodcastHasNoRSSFeedForMatching": "El pódcast no tiene un URL de suministro RSS que pueda usarse para encontrar correspondencias", + "MessagePodcastSearchField": "Introduzca el término de búsqueda o el URL del suministro RSS", "MessageQuickEmbedInProgress": "Integración rápida en proceso", "MessageQuickEmbedQueue": "En cola para inserción rápida ({0} en cola)", "MessageQuickMatchAllEpisodes": "Combina rápidamente todos los episodios", @@ -864,7 +864,7 @@ "MessageTaskMatchingBooksInLibrary": "Libros coincidentes en la biblioteca \"{0}\"", "MessageTaskNoFilesToScan": "Sin archivos para escanear", "MessageTaskOpmlImport": "Importar OPML", - "MessageTaskOpmlImportDescription": "Creando podcasts a partir de {0} fuentes RSS", + "MessageTaskOpmlImportDescription": "Creando pódcast a partir de {0} suministros RSS", "MessageTaskOpmlImportFeed": "Feed de importación OPML", "MessageTaskOpmlImportFeedDescription": "Importando el feed RSS \"{0}\"", "MessageTaskOpmlImportFeedFailed": "No se puede obtener el podcast", @@ -874,7 +874,7 @@ "MessageTaskOpmlImportFinished": "Añadido {0} podcasts", "MessageTaskOpmlParseFailed": "No se pudo analizar el archivo OPML", "MessageTaskOpmlParseFastFail": "No se encontró la etiqueta del archivo OPML no válido O no se encontró la etiqueta ", - "MessageTaskOpmlParseNoneFound": "No se encontraron fuentes en el archivo OPML", + "MessageTaskOpmlParseNoneFound": "No se encontró ningún suministro en el archivo OPML", "MessageTaskScanItemsAdded": "{0} añadido", "MessageTaskScanItemsMissing": "Falta {0}", "MessageTaskScanItemsUpdated": "{0} actualizado", @@ -894,11 +894,11 @@ "NoteChangeRootPassword": "El usuario Root es el único usuario que puede no tener una contraseña", "NoteChapterEditorTimes": "Nota: El tiempo de inicio del primer capítulo debe permanecer en 0:00, y el tiempo de inicio del último capítulo no puede exceder la duración del audiolibro.", "NoteFolderPicker": "Nota: Las carpetas ya asignadas no se mostrarán", - "NoteRSSFeedPodcastAppsHttps": "Advertencia: La mayoría de las aplicaciones de podcast requieren que la URL de la fuente RSS use HTTPS", + "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.", "NoteUploaderFoldersWithMediaFiles": "Las carpetas con archivos multimedia se manejarán como elementos separados en la biblioteca.", "NoteUploaderOnlyAudioFiles": "Si sube solamente archivos de audio, cada archivo se manejará como un audiolibro por separado.", - "NoteUploaderUnsupportedFiles": "Se ignorarán los archivos no soportados. Al elegir o arrastrar una carpeta, los archivos que no estén dentro de una subcarpeta serán ignorados.", + "NoteUploaderUnsupportedFiles": "Se ignorarán los archivos no admitidos. Al elegir o arrastrar una carpeta, los archivos que no estén dentro de una subcarpeta se ignorarán.", "NotificationOnBackupCompletedDescription": "Se activa cuando se completa una copia de seguridad", "NotificationOnBackupFailedDescription": "Se activa cuando falla una copia de seguridad", "NotificationOnEpisodeDownloadedDescription": "Se activa cuando se descarga automáticamente un episodio de un podcast", @@ -986,7 +986,7 @@ "ToastInvalidImageUrl": "URL de la imagen no válida", "ToastInvalidMaxEpisodesToDownload": "Número máximo de episodios para descargar no válidos", "ToastInvalidUrl": "URL no válida", - "ToastItemCoverUpdateSuccess": "Portada del elemento actualizada", + "ToastItemCoverUpdateSuccess": "Cubierta del elemento actualizada", "ToastItemDeletedFailed": "Error al eliminar el elemento", "ToastItemDeletedSuccess": "Elemento borrado", "ToastItemDetailsUpdateSuccess": "Detalles del Elemento Actualizados", @@ -1018,13 +1018,13 @@ "ToastNewUserTagError": "Debes seleccionar al menos una etiqueta", "ToastNewUserUsernameError": "Introduce un nombre de usuario", "ToastNoNewEpisodesFound": "No se encontraron nuevos episodios", - "ToastNoRSSFeed": "El Podcast no tiene una fuente RSS", + "ToastNoRSSFeed": "El pódcast no tiene un suministro RSS", "ToastNoUpdatesNecessary": "No es necesario actualizar", "ToastNotificationCreateFailed": "Error al crear notificación", "ToastNotificationDeleteFailed": "Error al borrar la notificación", "ToastNotificationFailedMaximum": "El número máximo de intentos fallidos debe ser ≥ 0", "ToastNotificationQueueMaximum": "La cola de notificación máxima debe ser ≥ 0", - "ToastNotificationSettingsUpdateSuccess": "Ajustes de la notificación actualizados", + "ToastNotificationSettingsUpdateSuccess": "Configuración de notificaciones actualizada", "ToastNotificationTestTriggerFailed": "No se ha podido activar la notificación de prueba", "ToastNotificationTestTriggerSuccess": "Notificación de prueba activada", "ToastNotificationUpdateSuccess": "Notificación actualizada", @@ -1042,8 +1042,8 @@ "ToastProviderCreatedSuccess": "Nuevo proveedor añadido", "ToastProviderNameAndUrlRequired": "Nombre y Url obligatorios", "ToastProviderRemoveSuccess": "Proveedor eliminado", - "ToastRSSFeedCloseFailed": "Error al cerrar fuente RSS", - "ToastRSSFeedCloseSuccess": "Fuente RSS cerrada", + "ToastRSSFeedCloseFailed": "Error al cerrar el suministro RSS", + "ToastRSSFeedCloseSuccess": "Suministro RSS cerrado", "ToastRemoveFailed": "Error al eliminar", "ToastRemoveItemFromCollectionFailed": "Error al eliminar el elemento de la colección", "ToastRemoveItemFromCollectionSuccess": "Elemento eliminado de la colección", From 2954d6dd47e59293e6742c32aa03aecc041d8fc1 Mon Sep 17 00:00:00 2001 From: Adolfo Jayme Barrientos Date: Fri, 21 Mar 2025 13:58:11 +0100 Subject: [PATCH 11/32] Translated using Weblate (Spanish) Currently translated at 99.2% (1082 of 1090 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/es/ --- client/strings/es.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/client/strings/es.json b/client/strings/es.json index fd5db881..58081c90 100644 --- a/client/strings/es.json +++ b/client/strings/es.json @@ -698,7 +698,7 @@ "LabelYourAudiobookDuration": "Duración de tu Audiolibro", "LabelYourBookmarks": "Tus Marcadores", "LabelYourPlaylists": "Tus Listas", - "LabelYourProgress": "Tu Progreso", + "LabelYourProgress": "Su progreso", "MessageAddToPlayerQueue": "Agregar a fila del Reproductor", "MessageAppriseDescription": "Para usar esta función deberás tener la API de Apprise corriendo o una API que maneje los mismos resultados.
La URL de la API de Apprise debe tener la misma ruta de archivos que donde se envían las notificaciones. Por ejemplo: si su API esta en http://192.168.1.1:8337 entonces pondría http://192.168.1.1:8337/notify.", "MessageBackupsDescription": "Los respaldos incluyen: usuarios, el progreso del los usuarios, los detalles de los elementos de la biblioteca, la configuración del servidor y las imágenes en /metadata/items y /metadata/authors. Los Respaldos NO incluyen ningún archivo guardado en la carpeta de tu biblioteca.", @@ -706,11 +706,11 @@ "MessageBackupsLocationNoEditNote": "Nota: la ubicación de la copia de respaldo se establece a través de una variable de entorno y no se puede cambiar aquí.", "MessageBackupsLocationPathEmpty": "La ruta de la copia de seguridad no puede estar vacía", "MessageBatchQuickMatchDescription": "\"Encontrar Rápido\" tratará de agregar portadas y metadatos faltantes de los elementos seleccionados. Habilite la opción de abajo para que \"Encontrar Rápido\" pueda sobrescribir portadas y/o metadatos existentes.", - "MessageBookshelfNoCollections": "No tienes ninguna colección", + "MessageBookshelfNoCollections": "Aún no ha hecho ninguna colección", "MessageBookshelfNoRSSFeeds": "Ningún suministro RSS está abierto", "MessageBookshelfNoResultsForFilter": "Ningún Resultado para el filtro \"{0}: {1}\"", "MessageBookshelfNoResultsForQuery": "No hay resultados para la consulta", - "MessageBookshelfNoSeries": "No tienes ninguna serie", + "MessageBookshelfNoSeries": "No tiene ninguna serie", "MessageChapterEndIsAfter": "El final del capítulo es después del final de tu audiolibro", "MessageChapterErrorFirstNotZero": "El primer capitulo debe iniciar en 0", "MessageChapterErrorStartGteDuration": "El tiempo de inicio no es válido: debe ser inferior a la duración del audiolibro", @@ -805,18 +805,18 @@ "MessageNoItems": "Sin elementos", "MessageNoItemsFound": "Ningún elemento encontrado", "MessageNoListeningSessions": "Ninguna sesión escuchada", - "MessageNoLogs": "No hay logs", + "MessageNoLogs": "Ningún registro", "MessageNoMediaProgress": "Multimedia sin Progreso", - "MessageNoNotifications": "Ninguna Notificación", + "MessageNoNotifications": "Ninguna notificación", "MessageNoPodcastFeed": "Podcast no válido: Sin feed", "MessageNoPodcastsFound": "Ningún podcast encontrado", "MessageNoResults": "Sin Resultados", - "MessageNoSearchResultsFor": "No hay resultados para la búsqueda \"{0}\"", - "MessageNoSeries": "Sin Series", - "MessageNoTags": "Sin Etiquetas", - "MessageNoTasksRunning": "Ninguna Tarea Corriendo", + "MessageNoSearchResultsFor": "La búsqueda «{0}» no produjo ningún resultado", + "MessageNoSeries": "Ninguna serie", + "MessageNoTags": "Ninguna etiqueta", + "MessageNoTasksRunning": "Ninguna tarea en ejecución", "MessageNoUpdatesWereNecessary": "No fue necesario actualizar", - "MessageNoUserPlaylists": "No tienes lista de reproducciones", + "MessageNoUserPlaylists": "No tiene ninguna lista de reproducción", "MessageNotYetImplemented": "Aun no implementado", "MessageOpmlPreviewNote": "Nota: Esta es una vista previa del archivo OPML analizado. El título real del podcast se obtendrá del canal RSS.", "MessageOr": "o", From 6be37632ff216556746b0049c15b5dc08cb52ac0 Mon Sep 17 00:00:00 2001 From: Adolfo Jayme Barrientos Date: Fri, 21 Mar 2025 13:56:27 +0100 Subject: [PATCH 12/32] Translated using Weblate (Catalan) Currently translated at 92.2% (1006 of 1090 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/ca/ --- client/strings/ca.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/strings/ca.json b/client/strings/ca.json index f74abcd1..8e54a8fd 100644 --- a/client/strings/ca.json +++ b/client/strings/ca.json @@ -750,12 +750,12 @@ "MessageNoPodcastFeed": "Podcast no vàlid: sense font", "MessageNoPodcastsFound": "Cap podcast trobat", "MessageNoResults": "Sense resultats", - "MessageNoSearchResultsFor": "No hi ha resultats per a la cerca \"{0}\"", + "MessageNoSearchResultsFor": "No hi ha resultats per a la cerca «{0}»", "MessageNoSeries": "Sense sèries", "MessageNoTags": "Sense etiquetes", "MessageNoTasksRunning": "Sense tasques en execució", "MessageNoUpdatesWereNecessary": "No calien actualitzacions", - "MessageNoUserPlaylists": "No tens cap llista de reproducció", + "MessageNoUserPlaylists": "No teniu cap llista de reproducció", "MessageNotYetImplemented": "Encara no implementat", "MessageOpmlPreviewNote": "Nota: Aquesta és una vista prèvia de l'arxiu OPML analitzat. El títol real del podcast s'obtindrà del canal RSS.", "MessageOr": "o", From 4ffc3b30f47d0a032a8b26a57bcb422e061d9479 Mon Sep 17 00:00:00 2001 From: Adolfo Jayme Barrientos Date: Fri, 21 Mar 2025 15:44:17 +0100 Subject: [PATCH 13/32] Translated using Weblate (Spanish) Currently translated at 99.2% (1082 of 1090 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/es/ --- client/strings/es.json | 78 +++++++++++++++++++++--------------------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/client/strings/es.json b/client/strings/es.json index 58081c90..fedefd1f 100644 --- a/client/strings/es.json +++ b/client/strings/es.json @@ -132,35 +132,35 @@ "HeaderCustomMessageOnLogin": "Mensaje personalizado al acceder", "HeaderCustomMetadataProviders": "Proveedores de metadatos personalizados", "HeaderDetails": "Detalles", - "HeaderDownloadQueue": "Lista de Descarga", + "HeaderDownloadQueue": "Cola de descargas", "HeaderEbookFiles": "Archivos de libros digitales", "HeaderEmail": "Correo electrónico", - "HeaderEmailSettings": "Opciones de Email", + "HeaderEmailSettings": "Configuración de correo electrónico", "HeaderEpisodes": "Episodios", "HeaderEreaderDevices": "Dispositivos Ereader", "HeaderEreaderSettings": "Configuración del lector", - "HeaderFiles": "Elemento", - "HeaderFindChapters": "Buscar Capitulo", - "HeaderIgnoredFiles": "Ignorar Elemento", - "HeaderItemFiles": "Carpetas de Elementos", - "HeaderItemMetadataUtils": "Utilidades de Metadata de Elementos", - "HeaderLastListeningSession": "Ultimas Sesiones", - "HeaderLatestEpisodes": "Últimos episodios", + "HeaderFiles": "Archivos", + "HeaderFindChapters": "Buscar capítulos", + "HeaderIgnoredFiles": "Archivos ignorados", + "HeaderItemFiles": "Archivos de elementos", + "HeaderItemMetadataUtils": "Utilidades de metadatos de elementos", + "HeaderLastListeningSession": "Última sesión de escucha", + "HeaderLatestEpisodes": "Episodios más recientes", "HeaderLibraries": "Bibliotecas", "HeaderLibraryFiles": "Archivos de Biblioteca", "HeaderLibraryStats": "Estáticas de Biblioteca", "HeaderListeningSessions": "Sesión", "HeaderListeningStats": "Estadísticas de Tiempo Escuchado", - "HeaderLogin": "Iniciar Session", + "HeaderLogin": "Acceder", "HeaderLogs": "Registros", - "HeaderManageGenres": "Administrar Géneros", - "HeaderManageTags": "Administrar Etiquetas", + "HeaderManageGenres": "Gestionar géneros", + "HeaderManageTags": "Gestionar etiquetas", "HeaderMapDetails": "Asignar Detalles", "HeaderMatch": "Encontrar", "HeaderMetadataOrderOfPrecedence": "Orden de precedencia de metadatos", "HeaderMetadataToEmbed": "Metadatos para Insertar", - "HeaderNewAccount": "Nueva Cuenta", - "HeaderNewLibrary": "Nueva Biblioteca", + "HeaderNewAccount": "Cuenta nueva", + "HeaderNewLibrary": "Biblioteca nueva", "HeaderNotificationCreate": "Crear notificación", "HeaderNotificationUpdate": "Notificación de actualización", "HeaderNotifications": "Notificaciones", @@ -170,26 +170,26 @@ "HeaderOtherFiles": "Otros archivos", "HeaderPasswordAuthentication": "Autenticación por contraseña", "HeaderPermissions": "Permisos", - "HeaderPlayerQueue": "Fila del Reproductor", + "HeaderPlayerQueue": "Cola del reproductor", "HeaderPlayerSettings": "Configuración del reproductor", "HeaderPlaylist": "Lista de reproducción", "HeaderPlaylistItems": "Elementos de lista de reproducción", "HeaderPodcastsToAdd": "Pódcast para añadir", "HeaderPreviewCover": "Previsualizar cubierta", - "HeaderRSSFeedGeneral": "Detalles RSS", + "HeaderRSSFeedGeneral": "Detalles de RSS", "HeaderRSSFeedIsOpen": "El suministro RSS está abierto", "HeaderRSSFeeds": "Suministros RSS", - "HeaderRemoveEpisode": "Remover Episodio", - "HeaderRemoveEpisodes": "Remover {0} Episodios", + "HeaderRemoveEpisode": "Quitar episodio", + "HeaderRemoveEpisodes": "Quitar {0} episodios", "HeaderSavedMediaProgress": "Guardar Progreso de Multimedia", "HeaderSchedule": "Horario", "HeaderScheduleEpisodeDownloads": "Programar descargas automáticas de episodios", "HeaderScheduleLibraryScans": "Programar Escaneo Automático de Biblioteca", "HeaderSession": "Sesión", "HeaderSetBackupSchedule": "Programar Respaldo", - "HeaderSettings": "Configuraciones", + "HeaderSettings": "Configuración", "HeaderSettingsDisplay": "Interfaz", - "HeaderSettingsExperimental": "Funciones Experimentales", + "HeaderSettingsExperimental": "Funcionalidades experimentales", "HeaderSettingsGeneral": "General", "HeaderSettingsScanner": "Escáner", "HeaderSettingsWebClient": "Cliente web", @@ -200,34 +200,34 @@ "HeaderStatsRecentSessions": "Sesiones recientes", "HeaderStatsTop10Authors": "Top 10 Autores", "HeaderStatsTop5Genres": "Top 5 Géneros", - "HeaderTableOfContents": "Tabla de contenidos", + "HeaderTableOfContents": "Sumario", "HeaderTools": "Herramientas", - "HeaderUpdateAccount": "Actualizar Cuenta", - "HeaderUpdateAuthor": "Actualizar Autor", - "HeaderUpdateDetails": "Actualizar Detalles", - "HeaderUpdateLibrary": "Actualizar Biblioteca", + "HeaderUpdateAccount": "Actualizar cuenta", + "HeaderUpdateAuthor": "Actualizar autor", + "HeaderUpdateDetails": "Actualizar detalles", + "HeaderUpdateLibrary": "Actualizar biblioteca", "HeaderUsers": "Usuarios", "HeaderYearReview": "Revisión del año {0}", - "HeaderYourStats": "Tus estadísticas", + "HeaderYourStats": "Sus estadísticas", "LabelAbridged": "Abreviado", "LabelAbridgedChecked": "Abreviado (comprobado)", "LabelAbridgedUnchecked": "Sin abreviar (sin comprobar)", "LabelAccessibleBy": "Accesible por", - "LabelAccountType": "Tipo de Cuenta", + "LabelAccountType": "Tipo de cuenta", "LabelAccountTypeAdmin": "Administrador", "LabelAccountTypeGuest": "Invitado", "LabelAccountTypeUser": "Usuario", "LabelActivities": "Actividades", "LabelActivity": "Actividad", - "LabelAddToCollection": "Añadido a la Colección", - "LabelAddToCollectionBatch": "Se Añadieron {0} Libros a la Colección", - "LabelAddToPlaylist": "Añadido a la lista de reproducción", - "LabelAddToPlaylistBatch": "Se Añadieron {0} Artículos a la Lista de Reproducción", + "LabelAddToCollection": "Añadir a colección", + "LabelAddToCollectionBatch": "Añadir {0} libros a colección", + "LabelAddToPlaylist": "Añadir a lista de reproducción", + "LabelAddToPlaylistBatch": "Añadir {0} elementos a lista de reproducción", "LabelAddedAt": "Añadido", "LabelAddedDate": "{0} Añadido", "LabelAdminUsersOnly": "Solamente usuarios administradores", "LabelAll": "Todos", - "LabelAllUsers": "Todos los Usuarios", + "LabelAllUsers": "Todos los usuarios", "LabelAllUsersExcludingGuests": "Todos los usuarios excepto invitados", "LabelAllUsersIncludingGuests": "Todos los usuarios e invitados", "LabelAlreadyInYourLibrary": "Ya existe en la Biblioteca", @@ -241,7 +241,7 @@ "LabelAuthorLastFirst": "Autor (Apellido, Nombre)", "LabelAuthors": "Autores", "LabelAutoDownloadEpisodes": "Descargar episodios automáticamente", - "LabelAutoFetchMetadata": "Actualizar Metadatos Automáticamente", + "LabelAutoFetchMetadata": "Recuperar metadatos automáticamente", "LabelAutoFetchMetadataHelp": "Obtiene metadatos de título, autor y serie para agilizar la carga. Es posible que haya que cotejar metadatos adicionales después de la carga.", "LabelAutoLaunch": "Lanzamiento automático", "LabelAutoLaunchDescription": "Redirigir al proveedor de autenticación automáticamente al navegar a la página de inicio de sesión (ruta de sobreescritura manual /login?autoLaunch=0)", @@ -249,13 +249,13 @@ "LabelAutoRegisterDescription": "Crear usuarios automáticamente tras iniciar sesión", "LabelBackToUser": "Regresar a Usuario", "LabelBackupAudioFiles": "Respaldar archivos de audio", - "LabelBackupLocation": "Ubicación del Respaldo", + "LabelBackupLocation": "Ubicación del respaldo", "LabelBackupsEnableAutomaticBackups": "Copias de respaldo automáticas", "LabelBackupsEnableAutomaticBackupsHelp": "Respaldos guardados en /metadata/backups", "LabelBackupsMaxBackupSize": "Tamaño máximo de copia de respaldo (en GB) (0 para ilimitado)", "LabelBackupsMaxBackupSizeHelp": "Como protección contra una configuración errónea, los respaldos fallarán si se excede el tamaño configurado.", "LabelBackupsNumberToKeep": "Numero de respaldos para conservar", - "LabelBackupsNumberToKeepHelp": "Solamente 1 respaldo se removerá a la vez. Si tiene mas respaldos guardados, debe removerlos manualmente.", + "LabelBackupsNumberToKeepHelp": "Solamente 1 respaldo se quitará a la vez. Si tiene más respaldos guardados, debe quitarlos manualmente.", "LabelBitrate": "Tasa de bits", "LabelBonus": "Bonus", "LabelBooks": "Libros", @@ -447,8 +447,8 @@ "LabelNarrators": "Narradores", "LabelNew": "Nuevo", "LabelNewPassword": "Nueva Contraseña", - "LabelNewestAuthors": "Autores más recientes", - "LabelNewestEpisodes": "Episodios más recientes", + "LabelNewestAuthors": "Autores más nuevos", + "LabelNewestEpisodes": "Episodios más nuevos", "LabelNextBackupDate": "Fecha del siguiente respaldo", "LabelNextScheduledRun": "Próxima ejecución programada", "LabelNoCustomMetadataProviders": "Sin proveedores de metadatos personalizados", @@ -542,7 +542,7 @@ "LabelSelectUsers": "Seleccionar usuarios", "LabelSendEbookToDevice": "Enviar libro electrónico a...", "LabelSequence": "Secuencia", - "LabelSerial": "Serial", + "LabelSerial": "En serie", "LabelSeries": "Serie", "LabelSeriesName": "Nombre de la serie", "LabelSeriesProgress": "Progreso de la serie", @@ -561,7 +561,7 @@ "LabelSettingsEnableWatcherHelp": "Permite agregar/actualizar elementos automáticamente cuando se detectan cambios en los archivos. *Requiere reiniciar el servidor", "LabelSettingsEpubsAllowScriptedContent": "Permitir scripts en epubs", "LabelSettingsEpubsAllowScriptedContentHelp": "Permitir que los archivos epub ejecuten scripts. Se recomienda mantener esta opción desactivada a menos que confíe en el origen de los archivos epub.", - "LabelSettingsExperimentalFeatures": "Funciones Experimentales", + "LabelSettingsExperimentalFeatures": "Funcionalidades experimentales", "LabelSettingsExperimentalFeaturesHelp": "Funciones en desarrollo que se beneficiarían de sus comentarios y experiencias de prueba. Haga click aquí para abrir una conversación en Github.", "LabelSettingsFindCovers": "Encontrar cubiertas", "LabelSettingsFindCoversHelp": "Si su audiolibro no tiene una cubierta incrustada, o esta no se encuentra en la carpeta, el escaneador tratará de encontrar una cubierta.
Nota: esto prolongará el tiempo de escaneo", From 26ba8fd12fdad172c8dd4bd9a287e52f2f7ffc60 Mon Sep 17 00:00:00 2001 From: Adolfo Jayme Barrientos Date: Fri, 21 Mar 2025 16:12:25 +0100 Subject: [PATCH 14/32] Translated using Weblate (Catalan) Currently translated at 93.5% (1020 of 1090 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/ca/ --- client/strings/ca.json | 61 +++++++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 28 deletions(-) diff --git a/client/strings/ca.json b/client/strings/ca.json index 8e54a8fd..edfb6449 100644 --- a/client/strings/ca.json +++ b/client/strings/ca.json @@ -51,7 +51,7 @@ "ButtonNext": "Següent", "ButtonNextChapter": "Següent Capítol", "ButtonNextItemInQueue": "Següent element a la cua", - "ButtonOk": "D'acord", + "ButtonOk": "D’acord", "ButtonOpenFeed": "Obre Font", "ButtonOpenManager": "Obre Editor", "ButtonPause": "Pausa", @@ -119,7 +119,7 @@ "HeaderAdvanced": "Avançat", "HeaderAppriseNotificationSettings": "Configuració de Notificacions Apprise", "HeaderAudioTracks": "Pistes d'àudio", - "HeaderAudiobookTools": "Eines de Gestió d'Arxius d'Audiollibre", + "HeaderAudiobookTools": "Eines de gestió de fitxers de l'audiollibre", "HeaderAuthentication": "Autenticació", "HeaderBackups": "Còpies de Seguretat", "HeaderChangePassword": "Canvia Contrasenya", @@ -138,7 +138,7 @@ "HeaderEmailSettings": "Configuració de Correu Electrònic", "HeaderEpisodes": "Episodis", "HeaderEreaderDevices": "Dispositius Ereader", - "HeaderEreaderSettings": "Configuració del Lector", + "HeaderEreaderSettings": "Paràmetres del lector", "HeaderFiles": "Element", "HeaderFindChapters": "Cerca Capítol", "HeaderIgnoredFiles": "Ignora Element", @@ -187,35 +187,37 @@ "HeaderScheduleLibraryScans": "Programa Escaneig Automàtic de Biblioteca", "HeaderSession": "Sessió", "HeaderSetBackupSchedule": "Programa Còpies de Seguretat", - "HeaderSettings": "Configuració", + "HeaderSettings": "Paràmetres", "HeaderSettingsDisplay": "Interfície", - "HeaderSettingsExperimental": "Funcions Experimentals", + "HeaderSettingsExperimental": "Funcionalitats experimentals", "HeaderSettingsGeneral": "General", "HeaderSettingsScanner": "Escàner", + "HeaderSettingsWebClient": "Client web", "HeaderSleepTimer": "Temporitzador de son", "HeaderStatsLargestItems": "Elements més Grans", "HeaderStatsLongestItems": "Elements més Llargs (h)", "HeaderStatsMinutesListeningChart": "Minuts Escoltant (Últims 7 dies)", - "HeaderStatsRecentSessions": "Sessions Recents", + "HeaderStatsRecentSessions": "Sessions recents", "HeaderStatsTop10Authors": "Top 10 Autors", "HeaderStatsTop5Genres": "Top 5 Gèneres", - "HeaderTableOfContents": "Taula de Continguts", + "HeaderTableOfContents": "Sumari", "HeaderTools": "Eines", - "HeaderUpdateAccount": "Actualitza Compte", - "HeaderUpdateAuthor": "Actualitza Autor", - "HeaderUpdateDetails": "Actualitza Detalls", - "HeaderUpdateLibrary": "Actualitza Biblioteca", + "HeaderUpdateAccount": "Actualitza el compte", + "HeaderUpdateAuthor": "Actualitza l'autor", + "HeaderUpdateDetails": "Actualitza els detalls", + "HeaderUpdateLibrary": "Actualitza la biblioteca", "HeaderUsers": "Usuaris", - "HeaderYearReview": "Revisió de l'Any {0}", - "HeaderYourStats": "Les teves Estadístiques", + "HeaderYearReview": "Revisió de l'any {0}", + "HeaderYourStats": "Les vostres estadístiques", "LabelAbridged": "Resumit", "LabelAbridgedChecked": "Resumit (comprovat)", "LabelAbridgedUnchecked": "Sense resumir (no comprovat)", "LabelAccessibleBy": "Accessible per", - "LabelAccountType": "Tipus de Compte", + "LabelAccountType": "Tipus de compte", "LabelAccountTypeAdmin": "Administrador", "LabelAccountTypeGuest": "Convidat", "LabelAccountTypeUser": "Usuari", + "LabelActivities": "Activitats", "LabelActivity": "Activitat", "LabelAddToCollection": "Afegit a la Col·lecció", "LabelAddToCollectionBatch": "S'han Afegit {0} Llibres a la Col·lecció", @@ -225,11 +227,11 @@ "LabelAddedDate": "{0} Afegit", "LabelAdminUsersOnly": "Només usuaris administradors", "LabelAll": "Tots", - "LabelAllUsers": "Tots els Usuaris", + "LabelAllUsers": "Tots els usuaris", "LabelAllUsersExcludingGuests": "Tots els usuaris excepte convidats", "LabelAllUsersIncludingGuests": "Tots els usuaris i convidats", "LabelAlreadyInYourLibrary": "Ja existeix a la Biblioteca", - "LabelApiToken": "Token de l'API", + "LabelApiToken": "Testimoni de l'API", "LabelAppend": "Adjuntar", "LabelAudioBitrate": "Taxa de bits d'àudio (per exemple, 128k)", "LabelAudioChannels": "Canals d'àudio (1 o 2)", @@ -238,8 +240,8 @@ "LabelAuthorFirstLast": "Autor (Nom Cognom)", "LabelAuthorLastFirst": "Autor (Cognom, Nom)", "LabelAuthors": "Autors", - "LabelAutoDownloadEpisodes": "Descarregar episodis automàticament", - "LabelAutoFetchMetadata": "Actualitzar Metadades Automàticament", + "LabelAutoDownloadEpisodes": "Baixa episodis automàticament", + "LabelAutoFetchMetadata": "Recupera metadades automàticament", "LabelAutoFetchMetadataHelp": "Obtén metadades de títol, autor i sèrie per agilitzar la càrrega. És possible que calgui revisar metadades addicionals després de la càrrega.", "LabelAutoLaunch": "Inici automàtic", "LabelAutoLaunchDescription": "Redirigir automàticament al proveïdor d'autenticació quan s'accedeix a la pàgina d'inici de sessió (ruta d'excepció manual /login?autoLaunch=0)", @@ -248,7 +250,7 @@ "LabelBackToUser": "Torna a Usuari", "LabelBackupAudioFiles": "Còpia de seguretat d'arxius d'àudio", "LabelBackupLocation": "Ubicació de la Còpia de Seguretat", - "LabelBackupsEnableAutomaticBackups": "Habilitar Còpies de Seguretat Automàtiques", + "LabelBackupsEnableAutomaticBackups": "Còpies de seguretat automàtiques", "LabelBackupsEnableAutomaticBackupsHelp": "Còpies de seguretat desades a /metadata/backups", "LabelBackupsMaxBackupSize": "Mida màxima de la còpia de seguretat (en GB) (0 per il·limitat)", "LabelBackupsMaxBackupSizeHelp": "Com a protecció contra una configuració incorrecta, les còpies de seguretat fallaran si superen la mida configurada.", @@ -280,6 +282,7 @@ "LabelContinueSeries": "Continuar sèries", "LabelCover": "Portada", "LabelCoverImageURL": "URL de la Imatge de Portada", + "LabelCoverProvider": "Proveïdor de cobertes", "LabelCreatedAt": "Creat", "LabelCronExpression": "Expressió de Cron", "LabelCurrent": "Actual", @@ -294,25 +297,26 @@ "LabelDeviceInfo": "Informació del Dispositiu", "LabelDeviceIsAvailableTo": "El dispositiu està disponible per a...", "LabelDirectory": "Directori", - "LabelDiscFromFilename": "Disc a partir del Nom de l'Arxiu", - "LabelDiscFromMetadata": "Disc a partir de Metadades", + "LabelDiscFromFilename": "Disc a partir del nom de fitxer", + "LabelDiscFromMetadata": "Disc a partir de metadades", "LabelDiscover": "Descobrir", "LabelDownload": "Descarregar", "LabelDownloadNEpisodes": "Descarregar {0} episodis", + "LabelDownloadable": "Baixables", "LabelDuration": "Duració", "LabelDurationComparisonExactMatch": "(coincidència exacta)", "LabelDurationComparisonLonger": "({0} més llarg)", "LabelDurationComparisonShorter": "({0} més curt)", - "LabelDurationFound": "Duració Trobada:", + "LabelDurationFound": "Durada trobada:", "LabelEbook": "Llibre electrònic", "LabelEbooks": "Llibres electrònics", - "LabelEdit": "Editar", + "LabelEdit": "Edita", "LabelEmail": "Correu electrònic", "LabelEmailSettingsFromAddress": "Remitent", "LabelEmailSettingsRejectUnauthorized": "Rebutja certificats no autoritzats", "LabelEmailSettingsRejectUnauthorizedHelp": "Desactivar la validació de certificats SSL pot exposar la teva connexió a riscos de seguretat, com atacs de tipus man-in-the-middle. Desactiva aquesta opció només si coneixes les implicacions i confies en el servidor de correu al qual et connectes.", "LabelEmailSettingsSecure": "Seguretat", - "LabelEmailSettingsSecureHelp": "Si està activat, es farà servir TLS per connectar-se al servidor. Si està desactivat, es farà servir TLS si el servidor admet l'extensió STARTTLS. En la majoria dels casos, pots deixar aquesta opció activada si et connectes al port 465. Desactiva-la en el cas d'usar els ports 587 o 25. (de nodemailer.com/smtp/#authentication)", + "LabelEmailSettingsSecureHelp": "Si està activat, es farà servir TLS per a connectar-se al servidor. Si està desactivat, es farà servir TLS si el servidor admet l'extensió STARTTLS. En la majoria dels casos, podeu deixar aquesta opció activada si us connecteu al port 465. Desactiveu-la en el cas d'usar els ports 587 o 25. (de nodemailer.com/smtp/#authentication)", "LabelEmailSettingsTestAddress": "Provar Adreça", "LabelEmbeddedCover": "Portada Integrada", "LabelEnable": "Habilitar", @@ -387,6 +391,7 @@ "LabelIntervalEvery6Hours": "Cada 6 Hores", "LabelIntervalEveryDay": "Cada Dia", "LabelIntervalEveryHour": "Cada Hora", + "LabelIntervalEveryMinute": "Cada minut", "LabelInvert": "Invertir", "LabelItem": "Element", "LabelJumpBackwardAmount": "Quantitat de salts cap enrere", @@ -483,10 +488,10 @@ "LabelPlayMethod": "Mètode de Reproducció", "LabelPlayerChapterNumberMarker": "{0} de {1}", "LabelPlaylists": "Llistes de Reproducció", - "LabelPodcast": "Podcast", + "LabelPodcast": "Pòdcast", "LabelPodcastSearchRegion": "Regió de Cerca de Podcasts", "LabelPodcastType": "Tipus de Podcast", - "LabelPodcasts": "Podcasts", + "LabelPodcasts": "Pòdcasts", "LabelPort": "Port", "LabelPrefixesToIgnore": "Prefixos per Ignorar (no distingeix entre majúscules i minúscules.)", "LabelPreventIndexing": "Evita que la teva font sigui indexada pels directoris de podcasts d'iTunes i Google", @@ -535,7 +540,7 @@ "LabelSelectUsers": "Seleccionar usuaris", "LabelSendEbookToDevice": "Enviar Ebook a...", "LabelSequence": "Seqüència", - "LabelSerial": "Serial", + "LabelSerial": "En sèrie", "LabelSeries": "Sèries", "LabelSeriesName": "Nom de la Sèrie", "LabelSeriesProgress": "Progrés de la Sèrie", @@ -656,7 +661,7 @@ "LabelYourAudiobookDuration": "Duració del teu audiollibre", "LabelYourBookmarks": "Els teus marcadors", "LabelYourPlaylists": "Les teves llistes", - "LabelYourProgress": "El teu progrés", + "LabelYourProgress": "El vostre progrés", "MessageAddToPlayerQueue": "Afegeix a la cua del reproductor", "MessageAppriseDescription": "Per utilitzar aquesta funció, hauràs de tenir l'API d'Apprise en funcionament o una API que gestioni resultats similars.
La URL de l'API d'Apprise ha de tenir la mateixa ruta d'arxius que on s'envien les notificacions. Per exemple: si la teva API és a http://192.168.1.1:8337, llavors posaries http://192.168.1.1:8337/notify.", "MessageBackupsDescription": "Les còpies de seguretat inclouen: usuaris, progrés dels usuaris, detalls dels elements de la biblioteca, configuració del servidor i imatges a /metadata/items i /metadata/authors. Les còpies de seguretat NO inclouen cap fitxer guardat a la carpeta de la teva biblioteca.", From a2e84d9c24f54c840f9e53eaec93171841faddfa Mon Sep 17 00:00:00 2001 From: Adolfo Jayme Barrientos Date: Fri, 21 Mar 2025 23:31:25 +0100 Subject: [PATCH 15/32] Translated using Weblate (Catalan) Currently translated at 93.5% (1020 of 1090 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/ca/ --- client/strings/ca.json | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/client/strings/ca.json b/client/strings/ca.json index edfb6449..f5d1a7f3 100644 --- a/client/strings/ca.json +++ b/client/strings/ca.json @@ -353,25 +353,25 @@ "LabelFileBornDate": "Creat {0}", "LabelFileModified": "Arxiu modificat", "LabelFileModifiedDate": "Modificat {0}", - "LabelFilename": "Nom de l'arxiu", + "LabelFilename": "Nom del fitxer", "LabelFilterByUser": "Filtrar per Usuari", "LabelFindEpisodes": "Cercar Episodi", "LabelFinished": "Acabat", "LabelFolder": "Carpeta", "LabelFolders": "Carpetes", "LabelFontBold": "Negreta", - "LabelFontBoldness": "Nivell de negreta en font", + "LabelFontBoldness": "Gruix de la lletra", "LabelFontFamily": "Família tipogràfica", "LabelFontItalic": "Cursiva", - "LabelFontScale": "Mida de la font", + "LabelFontScale": "Escala de la lletra", "LabelFontStrikethrough": "Ratllat", "LabelFormat": "Format", "LabelFull": "Complet", "LabelGenre": "Gènere", "LabelGenres": "Gèneres", "LabelHardDeleteFile": "Eliminar Definitivament", - "LabelHasEbook": "Té un llibre electrònic", - "LabelHasSupplementaryEbook": "Té un llibre electrònic complementari", + "LabelHasEbook": "Té llibre electrònic", + "LabelHasSupplementaryEbook": "Té llibre electrònic suplementari", "LabelHideSubtitles": "Amagar subtítols", "LabelHighestPriority": "Prioritat més alta", "LabelHost": "Amfitrió", @@ -428,7 +428,7 @@ "LabelMaxEpisodesToKeep": "Nombre màxim d'episodis que es mantindran", "LabelMaxEpisodesToKeepHelp": "El valor 0 no estableix un límit màxim. Després de descarregar automàticament un nou episodi, això eliminarà l'episodi més antic si té més de X episodis. Això només eliminarà 1 episodi per nova descàrrega.", "LabelMediaPlayer": "Reproductor de Mitjans", - "LabelMediaType": "Tipus de multimèdia", + "LabelMediaType": "Tipus de mitjà", "LabelMetaTag": "Metaetiqueta", "LabelMetaTags": "Metaetiquetes", "LabelMetadataOrderOfPrecedenceDescription": "Les fonts de metadades de major prioritat prevaldran sobre les de menor prioritat", @@ -466,7 +466,7 @@ "LabelNotificationsMaxQueueSize": "Mida màxima de la cua de notificacions", "LabelNotificationsMaxQueueSizeHelp": "Les notificacions estan limitades a 1 per segon. Les notificacions seran ignorades si arriben al número màxim de cua per prevenir spam d'esdeveniments.", "LabelNumberOfBooks": "Nombre de Llibres", - "LabelNumberOfEpisodes": "Nombre d'Episodis", + "LabelNumberOfEpisodes": "Nre. d'episodis", "LabelOpenIDAdvancedPermsClaimDescription": "Nom de la notificació de OpenID que conté permisos avançats per accions d'usuari dins l'aplicació que s'aplicaran a rols que no siguin d'administrador (si estan configurats). Si el reclam no apareix en la resposta, es denegarà l'accés a ABS. Si manca una sola opció, es tractarà com a falsa. Assegura't que la notificació del proveïdor d'identitats coincideixi amb l'estructura esperada:", "LabelOpenIDClaims": "Deixa les següents opcions buides per desactivar l'assignació avançada de grups i permisos, el que assignaria automàticament al grup 'Usuari'.", "LabelOpenIDGroupClaimDescription": "Nom de la declaració OpenID que conté una llista de grups de l'usuari. Comunament coneguts com grups. Si es configura, l'aplicació assignarà automàticament rols basats en la pertinença a grups de l'usuari, sempre que aquests grups es denominen 'admin', 'user' o 'guest' en la notificació. La sol·licitud ha de contenir una llista, i si un usuari pertany a diversos grups, l'aplicació assignarà el rol corresponent al major nivell d'accés. Si cap grup coincideix, es denegarà l'accés.", @@ -512,13 +512,13 @@ "LabelRSSFeedPreventIndexing": "Evitar l'indexació", "LabelRSSFeedSlug": "Font RSS Slug", "LabelRSSFeedURL": "URL de la Font RSS", - "LabelRandomly": "Aleatòriament", + "LabelRandomly": "A l'atzar", "LabelReAddSeriesToContinueListening": "Reafegir la sèrie per continuar escoltant-la", "LabelRead": "Llegit", "LabelReadAgain": "Tornar a llegir", "LabelReadEbookWithoutProgress": "Llegir Ebook sense guardar progrés", - "LabelRecentSeries": "Sèries Recents", - "LabelRecentlyAdded": "Afegit Recentment", + "LabelRecentSeries": "Sèries recents", + "LabelRecentlyAdded": "Addicions recents", "LabelRecommended": "Recomanats", "LabelRedo": "Refer", "LabelRegion": "Regió", @@ -734,8 +734,8 @@ "MessageNoAuthors": "Sense autors", "MessageNoBackups": "Sense còpies de seguretat", "MessageNoBookmarks": "Sense marcadors", - "MessageNoChapters": "Sense capítols", - "MessageNoCollections": "Sense col·leccions", + "MessageNoChapters": "Cap capítol", + "MessageNoCollections": "Cap col·lecció", "MessageNoCoversFound": "Cap portada trobada", "MessageNoDescription": "Sense descripció", "MessageNoDevices": "Sense dispositius", @@ -746,20 +746,20 @@ "MessageNoFoldersAvailable": "No hi ha carpetes disponibles", "MessageNoGenres": "Sense gèneres", "MessageNoIssues": "Sense problemes", - "MessageNoItems": "Sense elements", + "MessageNoItems": "Cap element", "MessageNoItemsFound": "Cap element trobat", - "MessageNoListeningSessions": "Sense sessions escoltades", + "MessageNoListeningSessions": "Cap sessió d'escolta", "MessageNoLogs": "Sense registres", "MessageNoMediaProgress": "Sense progrés multimèdia", "MessageNoNotifications": "Sense notificacions", "MessageNoPodcastFeed": "Podcast no vàlid: sense font", - "MessageNoPodcastsFound": "Cap podcast trobat", + "MessageNoPodcastsFound": "No s'ha trobat cap pòdcast", "MessageNoResults": "Sense resultats", "MessageNoSearchResultsFor": "No hi ha resultats per a la cerca «{0}»", "MessageNoSeries": "Sense sèries", "MessageNoTags": "Sense etiquetes", "MessageNoTasksRunning": "Sense tasques en execució", - "MessageNoUpdatesWereNecessary": "No calien actualitzacions", + "MessageNoUpdatesWereNecessary": "No calia cap actualització", "MessageNoUserPlaylists": "No teniu cap llista de reproducció", "MessageNotYetImplemented": "Encara no implementat", "MessageOpmlPreviewNote": "Nota: Aquesta és una vista prèvia de l'arxiu OPML analitzat. El títol real del podcast s'obtindrà del canal RSS.", From 5e5a30cd5c50ace4f4432ce3b54b0d4dfde80f43 Mon Sep 17 00:00:00 2001 From: Adolfo Jayme Barrientos Date: Sat, 22 Mar 2025 02:48:04 +0100 Subject: [PATCH 16/32] Translated using Weblate (Spanish) Currently translated at 99.2% (1082 of 1090 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/es/ --- client/strings/es.json | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/client/strings/es.json b/client/strings/es.json index fedefd1f..c2b7d762 100644 --- a/client/strings/es.json +++ b/client/strings/es.json @@ -148,7 +148,7 @@ "HeaderLatestEpisodes": "Episodios más recientes", "HeaderLibraries": "Bibliotecas", "HeaderLibraryFiles": "Archivos de Biblioteca", - "HeaderLibraryStats": "Estáticas de Biblioteca", + "HeaderLibraryStats": "Estadísticas de biblioteca", "HeaderListeningSessions": "Sesión", "HeaderListeningStats": "Estadísticas de Tiempo Escuchado", "HeaderLogin": "Acceder", @@ -194,9 +194,9 @@ "HeaderSettingsScanner": "Escáner", "HeaderSettingsWebClient": "Cliente web", "HeaderSleepTimer": "Temporizador de apagado", - "HeaderStatsLargestItems": "Artículos mas Grandes", - "HeaderStatsLongestItems": "Artículos mas Largos (h)", - "HeaderStatsMinutesListeningChart": "Minutos escuchando (Últimos 7 días)", + "HeaderStatsLargestItems": "Elementos más grandes", + "HeaderStatsLongestItems": "Elementos más extensos (h)", + "HeaderStatsMinutesListeningChart": "Minutos escuchando (últimos 7 días)", "HeaderStatsRecentSessions": "Sesiones recientes", "HeaderStatsTop10Authors": "Top 10 Autores", "HeaderStatsTop5Genres": "Top 5 Géneros", @@ -290,7 +290,7 @@ "LabelCustomCronExpression": "Expresión de Cron Personalizada:", "LabelDatetime": "Hora y Fecha", "LabelDays": "Días", - "LabelDeleteFromFileSystemCheckbox": "Eliminar archivos del sistema (desmarcar para eliminar sólo de la base de datos)", + "LabelDeleteFromFileSystemCheckbox": "Eliminar del sistema de archivos (desmarque para quitar de la base de datos solamente)", "LabelDescription": "Descripción", "LabelDeselectAll": "Deseleccionar Todos", "LabelDevice": "Dispositivo", @@ -374,7 +374,7 @@ "LabelHasSupplementaryEbook": "Tiene un libro complementario", "LabelHideSubtitles": "Ocultar subtítulos", "LabelHighestPriority": "Mayor prioridad", - "LabelHost": "Host", + "LabelHost": "Anfitrión", "LabelHour": "Hora", "LabelHours": "Horas", "LabelIcon": "Icono", @@ -384,27 +384,27 @@ "LabelIncomplete": "Incompleto", "LabelInterval": "Intervalo", "LabelIntervalCustomDailyWeekly": "Personalizar diario/semanal", - "LabelIntervalEvery12Hours": "Cada 12 Horas", + "LabelIntervalEvery12Hours": "Cada 12 horas", "LabelIntervalEvery15Minutes": "Cada 15 minutos", - "LabelIntervalEvery2Hours": "Cada 2 Horas", + "LabelIntervalEvery2Hours": "Cada 2 horas", "LabelIntervalEvery30Minutes": "Cada 30 minutos", - "LabelIntervalEvery6Hours": "Cada 6 Horas", - "LabelIntervalEveryDay": "Cada Día", - "LabelIntervalEveryHour": "Cada Hora", + "LabelIntervalEvery6Hours": "Cada 6 horas", + "LabelIntervalEveryDay": "Cada día", + "LabelIntervalEveryHour": "Cada hora", "LabelIntervalEveryMinute": "Cada minuto", "LabelInvert": "Invertir", "LabelItem": "Elemento", "LabelJumpBackwardAmount": "Cantidad de saltos hacia atrás", "LabelJumpForwardAmount": "Cantidad de saltos hacia adelante", "LabelLanguage": "Idioma", - "LabelLanguageDefaultServer": "Lenguaje Predeterminado del Servidor", + "LabelLanguageDefaultServer": "Idioma predeterminado del servidor", "LabelLanguages": "Idiomas", - "LabelLastBookAdded": "Último Libro Agregado", - "LabelLastBookUpdated": "Último Libro Actualizado", + "LabelLastBookAdded": "Último libro añadido", + "LabelLastBookUpdated": "Último libro actualizado", "LabelLastSeen": "Última Vez Visto", "LabelLastTime": "Última Vez", "LabelLastUpdate": "Última Actualización", - "LabelLayout": "Distribución", + "LabelLayout": "Disposición", "LabelLayoutSinglePage": "Página única", "LabelLayoutSplitPage": "Dos Páginas", "LabelLess": "Menos", @@ -474,7 +474,7 @@ "LabelOverwrite": "Sobrescribir", "LabelPaginationPageXOfY": "Página {0} de {1}", "LabelPassword": "Contraseña", - "LabelPath": "Ruta de carpeta", + "LabelPath": "Ruta", "LabelPermanent": "Permanente", "LabelPermissionsAccessAllLibraries": "Puede acceder a todas las bibliotecas", "LabelPermissionsAccessAllTags": "Puede acceder a todas las etiquetas", From a46394b2fea796cd10ce37c9a2e221b37af4d400 Mon Sep 17 00:00:00 2001 From: Simple16 Date: Sat, 22 Mar 2025 03:06:08 +0100 Subject: [PATCH 17/32] Translated using Weblate (Russian) Currently translated at 100.0% (1090 of 1090 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/ru/ --- client/strings/ru.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/client/strings/ru.json b/client/strings/ru.json index d5686427..9ab8a58a 100644 --- a/client/strings/ru.json +++ b/client/strings/ru.json @@ -252,7 +252,7 @@ "LabelBackToUser": "Назад к пользователю", "LabelBackupAudioFiles": "Резервное копирование аудиофайлов", "LabelBackupLocation": "Путь для бэкапов", - "LabelBackupsEnableAutomaticBackups": "Включить автоматическое бэкапирование", + "LabelBackupsEnableAutomaticBackups": "Автоматическое резервное копирование", "LabelBackupsEnableAutomaticBackupsHelp": "Бэкапы сохраняются в /metadata/backups", "LabelBackupsMaxBackupSize": "Максимальный размер бэкапа (в GB) (0 для неограниченного лимита)", "LabelBackupsMaxBackupSizeHelp": "В качестве защиты процесс бэкапирования будет завершаться ошибкой, если будет превышен настроенный размер.", @@ -420,7 +420,7 @@ "LabelListenAgain": "Послушать снова", "LabelLogLevelDebug": "Debug", "LabelLogLevelInfo": "Info", - "LabelLogLevelWarn": "Warn", + "LabelLogLevelWarn": "Предупреждение", "LabelLookForNewEpisodesAfterDate": "Искать новые эпизоды после этой даты", "LabelLowestPriority": "Самый низкий приоритет", "LabelMatchExistingUsersBy": "Сопоставление существующих пользователей по", @@ -558,6 +558,8 @@ "LabelSettingsBookshelfViewHelp": "Конструкция с деревянными полками", "LabelSettingsChromecastSupport": "Поддержка Chromecast", "LabelSettingsDateFormat": "Формат даты", + "LabelSettingsEnableWatcher": "Автоматическое сканирование библиотек на изменение", + "LabelSettingsEnableWatcherForLibrary": "Автоматическое сканирование библиотеки на изменение", "LabelSettingsEnableWatcherHelp": "Включает автоматическое добавление/обновление элементов при обнаружении изменений файлов. *Требуется перезапуск сервера", "LabelSettingsEpubsAllowScriptedContent": "Разрешение содержимого epub с скриптами", "LabelSettingsEpubsAllowScriptedContentHelp": "Разрешить файлам epub выполнять скрипты. Рекомендуется отключать этот параметр, если вы не доверяете источнику файлов epub.", From e5535c7fc49563e1c65268254f56872506522a77 Mon Sep 17 00:00:00 2001 From: Adolfo Jayme Barrientos Date: Sat, 22 Mar 2025 02:52:25 +0100 Subject: [PATCH 18/32] Translated using Weblate (Catalan) Currently translated at 93.7% (1022 of 1090 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/ca/ --- client/strings/ca.json | 98 +++++++++++++++++++++--------------------- 1 file changed, 50 insertions(+), 48 deletions(-) diff --git a/client/strings/ca.json b/client/strings/ca.json index f5d1a7f3..ae4818d4 100644 --- a/client/strings/ca.json +++ b/client/strings/ca.json @@ -3,7 +3,7 @@ "ButtonAddChapters": "Afegeix", "ButtonAddDevice": "Afegeix Dispositiu", "ButtonAddLibrary": "Crea Biblioteca", - "ButtonAddPodcasts": "Afegeix Podcasts", + "ButtonAddPodcasts": "Afegeix pòdcasts", "ButtonAddUser": "Crea Usuari", "ButtonAddYourFirstLibrary": "Crea la teva Primera Biblioteca", "ButtonApply": "Aplica", @@ -28,7 +28,7 @@ "ButtonDownloadQueue": "Cua", "ButtonEdit": "Edita", "ButtonEditChapters": "Edita Capítol", - "ButtonEditPodcast": "Edita Podcast", + "ButtonEditPodcast": "Edita el pòdcast", "ButtonEnable": "Habilita", "ButtonFireAndFail": "Executat i fallat", "ButtonFireOnTest": "Activa esdeveniment de prova", @@ -127,10 +127,10 @@ "HeaderChooseAFolder": "Tria una Carpeta", "HeaderCollection": "Col·lecció", "HeaderCollectionItems": "Elements a la Col·lecció", - "HeaderCover": "Portada", - "HeaderCurrentDownloads": "Descàrregues Actuals", - "HeaderCustomMessageOnLogin": "Missatge Personalitzat a l'Iniciar Sessió", - "HeaderCustomMetadataProviders": "Proveïdors de Metadades Personalitzats", + "HeaderCover": "Coberta", + "HeaderCurrentDownloads": "Baixades actuals", + "HeaderCustomMessageOnLogin": "Missatge personalitzat en iniciar sessió", + "HeaderCustomMetadataProviders": "Proveïdors de metadades personalitzats", "HeaderDetails": "Detalls", "HeaderDownloadQueue": "Cua de Descàrregues", "HeaderEbookFiles": "Fitxers de Llibres Digitals", @@ -174,7 +174,7 @@ "HeaderPlayerSettings": "Configuració del Reproductor", "HeaderPlaylist": "Llista de Reproducció", "HeaderPlaylistItems": "Elements de la Llista de Reproducció", - "HeaderPodcastsToAdd": "Podcasts a afegir", + "HeaderPodcastsToAdd": "Pòdcasts a afegir", "HeaderPreviewCover": "Previsualització de la Portada", "HeaderRSSFeedGeneral": "Detalls RSS", "HeaderRSSFeedIsOpen": "La Font RSS està oberta", @@ -194,9 +194,9 @@ "HeaderSettingsScanner": "Escàner", "HeaderSettingsWebClient": "Client web", "HeaderSleepTimer": "Temporitzador de son", - "HeaderStatsLargestItems": "Elements més Grans", - "HeaderStatsLongestItems": "Elements més Llargs (h)", - "HeaderStatsMinutesListeningChart": "Minuts Escoltant (Últims 7 dies)", + "HeaderStatsLargestItems": "Elements més grans", + "HeaderStatsLongestItems": "Elements més llargs (h)", + "HeaderStatsMinutesListeningChart": "Minuts escoltant (últims 7 dies)", "HeaderStatsRecentSessions": "Sessions recents", "HeaderStatsTop10Authors": "Top 10 Autors", "HeaderStatsTop5Genres": "Top 5 Gèneres", @@ -280,7 +280,7 @@ "LabelContinueListening": "Continuar escoltant", "LabelContinueReading": "Continuar llegint", "LabelContinueSeries": "Continuar sèries", - "LabelCover": "Portada", + "LabelCover": "Coberta", "LabelCoverImageURL": "URL de la Imatge de Portada", "LabelCoverProvider": "Proveïdor de cobertes", "LabelCreatedAt": "Creat", @@ -290,7 +290,7 @@ "LabelCustomCronExpression": "Expressió de Cron Personalitzada:", "LabelDatetime": "Hora i Data", "LabelDays": "Dies", - "LabelDeleteFromFileSystemCheckbox": "Eliminar arxius del sistema (desmarcar per eliminar només de la base de dades)", + "LabelDeleteFromFileSystemCheckbox": "Suprimeix del sistema de fitxers (desmarqueu per a eliminar de la base de dades només)", "LabelDescription": "Descripció", "LabelDeselectAll": "Desseleccionar Tots", "LabelDevice": "Dispositiu", @@ -320,7 +320,7 @@ "LabelEmailSettingsTestAddress": "Provar Adreça", "LabelEmbeddedCover": "Portada Integrada", "LabelEnable": "Habilitar", - "LabelEncodingBackupLocation": "Es guardarà una còpia de seguretat dels teus arxius d'àudio originals a:", + "LabelEncodingBackupLocation": "Es desarà una còpia de seguretat dels vostres fitxers d'àudio originals a:", "LabelEncodingChaptersNotEmbedded": "Els capítols no s'incrusten en els audiollibres multipista.", "LabelEncodingClearItemCache": "Assegura't de purgar periòdicament la memòria cau.", "LabelEncodingFinishedM4B": "El M4B acabat es col·locarà a la teva carpeta d'audiollibres a:", @@ -348,7 +348,7 @@ "LabelExportOPML": "Exportar OPML", "LabelFeedURL": "Font de URL", "LabelFetchingMetadata": "Obtenció de metadades", - "LabelFile": "Arxiu", + "LabelFile": "Fitxer", "LabelFileBirthtime": "Arxiu creat a", "LabelFileBornDate": "Creat {0}", "LabelFileModified": "Arxiu modificat", @@ -384,27 +384,27 @@ "LabelIncomplete": "Incomplet", "LabelInterval": "Interval", "LabelIntervalCustomDailyWeekly": "Personalitzar diari/setmanal", - "LabelIntervalEvery12Hours": "Cada 12 Hores", + "LabelIntervalEvery12Hours": "Cada 12 hores", "LabelIntervalEvery15Minutes": "Cada 15 minuts", - "LabelIntervalEvery2Hours": "Cada 2 Hores", + "LabelIntervalEvery2Hours": "Cada 2 hores", "LabelIntervalEvery30Minutes": "Cada 30 minuts", - "LabelIntervalEvery6Hours": "Cada 6 Hores", - "LabelIntervalEveryDay": "Cada Dia", - "LabelIntervalEveryHour": "Cada Hora", + "LabelIntervalEvery6Hours": "Cada 6 hores", + "LabelIntervalEveryDay": "Cada dia", + "LabelIntervalEveryHour": "Cada hora", "LabelIntervalEveryMinute": "Cada minut", "LabelInvert": "Invertir", "LabelItem": "Element", "LabelJumpBackwardAmount": "Quantitat de salts cap enrere", "LabelJumpForwardAmount": "Quantitat de salts cap endavant", - "LabelLanguage": "Idioma", - "LabelLanguageDefaultServer": "Idioma Predeterminat del Servidor", - "LabelLanguages": "Idiomes", - "LabelLastBookAdded": "Últim Llibre Afegit", - "LabelLastBookUpdated": "Últim Llibre Actualitzat", + "LabelLanguage": "Llengua", + "LabelLanguageDefaultServer": "Llengua per defecte del servidor", + "LabelLanguages": "Llengües", + "LabelLastBookAdded": "Últim llibre afegit", + "LabelLastBookUpdated": "Últim llibre actualitzat", "LabelLastSeen": "Última Vegada Vist", "LabelLastTime": "Última Vegada", "LabelLastUpdate": "Última Actualització", - "LabelLayout": "Distribució", + "LabelLayout": "Disposició", "LabelLayoutSinglePage": "Pàgina única", "LabelLayoutSplitPage": "Dues Pàgines", "LabelLess": "Menys", @@ -465,7 +465,7 @@ "LabelNotificationsMaxFailedAttemptsHelp": "Les notificacions es desactivaran després de fallar aquest nombre de vegades", "LabelNotificationsMaxQueueSize": "Mida màxima de la cua de notificacions", "LabelNotificationsMaxQueueSizeHelp": "Les notificacions estan limitades a 1 per segon. Les notificacions seran ignorades si arriben al número màxim de cua per prevenir spam d'esdeveniments.", - "LabelNumberOfBooks": "Nombre de Llibres", + "LabelNumberOfBooks": "Nombre de llibres", "LabelNumberOfEpisodes": "Nre. d'episodis", "LabelOpenIDAdvancedPermsClaimDescription": "Nom de la notificació de OpenID que conté permisos avançats per accions d'usuari dins l'aplicació que s'aplicaran a rols que no siguin d'administrador (si estan configurats). Si el reclam no apareix en la resposta, es denegarà l'accés a ABS. Si manca una sola opció, es tractarà com a falsa. Assegura't que la notificació del proveïdor d'identitats coincideixi amb l'estructura esperada:", "LabelOpenIDClaims": "Deixa les següents opcions buides per desactivar l'assignació avançada de grups i permisos, el que assignaria automàticament al grup 'Usuari'.", @@ -473,24 +473,24 @@ "LabelOverwrite": "Sobreescriure", "LabelPaginationPageXOfY": "Pàgina {0} de {1}", "LabelPassword": "Contrasenya", - "LabelPath": "Ruta de carpeta", + "LabelPath": "Camí", "LabelPermanent": "Permanent", - "LabelPermissionsAccessAllLibraries": "Pot Accedir a Totes les Biblioteques", - "LabelPermissionsAccessAllTags": "Pot Accedir a Totes les Etiquetes", - "LabelPermissionsAccessExplicitContent": "Pot Accedir a Contingut Explícit", - "LabelPermissionsCreateEreader": "Pot Crear un Gestor de Projectes", - "LabelPermissionsDelete": "Pot Eliminar", - "LabelPermissionsDownload": "Pot Descarregar", - "LabelPermissionsUpdate": "Pot Actualitzar", - "LabelPermissionsUpload": "Pot Pujar", - "LabelPersonalYearReview": "Revisió del teu any ({0})", - "LabelPhotoPathURL": "Ruta/URL de la Foto", - "LabelPlayMethod": "Mètode de Reproducció", - "LabelPlayerChapterNumberMarker": "{0} de {1}", - "LabelPlaylists": "Llistes de Reproducció", + "LabelPermissionsAccessAllLibraries": "Pot accedir a totes les biblioteques", + "LabelPermissionsAccessAllTags": "Pot accedir a totes les etiquetes", + "LabelPermissionsAccessExplicitContent": "Pot accedir a contingut explícit", + "LabelPermissionsCreateEreader": "Pot crear un lector", + "LabelPermissionsDelete": "Pot suprimir", + "LabelPermissionsDownload": "Pot baixar", + "LabelPermissionsUpdate": "Pot actualitzar", + "LabelPermissionsUpload": "Pot pujar", + "LabelPersonalYearReview": "Revisió del vostre any ({0})", + "LabelPhotoPathURL": "Camí/URL de la foto", + "LabelPlayMethod": "Mètode de reproducció", + "LabelPlayerChapterNumberMarker": "{0}/{1}", + "LabelPlaylists": "Llistes de reproducció", "LabelPodcast": "Pòdcast", - "LabelPodcastSearchRegion": "Regió de Cerca de Podcasts", - "LabelPodcastType": "Tipus de Podcast", + "LabelPodcastSearchRegion": "Regió de cerca de pòdcasts", + "LabelPodcastType": "Tipus de pòdcast", "LabelPodcasts": "Pòdcasts", "LabelPort": "Port", "LabelPrefixesToIgnore": "Prefixos per Ignorar (no distingeix entre majúscules i minúscules.)", @@ -659,7 +659,7 @@ "LabelYearReviewHide": "Oculta resum de l'any", "LabelYearReviewShow": "Mostra resum de l'any", "LabelYourAudiobookDuration": "Duració del teu audiollibre", - "LabelYourBookmarks": "Els teus marcadors", + "LabelYourBookmarks": "Els vostres marcadors", "LabelYourPlaylists": "Les teves llistes", "LabelYourProgress": "El vostre progrés", "MessageAddToPlayerQueue": "Afegeix a la cua del reproductor", @@ -727,6 +727,8 @@ "MessageEmbedFailed": "Error en incrustar!", "MessageEmbedFinished": "Incrustació acabada!", "MessageEmbedQueue": "En cua per incrustar metadades ({0} en cua)", + "MessageFetching": "S'està recuperant...", + "MessageLoading": "S'està carregant...", "MessageMarkAsFinished": "Marcar com acabat", "MessageMarkAsNotFinished": "Marcar com no acabat", "MessageMatchBooksDescription": "S'intentarà fer coincidir els llibres de la biblioteca amb un llibre del proveïdor de cerca seleccionat, i s'ompliran els detalls buits i la portada. No sobreescriu els detalls.", @@ -908,8 +910,8 @@ "ToastCollectionRemoveSuccess": "Col·lecció eliminada", "ToastCollectionUpdateSuccess": "Col·lecció actualitzada", "ToastCoverUpdateFailed": "Error en actualitzar la portada", - "ToastDeleteFileFailed": "Error en eliminar l'arxiu", - "ToastDeleteFileSuccess": "Arxiu eliminat", + "ToastDeleteFileFailed": "No s'ha pogut suprimir el fitxer", + "ToastDeleteFileSuccess": "Fitxer suprimit", "ToastDeviceAddFailed": "Error en afegir el dispositiu", "ToastDeviceNameAlreadyExists": "Ja existeix un dispositiu amb aquest nom", "ToastDeviceTestEmailFailed": "Error en enviar el correu de prova", @@ -969,12 +971,12 @@ "ToastNotificationTestTriggerFailed": "No s'ha pogut activar la notificació de prova", "ToastNotificationTestTriggerSuccess": "Notificació de prova activada", "ToastNotificationUpdateSuccess": "Notificació actualitzada", - "ToastPlaylistCreateFailed": "Error en crear la llista de reproducció", + "ToastPlaylistCreateFailed": "No s'ha pogut crear la llista de reproducció", "ToastPlaylistCreateSuccess": "Llista de reproducció creada", "ToastPlaylistRemoveSuccess": "Llista de reproducció eliminada", "ToastPlaylistUpdateSuccess": "Llista de reproducció actualitzada", - "ToastPodcastCreateFailed": "Error en crear el podcast", - "ToastPodcastCreateSuccess": "Podcast creat", + "ToastPodcastCreateFailed": "No s'ha pogut crear el pòdcast", + "ToastPodcastCreateSuccess": "S'ha creat el pòdcast correctament", "ToastPodcastGetFeedFailed": "No s'ha pogut obtenir el podcast", "ToastPodcastNoEpisodesInFeed": "No s'han trobat episodis en el feed RSS", "ToastPodcastNoRssFeed": "El podcast no té un feed RSS", From c2cd962607c833265a91e303f0749adba10a0b6a Mon Sep 17 00:00:00 2001 From: Adolfo Jayme Barrientos Date: Sat, 22 Mar 2025 07:42:15 +0100 Subject: [PATCH 19/32] Translated using Weblate (Spanish) Currently translated at 99.2% (1082 of 1090 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/es/ --- client/strings/es.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/client/strings/es.json b/client/strings/es.json index c2b7d762..4d476ba3 100644 --- a/client/strings/es.json +++ b/client/strings/es.json @@ -427,15 +427,15 @@ "LabelMaxEpisodesToDownloadPerCheck": "Número máximo de episodios nuevos que se descargarán por comprobación", "LabelMaxEpisodesToKeep": "Número máximo de episodios que se mantendrán", "LabelMaxEpisodesToKeepHelp": "El valor 0 no establece un límite máximo. Después de que se descargue automáticamente un nuevo episodio, esto eliminará el episodio más antiguo si tiene más de X episodios. Esto solo eliminará 1 episodio por nueva descarga.", - "LabelMediaPlayer": "Reproductor de Medios", + "LabelMediaPlayer": "Reproductor multimedia", "LabelMediaType": "Tipo de multimedia", "LabelMetaTag": "Metaetiqueta", "LabelMetaTags": "Metaetiquetas", "LabelMetadataOrderOfPrecedenceDescription": "Las fuentes de metadatos de mayor prioridad prevalecerán sobre las de menor prioridad", - "LabelMetadataProvider": "Proveedor de Metadatos", + "LabelMetadataProvider": "Proveedor de metadatos", "LabelMinute": "Minuto", "LabelMinutes": "Minutos", - "LabelMissing": "Ausente", + "LabelMissing": "Falta", "LabelMissingEbook": "No tiene ebook", "LabelMissingSupplementaryEbook": "No tiene ebook suplementario", "LabelMobileRedirectURIs": "URIs de redirección a móviles permitidos", From 378651265a9e41650d778900ff78b502925944ec Mon Sep 17 00:00:00 2001 From: Adolfo Jayme Barrientos Date: Sat, 22 Mar 2025 07:34:29 +0100 Subject: [PATCH 20/32] Translated using Weblate (Catalan) Currently translated at 93.7% (1022 of 1090 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/ca/ --- client/strings/ca.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/client/strings/ca.json b/client/strings/ca.json index ae4818d4..7a055ea2 100644 --- a/client/strings/ca.json +++ b/client/strings/ca.json @@ -105,11 +105,11 @@ "ButtonUnlinkOpenId": "Desvincula OpenID", "ButtonUpload": "Carrega", "ButtonUploadBackup": "Carrega Còpia de Seguretat", - "ButtonUploadCover": "Carrega Portada", - "ButtonUploadOPMLFile": "Carrega Fitxer OPML", - "ButtonUserDelete": "Elimina Usuari {0}", - "ButtonUserEdit": "Edita Usuari {0}", - "ButtonViewAll": "Mostra-ho Tot", + "ButtonUploadCover": "Puja una coberta", + "ButtonUploadOPMLFile": "Puja un fitxer OPML", + "ButtonUserDelete": "Suprimeix l'usuari {0}", + "ButtonUserEdit": "Edita l'usuari {0}", + "ButtonViewAll": "Mostra-ho tot", "ButtonYes": "Sí", "ErrorUploadFetchMetadataAPI": "Error obtenint metadades", "ErrorUploadFetchMetadataNoResults": "No s'han pogut obtenir metadades - Intenta actualitzar el títol i/o autor", @@ -281,7 +281,7 @@ "LabelContinueReading": "Continuar llegint", "LabelContinueSeries": "Continuar sèries", "LabelCover": "Coberta", - "LabelCoverImageURL": "URL de la Imatge de Portada", + "LabelCoverImageURL": "URL de la imatge de coberta", "LabelCoverProvider": "Proveïdor de cobertes", "LabelCreatedAt": "Creat", "LabelCronExpression": "Expressió de Cron", @@ -427,12 +427,12 @@ "LabelMaxEpisodesToDownloadPerCheck": "Nombre màxim de nous episodis que es descarregaran per comprovació", "LabelMaxEpisodesToKeep": "Nombre màxim d'episodis que es mantindran", "LabelMaxEpisodesToKeepHelp": "El valor 0 no estableix un límit màxim. Després de descarregar automàticament un nou episodi, això eliminarà l'episodi més antic si té més de X episodis. Això només eliminarà 1 episodi per nova descàrrega.", - "LabelMediaPlayer": "Reproductor de Mitjans", + "LabelMediaPlayer": "Reproductor multimèdia", "LabelMediaType": "Tipus de mitjà", "LabelMetaTag": "Metaetiqueta", "LabelMetaTags": "Metaetiquetes", "LabelMetadataOrderOfPrecedenceDescription": "Les fonts de metadades de major prioritat prevaldran sobre les de menor prioritat", - "LabelMetadataProvider": "Proveïdor de Metadades", + "LabelMetadataProvider": "Proveïdor de metadades", "LabelMinute": "Minut", "LabelMinutes": "Minuts", "LabelMissing": "Absent", @@ -629,7 +629,7 @@ "LabelUndo": "Desfés", "LabelUnknown": "Desconegut", "LabelUnknownPublishDate": "Data de publicació desconeguda", - "LabelUpdateCover": "Actualitza portada", + "LabelUpdateCover": "Actualitza la coberta", "LabelUpdateCoverHelp": "Permet sobreescriure les portades existents dels llibres seleccionats quan es trobi una coincidència.", "LabelUpdateDetails": "Actualitza detalls", "LabelUpdateDetailsHelp": "Permet sobreescriure els detalls existents dels llibres seleccionats quan es trobin coincidències.", @@ -738,7 +738,7 @@ "MessageNoBookmarks": "Sense marcadors", "MessageNoChapters": "Cap capítol", "MessageNoCollections": "Cap col·lecció", - "MessageNoCoversFound": "Cap portada trobada", + "MessageNoCoversFound": "No s'ha trobat cap coberta", "MessageNoDescription": "Sense descripció", "MessageNoDevices": "Sense dispositius", "MessageNoDownloadsInProgress": "No hi ha descàrregues en curs", From bbb0fbe63fe43e9fc4bda50876fe05d7353cb868 Mon Sep 17 00:00:00 2001 From: Adolfo Jayme Barrientos Date: Sat, 22 Mar 2025 09:18:16 +0100 Subject: [PATCH 21/32] Translated using Weblate (Catalan) Currently translated at 93.7% (1022 of 1090 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/ca/ --- client/strings/ca.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/strings/ca.json b/client/strings/ca.json index 7a055ea2..c832681e 100644 --- a/client/strings/ca.json +++ b/client/strings/ca.json @@ -328,7 +328,7 @@ "LabelEncodingStartedNavigation": "Un cop iniciada la tasca, pots sortir d'aquesta pàgina.", "LabelEncodingTimeWarning": "La codificació pot trigar fins a 30 minuts.", "LabelEncodingWarningAdvancedSettings": "Advertència: No actualitzis aquesta configuració tret que estiguis familiaritzat amb les opcions de codificació d'ffmpeg.", - "LabelEncodingWatcherDisabled": "Si has desactivat la supervisió dels arxius, hauràs de tornar a escanejar aquest audiollibre més endavant.", + "LabelEncodingWatcherDisabled": "Si heu desactivat la supervisió dels fitxers, haureu de tornar a escanejar aquest audiollibre més endavant.", "LabelEnd": "Fi", "LabelEndOfChapter": "Fi del capítol", "LabelEpisode": "Episodi", @@ -351,7 +351,7 @@ "LabelFile": "Fitxer", "LabelFileBirthtime": "Arxiu creat a", "LabelFileBornDate": "Creat {0}", - "LabelFileModified": "Arxiu modificat", + "LabelFileModified": "Fitxer modificat", "LabelFileModifiedDate": "Modificat {0}", "LabelFilename": "Nom del fitxer", "LabelFilterByUser": "Filtrar per Usuari", From 381f91edd820087cc5dd2be68819a0b4fe6d2499 Mon Sep 17 00:00:00 2001 From: Adolfo Jayme Barrientos Date: Sat, 22 Mar 2025 17:28:43 +0100 Subject: [PATCH 22/32] Translated using Weblate (Catalan) Currently translated at 93.7% (1022 of 1090 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/ca/ --- client/strings/ca.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/strings/ca.json b/client/strings/ca.json index c832681e..299cb68c 100644 --- a/client/strings/ca.json +++ b/client/strings/ca.json @@ -269,7 +269,7 @@ "LabelChaptersFound": "Capítol Trobat", "LabelClickForMoreInfo": "Fes clic per a més informació", "LabelClickToUseCurrentValue": "Fes clic per utilitzar el valor actual", - "LabelClosePlayer": "Tancar reproductor", + "LabelClosePlayer": "Tanca el reproductor", "LabelCodec": "Còdec", "LabelCollapseSeries": "Contraure sèrie", "LabelCollapseSubSeries": "Contraure la subsèrie", @@ -764,7 +764,7 @@ "MessageNoUpdatesWereNecessary": "No calia cap actualització", "MessageNoUserPlaylists": "No teniu cap llista de reproducció", "MessageNotYetImplemented": "Encara no implementat", - "MessageOpmlPreviewNote": "Nota: Aquesta és una vista prèvia de l'arxiu OPML analitzat. El títol real del podcast s'obtindrà del canal RSS.", + "MessageOpmlPreviewNote": "Nota: aquesta és una previsualització del fitxer OPML analitzat. El títol real del pòdcast s'obtindrà del canal RSS.", "MessageOr": "o", "MessagePauseChapter": "Pausar la reproducció del capítol", "MessagePlayChapter": "Escoltar l'inici del capítol", From ccdc76e88c8803727cf27c421d121df9de779cb7 Mon Sep 17 00:00:00 2001 From: Jan-Eric Myhrgren Date: Sun, 23 Mar 2025 09:49:17 +0100 Subject: [PATCH 23/32] Translated using Weblate (Swedish) Currently translated at 94.7% (1033 of 1090 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/sv/ --- client/strings/sv.json | 55 +++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/client/strings/sv.json b/client/strings/sv.json index 7871e57d..3d929614 100644 --- a/client/strings/sv.json +++ b/client/strings/sv.json @@ -85,7 +85,7 @@ "ButtonRestore": "Återställ", "ButtonSave": "Spara", "ButtonSaveAndClose": "Spara och stäng", - "ButtonSaveTracklist": "Spara spårlista", + "ButtonSaveTracklist": "Spara ordningsföljden", "ButtonScan": "Skanna", "ButtonScanLibrary": "Skanna bibliotek", "ButtonScrollLeft": "Scroll vänster", @@ -100,7 +100,7 @@ "ButtonStartM4BEncode": "Starta M4B-omkodning", "ButtonStartMetadataEmbed": "Infoga metadata", "ButtonStats": "Statistik", - "ButtonSubmit": "Spara", + "ButtonSubmit": "Skicka", "ButtonTest": "Testa", "ButtonUpload": "Ladda upp", "ButtonUploadBackup": "Läs in säkerhetskopia", @@ -117,7 +117,7 @@ "HeaderAddCustomMetadataProvider": "Addera egen källa för metadata", "HeaderAdvanced": "Avancerad", "HeaderAppriseNotificationSettings": "Inställningar av meddelanden med Apprise", - "HeaderAudioTracks": "Ljudspår", + "HeaderAudioTracks": "Ljudfiler", "HeaderAudiobookTools": "Hantering av ljudboksfiler", "HeaderAuthentication": "Autentisering", "HeaderBackups": "Säkerhetskopior", @@ -282,7 +282,7 @@ "LabelCoverProvider": "Källa för omslag", "LabelCreatedAt": "Skapad", "LabelCronExpression": "Schemaläggning med hjälp av Cron (Cron Expression)", - "LabelCurrent": "Nuvarande", + "LabelCurrent": "Nuvarande plats", "LabelCurrently": "För närvarande:", "LabelCustomCronExpression": "Anpassat Cron-uttryck:", "LabelDatetime": "Datum och klockslag", @@ -294,17 +294,17 @@ "LabelDeviceInfo": "Enhetsinformation", "LabelDeviceIsAvailableTo": "Enhet är tillgänglig för...", "LabelDirectory": "Katalog", - "LabelDiscFromFilename": "Skiva från filnamn", + "LabelDiscFromFilename": "Skiva från filnamnet", "LabelDiscFromMetadata": "Skiva från metadata", "LabelDiscover": "Några förslag", "LabelDownload": "Ladda ner", "LabelDownloadNEpisodes": "Ladda ner {0} avsnitt", "LabelDownloadable": "Nedladdningsbar", - "LabelDuration": "Varaktighet", + "LabelDuration": "Längd", "LabelDurationComparisonExactMatch": "(exakt matchning)", "LabelDurationComparisonLonger": "({0} längre)", "LabelDurationComparisonShorter": "({0} kortare)", - "LabelDurationFound": "Varaktighet hittad:", + "LabelDurationFound": "Längd hittad:", "LabelEbook": "E-bok", "LabelEbooks": "E-böcker", "LabelEdit": "Redigera", @@ -318,14 +318,14 @@ "LabelEmbeddedCover": "Infogat omslag", "LabelEnable": "Aktivera", "LabelEncodingBackupLocation": "En säkerhetskopia av ljudfilerna kommer att placeras i katalogen:", - "LabelEncodingChaptersNotEmbedded": "Information om kapitel kommer inte att inkluderas i ljudböcker med flera ljudspår.", + "LabelEncodingChaptersNotEmbedded": "Information om kapitel kommer inte att inkluderas i ljudböcker med flera ljudfiler.", "LabelEncodingClearItemCache": "Kom ihåg att regelbundet rensa cachen för föremål. Du hittar funktionen längst ner på sidan 'Inställningar'.", "LabelEncodingFinishedM4B": "Den färdiga M4B-filen kommer att placeras i katalogen:", "LabelEncodingInfoEmbedded": "Metadata kommer att adderas i ljudfilerna i mappen med ljudboken.", "LabelEncodingStartedNavigation": "När du startat uppgiften kan du lämna denna sida. Arbetet fortsätter i bakgrunden.", "LabelEncodingTimeWarning": "Omkodningen kan ta upp till 30 minuter eller ännu längre för riktigt stora filer.", "LabelEncodingWarningAdvancedSettings": "VARNING: Ändra inte inställningarna om du inte är bekant med inställningarna för omkodning med 'ffmpeg'.", - "LabelEncodingWatcherDisabled": "Om funktionen 'Watcher' är avstängd behöver du göra en ny skanning av ljudboken efteråt.", + "LabelEncodingWatcherDisabled": "Om den automatiska bevakningen av förändringar är avstängd behöver du göra en ny skanning av ljudboken efteråt.", "LabelEnd": "Slut", "LabelEndOfChapter": "Slut av kapitel", "LabelEpisode": "Avsnitt", @@ -438,7 +438,7 @@ "LabelName": "Namn", "LabelNarrator": "Uppläsare", "LabelNarrators": "Uppläsare", - "LabelNew": "Nytt", + "LabelNew": "Ny plats", "LabelNewPassword": "Nytt lösenord", "LabelNewestAuthors": "Senaste författarna", "LabelNewestEpisodes": "Senaste avsnitten", @@ -489,7 +489,7 @@ "LabelProgress": "Framsteg", "LabelProvider": "Källa", "LabelPubDate": "Publiceringsdatum", - "LabelPublishYear": "Publiceringsår", + "LabelPublishYear": "Utgivningsår", "LabelPublishedDate": "Publicerad {0}", "LabelPublishedDecade": "Årtionde för publicering", "LabelPublishedDecades": "Årtionde för publicering", @@ -543,7 +543,8 @@ "LabelSettingsBookshelfViewHelp": "Bakgrund med ett utseende liknande en bokhylla i trä", "LabelSettingsChromecastSupport": "Stöd för Chromecast", "LabelSettingsDateFormat": "Datumformat", - "LabelSettingsEnableWatcherHelp": "Aktiverar automatik att addera/uppdatera
objekt när ändringar av filer genomförs.
OBS: Kräver en omstart av servern", + "LabelSettingsEnableWatcher": "Automatiskt upptäcka förändringar i biblioteket", + "LabelSettingsEnableWatcherHelp": "Aktiverar automatik att upptäcka när objekt
adderas, uppdateras eller raderas.
OBS: Kräver en omstart av servern", "LabelSettingsEpubsAllowScriptedContent": "Tillåt e-böcker i epubs-format som innehåller script", "LabelSettingsEpubsAllowScriptedContentHelp": "Tillåt att epub-filer får använda script.
Det rekommenderas att denna inställning är
avstängd när du inte litar på källan för epub-filerna.", "LabelSettingsExperimentalFeatures": "Experimentella funktioner", @@ -578,7 +579,7 @@ "LabelShareDownloadableHelp": "Tillåt att användare som fått en delad länk att ladda ner ett komprimerat objekt från biblioteket.", "LabelShareURL": "Dela URL-länk", "LabelShowAll": "Visa alla", - "LabelShowSeconds": "Visa sekunder", + "LabelShowSeconds": "Visa i sekunder", "LabelShowSubtitles": "Visa underrubriker", "LabelSize": "Storlek", "LabelSleepTimer": "Sovtimer", @@ -588,7 +589,7 @@ "LabelStartTime": "Starttid", "LabelStarted": "Startad", "LabelStartedAt": "Startades", - "LabelStatsAudioTracks": "Ljudspår", + "LabelStatsAudioTracks": "Ljudfiler", "LabelStatsAuthors": "Författare", "LabelStatsBestDay": "Bästa dag", "LabelStatsDailyAverage": "Dagligt genomsnitt", @@ -635,10 +636,10 @@ "LabelToolsMakeM4bDescription": "Skapa en ljudboksfil i M4B-format som inkluderar metadata, omslagsbild och kapitel.", "LabelToolsSplitM4b": "Dela upp M4B-fil i MP3-filer", "LabelToolsSplitM4bDescription": "Skapa MP3-filer från en M4B-fil uppdelad i kapitel som inkluderar metadata, omslagsbild och kapitel.", - "LabelTotalDuration": "Total varaktighet", + "LabelTotalDuration": "Total längd", "LabelTotalTimeListened": "Total tid lyssnad", - "LabelTrackFromFilename": "Spår från filnamn", - "LabelTrackFromMetadata": "Spår från metadata", + "LabelTrackFromFilename": "Plats från filnamnet", + "LabelTrackFromMetadata": "Plats från metadata", "LabelTracks": "Spår", "LabelTracksMultiTrack": "Flerspårigt", "LabelTracksNone": "Inga spår", @@ -676,7 +677,7 @@ "LabelXItems": "{0} objekt", "LabelYearReviewHide": "Dölj årets sammanställning", "LabelYearReviewShow": "Visa årets sammanställning", - "LabelYourAudiobookDuration": "Din ljudboks varaktighet", + "LabelYourAudiobookDuration": "Din ljudboks längd", "LabelYourBookmarks": "Dina bokmärken", "LabelYourPlaylists": "Dina spellistor", "LabelYourProgress": "Framsteg", @@ -697,7 +698,7 @@ "MessageBookshelfNoSeries": "Du har inga serier", "MessageChapterEndIsAfter": "Kapitelns slut är efter din ljudboks slut", "MessageChapterErrorFirstNotZero": "Första kapitlet måste börja vid 0", - "MessageChapterErrorStartGteDuration": "Ogiltig starttid, måste vara mindre än ljudbokens varaktighet", + "MessageChapterErrorStartGteDuration": "Ogiltig starttid, måste vara mindre än ljudbokens längd", "MessageChapterErrorStartLtPrev": "Ogiltig starttid, måste vara större än eller lika med föregående kapitlets starttid", "MessageChapterStartIsAfter": "Kapitlets start är efter din ljudboks slut", "MessageCheckingCron": "Kontrollerar cron...", @@ -743,7 +744,7 @@ "MessageConfirmSendEbookToDevice": "Är du säker på att du vill skicka {0} e-bok \"{1}\" till enheten \"{2}\"?", "MessageDaysListenedInTheLastYear": "{0} dagars lyssnande det senaste året", "MessageDownloadingEpisode": "Laddar ner avsnitt", - "MessageDragFilesIntoTrackOrder": "Dra filer till rätt spårordning", + "MessageDragFilesIntoTrackOrder": "Ändra ordningen genom att klicka och dra filerna till rätt plats", "MessageEmbedFinished": "Inbäddning genomförd!", "MessageEpisodesQueuedForDownload": "{0} avsnitt i kö för nedladdning", "MessageEreaderDevices": "För att säkerställa överföring av e-böcker kan du bli tvungen
att addera ovanstående e-postadress som godkänd avsändare
för varje enhet angiven nedan.", @@ -766,7 +767,7 @@ "MessageMarkAsFinished": "Markera som avslutad", "MessageMarkAsNotFinished": "Markera som ej avslutad", "MessageMatchBooksDescription": "kommer att försöka matcha böcker i biblioteket med en bok från den valda källan och fylla i uppgifter som saknas och omslag. Inga befintliga uppgifter kommer att ersättas.", - "MessageNoAudioTracks": "Inga ljudspår har hittats", + "MessageNoAudioTracks": "Inga ljudfiler har hittats", "MessageNoAuthors": "Inga författare", "MessageNoBackups": "Inga säkerhetskopior", "MessageNoBookmarks": "Inga bokmärken", @@ -822,7 +823,7 @@ "MessageSearchResultsFor": "Sökresultat för", "MessageSelected": "{0} valda", "MessageServerCouldNotBeReached": "Servern kunde inte nås", - "MessageSetChaptersFromTracksDescription": "Ställ in kapitel med varje ljudfil som ett kapitel och kapitelrubrik som ljudfilens namn", + "MessageSetChaptersFromTracksDescription": "Använd varje ljudfil som ett kapitel och ljudfilens namn som kapitlets rubrik", "MessageStartPlaybackAtTime": "Starta uppspelning av \"{0}\" vid tidpunkt {1}?", "MessageTaskAudioFileNotWritable": "Det går inte att skriva till ljudfilen \"{0}\"", "MessageTaskCanceledByUser": "Uppgiften avslutades av användaren", @@ -860,12 +861,12 @@ "MessageUploaderItemSuccess": "har blivit uppladdad!", "MessageUploading": "Laddar upp...", "MessageValidCronExpression": "Giltigt cron-uttryck", - "MessageWatcherIsDisabledGlobally": "Watcher är inaktiverad centralt under rubriken 'Inställningar'", + "MessageWatcherIsDisabledGlobally": "Automatisk bevakning av förändringar är inaktiverad under rubriken 'Inställningar'", "MessageXLibraryIsEmpty": "Biblioteket {0} är tomt!", - "MessageYourAudiobookDurationIsLonger": "Varaktigheten på din ljudbok är längre än den hittade varaktigheten", - "MessageYourAudiobookDurationIsShorter": "Varaktigheten på din ljudbok är kortare än den hittade varaktigheten", + "MessageYourAudiobookDurationIsLonger": "Längden på din ljudbok är längre än den hittade längden", + "MessageYourAudiobookDurationIsShorter": "Längden på din ljudbok är kortare än den hittade längden", "NoteChangeRootPassword": "Användaren 'root' är den enda användaren som kan vara utan lösenord", - "NoteChapterEditorTimes": "OBS: Starttiden för första kapitlet måste vara 0:00 och starttiden för det sista kapitlet får inte överstiga ljudbokens totala varaktighet.", + "NoteChapterEditorTimes": "OBS: Starttiden för första kapitlet måste vara 0:00 och starttiden för det sista kapitlet får inte överstiga ljudbokens totala längd.", "NoteFolderPicker": "OBS: Mappar som redan är kopplade kommer inte att visas", "NoteRSSFeedPodcastAppsHttps": "VARNING: De flesta applikationer för podcasts kräver att URL:en för RSS-flödet använder HTTPS", "NoteRSSFeedPodcastAppsPubDate": "VARNING: Ett eller flera av dina avsnitt saknar publiceringsdatum. Vissa applikationer för podcasts kräver detta.", @@ -896,7 +897,7 @@ "StatsTopMonth": "Bästa månad", "StatsTopNarrator": "Populäraste uppläsare", "StatsTopNarrators": "Populäraste uppläsarna", - "StatsTotalDuration": "Med en total varaktighet av…", + "StatsTotalDuration": "Med den totala längden…", "StatsYearInReview": "- SAMMANSTÄLLNING AV ÅRET", "ToastAccountUpdateSuccess": "Kontot har uppdaterats", "ToastAsinRequired": "En ASIN-kod krävs", From 37e079866e34940fee5724588aec38d06b94ff7f Mon Sep 17 00:00:00 2001 From: ConfusedAlex Date: Sun, 23 Mar 2025 14:05:28 +0100 Subject: [PATCH 24/32] Translated using Weblate (German) Currently translated at 99.9% (1089 of 1090 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/de/ --- client/strings/de.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/client/strings/de.json b/client/strings/de.json index 8ef118be..5e321f28 100644 --- a/client/strings/de.json +++ b/client/strings/de.json @@ -252,7 +252,7 @@ "LabelBackToUser": "Zurück zum Benutzer", "LabelBackupAudioFiles": "Audio-Dateien sichern", "LabelBackupLocation": "Backup-Ort", - "LabelBackupsEnableAutomaticBackups": "Automatische Sicherung aktivieren", + "LabelBackupsEnableAutomaticBackups": "Automatische Sicherung", "LabelBackupsEnableAutomaticBackupsHelp": "Backups werden in /metadata/backups gespeichert", "LabelBackupsMaxBackupSize": "Maximale Sicherungsgröße (in GB) (0 gleich ohne Begrenzung)", "LabelBackupsMaxBackupSizeHelp": "Zum Schutz vor Fehlkonfigurationen schlagen Sicherungen fehl, wenn sie die konfigurierte Größe überschreiten.", @@ -558,6 +558,8 @@ "LabelSettingsBookshelfViewHelp": "Skeumorphes Design mit Holzeinlegeböden", "LabelSettingsChromecastSupport": "Chromecastunterstützung", "LabelSettingsDateFormat": "Datumsformat", + "LabelSettingsEnableWatcher": "Bibliotheken automatisch nach Änderungen durchsuchen", + "LabelSettingsEnableWatcherForLibrary": "Bibliothek automatisch nach Änderungen durchsuchen", "LabelSettingsEnableWatcherHelp": "Aktiviert das automatische Hinzufügen/Aktualisieren von Elementen, wenn Dateiänderungen erkannt werden. *Erfordert einen Server-Neustart", "LabelSettingsEpubsAllowScriptedContent": "Skriptinhalte in Epubs zulassen", "LabelSettingsEpubsAllowScriptedContentHelp": "Erlaube Epub-Dateien, Skripte auszuführen. Es wird empfohlen, diese Einstellung deaktiviert zu lassen, es sei denn, du vertraust der Quelle der Epub-Dateien.", @@ -575,7 +577,7 @@ "LabelSettingsOnlyShowLaterBooksInContinueSeries": "Überspringe vorherige Bücher in fortführender Serie", "LabelSettingsOnlyShowLaterBooksInContinueSeriesHelp": "Die Startseite von \"Fortführende Serien\" zeigt das erste noch nicht begonnene Buch in Serien an, die mindestens ein Buch abgeschlossen und keine Bücher begonnen haben. Wenn diese Einstellung aktiviert wird, werden Serien ab dem letzten abgeschlossenen Buch fortgesetzt und nicht ab dem ersten nicht begonnenen Buch.", "LabelSettingsParseSubtitles": "Analysiere Untertitel", - "LabelSettingsParseSubtitlesHelp": "Extrahiere den Untertitel von Medium-Ordnernamen.
Untertitel müssen vom eigentlichem Titel durch ein \" - \" getrennt sein.
Beispiel: \"Titel - Untertitel\"", + "LabelSettingsParseSubtitlesHelp": "Extrahiere die Untertitel von Medium-Ordnernamen.
Untertitel müssen vom eigentlichem Titel durch ein \" - \" getrennt sein.
Beispiel: \"Titel - Untertitel\"", "LabelSettingsPreferMatchedMetadata": "Bevorzuge online abgestimmte Metadaten", "LabelSettingsPreferMatchedMetadataHelp": "Bei einem Schnellabgleich überschreiben online neu abgestimmte Metadaten alle schon vorhandenen Metadaten eines Mediums. Standardmäßig werden bei einem Schnellabgleich nur fehlende Metadaten ersetzt.", "LabelSettingsSkipMatchingBooksWithASIN": "Überspringe beim Online-Abgleich alle Bücher die bereits eine ASIN haben", From daeb2b3f56c4e194f98aacfd7eba55cdce1e8f14 Mon Sep 17 00:00:00 2001 From: Jan-Eric Myhrgren Date: Sun, 23 Mar 2025 12:42:16 +0100 Subject: [PATCH 25/32] Translated using Weblate (Swedish) Currently translated at 94.7% (1033 of 1090 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/sv/ --- client/strings/sv.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/client/strings/sv.json b/client/strings/sv.json index 3d929614..97c9ba49 100644 --- a/client/strings/sv.json +++ b/client/strings/sv.json @@ -546,7 +546,7 @@ "LabelSettingsEnableWatcher": "Automatiskt upptäcka förändringar i biblioteket", "LabelSettingsEnableWatcherHelp": "Aktiverar automatik att upptäcka när objekt
adderas, uppdateras eller raderas.
OBS: Kräver en omstart av servern", "LabelSettingsEpubsAllowScriptedContent": "Tillåt e-böcker i epubs-format som innehåller script", - "LabelSettingsEpubsAllowScriptedContentHelp": "Tillåt att epub-filer får använda script.
Det rekommenderas att denna inställning är
avstängd när du inte litar på källan för epub-filerna.", + "LabelSettingsEpubsAllowScriptedContentHelp": "Tillåt att epub-filer får innehålla script.
Det rekommenderas att denna inställning är
avstängd när du inte litar på källan för epub-filerna.", "LabelSettingsExperimentalFeatures": "Experimentella funktioner", "LabelSettingsExperimentalFeaturesHelp": "Funktioner under utveckling som behöver din feedback och hjälp med testning. Klicka för att öppna diskussionen på GitHub.", "LabelSettingsFindCovers": "Hitta ett omslag", @@ -559,13 +559,13 @@ "LabelSettingsLibraryMarkAsFinishedTimeRemaining": "Återstående tid är mindre än (sekunder)", "LabelSettingsLibraryMarkAsFinishedWhen": "Markera objekt som avslutade när", "LabelSettingsOnlyShowLaterBooksInContinueSeries": "Hoppa över tidigare böcker i en serie", - "LabelSettingsOnlyShowLaterBooksInContinueSeriesHelp": "Sektionen 'Fortsätt med serien' på startsidan visar \"nästa bok\" i serien,
där åtminstone en bok avslutats, och ingen bok i serien har påbörjats.
Om detta alternativ aktiveras kommer efterföljande bok till den
avslutade att föreslås - istället för den första ej avslutade boken i serien.", + "LabelSettingsOnlyShowLaterBooksInContinueSeriesHelp": "Sektionen 'Fortsätt med serien' på startsidan visar
\"nästa bok\" i serien, där åtminstone en bok avslutats,
och ingen bok i serien har påbörjats.

Om detta alternativ aktiveras kommer efterföljande bok
till den avslutade att föreslås - istället
för den första ej avslutade boken i serien.", "LabelSettingsParseSubtitles": "Hämta undertitel från bokens mapp", "LabelSettingsParseSubtitlesHelp": "Hämtar undertiteln från namnet
på mappen där boken lagras.
Undertiteln måste vara åtskilda med ett bindestreck ' - '.
En mapp med namnet 'Boktitel - Bokens undertitel'
får undertiteln \"Bokens undertitel\"", "LabelSettingsPreferMatchedMetadata": "Prioritera matchad metadata", "LabelSettingsPreferMatchedMetadataHelp": "Matchad data kommer att ersätta befintliga uppgifter vid en snabbmatchning. Som standard kommer en snabbmatchning endast att fylla i saknade detaljer.", - "LabelSettingsSkipMatchingBooksWithASIN": "Hoppa över matchande böcker som har en ASIN-kod", - "LabelSettingsSkipMatchingBooksWithISBN": "Hoppa över matchande böcker som har en ISBN-kod", + "LabelSettingsSkipMatchingBooksWithASIN": "Hoppa över matchande böcker med ASIN-kod", + "LabelSettingsSkipMatchingBooksWithISBN": "Hoppa över matchande böcker med ISBN-kod", "LabelSettingsSortingIgnorePrefixes": "Ignorera prefix vid sortering", "LabelSettingsSortingIgnorePrefixesHelp": "För prefix som t.ex. \"the\" kommer boktiteln \"The Book Title\" att sorteras som \"Book Title, The\"", "LabelSettingsSquareBookCovers": "Använd kvadratiska omslag", @@ -818,7 +818,7 @@ "MessageResetChaptersConfirm": "Är du säker på att du vill återställa alla kapitel och ångra de ändringarna du gjort?", "MessageRestoreBackupConfirm": "Är du säker på att du vill läsa in säkerhetskopian som skapades den", "MessageRestoreBackupWarning": "Att återställa en säkerhetskopia kommer att skriva över hela databasen som finns i /config och omslagsbilder i /metadata/items & /metadata/authors.

Säkerhetskopior ändrar inte några filer i dina biblioteksmappar. Om du har aktiverat serverinställningar för att lagra omslagskonst och metadata i dina biblioteksmappar säkerhetskopieras eller skrivs de inte över.

Alla klienter som använder din server kommer att uppdateras automatiskt.", - "MessageScheduleLibraryScanNote": "För de flesta användare rekommenderas att denna funktion ej aktiveras. Istället bör funktionen 'Watcher' vara aktiverad. Watcher kommer då automatiskt identifiera förändringar i biblioteket. För vissa filsystem (som t.ex. NFS) fungerar inte Watcher. Då kan schemalagda skanningar av biblioteken användas istället.", + "MessageScheduleLibraryScanNote": "För de flesta användare rekommenderas att denna funktion ej aktiveras. Istället bör funktionen som automatisk upptäcker ändringar av filerna vara aktiverad. För vissa filsystem (som t.ex. NFS) fungerar inte denna funktion. Då kan schemalagda skanningar av biblioteken användas istället.", "MessageScheduleRunEveryWeekdayAtTime": "Startar varje {0} klockan {1}", "MessageSearchResultsFor": "Sökresultat för", "MessageSelected": "{0} valda", @@ -877,7 +877,7 @@ "NotificationOnBackupFailedDescription": "Aktiveras när en backup misslyckas", "NotificationOnEpisodeDownloadedDescription": "Aktiveras när avsnitt i en podcast automatiskt har hämtats", "PlaceholderNewCollection": "Nytt namn på samlingen", - "PlaceholderNewFolderPath": "Nytt sökväg till mappen", + "PlaceholderNewFolderPath": "Ny sökväg till mappen", "PlaceholderNewPlaylist": "Nytt namn på spellistan", "PlaceholderSearch": "Sök...", "PlaceholderSearchEpisode": "Sök avsnitt...", From 9dca5f0bc0833d29d638a8c3af11714ae9d9b2bd Mon Sep 17 00:00:00 2001 From: Adolfo Jayme Barrientos Date: Mon, 24 Mar 2025 01:31:09 +0100 Subject: [PATCH 26/32] Translated using Weblate (Spanish) Currently translated at 99.2% (1085 of 1093 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/es/ --- client/strings/es.json | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/client/strings/es.json b/client/strings/es.json index 4d476ba3..71e7c837 100644 --- a/client/strings/es.json +++ b/client/strings/es.json @@ -707,6 +707,7 @@ "MessageBackupsLocationPathEmpty": "La ruta de la copia de seguridad no puede estar vacía", "MessageBatchQuickMatchDescription": "\"Encontrar Rápido\" tratará de agregar portadas y metadatos faltantes de los elementos seleccionados. Habilite la opción de abajo para que \"Encontrar Rápido\" pueda sobrescribir portadas y/o metadatos existentes.", "MessageBookshelfNoCollections": "Aún no ha hecho ninguna colección", + "MessageBookshelfNoCollectionsHelp": "Las colecciones son públicas. Cualquiera que pueda acceder a la biblioteca las podrá ver.", "MessageBookshelfNoRSSFeeds": "Ningún suministro RSS está abierto", "MessageBookshelfNoResultsForFilter": "Ningún Resultado para el filtro \"{0}: {1}\"", "MessageBookshelfNoResultsForQuery": "No hay resultados para la consulta", @@ -772,8 +773,8 @@ "MessageForceReScanDescription": "Escaneará todos los archivos como un nuevo escaneo. Archivos de audio con etiquetas ID3, archivos OPF y archivos de texto serán escaneados como nuevos.", "MessageImportantNotice": "¡Notificación importante!", "MessageInsertChapterBelow": "Insertar Capítulo Abajo", - "MessageItemsSelected": "{0} Elementos Seleccionados", - "MessageItemsUpdated": "{0} Elementos Actualizados", + "MessageItemsSelected": "{0} elementos seleccionados", + "MessageItemsUpdated": "{0} elementos actualizados", "MessageJoinUsOn": "Únetenos en", "MessageLoading": "Cargando...", "MessageLoadingFolders": "Cargando archivos...", @@ -817,6 +818,7 @@ "MessageNoTasksRunning": "Ninguna tarea en ejecución", "MessageNoUpdatesWereNecessary": "No fue necesario actualizar", "MessageNoUserPlaylists": "No tiene ninguna lista de reproducción", + "MessageNoUserPlaylistsHelp": "Las listas de reproducción son privadas. Solo quien las cree podrá verlas.", "MessageNotYetImplemented": "Aun no implementado", "MessageOpmlPreviewNote": "Nota: Esta es una vista previa del archivo OPML analizado. El título real del podcast se obtendrá del canal RSS.", "MessageOr": "o", @@ -1058,6 +1060,7 @@ "ToastSelectAtLeastOneUser": "Selecciona al menos un usuario", "ToastSendEbookToDeviceFailed": "Error al enviar el ebook al dispositivo", "ToastSendEbookToDeviceSuccess": "Ebook enviado al dispositivo \"{0}\"", + "ToastSeriesSubmitFailedSameName": "No se puede añadir dos series con el mismo nombre", "ToastSeriesUpdateFailed": "Error al actualizar la serie", "ToastSeriesUpdateSuccess": "Serie actualizada", "ToastServerSettingsUpdateSuccess": "Configuración del servidor actualizada", From ac3c41dd888d20ce840e9a0b866171592340f26e Mon Sep 17 00:00:00 2001 From: Adolfo Jayme Barrientos Date: Mon, 24 Mar 2025 01:32:32 +0100 Subject: [PATCH 27/32] Translated using Weblate (Catalan) Currently translated at 93.9% (1027 of 1093 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/ca/ --- client/strings/ca.json | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/client/strings/ca.json b/client/strings/ca.json index 299cb68c..51f60154 100644 --- a/client/strings/ca.json +++ b/client/strings/ca.json @@ -227,6 +227,7 @@ "LabelAddedDate": "{0} Afegit", "LabelAdminUsersOnly": "Només usuaris administradors", "LabelAll": "Tots", + "LabelAllEpisodesDownloaded": "Tots els episodis baixats", "LabelAllUsers": "Tots els usuaris", "LabelAllUsersExcludingGuests": "Tots els usuaris excepte convidats", "LabelAllUsersIncludingGuests": "Tots els usuaris i convidats", @@ -558,6 +559,7 @@ "LabelSettingsEpubsAllowScriptedContentHelp": "Permetre que els fitxers epub executin scripts. Es recomana mantenir aquesta opció desactivada tret que confiïs en l'origen dels fitxers epub.", "LabelSettingsExperimentalFeatures": "Funcions Experimentals", "LabelSettingsExperimentalFeaturesHelp": "Funcions en desenvolupament que es beneficiarien dels teus comentaris i experiències de prova. Feu clic aquí per obrir una conversa a Github.", + "LabelSettingsFindCovers": "Troba cobertes", "LabelShowAll": "Mostra-ho tot", "LabelShowSeconds": "Mostra segons", "LabelShowSubtitles": "Mostra subtítols", @@ -728,6 +730,9 @@ "MessageEmbedFinished": "Incrustació acabada!", "MessageEmbedQueue": "En cua per incrustar metadades ({0} en cua)", "MessageFetching": "S'està recuperant...", + "MessageImportantNotice": "Avís important", + "MessageItemsSelected": "{0} elements seleccionats", + "MessageItemsUpdated": "{0} elements actualitzats", "MessageLoading": "S'està carregant...", "MessageMarkAsFinished": "Marcar com acabat", "MessageMarkAsNotFinished": "Marcar com no acabat", @@ -934,9 +939,9 @@ "ToastItemDeletedFailed": "Error en eliminar l'element", "ToastItemDeletedSuccess": "Element eliminat", "ToastItemDetailsUpdateSuccess": "Detalls de l'element actualitzats", - "ToastItemMarkedAsFinishedFailed": "Error en marcar com a acabat", + "ToastItemMarkedAsFinishedFailed": "No s'ha pogut marcar com a finalitzat", "ToastItemMarkedAsFinishedSuccess": "Element marcat com a acabat", - "ToastItemMarkedAsNotFinishedFailed": "Error en marcar com a no acabat", + "ToastItemMarkedAsNotFinishedFailed": "No s'ha pogut marcar com a no finalitzat", "ToastItemMarkedAsNotFinishedSuccess": "Element marcat com a no acabat", "ToastItemUpdateSuccess": "Element actualitzat", "ToastLibraryCreateFailed": "Error en crear la biblioteca", From b4621b7e198c7ef98637bee94d55c9cdb17f9585 Mon Sep 17 00:00:00 2001 From: thehijacker Date: Mon, 24 Mar 2025 06:34:31 +0100 Subject: [PATCH 28/32] Translated using Weblate (Slovenian) Currently translated at 100.0% (1093 of 1093 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/sl/ --- client/strings/sl.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/client/strings/sl.json b/client/strings/sl.json index 1996c33f..bf40eec4 100644 --- a/client/strings/sl.json +++ b/client/strings/sl.json @@ -229,6 +229,7 @@ "LabelAddedDate": "Dodano {0}", "LabelAdminUsersOnly": "Samo administratorji", "LabelAll": "Vse", + "LabelAllEpisodesDownloaded": "Vse epizode so prenešene", "LabelAllUsers": "Vsi uporabniki", "LabelAllUsersExcludingGuests": "Vsi uporabniki razen gosti", "LabelAllUsersIncludingGuests": "Vsi uporabniki vključno z gosti", @@ -953,6 +954,7 @@ "ToastBackupRestoreFailed": "Varnostne kopije ni bilo mogoče obnoviti", "ToastBackupUploadFailed": "Nalaganje varnostne kopije ni uspelo", "ToastBackupUploadSuccess": "Varnostna kopija je naložena", + "ToastBatchApplyDetailsToItemsSuccess": "Podrobnosti, uporabljene za elemente", "ToastBatchDeleteFailed": "Paketno brisanje ni uspelo", "ToastBatchDeleteSuccess": "Paketno brisanje je bilo uspešno", "ToastBatchQuickMatchFailed": "Paketno hitro ujemanje ni uspelo!", @@ -1065,6 +1067,7 @@ "ToastSelectAtLeastOneUser": "Izberite vsaj enega uporabnika", "ToastSendEbookToDeviceFailed": "E-knjige ni bilo mogoče poslati v napravo", "ToastSendEbookToDeviceSuccess": "E-knjiga je bila poslana v napravo \"{0}\"", + "ToastSeriesSubmitFailedSameName": "Dveh serij z istim imenom ni mogoče dodati", "ToastSeriesUpdateFailed": "Posodobitev serije ni uspela", "ToastSeriesUpdateSuccess": "Uspešna posodobitev serije", "ToastServerSettingsUpdateSuccess": "Nastavitve strežnika so bile posodobljene", From c2862d4941dbd08aa4d3d3de00391efb87e81d32 Mon Sep 17 00:00:00 2001 From: biuklija Date: Mon, 24 Mar 2025 09:12:39 +0100 Subject: [PATCH 29/32] Translated using Weblate (Croatian) Currently translated at 100.0% (1093 of 1093 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/hr/ --- client/strings/hr.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/client/strings/hr.json b/client/strings/hr.json index 3ae06195..58ed7a25 100644 --- a/client/strings/hr.json +++ b/client/strings/hr.json @@ -229,6 +229,7 @@ "LabelAddedDate": "Dodano {0}", "LabelAdminUsersOnly": "Samo korisnici administratori", "LabelAll": "Sve", + "LabelAllEpisodesDownloaded": "Svi preuzeti nastavci", "LabelAllUsers": "Svi korisnici", "LabelAllUsersExcludingGuests": "Svi korisnici osim gostiju", "LabelAllUsersIncludingGuests": "Svi korisnici uključujući i goste", @@ -953,6 +954,7 @@ "ToastBackupRestoreFailed": "Vraćanje sigurnosne kopije nije uspjelo", "ToastBackupUploadFailed": "Učitavanje sigurnosne kopije nije uspjelo", "ToastBackupUploadSuccess": "Sigurnosna kopija učitana", + "ToastBatchApplyDetailsToItemsSuccess": "Pojedinosti primijenjene stavkama", "ToastBatchDeleteFailed": "Grupno brisanje nije uspjelo", "ToastBatchDeleteSuccess": "Grupno brisanje je uspjelo", "ToastBatchQuickMatchFailed": "Grupno brzo prepoznavanje nije uspjelo!", @@ -1065,6 +1067,7 @@ "ToastSelectAtLeastOneUser": "Odaberite najmanje jednog korisnika", "ToastSendEbookToDeviceFailed": "Slanje e-knjige na uređaj nije uspjelo", "ToastSendEbookToDeviceSuccess": "E-knjiga poslana uređaju \"{0}\"", + "ToastSeriesSubmitFailedSameName": "Nije moguće dodati dva istoimena serijala", "ToastSeriesUpdateFailed": "Ažuriranje serijala nije uspjelo", "ToastSeriesUpdateSuccess": "Serijal uspješno ažuriran", "ToastServerSettingsUpdateSuccess": "Postavke poslužitelja ažurirane", From 52517c3bec1fe54dbe94135f88311cb158ed5dc4 Mon Sep 17 00:00:00 2001 From: Jan-Eric Myhrgren Date: Mon, 24 Mar 2025 16:08:37 +0100 Subject: [PATCH 30/32] Translated using Weblate (Swedish) Currently translated at 94.5% (1033 of 1093 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/sv/ --- client/strings/sv.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/client/strings/sv.json b/client/strings/sv.json index 97c9ba49..a014b484 100644 --- a/client/strings/sv.json +++ b/client/strings/sv.json @@ -225,6 +225,7 @@ "LabelAddedDate": "Adderad {0}", "LabelAdminUsersOnly": "Endast administratörer", "LabelAll": "Alla", + "LabelAllEpisodesDownloaded": "Alla avsnitt är nedladdade", "LabelAllUsers": "Alla användare", "LabelAllUsersExcludingGuests": "Alla användare utom gäster", "LabelAllUsersIncludingGuests": "Alla användare inklusive gäster", @@ -1015,6 +1016,7 @@ "ToastSelectAtLeastOneUser": "Åtminstone en användare måste väljas", "ToastSendEbookToDeviceFailed": "Misslyckades med att skicka e-boken till enheten", "ToastSendEbookToDeviceSuccess": "E-boken skickad till enheten \"{0}\"", + "ToastSeriesSubmitFailedSameName": "Det är inte möjligt att addera två serier med samma namn", "ToastSeriesUpdateFailed": "Uppdateringen av serier misslyckades", "ToastSeriesUpdateSuccess": "Uppdateringen av serierna lyckades", "ToastServerSettingsUpdateSuccess": "Inställningarna för servern har uppdaterats", From 8e824366b0ada94c1df600959c7c456ca75c4771 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, 24 Mar 2025 07:44:47 +0100 Subject: [PATCH 31/32] Translated using Weblate (Ukrainian) Currently translated at 100.0% (1093 of 1093 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/uk/ --- client/strings/uk.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/client/strings/uk.json b/client/strings/uk.json index faade7e1..d021648c 100644 --- a/client/strings/uk.json +++ b/client/strings/uk.json @@ -229,6 +229,7 @@ "LabelAddedDate": "Додано {0}", "LabelAdminUsersOnly": "Тільки для адміністраторів", "LabelAll": "Усе", + "LabelAllEpisodesDownloaded": "Усі серії завантажено", "LabelAllUsers": "Усі користувачі", "LabelAllUsersExcludingGuests": "Усі, крім гостей", "LabelAllUsersIncludingGuests": "Усі, включно з гостями", @@ -777,7 +778,7 @@ "MessageForceReScanDescription": "Просканує усі файли заново, неначе вперше. ID3-мітки, файли OPF та текстові файли будуть проскановані як нові.", "MessageImportantNotice": "Важливе повідомлення!", "MessageInsertChapterBelow": "Введіть главу нижче", - "MessageItemsSelected": "Обрано елементів: {0}", + "MessageItemsSelected": "Вибрано елементів: {0}", "MessageItemsUpdated": "Оновлено елементів: {0}", "MessageJoinUsOn": "Приєднуйтесь до", "MessageLoading": "Завантаження...", @@ -953,6 +954,7 @@ "ToastBackupRestoreFailed": "Не вдалося відновити резервну копію", "ToastBackupUploadFailed": "Не вдалося завантажити резервну копію", "ToastBackupUploadSuccess": "Резервну копію завантажено", + "ToastBatchApplyDetailsToItemsSuccess": "Деталі застосовано до елементів", "ToastBatchDeleteFailed": "Помилка при пакетному видаленні", "ToastBatchDeleteSuccess": "Пакетне видалення успішне", "ToastBatchQuickMatchFailed": "Не вдалося виконати пакетне швидке співпадіння!", @@ -1065,6 +1067,7 @@ "ToastSelectAtLeastOneUser": "Виберіть хоча б одного користувача", "ToastSendEbookToDeviceFailed": "Не вдалося надіслати електронну книгу на пристрій", "ToastSendEbookToDeviceSuccess": "Електронну книгу надіслано на пристрій \"{0}\"", + "ToastSeriesSubmitFailedSameName": "Неможливо додати дві серії з однаковою назвою", "ToastSeriesUpdateFailed": "Не вдалося оновити серію", "ToastSeriesUpdateSuccess": "Серію успішно оновлено", "ToastServerSettingsUpdateSuccess": "Налаштування сервера оновлено", From 252f4cb96ae49888b75ba18954f114735d164361 Mon Sep 17 00:00:00 2001 From: Adolfo Jayme Barrientos Date: Mon, 24 Mar 2025 16:56:55 +0100 Subject: [PATCH 32/32] Translated using Weblate (Catalan) Currently translated at 94.1% (1029 of 1093 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/ca/ --- client/strings/ca.json | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/client/strings/ca.json b/client/strings/ca.json index 51f60154..da9d2724 100644 --- a/client/strings/ca.json +++ b/client/strings/ca.json @@ -132,7 +132,7 @@ "HeaderCustomMessageOnLogin": "Missatge personalitzat en iniciar sessió", "HeaderCustomMetadataProviders": "Proveïdors de metadades personalitzats", "HeaderDetails": "Detalls", - "HeaderDownloadQueue": "Cua de Descàrregues", + "HeaderDownloadQueue": "Cua de baixades", "HeaderEbookFiles": "Fitxers de Llibres Digitals", "HeaderEmail": "Correu electrònic", "HeaderEmailSettings": "Configuració de Correu Electrònic", @@ -183,7 +183,7 @@ "HeaderRemoveEpisodes": "Elimina {0} Episodis", "HeaderSavedMediaProgress": "Desa el Progrés del Multimèdia", "HeaderSchedule": "Horari", - "HeaderScheduleEpisodeDownloads": "Programa Descàrregues Automàtiques d'Episodis", + "HeaderScheduleEpisodeDownloads": "Programa baixades automàtiques d'episodis", "HeaderScheduleLibraryScans": "Programa Escaneig Automàtic de Biblioteca", "HeaderSession": "Sessió", "HeaderSetBackupSchedule": "Programa Còpies de Seguretat", @@ -560,6 +560,7 @@ "LabelSettingsExperimentalFeatures": "Funcions Experimentals", "LabelSettingsExperimentalFeaturesHelp": "Funcions en desenvolupament que es beneficiarien dels teus comentaris i experiències de prova. Feu clic aquí per obrir una conversa a Github.", "LabelSettingsFindCovers": "Troba cobertes", + "LabelSettingsSortingIgnorePrefixes": "Ignora els prefixos en ordenar", "LabelShowAll": "Mostra-ho tot", "LabelShowSeconds": "Mostra segons", "LabelShowSubtitles": "Mostra subtítols", @@ -734,6 +735,7 @@ "MessageItemsSelected": "{0} elements seleccionats", "MessageItemsUpdated": "{0} elements actualitzats", "MessageLoading": "S'està carregant...", + "MessageLoadingFolders": "S'estan carregant les carpetes...", "MessageMarkAsFinished": "Marcar com acabat", "MessageMarkAsNotFinished": "Marcar com no acabat", "MessageMatchBooksDescription": "S'intentarà fer coincidir els llibres de la biblioteca amb un llibre del proveïdor de cerca seleccionat, i s'ompliran els detalls buits i la portada. No sobreescriu els detalls.", @@ -746,8 +748,8 @@ "MessageNoCoversFound": "No s'ha trobat cap coberta", "MessageNoDescription": "Sense descripció", "MessageNoDevices": "Sense dispositius", - "MessageNoDownloadsInProgress": "No hi ha descàrregues en curs", - "MessageNoDownloadsQueued": "Sense cua de descàrrega", + "MessageNoDownloadsInProgress": "No hi ha baixades en curs", + "MessageNoDownloadsQueued": "No hi ha cap baixada en cua", "MessageNoEpisodeMatchesFound": "No s'han trobat episodis que coincideixin", "MessageNoEpisodes": "Sense episodis", "MessageNoFoldersAvailable": "No hi ha carpetes disponibles", @@ -924,8 +926,8 @@ "ToastEmailSettingsUpdateSuccess": "Configuració de correu electrònic actualitzada", "ToastEncodeCancelFailed": "No s'ha pogut cancel·lar la codificació", "ToastEncodeCancelSucces": "Codificació cancel·lada", - "ToastEpisodeDownloadQueueClearFailed": "No s'ha pogut buidar la cua de descàrregues", - "ToastEpisodeDownloadQueueClearSuccess": "Cua de descàrregues buidada", + "ToastEpisodeDownloadQueueClearFailed": "No s'ha pogut buidar la cua de baixades", + "ToastEpisodeDownloadQueueClearSuccess": "La cua d'episodis baixats s'ha netejat", "ToastEpisodeUpdateSuccess": "{0} episodi(s) actualitzat(s)", "ToastErrorCannotShare": "No es pot compartir de manera nativa en aquest dispositiu", "ToastFailedToLoadData": "Error en carregar les dades",