From 71257f6c6cfcc777660478031cf00686b1746879 Mon Sep 17 00:00:00 2001 From: Mikkel Dupont Olesen Date: Fri, 25 Jul 2025 23:42:35 +0200 Subject: [PATCH 01/23] Translated using Weblate (Danish) Currently translated at 99.4% (1124 of 1130 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/da/ --- client/strings/da.json | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/client/strings/da.json b/client/strings/da.json index 342529f7..cb135145 100644 --- a/client/strings/da.json +++ b/client/strings/da.json @@ -1,5 +1,6 @@ { "ButtonAdd": "Tilføj", + "ButtonAddApiKey": "Tilføj API-nøgle", "ButtonAddChapters": "Tilføj kapitler", "ButtonAddDevice": "Tilføj enhed", "ButtonAddLibrary": "Tilføj Bibliotek", @@ -20,6 +21,7 @@ "ButtonChooseAFolder": "Vælg en mappe", "ButtonChooseFiles": "Vælg filer", "ButtonClearFilter": "Ryd filter", + "ButtonClose": "Luk", "ButtonCloseFeed": "Luk feed", "ButtonCloseSession": "Luk Åben Session", "ButtonCollections": "Samlinger", @@ -119,6 +121,7 @@ "HeaderAccount": "Konto", "HeaderAddCustomMetadataProvider": "Tilføj Brugerdefineret Metadataudbyder", "HeaderAdvanced": "Avanceret", + "HeaderApiKeys": "API-nøgler", "HeaderAppriseNotificationSettings": "Apprise Notifikationsindstillinger", "HeaderAudioTracks": "Lydspor", "HeaderAudiobookTools": "Audiobog Filhåndteringsværktøjer", @@ -162,6 +165,7 @@ "HeaderMetadataOrderOfPrecedence": "Metadata-prioritet", "HeaderMetadataToEmbed": "Metadata til indlejring", "HeaderNewAccount": "Ny Konto", + "HeaderNewApiKey": "Ny API-nøgle", "HeaderNewLibrary": "Nyt Bibliotek", "HeaderNotificationCreate": "Opret Notifikation", "HeaderNotificationUpdate": "Updater Notifikation", @@ -206,6 +210,7 @@ "HeaderTableOfContents": "Indholdsfortegnelse", "HeaderTools": "Værktøjer", "HeaderUpdateAccount": "Opdater Konto", + "HeaderUpdateApiKey": "Opdater API-nøgle", "HeaderUpdateAuthor": "Opdater Forfatter", "HeaderUpdateDetails": "Opdater Detaljer", "HeaderUpdateLibrary": "Opdater Bibliotek", @@ -235,6 +240,10 @@ "LabelAllUsersExcludingGuests": "Alle bruger eksklusiv gæster", "LabelAllUsersIncludingGuests": "Alle bruger inklusiv gæster", "LabelAlreadyInYourLibrary": "Allerede i dit bibliotek", + "LabelApiKeyCreated": "API-nøgle\"{0}\" oprettet succesfuldt.", + "LabelApiKeyCreatedDescription": "Sørg for at kopiere API-nøglen nu, da du ikke vil kunne se den igen.", + "LabelApiKeyUser": "Ret på vegne af brugeren", + "LabelApiKeyUserDescription": "Denne API-nøgle vil have de samme tilladelser som den bruger, den handler på vegne af. Dette vil fremgå på samme måde i logfiler, som hvis brugeren foretog anmodningen.", "LabelApiToken": "API Token", "LabelAppend": "Tilføj", "LabelAudioBitrate": "Lydbitrate (f.eks. 128k)", @@ -287,7 +296,7 @@ "LabelCover": "Omslag", "LabelCoverImageURL": "Omslagsbillede URL", "LabelCoverProvider": "Cover billede udbyder", - "LabelCreatedAt": "Oprettet Kl.", + "LabelCreatedAt": "Oprettet d.", "LabelCronExpression": "Cron Udtryk", "LabelCurrent": "Aktuel", "LabelCurrently": "Aktuelt:", @@ -346,6 +355,10 @@ "LabelExample": "Eksempel", "LabelExpandSeries": "Udfold serie", "LabelExpandSubSeries": "Udfold underserie", + "LabelExpired": "Udløbet", + "LabelExpiresAt": "Udløbsdato", + "LabelExpiresInSeconds": "Udløber om (seconds)", + "LabelExpiresNever": "Aldrig", "LabelExplicit": "Eksplisit", "LabelExplicitChecked": "Eksplicit (markeret)", "LabelExplicitUnchecked": "Ikke eksplicit (ikke markeret)", @@ -455,6 +468,7 @@ "LabelNewestEpisodes": "Nyeste episoder", "LabelNextBackupDate": "Næste sikkerhedskopi dato", "LabelNextScheduledRun": "Næste planlagte kørsel", + "LabelNoApiKeys": "Ingen API-nøgler", "LabelNoCustomMetadataProviders": "Ingen brugerdefinerede metadata udbydere", "LabelNoEpisodesSelected": "Ingen episoder valgt", "LabelNotFinished": "Ikke færdig", @@ -544,6 +558,7 @@ "LabelSelectAll": "Vælg alle", "LabelSelectAllEpisodes": "Vælg alle episoder", "LabelSelectEpisodesShowing": "Vælg {0} episoder vist", + "LabelSelectUser": "Vælg bruger", "LabelSelectUsers": "Valgte brugere", "LabelSendEbookToDevice": "Send e-bog til...", "LabelSequence": "Sekvens", @@ -577,14 +592,14 @@ "LabelSettingsLibraryMarkAsFinishedPercentComplete": "Procent gennemført er større end", "LabelSettingsLibraryMarkAsFinishedTimeRemaining": "Tid tilbage er mindre end (sekunder)", "LabelSettingsLibraryMarkAsFinishedWhen": "Marker medie indhold som færdigt når", - "LabelSettingsOnlyShowLaterBooksInContinueSeries": "Spring til tidligere bøger i Fortsæt serie", - "LabelSettingsOnlyShowLaterBooksInContinueSeriesHelp": "Fortsæt Serien siden hylde viser de første bøger som ikke er startet i serier med mindst en bog som ikke er startet og ingen bøger i gang. Aktivering af denne indstilling vil fortsætte serien fra den sidst gennemførte bog modsat den først ikke startede bog.", + "LabelSettingsOnlyShowLaterBooksInContinueSeries": "Spring tidligere bøger i Fortsæt serie over", + "LabelSettingsOnlyShowLaterBooksInContinueSeriesHelp": "Fortsæt Serien siden viser den første bog som ikke er startet i serier med mindst en bog som ikke er startet og hvor ingen bøger i gang. Aktivering af denne indstilling vil fortsætte serien fra den sidst gennemførte bog i stedet for fra den første ikke startede bog.", "LabelSettingsParseSubtitles": "Fortolk undertitler", "LabelSettingsParseSubtitlesHelp": "Udtræk undertekster fra lydbogsmappenavne.
Undertitler skal adskilles af \" - \"
f.eks. \"Bogtitel - En undertitel her\" har undertitlen \"En undertitel her\"", "LabelSettingsPreferMatchedMetadata": "Foretræk matchede metadata", "LabelSettingsPreferMatchedMetadataHelp": "Matchede data vil tilsidesætte elementdetaljer ved brug af Hurtig Match. Som standard udfylder Hurtig Match kun manglende detaljer.", - "LabelSettingsSkipMatchingBooksWithASIN": "Spring over matchende bøger, der allerede har en ASIN", - "LabelSettingsSkipMatchingBooksWithISBN": "Spring matchende bøger over, som allerede har et ISBN-nummer", + "LabelSettingsSkipMatchingBooksWithASIN": "Ignorer matchende bøger, der allerede har en ASIN", + "LabelSettingsSkipMatchingBooksWithISBN": "Ignorer matchende bøger, som allerede har et ISBN-nummer", "LabelSettingsSortingIgnorePrefixes": "Ignorer præfikser ved sortering", "LabelSettingsSortingIgnorePrefixesHelp": "f.eks. for præfikset \"the\" vil bogtitlen \"The Book Title\" blive sorteret som \"Book Title, The\"", "LabelSettingsSquareBookCovers": "Brug kvadratiske bogomslag", @@ -708,7 +723,9 @@ "MessageAddToPlayerQueue": "Tilføj til afspilningskø", "MessageAppriseDescription": "For at bruge denne funktion skal du have en instans af Apprise API kørende eller en API, der håndterer de samme anmodninger.
Apprise API-webadressen skal være den fulde URL-sti for at sende underretningen, f.eks. hvis din API-instans er tilgængelig på http://192.168.1.1:8337, så skal du bruge http://192.168.1.1:8337/notify.", "MessageAsinCheck": "Sikr dig at du bruger ASIN fra den korrekte Audible region, ikke Amazon.", + "MessageAuthenticationLegacyTokenWarning": "Ældre API tokens vil blive fjernet i fremtiden. Brug API-nøgler i stedet.", "MessageAuthenticationOIDCChangesRestart": "Genstart sin server efter du har gemt for at bekræfte OIDC ændringer.", + "MessageAuthenticationSecurityMessage": "Autentificeringen er blevet forbedret af sikkerhedsmæssige årsager. Alle brugere skal logge ind igen.", "MessageBackupsDescription": "Backups inkluderer brugere, brugerfremskridt, biblioteksvareoplysninger, serverindstillinger og billeder gemt i /metadata/items og /metadata/authors. Backups inkluderer ikke nogen filer gemt i dine biblioteksmapper.", "MessageBackupsLocationEditNote": "Note: Opdatering af backup sti vil ikke fjerne eller modificere eksisterende backups", "MessageBackupsLocationNoEditNote": "Note: Backup sti er sat igennem miljøvariabel og kan ikke ændres her.", @@ -730,6 +747,7 @@ "MessageChaptersNotFound": "Kapitler ikke fundet", "MessageCheckingCron": "Tjekker cron...", "MessageConfirmCloseFeed": "Er du sikker på, at du vil lukke dette feed?", + "MessageConfirmDeleteApiKey": "Er du sikker på at du vil slette API-nøglen \"{0}\"?", "MessageConfirmDeleteBackup": "Er du sikker på, at du vil slette backup for {0}?", "MessageConfirmDeleteDevice": "Er du sikker på at du vil fjerne elæser enhed \"{0}\"?", "MessageConfirmDeleteFile": "Dette vil slette filen fra dit filsystem. Er du sikker?", @@ -998,6 +1016,7 @@ "ToastEpisodeDownloadQueueClearSuccess": "Afsnit download kø renset", "ToastEpisodeUpdateSuccess": "{0} afsnit opdateret", "ToastErrorCannotShare": "Kan ikke dele på denne enhed", + "ToastFailedToCreate": "Oprettelsen mislykkedes", "ToastFailedToLoadData": "Fejlede at indlæse data", "ToastFailedToMatch": "Fejlet match", "ToastFailedToShare": "Fejlet deling", @@ -1014,11 +1033,11 @@ "ToastItemMarkedAsNotFinishedFailed": "Mislykkedes markering som ikke afsluttet", "ToastItemMarkedAsNotFinishedSuccess": "Vare markeret som ikke afsluttet", "ToastItemUpdateSuccess": "Genstand opdateret", - "ToastLibraryCreateFailed": "Mislykkedes oprettelse af bibliotek", + "ToastLibraryCreateFailed": "Oprettelse af bibliotek mislykkedes", "ToastLibraryCreateSuccess": "Bibliotek \"{0}\" oprettet", - "ToastLibraryDeleteFailed": "Mislykkedes sletning af bibliotek", + "ToastLibraryDeleteFailed": "Sletning af bibliotek mislykkedes", "ToastLibraryDeleteSuccess": "Bibliotek slettet", - "ToastLibraryScanFailedToStart": "Mislykkedes start af skanning", + "ToastLibraryScanFailedToStart": "Start af skanning mislykkedes", "ToastLibraryScanStarted": "Biblioteksskanning startet", "ToastLibraryUpdateSuccess": "Bibliotek \"{0}\" opdateret", "ToastMatchAllAuthorsFailed": "Fejlede at matche alle forfattere", @@ -1097,7 +1116,7 @@ "ToastUnlinkOpenIdFailed": "Fejlede i af afkoble bruger fra OpenID", "ToastUnlinkOpenIdSuccess": "Bruger afkoblet fra OpenID", "ToastUploaderFilepathExistsError": "Filsti \"{0}\" findes allerede på serveren", - "ToastUploaderItemExistsInSubdirectoryError": "Genstand \"{0}\" benytter en undermappe af upload stien", + "ToastUploaderItemExistsInSubdirectoryError": "Genstand \"{0}\" benytter en undermappe af upload stien.", "ToastUserDeleteFailed": "Mislykkedes sletning af bruger", "ToastUserDeleteSuccess": "Bruger slettet", "ToastUserPasswordChangeSuccess": "Password ændret", From 18068bb2617f2da754b9dd8c510fda293e964a52 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: Sat, 26 Jul 2025 07:07:10 +0200 Subject: [PATCH 02/23] Translated using Weblate (Ukrainian) Currently translated at 100.0% (1131 of 1131 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/uk/ --- client/strings/uk.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/client/strings/uk.json b/client/strings/uk.json index 94e01e3d..a9721010 100644 --- a/client/strings/uk.json +++ b/client/strings/uk.json @@ -656,6 +656,7 @@ "LabelTheme": "Тема", "LabelThemeDark": "Темна", "LabelThemeLight": "Світла", + "LabelThemeSepia": "Сепія", "LabelTimeBase": "Шкала часу", "LabelTimeDurationXHours": "{0} години", "LabelTimeDurationXMinutes": "{0} хвилини", @@ -838,7 +839,7 @@ "MessageNoItems": "Елементи відсутні", "MessageNoItemsFound": "Елементів не знайдено", "MessageNoListeningSessions": "Сеанси прослуховування відсутні", - "MessageNoLogs": "Немає журналів'", + "MessageNoLogs": "'Немає журналів'", "MessageNoMediaProgress": "Прогрес відсутній", "MessageNoNotifications": "Сповіщення відсутні", "MessageNoPodcastFeed": "Некоректний подкаст: немає каналу", From 694a852c077f87fe9877882fb4b5ccd724414e05 Mon Sep 17 00:00:00 2001 From: FiendFEARing Date: Sat, 26 Jul 2025 03:24:53 +0200 Subject: [PATCH 03/23] Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (1131 of 1131 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/zh_Hans/ --- client/strings/zh-cn.json | 1 + 1 file changed, 1 insertion(+) diff --git a/client/strings/zh-cn.json b/client/strings/zh-cn.json index 4d86781e..e86f1be7 100644 --- a/client/strings/zh-cn.json +++ b/client/strings/zh-cn.json @@ -656,6 +656,7 @@ "LabelTheme": "主题", "LabelThemeDark": "黑暗", "LabelThemeLight": "明亮", + "LabelThemeSepia": "棕褐色", "LabelTimeBase": "时间基准", "LabelTimeDurationXHours": "{0} 小时", "LabelTimeDurationXMinutes": "{0} 分钟", From ee17e7a5555f7f50abf9ac5fab5b4784dfb8f51e Mon Sep 17 00:00:00 2001 From: B0rax Date: Mon, 28 Jul 2025 06:51:18 +0200 Subject: [PATCH 04/23] Translated using Weblate (German) Currently translated at 99.9% (1130 of 1131 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/de/ --- client/strings/de.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/client/strings/de.json b/client/strings/de.json index 2e913c11..26b0de5d 100644 --- a/client/strings/de.json +++ b/client/strings/de.json @@ -438,7 +438,7 @@ "LabelLogLevelWarn": "Warnungen", "LabelLookForNewEpisodesAfterDate": "Suche nach neuen Episoden nach diesem Datum", "LabelLowestPriority": "Niedrigste Priorität", - "LabelMatchConfidence": "Zuversicht", + "LabelMatchConfidence": "Sicherheit", "LabelMatchExistingUsersBy": "Zuordnen existierender Benutzer mit", "LabelMatchExistingUsersByDescription": "Wird zum Verbinden vorhandener Benutzer verwendet. Sobald die Verbindung hergestellt ist, wird den Benutzern eine eindeutige ID vom SSO-Anbieter zugeordnet", "LabelMaxEpisodesToDownload": "Max. Anzahl an Episoden zum Herunterladen, 0 für unbegrenzte Episoden.", @@ -447,7 +447,7 @@ "LabelMaxEpisodesToKeepHelp": "0 setzt keine Begrenzung. Wenn eine neue Episode automatisch heruntergeladen wird, wird die älteste Episode gelöscht, wenn du mehr als X Episoden gespeichert hast. Es wird nur eine Episode pro neuem Download gelöscht.", "LabelMediaPlayer": "Mediaplayer", "LabelMediaType": "Medientyp", - "LabelMetaTag": "Meta Schlagwort", + "LabelMetaTag": "Meta Tag", "LabelMetaTags": "Meta Tags", "LabelMetadataOrderOfPrecedenceDescription": "Höher priorisierte Quellen für Metadaten überschreiben Metadaten aus Quellen mit niedrigerer Priorität", "LabelMetadataProvider": "Metadatenanbieter", @@ -656,6 +656,7 @@ "LabelTheme": "Farbschema", "LabelThemeDark": "Dunkel", "LabelThemeLight": "Hell", + "LabelThemeSepia": "Sepia", "LabelTimeBase": "Basiszeit", "LabelTimeDurationXHours": "{0} Stunden", "LabelTimeDurationXMinutes": "{0} Minuten", From e04efb9c6a50b3604ae9aad28a34238b2777d424 Mon Sep 17 00:00:00 2001 From: Vito0912 <86927734+Vito0912@users.noreply.github.com> Date: Mon, 28 Jul 2025 12:59:16 +0200 Subject: [PATCH 05/23] Translated using Weblate (German) Currently translated at 99.9% (1130 of 1131 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/de/ --- client/strings/de.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/strings/de.json b/client/strings/de.json index 26b0de5d..afc46dca 100644 --- a/client/strings/de.json +++ b/client/strings/de.json @@ -438,7 +438,7 @@ "LabelLogLevelWarn": "Warnungen", "LabelLookForNewEpisodesAfterDate": "Suche nach neuen Episoden nach diesem Datum", "LabelLowestPriority": "Niedrigste Priorität", - "LabelMatchConfidence": "Sicherheit", + "LabelMatchConfidence": "Vertrauenswert", "LabelMatchExistingUsersBy": "Zuordnen existierender Benutzer mit", "LabelMatchExistingUsersByDescription": "Wird zum Verbinden vorhandener Benutzer verwendet. Sobald die Verbindung hergestellt ist, wird den Benutzern eine eindeutige ID vom SSO-Anbieter zugeordnet", "LabelMaxEpisodesToDownload": "Max. Anzahl an Episoden zum Herunterladen, 0 für unbegrenzte Episoden.", From 74af212293ebd25fd308a11a3f169730ca044230 Mon Sep 17 00:00:00 2001 From: ugyes Date: Mon, 28 Jul 2025 15:57:13 +0200 Subject: [PATCH 06/23] Translated using Weblate (Hungarian) Currently translated at 100.0% (1131 of 1131 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/hu/ --- client/strings/hu.json | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/client/strings/hu.json b/client/strings/hu.json index 325ead1a..da99c55e 100644 --- a/client/strings/hu.json +++ b/client/strings/hu.json @@ -1,5 +1,6 @@ { "ButtonAdd": "Hozzáadás", + "ButtonAddApiKey": "API kulcs hozzáadása", "ButtonAddChapters": "Fejezetek hozzáadása", "ButtonAddDevice": "Eszköz hozzáadása", "ButtonAddLibrary": "Könyvtár hozzáadása", @@ -20,6 +21,7 @@ "ButtonChooseAFolder": "Válassz egy mappát", "ButtonChooseFiles": "Fájlok kiválasztása", "ButtonClearFilter": "Szűrő törlése", + "ButtonClose": "Bezár", "ButtonCloseFeed": "Hírcsatorna bezárása", "ButtonCloseSession": "Nyitott munkamenet bezárása", "ButtonCollections": "Gyűjtemények", @@ -119,6 +121,7 @@ "HeaderAccount": "Fiók", "HeaderAddCustomMetadataProvider": "Egyedi metaadat szolgáltató hozzáadása", "HeaderAdvanced": "Haladó", + "HeaderApiKeys": "API kulcsok", "HeaderAppriseNotificationSettings": "Apprise értesítési beállítások", "HeaderAudioTracks": "Audiósávok", "HeaderAudiobookTools": "Hangoskönyv fájlkezelő eszközök", @@ -162,6 +165,7 @@ "HeaderMetadataOrderOfPrecedence": "Metaadatok előnyben részesítési sorrendje", "HeaderMetadataToEmbed": "Beágyazandó metaadatok", "HeaderNewAccount": "Új fiók", + "HeaderNewApiKey": "Új API kulcs", "HeaderNewLibrary": "Új könyvtár", "HeaderNotificationCreate": "Értesítés készítése", "HeaderNotificationUpdate": "Értesítés frissítése", @@ -206,6 +210,7 @@ "HeaderTableOfContents": "Tartalomjegyzék", "HeaderTools": "Eszközök", "HeaderUpdateAccount": "Fiók frissítése", + "HeaderUpdateApiKey": "API kulcs frissítése", "HeaderUpdateAuthor": "Szerző frissítése", "HeaderUpdateDetails": "Részletek frissítése", "HeaderUpdateLibrary": "Könyvtár frissítése", @@ -235,6 +240,10 @@ "LabelAllUsersExcludingGuests": "Minden felhasználó, vendégek kivételével", "LabelAllUsersIncludingGuests": "Minden felhasználó, beleértve a vendégeket is", "LabelAlreadyInYourLibrary": "Már a könyvtárában van", + "LabelApiKeyCreated": "\"{0}\" API kulcs sikeresen létrehozva.", + "LabelApiKeyCreatedDescription": "Feltétlenül másolja le az API kulcsot, mert később már nem fogja látni.", + "LabelApiKeyUser": "Felhasználó nevében eljárva", + "LabelApiKeyUserDescription": "Ez az API-kulcs ugyanazokkal a jogosultságokkal rendelkezik, mint az a felhasználó, akinek a nevében működik. A naplófájlokban ez úgy jelenik meg, mintha a felhasználó maga küldte volna a kérést.", "LabelApiToken": "API Token", "LabelAppend": "Hozzáfűzés", "LabelAudioBitrate": "Audió bitráta (pl.128k)", @@ -346,6 +355,10 @@ "LabelExample": "Példa", "LabelExpandSeries": "Sorozat kinyitása", "LabelExpandSubSeries": "Alsorozat kinyitása", + "LabelExpired": "Lejárt", + "LabelExpiresAt": "Lejár", + "LabelExpiresInSeconds": "Lejár (másodpercben)", + "LabelExpiresNever": "Soha", "LabelExplicit": "Szókimondó", "LabelExplicitChecked": "Explicit (ellenőrizve)", "LabelExplicitUnchecked": "Nem explicit (nem ellenőrzött)", @@ -425,6 +438,7 @@ "LabelLogLevelWarn": "Figyelmeztetés", "LabelLookForNewEpisodesAfterDate": "Új epizódok keresése ezen a dátum után", "LabelLowestPriority": "Legalacsonyabb prioritás", + "LabelMatchConfidence": "Bizalom", "LabelMatchExistingUsersBy": "Meglévő felhasználók egyeztetése", "LabelMatchExistingUsersByDescription": "Meglévő felhasználók összekapcsolására használt. Egyszer összekapcsolva, a felhasználók egyedülálló azonosítóval lesznek egyeztetve az Ön SSO szolgáltatójától", "LabelMaxEpisodesToDownload": "Letölthető epizódok maximális száma. Használja a 0-t a korlátlan letöltéshez.", @@ -455,6 +469,7 @@ "LabelNewestEpisodes": "Legújabb epizódok", "LabelNextBackupDate": "Következő biztonsági másolat dátuma", "LabelNextScheduledRun": "Következő ütemezett futtatás", + "LabelNoApiKeys": "Nincs API kulcs", "LabelNoCustomMetadataProviders": "Nincsenek egyedi metaadat szolgáltatók", "LabelNoEpisodesSelected": "Nincsenek kiválasztott epizódok", "LabelNotFinished": "Nem befejezett", @@ -544,6 +559,7 @@ "LabelSelectAll": "Minden kiválasztása", "LabelSelectAllEpisodes": "Összes epizód kiválasztása", "LabelSelectEpisodesShowing": "Kiválasztás {0} megjelenített epizód", + "LabelSelectUser": "Felhasználó kiválasztása", "LabelSelectUsers": "Felhasználók kiválasztása", "LabelSendEbookToDevice": "E-könyv küldése...", "LabelSequence": "Sorozat", @@ -640,6 +656,7 @@ "LabelTheme": "Téma", "LabelThemeDark": "Sötét", "LabelThemeLight": "Világos", + "LabelThemeSepia": "Szépia", "LabelTimeBase": "Időalap", "LabelTimeDurationXHours": "{0} óra", "LabelTimeDurationXMinutes": "{0} perc", @@ -708,7 +725,9 @@ "MessageAddToPlayerQueue": "Hozzáadás a lejátszó sorhoz", "MessageAppriseDescription": "Ennek a funkció használatához futtatnia kell egy Apprise API példányt vagy egy olyan API-t, amely kezeli ezeket a kéréseket.
Az Apprise API URL-nek a teljes URL útvonalat kell tartalmaznia az értesítés elküldéséhez, például, ha az API példánya a http://192.168.1.1:8337 címen szolgáltatva, akkor http://192.168.1.1:8337/notify értéket kell megadnia.", "MessageAsinCheck": "Győződjön meg róla, hogy az ASIN-t a megfelelő Audible régióból használja, nem az Amazonból.", + "MessageAuthenticationLegacyTokenWarning": "A régi API-tokenek a jövőben eltávolításra kerülnek. Helyette használja az API-kulcsokat.", "MessageAuthenticationOIDCChangesRestart": "A mentés után indítsa újra a szervert az OIDC módosítások alkalmazásához.", + "MessageAuthenticationSecurityMessage": "A biztonság érdekében a hitelesítés folyamatát továbbfejlesztettük. Minden felhasználónak újra be kell jelentkeznie.", "MessageBackupsDescription": "A biztonsági másolatok tartalmazzák a felhasználókat, a felhasználói haladást, a könyvtári elem részleteit, a szerver beállításait és a képeket, amelyek a /metadata/items és /metadata/authors mappákban vannak tárolva. A biztonsági másolatok nem tartalmazzák a könyvtári mappákban tárolt fájlokat.", "MessageBackupsLocationEditNote": "Megjegyzés: A biztonsági mentés helyének frissítése nem mozgatja vagy módosítja a meglévő biztonsági mentéseket", "MessageBackupsLocationNoEditNote": "Megjegyzés: A biztonsági mentés helye egy környezeti változóval van beállítva, és itt nem módosítható.", @@ -730,6 +749,7 @@ "MessageChaptersNotFound": "Fejezetek nem találhatók", "MessageCheckingCron": "Cron ellenőrzése...", "MessageConfirmCloseFeed": "Biztosan be szeretné zárni ezt a hírcsatornát?", + "MessageConfirmDeleteApiKey": "Biztosan törölni szeretné az \"{0}\" API kulcsot?", "MessageConfirmDeleteBackup": "Biztosan törölni szeretné a(z) {0} biztonsági másolatot?", "MessageConfirmDeleteDevice": "Biztos, hogy törölni szeretné a „{0}” e-olvasó eszközt?", "MessageConfirmDeleteFile": "Ez törölni fogja a fájlt a fájlrendszerből. Biztos benne?", @@ -1001,6 +1021,8 @@ "ToastEpisodeDownloadQueueClearSuccess": "Epizód letöltési várólista törölve", "ToastEpisodeUpdateSuccess": "{0} epizód frissítve", "ToastErrorCannotShare": "Ezen az eszközön nem lehet natívan megosztani", + "ToastFailedToCreate": "Sikertelen létrehozás", + "ToastFailedToDelete": "Sikertelen törlés", "ToastFailedToLoadData": "Sikertelen adatbetöltés", "ToastFailedToMatch": "Nem sikerült egyezőséget találni", "ToastFailedToShare": "Nem sikerült megosztani", @@ -1032,6 +1054,7 @@ "ToastMustHaveAtLeastOnePath": "Legalább egy elérési útvonalnak kell lennie", "ToastNameEmailRequired": "Név és e-mail cím megadása kötelező", "ToastNameRequired": "A név megadása kötelező", + "ToastNewApiKeyUserError": "Ki kell választani egy felhasználót", "ToastNewEpisodesFound": "{0} új epizód", "ToastNewUserCreatedFailed": "Nem sikerült a fiókot létrehozni: „{0}”", "ToastNewUserCreatedSuccess": "Új fiók létrehozva", From c76f76cc2752ab0dba124796e21215df4d0861f2 Mon Sep 17 00:00:00 2001 From: Remco Schrijver Date: Mon, 28 Jul 2025 20:29:51 +0200 Subject: [PATCH 07/23] Translated using Weblate (Dutch) Currently translated at 98.4% (1113 of 1131 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/nl/ --- client/strings/nl.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/client/strings/nl.json b/client/strings/nl.json index c5c14827..5fdd1aed 100644 --- a/client/strings/nl.json +++ b/client/strings/nl.json @@ -1,5 +1,6 @@ { "ButtonAdd": "Toevoegen", + "ButtonAddApiKey": "API Key toevoegen", "ButtonAddChapters": "Hoofdstukken toevoegen", "ButtonAddDevice": "Toestel toevoegen", "ButtonAddLibrary": "Bibliotheek toevoegen", @@ -20,6 +21,7 @@ "ButtonChooseAFolder": "Map kiezen", "ButtonChooseFiles": "Bestanden kiezen", "ButtonClearFilter": "Filter verwijderen", + "ButtonClose": "Sluiten", "ButtonCloseFeed": "Feed sluiten", "ButtonCloseSession": "Sluit Sessie", "ButtonCollections": "Collecties", @@ -119,6 +121,7 @@ "HeaderAccount": "Account", "HeaderAddCustomMetadataProvider": "Aangepaste Metadataprovider Toevoegen", "HeaderAdvanced": "Geavanceerd", + "HeaderApiKeys": "API Key", "HeaderAppriseNotificationSettings": "Apprise-notificatie instellingen", "HeaderAudioTracks": "Audiotracks", "HeaderAudiobookTools": "Audioboekbestandbeheer tools", @@ -162,6 +165,7 @@ "HeaderMetadataOrderOfPrecedence": "Metadata volgorde", "HeaderMetadataToEmbed": "In te sluiten metadata", "HeaderNewAccount": "Nieuwe account", + "HeaderNewApiKey": "Nieuwe API Key", "HeaderNewLibrary": "Nieuwe bibliotheek", "HeaderNotificationCreate": "Notificatie Aanmaken", "HeaderNotificationUpdate": "Update Notificatie", @@ -206,6 +210,7 @@ "HeaderTableOfContents": "Inhoudsopgave", "HeaderTools": "Gereedschap", "HeaderUpdateAccount": "Account bijwerken", + "HeaderUpdateApiKey": "API Key updaten", "HeaderUpdateAuthor": "Auteur bijwerken", "HeaderUpdateDetails": "Details bijwerken", "HeaderUpdateLibrary": "Bibliotheek bijwerken", From 1640af2f1cbbaccd6ef5ef9a27fcdb5456376ccf Mon Sep 17 00:00:00 2001 From: max grakov Date: Mon, 28 Jul 2025 16:15:52 +0200 Subject: [PATCH 08/23] Translated using Weblate (Russian) Currently translated at 100.0% (1131 of 1131 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/ru/ --- client/strings/ru.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/client/strings/ru.json b/client/strings/ru.json index 4caceacf..dd4845cd 100644 --- a/client/strings/ru.json +++ b/client/strings/ru.json @@ -656,7 +656,8 @@ "LabelTheme": "Тема", "LabelThemeDark": "Темная", "LabelThemeLight": "Светлая", - "LabelTimeBase": "Временная база", + "LabelThemeSepia": "Сепия", + "LabelTimeBase": "Основное время", "LabelTimeDurationXHours": "{0} часов", "LabelTimeDurationXMinutes": "{0} минут", "LabelTimeDurationXSeconds": "{0} секунд", From 625e2445b55d5482c55ac02834855ce2abcc237e Mon Sep 17 00:00:00 2001 From: Jan-Eric Myhrgren Date: Mon, 28 Jul 2025 08:53:17 +0200 Subject: [PATCH 09/23] Translated using Weblate (Swedish) Currently translated at 96.2% (1089 of 1131 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/sv/ --- client/strings/sv.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/client/strings/sv.json b/client/strings/sv.json index 17254a50..20832946 100644 --- a/client/strings/sv.json +++ b/client/strings/sv.json @@ -436,6 +436,7 @@ "LabelLogLevelWarn": "Varningar", "LabelLookForNewEpisodesAfterDate": "Sök efter nya avsnitt efter detta datum", "LabelLowestPriority": "Lägst prioritet", + "LabelMatchConfidence": "Förtroende", "LabelMatchExistingUsersBy": "Matcha befintliga användare med", "LabelMatchExistingUsersByDescription": "Används för att koppla existerande användare. När kopplingen sker kommer användaren att matchas med ett unikt ID från SSO-leverantören.", "LabelMaxEpisodesToDownload": "Maximalt antal avsnitt att ladda ner (0 = obegränsat).", @@ -649,6 +650,7 @@ "LabelTheme": "Utseende", "LabelThemeDark": "Mörkt", "LabelThemeLight": "Ljust", + "LabelThemeSepia": "Sepia", "LabelTimeBase": "Tidsbas", "LabelTimeDurationXHours": "{0} timmar", "LabelTimeDurationXMinutes": "{0} minuter", @@ -714,6 +716,8 @@ "LabelYourProgress": "Framsteg", "MessageAddToPlayerQueue": "Lägg till i spellistan", "MessageAppriseDescription": "För att använda den här funktionen behöver du ha en instans av Apprise API igång eller en API som hanterar dessa begäranden.
Apprise API-urlen bör vara hela URL-sökvägen för att skicka meddelandet, t.ex., om din API-instans är tillgänglig på http://192.168.1.1:8337, bör du ange http://192.168.1.1:8337/notify.", + "MessageAuthenticationLegacyTokenWarning": "Legacy API-koder kommer att raderas i framtiden. Använd denna istället: API Keys.", + "MessageAuthenticationOIDCChangesRestart": "Du måste starta om servern efter att du ändrat eller adderat OIDC (OpenID Connect).", "MessageAuthenticationSecurityMessage": "Identifieringen av användare har förbättrats av säkerhetsskäl. Alla användare måste därför logga in på nytt.", "MessageBackupsDescription": "Säkerhetskopior inkluderar användare, användarnas framsteg, biblioteksobjekt,
serverinställningar och bilder lagrade i /metadata/items & /metadata/authors.
De inkluderar INTE några filer lagrade i dina biblioteksmappar.", "MessageBackupsLocationEditNote": "OBS: När du ändrar plats för säkerhetskopiorna så flyttas INTE gamla säkerhetskopior dit", @@ -733,6 +737,7 @@ "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", + "MessageChaptersNotFound": "Inga kapitel kunde hittas", "MessageCheckingCron": "Kontrollerar cron...", "MessageConfirmCloseFeed": "Är du säker på att du vill stänga detta flöde?", "MessageConfirmDeleteApiKey": "Är du säker på att du vill radera API-nyckel \"{0}\"?", @@ -775,6 +780,7 @@ "MessageConfirmRenameTagWarning": "VARNING! En liknande tagg med annat skrivsätt finns redan \"{0}\".", "MessageConfirmResetProgress": "Är du säker på att du vill nollställa ditt framsteg?", "MessageConfirmSendEbookToDevice": "Är du säker på att du vill skicka {0} e-bok \"{1}\" till enheten \"{2}\"?", + "MessageConfirmUnlinkOpenId": "Är du säker på att du vill koppla bort denna användare från OpenID?", "MessageDaysListenedInTheLastYear": "{0} dagars lyssnande det senaste året", "MessageDownloadingEpisode": "Laddar ner avsnitt", "MessageDragFilesIntoTrackOrder": "Ändra ordningen genom att klicka och dra filerna till rätt plats", @@ -856,8 +862,10 @@ "MessageScheduleRunEveryWeekdayAtTime": "Startar varje {0} klockan {1}", "MessageSearchResultsFor": "Sökresultat för", "MessageSelected": "{0} valda", + "MessageSeriesSequenceCannotContainSpaces": "Ordningsnumret i en serie får inte innehålla ett mellanslag", "MessageServerCouldNotBeReached": "Servern kunde inte nås", "MessageSetChaptersFromTracksDescription": "Använd varje ljudfil som ett kapitel och ljudfilens namn som kapitlets rubrik", + "MessageShareExpirationWillBe": "Giltig till kommer att bli {0}", "MessageShareExpiresIn": "Upphör om {0}", "MessageStartPlaybackAtTime": "Starta uppspelning av \"{0}\" vid tidpunkt {1}?", "MessageTaskAudioFileNotWritable": "Det går inte att skriva till ljudfilen \"{0}\"", @@ -935,6 +943,7 @@ "StatsTotalDuration": "Med den totala längden…", "StatsYearInReview": "- SAMMANSTÄLLNING AV ÅRET", "ToastAccountUpdateSuccess": "Kontot har uppdaterats", + "ToastAppriseUrlRequired": "En adress till Apprise måste anges", "ToastAsinRequired": "En ASIN-kod krävs", "ToastAuthorImageRemoveSuccess": "Författarens bild borttagen", "ToastAuthorNotFound": "Författaren \"{0}\" kunde inte identifieras", @@ -983,6 +992,8 @@ "ToastEpisodeDownloadQueueClearFailed": "Misslyckades med att tömma kön", "ToastEpisodeDownloadQueueClearSuccess": "Kö för nedladdning av avsnitt har tömts", "ToastEpisodeUpdateSuccess": "{0} avsnitt uppdaterades", + "ToastFailedToCreate": "Misslyckades med att addera", + "ToastFailedToDelete": "Misslyckades med att radera", "ToastFailedToLoadData": "Misslyckades med att ladda data", "ToastFailedToMatch": "Misslyckades med att matcha", "ToastFailedToShare": "Misslyckades med att dela", @@ -1013,6 +1024,7 @@ "ToastMetadataFilesRemovedSuccess": "{0} 'metadata.{1}' raderades", "ToastNameEmailRequired": "Ett namn och en e-postadress måste anges", "ToastNameRequired": "Ett namn måste anges", + "ToastNewApiKeyUserError": "En användare måste väljas", "ToastNewEpisodesFound": "Hittade {0} nya avsnitt", "ToastNewUserCreatedFailed": "Misslyckades med att skapa kontot \"{0}\"", "ToastNewUserCreatedSuccess": "Ett nytt konto har skapats", @@ -1025,6 +1037,7 @@ "ToastNoUpdatesNecessary": "Inga uppdateringar var nödvändiga", "ToastNotificationCreateFailed": "Misslyckades med att skapa meddelandet", "ToastNotificationDeleteFailed": "Misslyckades med att radera meddelandet", + "ToastNotificationSettingsUpdateSuccess": "Inställningarna för meddelanden har ändrats", "ToastNotificationUpdateSuccess": "Meddelandet har uppdaterats", "ToastPlaylistCreateFailed": "Det gick inte att skapa spellistan", "ToastPlaylistCreateSuccess": "Spellistan skapad", @@ -1068,6 +1081,8 @@ "ToastSortingPrefixesUpdateSuccess": "{0} begrepp för sortering har uppdateras", "ToastTitleRequired": "En titel måste anges", "ToastUnknownError": "Ett okänt fel inträffade", + "ToastUnlinkOpenIdFailed": "Misslyckades med att koppla bort användaren från OpenID", + "ToastUnlinkOpenIdSuccess": "Användaren har kopplats bort från OpenID", "ToastUploaderFilepathExistsError": "En fil med namnet \"{0}\" finns redan på servern", "ToastUserDeleteFailed": "Misslyckades med att ta bort användaren", "ToastUserDeleteSuccess": "Användaren borttagen", From 031edc870c3fca0dc0efd0ff85646b9100858c45 Mon Sep 17 00:00:00 2001 From: Jannik Date: Tue, 29 Jul 2025 17:46:19 +0200 Subject: [PATCH 10/23] Translated using Weblate (German) Currently translated at 99.8% (1131 of 1133 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/de/ --- client/strings/de.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/strings/de.json b/client/strings/de.json index afc46dca..a6819ae7 100644 --- a/client/strings/de.json +++ b/client/strings/de.json @@ -15,7 +15,7 @@ "ButtonBatchEditPopulateMapDetails": "Kartendetails auffüllen", "ButtonBrowseForFolder": "Ordnersuche", "ButtonCancel": "Abbrechen", - "ButtonCancelEncode": "Codierung abbrechen", + "ButtonCancelEncode": "Konvertierung abbrechen", "ButtonChangeRootPassword": "Hauptpasswort ändern", "ButtonCheckAndDownloadNewEpisodes": "Überprüfe & lade neue Episoden herunter", "ButtonChooseAFolder": "Wähle einen Ordner", From 4725a466dae04b7b615f960adf693af9bd2a28ae Mon Sep 17 00:00:00 2001 From: Kabika82 Date: Tue, 29 Jul 2025 10:08:48 +0200 Subject: [PATCH 11/23] Translated using Weblate (Hungarian) Currently translated at 100.0% (1133 of 1133 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/hu/ --- client/strings/hu.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/client/strings/hu.json b/client/strings/hu.json index da99c55e..8fdbe52b 100644 --- a/client/strings/hu.json +++ b/client/strings/hu.json @@ -273,7 +273,7 @@ "LabelBonus": "Bónusz", "LabelBooks": "Könyvek", "LabelButtonText": "Gomb szövege", - "LabelByAuthor": "{} által", + "LabelByAuthor": "{0} által", "LabelChangePassword": "Jelszó megváltoztatása", "LabelChannels": "Csatornák", "LabelChapterCount": "{0} Fejezet", @@ -418,6 +418,7 @@ "LabelLanguages": "Nyelvek", "LabelLastBookAdded": "Utolsó hozzáadott könyv", "LabelLastBookUpdated": "Utolsó frissített könyv", + "LabelLastProgressDate": "Legutóbbi haladás: {0}", "LabelLastSeen": "Utolsó látogatás", "LabelLastTime": "Utolsó alkalom", "LabelLastUpdate": "Utolsó frissítés", @@ -430,6 +431,7 @@ "LabelLibraryFilterSublistEmpty": "Nem {0}", "LabelLibraryItem": "Könyvtári elem", "LabelLibraryName": "Könyvtár neve", + "LabelLibrarySortByProgress": "Haladás frissítve", "LabelLimit": "Korlát", "LabelLineSpacing": "Sorköz", "LabelListenAgain": "Újrahallgatás", From 82a8f8f12658393355a21c7cddef3838342088a2 Mon Sep 17 00:00:00 2001 From: Remco Schrijver Date: Wed, 30 Jul 2025 07:45:17 +0200 Subject: [PATCH 12/23] Translated using Weblate (Dutch) Currently translated at 98.6% (1118 of 1133 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/nl/ --- client/strings/nl.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/client/strings/nl.json b/client/strings/nl.json index 5fdd1aed..e0a04999 100644 --- a/client/strings/nl.json +++ b/client/strings/nl.json @@ -351,6 +351,10 @@ "LabelExample": "Voorbeeld", "LabelExpandSeries": "Serie Uitvouwen", "LabelExpandSubSeries": "Subserie Uitvouwen", + "LabelExpired": "Verlopen", + "LabelExpiresAt": "Loopt af op", + "LabelExpiresInSeconds": "Loopt af in (seconds) seconden", + "LabelExpiresNever": "Nooit", "LabelExplicit": "Expliciet", "LabelExplicitChecked": "Expliciet (gechecked)", "LabelExplicitUnchecked": "Niet Expliciet (niet gechecked)", @@ -410,6 +414,7 @@ "LabelLanguages": "Talen", "LabelLastBookAdded": "Laatst toegevoegde boek", "LabelLastBookUpdated": "Laatst bijgewerkte boek", + "LabelLastProgressDate": "Laatste vooruitgang: {0}", "LabelLastSeen": "Laatst gezien", "LabelLastTime": "Laatste keer", "LabelLastUpdate": "Laatste wijziging", @@ -422,6 +427,7 @@ "LabelLibraryFilterSublistEmpty": "Nee {0}", "LabelLibraryItem": "Bibliotheekonderdeel", "LabelLibraryName": "Bibliotheeknaam", + "LabelLibrarySortByProgress": "Voortuigang geüpdatet", "LabelLimit": "Limiet", "LabelLineSpacing": "Regelruimte", "LabelListenAgain": "Opnieuw Beluisteren", From 80873b379c467b896662e30fa0dd1798ed0c3381 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, 28 Jul 2025 21:43:38 +0200 Subject: [PATCH 13/23] Translated using Weblate (Ukrainian) Currently translated at 100.0% (1133 of 1133 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/uk/ --- client/strings/uk.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/client/strings/uk.json b/client/strings/uk.json index a9721010..e1bb28fb 100644 --- a/client/strings/uk.json +++ b/client/strings/uk.json @@ -418,6 +418,7 @@ "LabelLanguages": "Мови", "LabelLastBookAdded": "Останню книгу додано", "LabelLastBookUpdated": "Останню книгу оновлено", + "LabelLastProgressDate": "Останній прогрес: {0}", "LabelLastSeen": "Активність", "LabelLastTime": "Останній час", "LabelLastUpdate": "Останнє оновлення", @@ -430,6 +431,7 @@ "LabelLibraryFilterSublistEmpty": "Ні {0}", "LabelLibraryItem": "Елемент бібліотеки", "LabelLibraryName": "Назва бібліотеки", + "LabelLibrarySortByProgress": "Прогрес оновлено", "LabelLimit": "Обмеження", "LabelLineSpacing": "Відстань між рядками", "LabelListenAgain": "Слухати знову", @@ -839,7 +841,7 @@ "MessageNoItems": "Елементи відсутні", "MessageNoItemsFound": "Елементів не знайдено", "MessageNoListeningSessions": "Сеанси прослуховування відсутні", - "MessageNoLogs": "'Немає журналів'", + "MessageNoLogs": "Немає Журнали", "MessageNoMediaProgress": "Прогрес відсутній", "MessageNoNotifications": "Сповіщення відсутні", "MessageNoPodcastFeed": "Некоректний подкаст: немає каналу", From 1d837f5f216e40d93bf135e091f504468b230ba0 Mon Sep 17 00:00:00 2001 From: thehijacker Date: Tue, 29 Jul 2025 07:01:45 +0200 Subject: [PATCH 14/23] Translated using Weblate (Slovenian) Currently translated at 100.0% (1133 of 1133 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/sl/ --- client/strings/sl.json | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/client/strings/sl.json b/client/strings/sl.json index 5c3c7d4f..42c861bd 100644 --- a/client/strings/sl.json +++ b/client/strings/sl.json @@ -1,5 +1,6 @@ { "ButtonAdd": "Dodaj", + "ButtonAddApiKey": "Dodaj API ključ", "ButtonAddChapters": "Dodaj poglavja", "ButtonAddDevice": "Dodaj napravo", "ButtonAddLibrary": "Dodaj knjižnico", @@ -20,6 +21,7 @@ "ButtonChooseAFolder": "Izberite mapo", "ButtonChooseFiles": "Izberite datoteke", "ButtonClearFilter": "Počisti filter", + "ButtonClose": "Zapri", "ButtonCloseFeed": "Zapri vir", "ButtonCloseSession": "Zapri odprto sejo", "ButtonCollections": "Zbirke", @@ -119,6 +121,7 @@ "HeaderAccount": "Račun", "HeaderAddCustomMetadataProvider": "Dodaj ponudnika metapodatkov po meri", "HeaderAdvanced": "Napredno", + "HeaderApiKeys": "API ključi", "HeaderAppriseNotificationSettings": "Nastavitve obvestil Apprise", "HeaderAudioTracks": "Zvočni posnetki", "HeaderAudiobookTools": "Orodja za upravljanje datotek zvočnih knjig", @@ -162,6 +165,7 @@ "HeaderMetadataOrderOfPrecedence": "Vrstni red metapodatkov", "HeaderMetadataToEmbed": "Metapodatki za vdelavo", "HeaderNewAccount": "Nov račun", + "HeaderNewApiKey": "Nov API ključ", "HeaderNewLibrary": "Nova knjižnica", "HeaderNotificationCreate": "Ustvari obvestilo", "HeaderNotificationUpdate": "Posodobi obvestilo", @@ -206,6 +210,7 @@ "HeaderTableOfContents": "Kazalo", "HeaderTools": "Orodja", "HeaderUpdateAccount": "Posodobi račun", + "HeaderUpdateApiKey": "Posodobi API ključ", "HeaderUpdateAuthor": "Posodobi avtorja", "HeaderUpdateDetails": "Posodobi podrobnosti", "HeaderUpdateLibrary": "Posodobi knjižnico", @@ -235,6 +240,10 @@ "LabelAllUsersExcludingGuests": "Vsi uporabniki razen gosti", "LabelAllUsersIncludingGuests": "Vsi uporabniki vključno z gosti", "LabelAlreadyInYourLibrary": "Že v tvoji knjižnici", + "LabelApiKeyCreated": "API ključ \"{0}\" je uspešno ustvarjen.", + "LabelApiKeyCreatedDescription": "Ne pozabite takoj kopirati API ključ, saj ga kasneje ne boste mogli več videti.", + "LabelApiKeyUser": "Izvedi v imenu uporabnika", + "LabelApiKeyUserDescription": "Ta API ključ bo imel enaka dovoljenja kot uporabnik, v imenu katerega deluje. V dnevnikih bo to prikazano enako, kot če bi zahtevo oddal uporabnik.", "LabelApiToken": "API žeton", "LabelAppend": "Priloži", "LabelAudioBitrate": "Avdio bitna hitrost (npr. 128k)", @@ -346,6 +355,10 @@ "LabelExample": "Primer", "LabelExpandSeries": "Razširi serije", "LabelExpandSubSeries": "Razširi podserije", + "LabelExpired": "Potekel", + "LabelExpiresAt": "Peteče ob", + "LabelExpiresInSeconds": "Poteče čez (sekunde)", + "LabelExpiresNever": "Nikoli", "LabelExplicit": "Eksplicitno", "LabelExplicitChecked": "Eksplicitno (omogočeno)", "LabelExplicitUnchecked": "Ne eksplicitno (onemogočeno)", @@ -405,6 +418,7 @@ "LabelLanguages": "Jeziki", "LabelLastBookAdded": "Zadnja dodana knjiga", "LabelLastBookUpdated": "Zadnja posodobljena knjiga", + "LabelLastProgressDate": "Zadnji napredek: {0}", "LabelLastSeen": "Nazadnje viden", "LabelLastTime": "Nazadnje", "LabelLastUpdate": "Zadnja posodobitev", @@ -417,6 +431,7 @@ "LabelLibraryFilterSublistEmpty": "Ne {0}", "LabelLibraryItem": "Element knjižnice", "LabelLibraryName": "Ime knjižnice", + "LabelLibrarySortByProgress": "Napredek posodobljen", "LabelLimit": "Omejitev", "LabelLineSpacing": "Vrstični razmak", "LabelListenAgain": "Poslušaj znova", @@ -425,6 +440,7 @@ "LabelLogLevelWarn": "Opozoritve", "LabelLookForNewEpisodesAfterDate": "Poiščite nove epizode po tem datumu", "LabelLowestPriority": "Najnižja prioriteta", + "LabelMatchConfidence": "Zaupanje", "LabelMatchExistingUsersBy": "Poveži obstoječe uporabnike po", "LabelMatchExistingUsersByDescription": "Uporablja se za povezovanje obstoječih uporabnikov. Ko se vzpostavi povezava, se bodo uporabniki ujemali z enoličnim ID-jem vašega ponudnika SSO", "LabelMaxEpisodesToDownload": "Največje število epizod za prenos. Uporabite 0 za neomejeno.", @@ -455,6 +471,7 @@ "LabelNewestEpisodes": "Najnovejše epizode", "LabelNextBackupDate": "Naslednji datum varnostnega kopiranja", "LabelNextScheduledRun": "Naslednji načrtovani zagon", + "LabelNoApiKeys": "Ni API ključev", "LabelNoCustomMetadataProviders": "Ni ponudnikov metapodatkov po meri", "LabelNoEpisodesSelected": "Izbrana ni nobena epizoda", "LabelNotFinished": "Ni dokončano", @@ -544,6 +561,7 @@ "LabelSelectAll": "Izberite vse", "LabelSelectAllEpisodes": "Izberite vse epizode", "LabelSelectEpisodesShowing": "Izberi {0} prikazanih epizod", + "LabelSelectUser": "Izberi uporabnika", "LabelSelectUsers": "Izberite uporabnike", "LabelSendEbookToDevice": "Pošlji eknjigo k...", "LabelSequence": "Zaporedje", @@ -640,6 +658,7 @@ "LabelTheme": "Tema", "LabelThemeDark": "Temna", "LabelThemeLight": "Svetla", + "LabelThemeSepia": "Sepija", "LabelTimeBase": "Osnovni čas", "LabelTimeDurationXHours": "{0} ur", "LabelTimeDurationXMinutes": "{0} minut", @@ -708,7 +727,9 @@ "MessageAddToPlayerQueue": "Dodaj v čakalno vrsto predvajalnika", "MessageAppriseDescription": "Če želite uporabljati to funkcijo, morate imeti zagnano namestitev API Apprise ali API, ki bo obravnavala te iste zahteve.
Url API-ja Apprise mora biti celotna pot URL-ja za pošiljanje obvestila, npr. če je vaša namestitev API-ja postrežena na http://192.168.1.1:8337, bi morali vnesti http://192.168.1.1:8337/notify.", "MessageAsinCheck": "Prepričajte se, da uporabljate ASIN iz pravilne zvočne regije, ne iz Amazona.", + "MessageAuthenticationLegacyTokenWarning": "Zastareli API žetoni bodo v prihodnosti odstranjeni. Namesto tega uporabite API ključe.", "MessageAuthenticationOIDCChangesRestart": "Za uveljavitev OIDC sprememb, po shranjevanju znova zaženite strežnik.", + "MessageAuthenticationSecurityMessage": "Zaradi varnosti je bila izboljšana avtentikacija. Vsi uporabniki se morajo ponovno prijaviti.", "MessageBackupsDescription": "Varnostne kopije vključujejo uporabnike, napredek uporabnikov, podrobnosti elementov knjižnice, nastavitve strežnika in slike, shranjene v /metadata/items & /metadata/authors. Varnostne kopije ne vključujejo datotek, shranjenih v mapah vaše knjižnice.", "MessageBackupsLocationEditNote": "Opomba: Posodabljanje lokacije varnostne kopije ne bo premaknilo ali spremenilo obstoječih varnostnih kopij", "MessageBackupsLocationNoEditNote": "Opomba: Lokacija varnostne kopije je nastavljena s spremenljivko okolja in je tu ni mogoče spremeniti.", @@ -730,6 +751,7 @@ "MessageChaptersNotFound": "Poglavij ni bilo najdenih", "MessageCheckingCron": "Preverjam cron...", "MessageConfirmCloseFeed": "Ali ste prepričani, da želite zapreti ta vir?", + "MessageConfirmDeleteApiKey": "Ali ste prepričani, da želite izbrisati API ključ \"{0}\"?", "MessageConfirmDeleteBackup": "Ali ste prepričani, da želite izbrisati varnostno kopijo za {0}?", "MessageConfirmDeleteDevice": "Ali ste prepričani, da želite izbrisati e-bralnik \"{0}\"?", "MessageConfirmDeleteFile": "To bo izbrisalo datoteko iz vašega datotečnega sistema. Ali ste prepričani?", @@ -1001,6 +1023,8 @@ "ToastEpisodeDownloadQueueClearSuccess": "Čakalna vrsta za prenos epizod je počiščena", "ToastEpisodeUpdateSuccess": "Število posodobljenih epizod: {0}", "ToastErrorCannotShare": "V tej napravi ni mogoče dati v skupno rabo", + "ToastFailedToCreate": "Ustvarjanje ni bilo uspešno", + "ToastFailedToDelete": "Brisanje ni bilo uspešno", "ToastFailedToLoadData": "Podatkov ni bilo mogoče naložiti", "ToastFailedToMatch": "Ujemanje ni uspelo", "ToastFailedToShare": "Skupna raba ni uspela", @@ -1032,6 +1056,7 @@ "ToastMustHaveAtLeastOnePath": "Imeti mora vsaj eno pot", "ToastNameEmailRequired": "Ime in e-pošta sta obvezna", "ToastNameRequired": "Ime je obvezno", + "ToastNewApiKeyUserError": "Morate izbrati uporabnika", "ToastNewEpisodesFound": "Število najdenih novih epizod: {0}", "ToastNewUserCreatedFailed": "Računa ni bilo mogoče ustvariti: \"{0}\"", "ToastNewUserCreatedSuccess": "Nov račun je bil ustvarjen", From 6a826cdb36168c582b74160b60a299c236b0849e Mon Sep 17 00:00:00 2001 From: "Troj@" Date: Tue, 29 Jul 2025 15:00:34 +0200 Subject: [PATCH 15/23] Translated using Weblate (Belarusian) Currently translated at 58.1% (659 of 1133 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/be/ --- client/strings/be.json | 62 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 54 insertions(+), 8 deletions(-) diff --git a/client/strings/be.json b/client/strings/be.json index 93189e67..dfddb626 100644 --- a/client/strings/be.json +++ b/client/strings/be.json @@ -1,5 +1,6 @@ { "ButtonAdd": "Дадаць", + "ButtonAddApiKey": "Дадаць API-ключ", "ButtonAddChapters": "Дадаць раздзелы", "ButtonAddDevice": "Дадаць прыладу", "ButtonAddLibrary": "Дадаць бібліятэку", @@ -20,6 +21,7 @@ "ButtonChooseAFolder": "Выбраць тэчку", "ButtonChooseFiles": "Выбраць файлы", "ButtonClearFilter": "Ачысціць фільтр", + "ButtonClose": "Закрыць", "ButtonCloseFeed": "Закрыць стужку", "ButtonCloseSession": "Закрыць адкрыты сеанс", "ButtonCollections": "Калекцыі", @@ -69,7 +71,7 @@ "ButtonQueueAddItem": "Дадаць у чаргу", "ButtonQueueRemoveItem": "Выдаліць з чаргі", "ButtonQuickEmbed": "Хуткае ўбудаванне", - "ButtonQuickEmbedMetadata": "Хуткае ўбудаванне метаданых", + "ButtonQuickEmbedMetadata": "Хуткае ўбудаванне метададзеных", "ButtonQuickMatch": "Хуткі пошук", "ButtonReScan": "Паўторнае сканаванне", "ButtonRead": "Чытаць", @@ -98,8 +100,9 @@ "ButtonSetChaptersFromTracks": "Усталяваць раздзелы з трэкаў", "ButtonShare": "Падзяліцца", "ButtonShiftTimes": "Карэкцыя часу", + "ButtonShow": "Паказаць", "ButtonStartM4BEncode": "Пачаць кадзіраванне ў M4B", - "ButtonStartMetadataEmbed": "Пачаць убудаванне метаданых", + "ButtonStartMetadataEmbed": "Пачаць убудаванне метададзеных", "ButtonStats": "Статыстыка", "ButtonSubmit": "Адправіць", "ButtonTest": "Тэст", @@ -116,8 +119,9 @@ "ErrorUploadFetchMetadataNoResults": "Не ўдалося атрымаць метададзеныя – паспрабуйце абнавіць назву і/або аўтара", "ErrorUploadLacksTitle": "Павінна быць назва", "HeaderAccount": "Уліковы запіс", - "HeaderAddCustomMetadataProvider": "Дадаць карыстальніцкага пастаўшчыка метаданных", + "HeaderAddCustomMetadataProvider": "Дадаць карыстальніцкага пастаўшчыка метададзенных", "HeaderAdvanced": "Дадаткова", + "HeaderApiKeys": "API-ключы", "HeaderAppriseNotificationSettings": "Налады апавяшчэнняў Apprise", "HeaderAudioTracks": "Аўдыядарожкі", "HeaderAudiobookTools": "Сродкі кіравання файламі аўдыякніг", @@ -157,9 +161,11 @@ "HeaderManageGenres": "Кіраванне жанрамі", "HeaderManageTags": "Кіраванне тэгамі", "HeaderMapDetails": "Падрабязнасці адлюстравання", + "HeaderMatch": "Супадзенне", "HeaderMetadataOrderOfPrecedence": "Парадак прыярытэтнасці метададзеных", "HeaderMetadataToEmbed": "Метададзеныя для ўбудавання", "HeaderNewAccount": "Новы ўліковы запіс", + "HeaderNewApiKey": "Новы API-ключ", "HeaderNewLibrary": "Новая бібліятэка", "HeaderNotificationCreate": "Стварыць апавяшчэнне", "HeaderNotificationUpdate": "Абнавіць апавяшчэнне", @@ -175,9 +181,10 @@ "HeaderPlaylist": "Спіс прайгравання", "HeaderPlaylistItems": "Элементы спіса прайгравання", "HeaderPodcastsToAdd": "Падкасты для дадання", + "HeaderPresets": "Прадустаноўкі", "HeaderPreviewCover": "Прадпрагляд вокладкі", "HeaderRSSFeedGeneral": "Падрабязнасці RSS", - "HeaderRSSFeedIsOpen": "RSS-стужка адкрыта", + "HeaderRSSFeedIsOpen": "RSS-стужка адкрытая", "HeaderRSSFeeds": "RSS-стужкі", "HeaderRemoveEpisode": "Выдаліць эпізод", "HeaderRemoveEpisodes": "Выдаліць {0} эпізодаў", @@ -203,6 +210,7 @@ "HeaderTableOfContents": "Змест", "HeaderTools": "Інструменты", "HeaderUpdateAccount": "Абнавіць уліковы запіс", + "HeaderUpdateApiKey": "Абнавіць API-ключ", "HeaderUpdateAuthor": "Абнавіць аўтара", "HeaderUpdateDetails": "Абнавіць падрабязнасці", "HeaderUpdateLibrary": "Абнавіць бібліятэку", @@ -227,10 +235,15 @@ "LabelAddedDate": "Дададзена {0}", "LabelAdminUsersOnly": "Толькі для адміністратараў", "LabelAll": "Усе", + "LabelAllEpisodesDownloaded": "Усе эпізоды спампаваныя", "LabelAllUsers": "Усе карыстальнікі", "LabelAllUsersExcludingGuests": "Усе карыстальнікі, акрамя гасцей", "LabelAllUsersIncludingGuests": "Усе карыстальнікі, уключаючы гасцей", "LabelAlreadyInYourLibrary": "Ужо ў вашай бібліятэцы", + "LabelApiKeyCreated": "API-ключ «{0}» паспяхова створаны.", + "LabelApiKeyCreatedDescription": "Пераканайцеся, што вы скапіявалі API-ключ зараз, бо паўторна яго ўбачыць не атрымаецца.", + "LabelApiKeyUser": "Дзейнічаць ад імя карыстальніка", + "LabelApiKeyUserDescription": "Гэты API-ключ будзе мець тыя ж правы, што і карыстальнік, ад імя якога ён дзейнічае. У журналах гэта будзе выглядаць так, быццам запыт робіць сам карыстальнік.", "LabelApiToken": "Токен API", "LabelAppend": "Дадаць", "LabelAudioBitrate": "Бітрэйт аўдыё (напрыклад, 128к)", @@ -242,8 +255,10 @@ "LabelAuthors": "Аўтары", "LabelAutoDownloadEpisodes": "Аўтаматычнае спампаванне эпізодаў", "LabelAutoFetchMetadata": "Аўтаматычнае атрыманне метададзеных", + "LabelAutoFetchMetadataHelp": "Атрыманне звестак пра назву, аўтара і серыю для падыходнага фарматавання перад загрузкай. Далей можа быць неабходна дапоўніць метададзеныя.", "LabelBackupAudioFiles": "Рэзервовае капіраванне аўдыёфайлаў", "LabelBackupLocation": "Месцазнаходжанне рэзервовых копій", + "LabelBackupsEnableAutomaticBackupsHelp": "Рэзервовыя копіі захаваныя ў /metadata/backups", "LabelBackupsNumberToKeepHelp": "Адначасова будзе выдаляцца толькі 1 рэзервовая копія, таму, калі ў вас іх больш, вам варта выдаліць іх уручную.", "LabelBooks": "Кнігі", "LabelChapters": "Раздзелы", @@ -256,6 +271,7 @@ "LabelDatetime": "Дата і час", "LabelDescription": "Апісанне", "LabelDiscFromFilename": "Дыск з імя файла", + "LabelDiscFromMetadata": "Дыск па метададзеных", "LabelDiscover": "Знайсці", "LabelDownload": "Спампаваць", "LabelDownloadNEpisodes": "Спампована {0} эпізодаў", @@ -267,14 +283,16 @@ "LabelEncodingBackupLocation": "Рэзервовая копія вашых арыгінальных аўдыёфайлаў будзе захавана ў:", "LabelEncodingChaptersNotEmbedded": "Раздзелы не ўбудаваны ў шматдарожкавыя аўдыякнігі.", "LabelEncodingFinishedM4B": "Гатовы файл M4B будзе змешчаны ў вашу тэчку з аўдыякнігамі па адрасе:", - "LabelEncodingInfoEmbedded": "Метаданыя будуць убудаваны ў аўдыядарожкі ўнутры вашай тэчкі з аўдыякнігамі.", + "LabelEncodingInfoEmbedded": "Метададзеныя будуць убудаваны ў аўдыядарожкі ўнутры вашай тэчкі з аўдыякнігамі.", "LabelEncodingTimeWarning": "Кадаванне можа заняць да 30 хвілін.", "LabelEnd": "Канец", "LabelEndOfChapter": "Канец раздзела", "LabelEpisode": "Эпізод", "LabelEpisodeNotLinkedToRssFeed": "Эпізод не звязаны з RSS-стужкай", "LabelEpisodeUrlFromRssFeed": "URL эпізоду з RSS-стужкі", + "LabelExplicit": "Відверты", "LabelFeedURL": "URL стужкі", + "LabelFetchingMetadata": "Атрыманне метададзеных", "LabelFile": "Файл", "LabelFileBirthtime": "Час стварэння файла", "LabelFileModified": "Час змянення файла", @@ -327,6 +345,8 @@ "LabelMaxEpisodesToKeepHelp": "Значэнне 0 не ўстанаўлівае максімальнага абмежавання. Пасля аўтаматычнай спампоўкі новага эпізоду будзе выдалены самы стары эпізод, калі ў вас больш за X эпізодаў. Пры кожнай новай спампоўцы будзе выдаляцца толькі 1 эпізод.", "LabelMediaPlayer": "Медыяпрайгравальнік", "LabelMediaType": "Тып медыя", + "LabelMetadataOrderOfPrecedenceDescription": "Крыніцы метададзеных з вышэйшым прыярытэтам будуць замяняць крыніцы з ніжэйшым прыярытэтам", + "LabelMetadataProvider": "Пастаўшчык метададзеных", "LabelMissing": "Адсутнічае", "LabelMore": "Больш", "LabelMoreInfo": "Больш інфармацыі", @@ -335,6 +355,7 @@ "LabelNarrators": "Чытальнікі", "LabelNewestAuthors": "Новыя аўтары", "LabelNewestEpisodes": "Новыя эпізоды", + "LabelNoCustomMetadataProviders": "Няма карыстацкіх пастаўшчыкоў метададзеных", "LabelNotFinished": "Не скончана", "LabelNotStarted": "Не пачата", "LabelNotificationsMaxFailedAttemptsHelp": "Апавяшчэнні адключаюцца пасля таго, як не ўдаецца іх адправіць гэтулькі разоў", @@ -353,7 +374,7 @@ "LabelPublishedDate": "Апублікавана {0}", "LabelRSSFeedCustomOwnerEmail": "Карыстальніцкая электронная пошта ўладальніка", "LabelRSSFeedCustomOwnerName": "Карыстальніцкае імя ўладальніка", - "LabelRSSFeedOpen": "RSS-стужка адкрытая", + "LabelRSSFeedOpen": "RSS-стужка адкрыта", "LabelRSSFeedPreventIndexing": "Прадухіліць індэксацыю", "LabelRSSFeedSlug": "Ідэнтыфікатар RSS-стужкі", "LabelRSSFeedURL": "URL RSS-стужкі", @@ -392,6 +413,7 @@ "LabelSettingsAudiobooksOnly": "Толькі аўдыякнігі", "LabelSettingsAudiobooksOnlyHelp": "Уключэнне гэтай налады будзе ігнараваць файлы электронных кніг, калі толькі яны не знаходзяцца ў тэчцы з аўдыякнігамі. У такім выпадку яны будуць пазначаны як дадатковыя электронныя кнігі.", "LabelSettingsBookshelfViewHelp": "Рэалістычны дызайн з драўлянымі паліцамі", + "LabelSettingsEnableWatcherForLibrary": "Аўтаматычна правяраць бібліятэку на змены", "LabelSettingsEnableWatcherHelp": "Адключае аўтаматычнае дадаванне/абнаўленне элементаў пры выяўленні змен у файлах. *Патрабуецца перазапуск сервера", "LabelSettingsEpubsAllowScriptedContent": "Дазволіць скрыптавы кантэнт у EPUB", "LabelSettingsEpubsAllowScriptedContentHelp": "Дазволіць EPUB-файлам выконваць скрыпты. Рэкамендуецца пакінуць гэтую наладу выключанай, калі вы не давяраеце крыніцы EPUB-файлаў.", @@ -409,6 +431,11 @@ "LabelSettingsOnlyShowLaterBooksInContinueSeriesHelp": "Палка \"Працягнуць серыю\" на галоўнай старонцы паказвае першую не пачатую кнігу ў серыях, дзе завершана хаця б адна кніга і няма кніг у працэсе чытання. Уключэнне гэтай налады дазволіць працягваць серыю з самай апошняй завершанай кнігі замест першай не пачатай.", "LabelSettingsParseSubtitles": "Разабраць падзагалоўкі", "LabelSettingsParseSubtitlesHelp": "Выдзяляць падзагаловак з назваў тэчак аўдыякніг.
Падзагаловак павінен быць аддзелены знакам \" - \".
Напрыклад, \"Назва кнігі - Падзагаловак тут\" мае падзагаловак \"Падзагаловак тут\"", + "LabelSettingsPreferMatchedMetadata": "Аддаваць перавагу супадаючым метададзеным", + "LabelSettingsPreferMatchedMetadataHelp": "Супадаючыя дадзеныя будуць замяняць дэталі элемента пры выкарыстанні функцыі Хуткі пошук. Па змаўчанні Хуткі пошук запаўняе толькі адсутныя дэталі.", + "LabelSettingsStoreCoversWithItemHelp": "Па змаўчанні вокладкі захоўваюцца ў /metadata/items, уключэнне гэтай опцыі забяспечыць захоўванне вокладак у тэчцы элемента вашай бібліятэкі. Захоўвацца будзе толькі адзін файл з назвай «cover»", + "LabelSettingsStoreMetadataWithItem": "Захоўваць метададзеныя разам з элементам", + "LabelSettingsStoreMetadataWithItemHelp": "Па змаўчанні метададзеныя захоўваюцца ў /metadata/items. Уключэнне гэтай опцыі забяспечыць захоўванне файлаў метададзеных у тэчках элементаў вашай бібліятэкі", "LabelSettingsTimeFormat": "Фармат часу", "LabelShareDownloadableHelp": "Дазваляе карыстальнікам, якія маюць спасылку на доступ, спампаваць ZIP-файл элемента бібліятэкі.", "LabelShowAll": "Паказаць усё", @@ -457,11 +484,14 @@ "LabelTimeRemaining": "Засталося {0}", "LabelTimeToShift": "Час зрушэння ў секундах", "LabelTitle": "Назва", - "LabelToolsSplitM4bDescription": "Стварэнне MP3 з M4B, падзеленага па раздзелах, з убудаванымі метаданымі, вокладкай і раздзеламі.", + "LabelToolsEmbedMetadata": "Убудаваць метададзеныя", + "LabelToolsEmbedMetadataDescription": "Убудаваць метададзеныя ў аўдыёфайлы, уключаючы вокладку і раздзелы.", + "LabelToolsMakeM4bDescription": "Стварыць аўдыёкнігу ў фармаце .M4B з убудаванымі метададзенымі, вокладкай і раздзеламі.", + "LabelToolsSplitM4bDescription": "Стварэнне MP3 з M4B, падзеленага па раздзелах, з убудаванымі метададзенымі, вокладкай і раздзеламі.", "LabelTotalDuration": "Агульная працягласць", "LabelTotalTimeListened": "Агульны час праслухоўвання", "LabelTrackFromFilename": "Дарожка з імя файла", - "LabelTrackFromMetadata": "Дарожка з метаданых", + "LabelTrackFromMetadata": "Дарожка з метададзеных", "LabelTracks": "Дарожкі", "LabelTracksMultiTrack": "Шматдарожкавы", "LabelTracksNone": "Няма дарожак", @@ -510,19 +540,27 @@ "MessageBackupsLocationPathEmpty": "Шлях да месцазнаходжання рэзервовых копій не можа быць пустым", "MessageBatchEditPopulateMapDetailsAllHelp": "Запоўніце ўключаныя палі дадзенымі з усіх элементаў. Палі з некалькімі значэннямі будуць аб'яднаны", "MessageBatchEditPopulateMapDetailsItemHelp": "Запоўніце ўключаныя палі падрабязнасцей карты дадзенымі з гэтага элемента", + "MessageBatchQuickMatchDescription": "Хуткі пошук паспрабуе дадаць адсутныя вокладкі і метададзеныя для выбраных элементаў. Уключыце ніжэй выкладзеныя опцыі, каб дазволіць Хуткаму пошуку замяняць існуючыя вокладкі і/або метададзеныя.", "MessageBookshelfNoRSSFeeds": "Няма адкрытых RSS-стужак", "MessageChapterErrorStartGteDuration": "Няправільны час пачатку: ён павінен быць меншым за працягласць аўдыякнігі", "MessageChapterErrorStartLtPrev": "Няправільны час пачатку: ён павінен быць большым або роўным часу пачатку папярэдняга раздзела", "MessageConfirmCloseFeed": "Вы ўпэўнены, што жадаеце закрыць гэтую стужку?", + "MessageConfirmDeleteMetadataProvider": "Ці ўпэўненыя вы, што жадаеце выдаліць карыстацкага пастаўшчыка метададзеных «{0}»?", + "MessageConfirmEmbedMetadataInAudioFiles": "Ці ўпэўненыя вы, што жадаеце ўбудаваць метададзеныя ў {0} аўдыёфайлаў?", + "MessageConfirmPurgeCache": "Ачышчэнне кэша выдаліць увесь каталог па адрасе /metadata/cache.

Ці сапраўды вы жадаеце выдаліць каталог кэша?", + "MessageConfirmPurgeItemsCache": "Ачышчэнне кэша элементаў выдаліць увесь каталог па адрасе /metadata/cache/items.
Вы ўпэўнены?", "MessageConfirmRemoveListeningSessions": "Вы ўпэўнены, што жадаеце выдаліць {0} сеансаў праслухоўвання?", + "MessageConfirmRemoveMetadataFiles": "Ці ўпэўненыя вы, што жадаеце выдаліць усе файлы метададзеных{0} у тэчках элементаў вашай бібліятэкі?", "MessageConfirmRemovePlaylist": "Вы ўпэўненыя, што жадаеце выдаліць свой спіс прайгравання \"{0}\"?", "MessageConfirmSendEbookToDevice": "Вы ўпэўнены, што хочаце адправіць {0} электронную кнігу \"{1}\" на прыладу \"{2}\"?", "MessageDownloadingEpisode": "Спампоўка эпізоду", + "MessageEmbedQueue": "У чарзе на ўбудаванне метададзеных (у чарзе {0})", "MessageEpisodesQueuedForDownload": "{0} эпізод(аў) у чарзе для спампоўкі", "MessageEreaderDevices": "Каб забяспечыць дастаўку электронных кніг, вам можа спатрэбіцца дадаць вышэйзгаданы адрас электроннай пошты як дазволенага адпраўніка для кожнай прылады, пералічанай ніжэй.", "MessageFeedURLWillBe": "URL стужкі будзе {0}", "MessageFetching": "Атрыманне...", "MessageLoading": "Загрузка...", + "MessageLogsDescription": "Журналы захоўваюцца ў каталогу /metadata/logs у фармаце JSON. Журналы памылак захоўваюцца ў файле /metadata/logs/crashlogs.txt.", "MessageMapChapterTitles": "Супаставіць назвы раздзелаў з вашымі існуючымі раздзеламі аўдыякнігі без змянення часовых метак", "MessageMarkAsFinished": "Пазначыць як скончана", "MessageNoBookmarks": "Няма закладак", @@ -543,11 +581,17 @@ "MessagePlaylistCreateFromCollection": "Стварыць спіс прайгравання з калекцыі", "MessagePodcastHasNoRSSFeedForMatching": "У падкаста няма URL RSS-стужкі для супадзення", "MessagePodcastSearchField": "Увядзіце пошукавы запыт або URL RSS-стужкі", + "MessageQuickMatchDescription": "Запоўніць пустыя дэталі элемента і вокладку першым вынікам супадзення з «{0}». Не замяняе дэталі, калі опцыя «Аддаваць перавагу супадаючым метададзеным» на серверы не ўключана.", "MessageReportBugsAndContribute": "Паведамляйце пра памылкі, прапануйце новыя функцыі і ўдзельнічайце на", + "MessageRestoreBackupWarning": "Аднаўленне рэзервовай копіі перазапіша ўсю базу даных, размешчаную ў /config, а таксама вокладкі ў /metadata/items і /metadata/authors.

Рэзервовыя копіі не змяняюць файлы ў вашых тэчках бібліятэкі. Калі вы ўключылі наладкі сервера для захоўвання воклак і метададзеных у тэчках бібліятэкі, гэтыя файлы не будуць захаваныя ў рэзервовых копіях і не зменяцца.

Усе кліенты, якія карыстаюцца вашым серверам, будуць аўтаматычна абноўлены.", "MessageScheduleRunEveryWeekdayAtTime": "Выконваць кожныя {0} у {1}", "MessageStartPlaybackAtTime": "Пачаць прайграванне для \"{0}\" з {1}?", "MessageTaskCanceledByUser": "Задача скасавана карыстальнікам", "MessageTaskDownloadingEpisodeDescription": "Спампоўка эпізоду \"{0}\"", + "MessageTaskEmbeddingMetadata": "Убудаванне метададзеных", + "MessageTaskEmbeddingMetadataDescription": "Убудаванне метададзеных у аўдыёкнігу «{0}»", + "MessageTaskFailedToEmbedMetadataInFile": "Не ўдалося ўбудаваць метададзеныя ў файл «{0}»", + "MessageTaskFailedToWriteMetadataFile": "Не ўдалося захаваць файл метададзеных", "MessageTaskOpmlImportDescription": "Стварэнне падкастаў з {0} RSS-стужак", "MessageTaskOpmlImportFeed": "Імпарт стужкі з OPML", "MessageTaskOpmlImportFeedDescription": "Імпартаванне RSS-стужкі \"{0}\"", @@ -602,6 +646,8 @@ "ToastPlaylistCreateSuccess": "Спіс прайгравання створаны", "ToastPlaylistRemoveSuccess": "Спіс прайгравання выдалены", "ToastPlaylistUpdateSuccess": "Спіс прайгравання абноўлены", + "ToastPodcastCreateFailed": "Не ўдалося стварыць падкаст", + "ToastPodcastCreateSuccess": "Падкаст паспяхова створаны", "ToastPodcastGetFeedFailed": "Не ўдалося атрымаць стужку падкаста", "ToastPodcastNoEpisodesInFeed": "У RSS-стужцы не знойдзена эпізодаў", "ToastPodcastNoRssFeed": "У падкаста няма RSS-стужкі", From ef5d0ffa4869261e169762d772a457f7f37060f7 Mon Sep 17 00:00:00 2001 From: enosh Date: Wed, 30 Jul 2025 20:22:22 +0200 Subject: [PATCH 16/23] Translated using Weblate (Hebrew) Currently translated at 74.7% (847 of 1133 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/he/ --- client/strings/he.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/client/strings/he.json b/client/strings/he.json index 8b5bcdd0..79829998 100644 --- a/client/strings/he.json +++ b/client/strings/he.json @@ -1,5 +1,6 @@ { "ButtonAdd": "הוסף", + "ButtonAddApiKey": "הוסף מפתח ממשק תכנות (API)", "ButtonAddChapters": "הוסף פרקים", "ButtonAddDevice": "הוסף התקן", "ButtonAddLibrary": "הוסף ספרייה", @@ -20,6 +21,7 @@ "ButtonChooseAFolder": "בחר תיקייה", "ButtonChooseFiles": "בחר קבצים", "ButtonClearFilter": "נקה סינון", + "ButtonClose": "סגור", "ButtonCloseFeed": "סגור ערוץ", "ButtonCloseSession": "סגור סשן פתוח", "ButtonCollections": "אוספים", From c4d654635f14da2746648645602411e657e1a37d Mon Sep 17 00:00:00 2001 From: Remco Schrijver Date: Wed, 30 Jul 2025 22:33:54 +0200 Subject: [PATCH 17/23] Translated using Weblate (Dutch) Currently translated at 100.0% (1133 of 1133 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/nl/ --- client/strings/nl.json | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/client/strings/nl.json b/client/strings/nl.json index e0a04999..87a648ba 100644 --- a/client/strings/nl.json +++ b/client/strings/nl.json @@ -34,8 +34,8 @@ "ButtonEditChapters": "Hoofdstukken wijzigen", "ButtonEditPodcast": "Podcast wijzigen", "ButtonEnable": "Aanzetten", - "ButtonFireAndFail": "Fire and Fail", - "ButtonFireOnTest": "Fire onTest event", + "ButtonFireAndFail": "Uitvoeren en falen", + "ButtonFireOnTest": "Test-Event uitvoeren", "ButtonForceReScan": "Forceer nieuwe scan", "ButtonFullPath": "Volledig pad", "ButtonHide": "Verberg", @@ -240,6 +240,10 @@ "LabelAllUsersExcludingGuests": "Alle gebruikers exclusief gasten", "LabelAllUsersIncludingGuests": "Alle gebruikers inclusief gasten", "LabelAlreadyInYourLibrary": "Reeds in je bibliotheek", + "LabelApiKeyCreated": "API Key \"{0}\" succesvol aangemaakt.", + "LabelApiKeyCreatedDescription": "Zorg ervoor dat je de API key nu kopieert, je kan deze later niet meer bekijken.", + "LabelApiKeyUser": "Uitvoeren namens de gebruiker", + "LabelApiKeyUserDescription": "Deze API key krijgt dezelfde rechten als de gebruiker waar deze zich tot voordoet. In de logs zullen de requests ook op naam van de gebruiker staan.", "LabelApiToken": "API Token", "LabelAppend": "Achteraan toevoegen", "LabelAudioBitrate": "Audio Bitrate (b.v. 128k)", @@ -317,7 +321,7 @@ "LabelDurationComparisonLonger": "({0} langer)", "LabelDurationComparisonShorter": "({0} korter)", "LabelDurationFound": "Gevonden duur:", - "LabelEbook": "Ebook", + "LabelEbook": "E-boek", "LabelEbooks": "Eboeken", "LabelEdit": "Wijzig", "LabelEmail": "Email", @@ -373,7 +377,7 @@ "LabelFolder": "Map", "LabelFolders": "Mappen", "LabelFontBold": "Vetgedrukt", - "LabelFontBoldness": "Font Boldness", + "LabelFontBoldness": "Lettertype Dikte", "LabelFontFamily": "Lettertypefamilie", "LabelFontItalic": "Cursief", "LabelFontScale": "Lettertype schaal", @@ -381,7 +385,7 @@ "LabelFormat": "Formaat", "LabelFull": "Vol", "LabelGenre": "Genre", - "LabelGenres": "Genres", + "LabelGenres": "Categorieën", "LabelHardDeleteFile": "Bestand permanent verwijderen", "LabelHasEbook": "Heeft Ebook", "LabelHasSupplementaryEbook": "Heeft aanvullend Ebook", @@ -436,6 +440,7 @@ "LabelLogLevelWarn": "Waarschuwing", "LabelLookForNewEpisodesAfterDate": "Zoek naar nieuwe afleveringen na deze datum", "LabelLowestPriority": "Laagste Prioriteit", + "LabelMatchConfidence": "Vertrouwen", "LabelMatchExistingUsersBy": "Bestaande gebruikers matchen op", "LabelMatchExistingUsersByDescription": "Wordt gebruikt om bestaande gebruikers te verbinden. Zodra ze verbonden zijn, worden gebruikers gekoppeld aan een unieke id van uw SSO-provider", "LabelMaxEpisodesToDownload": "Maximale # afleveringen om te downloaden. Gebruik 0 voor ongelimiteerd.", @@ -466,6 +471,7 @@ "LabelNewestEpisodes": "Nieuwste Afleveringen", "LabelNextBackupDate": "Volgende back-up datum", "LabelNextScheduledRun": "Volgende geplande run", + "LabelNoApiKeys": "Geen API keys", "LabelNoCustomMetadataProviders": "Geen custom metadata bronnen", "LabelNoEpisodesSelected": "Geen afleveringen geselecteerd", "LabelNotFinished": "Niet Voltooid", @@ -525,7 +531,7 @@ "LabelPublishers": "Uitgevers", "LabelRSSFeedCustomOwnerEmail": "Aangepast e-mailadres eigenaar", "LabelRSSFeedCustomOwnerName": "Aangepaste naam eigenaar", - "LabelRSSFeedOpen": "RSS Feed Open", + "LabelRSSFeedOpen": "RSS Feed open", "LabelRSSFeedPreventIndexing": "Voorkom indexering", "LabelRSSFeedSlug": "RSS-feed slug", "LabelRSSFeedURL": "RSS-feed URL", @@ -555,6 +561,7 @@ "LabelSelectAll": "Alles selecteren", "LabelSelectAllEpisodes": "Selecteer alle afleveringen", "LabelSelectEpisodesShowing": "Selecteer {0} afleveringen laten zien", + "LabelSelectUser": "Gebruiker kiezen", "LabelSelectUsers": "Selecteer gebruikers", "LabelSendEbookToDevice": "Stuur ebook naar...", "LabelSequence": "Sequentie", @@ -647,10 +654,11 @@ "LabelTextEditorBulletedList": "Opgesomde lijst", "LabelTextEditorLink": "Link", "LabelTextEditorNumberedList": "Genummerde lijst", - "LabelTextEditorUnlink": "Unlink", + "LabelTextEditorUnlink": "Ontkoppelen", "LabelTheme": "Thema", "LabelThemeDark": "Donker", "LabelThemeLight": "Licht", + "LabelThemeSepia": "Sepia", "LabelTimeBase": "Tijdsbasis", "LabelTimeDurationXHours": "{0} Uren", "LabelTimeDurationXMinutes": "{0} minuten", @@ -719,7 +727,9 @@ "MessageAddToPlayerQueue": "Toevoegen aan wachtrij", "MessageAppriseDescription": "Om deze functie te gebruiken heb je een draaiende instantie van Apprise API nodig of een api die dezelfde requests afhandelt.
De Apprise API Url moet het volledige URL-pad zijn om de notificatie te verzenden, b.v., als je API-instantie draait op http://192.168.1.1:8337 dan zou je http://192.168.1.1:8337/notify gebruiken.", "MessageAsinCheck": "Zorg ervoor dat u de ASIN van de juiste Audible-regio gebruikt, niet die van Amazon.", + "MessageAuthenticationLegacyTokenWarning": "API tokens zijn verouderd en worden in de toekomst niet meer ondersteund. Gebruik inplaats daarvan API keys .", "MessageAuthenticationOIDCChangesRestart": "Start uw server opnieuw op nadat u het opslaan hebt uitgevoerd, om de OIDC-wijzigingen toe te passen.", + "MessageAuthenticationSecurityMessage": "Authenticatie is verbeterd omwille van veiligheid. Alle gebruikers moeten opnieuw inloggen.", "MessageBackupsDescription": "Back-ups omvatten gebruikers, gebruikers' voortgang, bibliotheekonderdeeldetails, serverinstellingen en afbeeldingen bewaard in /metadata/items & /metadata/authors. Back-ups bevatten niet de bestanden bewaard in je bibliotheekmappen.", "MessageBackupsLocationEditNote": "Let op: het bijwerken van de back-uplocatie zal bestaande back-ups niet verplaatsen of wijzigen", "MessageBackupsLocationNoEditNote": "Let op: De back-uplocatie wordt ingesteld via een omgevingsvariabele en kan hier niet worden gewijzigd.", @@ -741,6 +751,7 @@ "MessageChaptersNotFound": "Hoofdstukken niet gevonden", "MessageCheckingCron": "Cron aan het checken...", "MessageConfirmCloseFeed": "Ben je zeker dat je deze feed wil sluiten?", + "MessageConfirmDeleteApiKey": "Weet je zeker dat je deze API key \"{0}\" wil verwijderen?", "MessageConfirmDeleteBackup": "Weet je zeker dat je de backup voor {0} wil verwijderen?", "MessageConfirmDeleteDevice": "Ben je zeker dat je e-reader apparaat \"{0}\" wil verwijderen?", "MessageConfirmDeleteFile": "Dit verwijdert het bestand uit het bestandssysteem. Weet je het zeker?", @@ -773,7 +784,7 @@ "MessageConfirmRemoveListeningSessions": "Weet je zeker dat je {0} luistersessies wilt verwijderen?", "MessageConfirmRemoveMetadataFiles": "Bent u zeker dat u alle metadata wil verwijderen. {0} bestanden in uw bibliotheel item folders?", "MessageConfirmRemoveNarrator": "Weet je zeker dat je verteller \"{0}\" wil verwijderen?", - "MessageConfirmRemovePlaylist": "Weet je zeker dat je je afspeellijst \"{0}\" wil verwijderen?", + "MessageConfirmRemovePlaylist": "Weet je zeker dat je afspeellijst \"{0}\" wil verwijderen?", "MessageConfirmRenameGenre": "Weet je zeker dat je genre \"{0}\" wil hernoemen naar \"{1}\" voor alle onderdelen?", "MessageConfirmRenameGenreMergeNote": "Opmerking: Dit genre bestaat al, dus zullen ze worden samengevoegd.", "MessageConfirmRenameGenreWarning": "Waarschuwing! Een gelijknamig genre met ander hoofdlettergebruik bestaat al: \"{0}\".", @@ -1012,6 +1023,8 @@ "ToastEpisodeDownloadQueueClearSuccess": "Aflevering download-wachtrij geleegt", "ToastEpisodeUpdateSuccess": "{0} afleveringen bijgewerkt", "ToastErrorCannotShare": "Kan niet native delen op dit apparaat", + "ToastFailedToCreate": "Fout tijdens creëren", + "ToastFailedToDelete": "Fout tijdens verwijderen", "ToastFailedToLoadData": "Data laden mislukt", "ToastFailedToMatch": "Match mislukt", "ToastFailedToShare": "Delen mislukt", @@ -1043,6 +1056,7 @@ "ToastMustHaveAtLeastOnePath": "Moet ten minste een pad hebben", "ToastNameEmailRequired": "Naam en email zijn vereist", "ToastNameRequired": "Naam is vereist", + "ToastNewApiKeyUserError": "Selecteer een gebruiker", "ToastNewEpisodesFound": "{0} nieuwe afleveringen gevonden", "ToastNewUserCreatedFailed": "Account: \"{0}\" aanmaken mislukt", "ToastNewUserCreatedSuccess": "Nieuw account aangemaakt", From 4053b206234c32347951fe8f130090ddc2285548 Mon Sep 17 00:00:00 2001 From: Pepijn Date: Wed, 30 Jul 2025 22:26:48 +0200 Subject: [PATCH 18/23] Translated using Weblate (Dutch) Currently translated at 100.0% (1133 of 1133 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/nl/ --- client/strings/nl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/strings/nl.json b/client/strings/nl.json index 87a648ba..d5ba26db 100644 --- a/client/strings/nl.json +++ b/client/strings/nl.json @@ -11,7 +11,7 @@ "ButtonApplyChapters": "Hoofdstukken toepassen", "ButtonAuthors": "Auteurs", "ButtonBack": "Terug", - "ButtonBatchEditPopulateFromExisting": "Vullen vanuit bestaande", + "ButtonBatchEditPopulateFromExisting": "Vul in met huidige", "ButtonBatchEditPopulateMapDetails": "Kaartgegevens invullen", "ButtonBrowseForFolder": "Bladeren naar map", "ButtonCancel": "Annuleren", From 8f718ef91c4725da85168a22ff968dc03de322ce Mon Sep 17 00:00:00 2001 From: FiendFEARing Date: Thu, 31 Jul 2025 05:08:54 +0200 Subject: [PATCH 19/23] Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (1133 of 1133 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/zh_Hans/ --- client/strings/zh-cn.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/client/strings/zh-cn.json b/client/strings/zh-cn.json index e86f1be7..a373ca29 100644 --- a/client/strings/zh-cn.json +++ b/client/strings/zh-cn.json @@ -418,6 +418,7 @@ "LabelLanguages": "语言", "LabelLastBookAdded": "最后添加的书", "LabelLastBookUpdated": "最后更新的书", + "LabelLastProgressDate": "上次阅读时间: {0}", "LabelLastSeen": "上次查看时间", "LabelLastTime": "最近一次", "LabelLastUpdate": "最近更新", @@ -430,6 +431,7 @@ "LabelLibraryFilterSublistEmpty": "没有 {0}", "LabelLibraryItem": "媒体库项目", "LabelLibraryName": "媒体库名称", + "LabelLibrarySortByProgress": "进度更新时间", "LabelLimit": "限制", "LabelLineSpacing": "行间距", "LabelListenAgain": "再次收听", From 79b4042e8eb97e517ced0c2ba6cd1b4d711cbbec Mon Sep 17 00:00:00 2001 From: "Troj@" Date: Thu, 31 Jul 2025 15:42:11 +0200 Subject: [PATCH 20/23] Translated using Weblate (Belarusian) Currently translated at 63.6% (721 of 1133 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/be/ --- client/strings/be.json | 62 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/client/strings/be.json b/client/strings/be.json index dfddb626..da3e39c7 100644 --- a/client/strings/be.json +++ b/client/strings/be.json @@ -256,20 +256,60 @@ "LabelAutoDownloadEpisodes": "Аўтаматычнае спампаванне эпізодаў", "LabelAutoFetchMetadata": "Аўтаматычнае атрыманне метададзеных", "LabelAutoFetchMetadataHelp": "Атрыманне звестак пра назву, аўтара і серыю для падыходнага фарматавання перад загрузкай. Далей можа быць неабходна дапоўніць метададзеныя.", + "LabelAutoLaunch": "Аўтазапуск", + "LabelAutoLaunchDescription": "Аўтаматычна перанакіроўваць да пастаўшчыка аўтэнтыфікацыі пры переходзе на старонку ўваходу (ручное пераключэнне праз шлях /login?autoLaunch=0)", + "LabelAutoRegister": "Аўтарэгістрацыя", + "LabelAutoRegisterDescription": "Аўтаматычна ствараць новых карыстальнікаў пасля ўваходу ў сістэму", + "LabelBackToUser": "Вярнуцца да карыстальніка", "LabelBackupAudioFiles": "Рэзервовае капіраванне аўдыёфайлаў", "LabelBackupLocation": "Месцазнаходжанне рэзервовых копій", + "LabelBackupsEnableAutomaticBackups": "Аўтаматычнае рэзервовае капіраванне", "LabelBackupsEnableAutomaticBackupsHelp": "Рэзервовыя копіі захаваныя ў /metadata/backups", + "LabelBackupsMaxBackupSize": "Максімальны памер рэзервовай копіі (у ГБ) (0 — неабмежавана)", + "LabelBackupsMaxBackupSizeHelp": "Для таго, каб пазбегнуць няправільных налад, рэзервовыя копіі не будуць створаны, калі іх памер будзе больш за дапушчальны.", + "LabelBackupsNumberToKeep": "Колькасць захаваных рэзервовых копій", "LabelBackupsNumberToKeepHelp": "Адначасова будзе выдаляцца толькі 1 рэзервовая копія, таму, калі ў вас іх больш, вам варта выдаліць іх уручную.", + "LabelBitrate": "Бітрэйт", + "LabelBonus": "Бонус", "LabelBooks": "Кнігі", + "LabelButtonText": "Тэкст кнопкі", + "LabelByAuthor": "ад {0}", + "LabelChangePassword": "Змяніць пароль", + "LabelChannels": "Каналы", + "LabelChapterCount": "{0} раздзелаў", + "LabelChapterTitle": "Назва раздзела", "LabelChapters": "Раздзелы", + "LabelChaptersFound": "раздзелаў знойдзена", + "LabelClickForMoreInfo": "Націсніце для больш падрабязнай інфармацыі", + "LabelClickToUseCurrentValue": "Націсніце, каб выкарыстоўваць бягучае значэнне", "LabelClosePlayer": "Зачыніць прайгравальнік", + "LabelCodec": "Кодэк", "LabelCollapseSeries": "Згарнуць серыі", + "LabelCollapseSubSeries": "Згарнуць падсерыі", + "LabelCollection": "Калекцыя", + "LabelCollections": "Калекцыі", "LabelComplete": "Завершана", + "LabelConfirmPassword": "Пацвердзіце пароль", "LabelContinueListening": "Працягваць слухаць", "LabelContinueReading": "Працягнуць чытанне", "LabelContinueSeries": "Працягнуць серыі", + "LabelCover": "Вокладка", + "LabelCoverImageURL": "URL малюнка вокладкі", + "LabelCoverProvider": "Крыніца вокладак", + "LabelCreatedAt": "Дата стварэння", + "LabelCronExpression": "Запіс Cron", + "LabelCurrent": "Бягучы", + "LabelCurrently": "Бягучы:", + "LabelCustomCronExpression": "Уласны запіс Cron:", "LabelDatetime": "Дата і час", + "LabelDays": "Дзён", + "LabelDeleteFromFileSystemCheckbox": "Выдаліць з файлавай сістэмы (зніміце галачку, каб выдаліць толькі з базы даных)", "LabelDescription": "Апісанне", + "LabelDeselectAll": "Скасаваць выбар усяго", + "LabelDevice": "Прылада", + "LabelDeviceInfo": "Інфармацыя пра прыладу", + "LabelDeviceIsAvailableTo": "Прылада даступная для...", + "LabelDirectory": "Дырэкторыя", "LabelDiscFromFilename": "Дыск з імя файла", "LabelDiscFromMetadata": "Дыск па метададзеных", "LabelDiscover": "Знайсці", @@ -277,11 +317,25 @@ "LabelDownloadNEpisodes": "Спампована {0} эпізодаў", "LabelDownloadable": "Спампоўваецца", "LabelDuration": "Працягласць", + "LabelDurationComparisonExactMatch": "(дакладнае супадзенне)", + "LabelDurationComparisonLonger": "(на {0} даўжэй)", + "LabelDurationComparisonShorter": "(на {0} карацей)", + "LabelDurationFound": "Знойдзеная працягласць:", "LabelEbook": "Электронная кніга", "LabelEbooks": "Электронныя кнігі", + "LabelEdit": "Рэдагаваць", + "LabelEmail": "Электронная пошта", + "LabelEmailSettingsFromAddress": "Адрас адпраўніка", + "LabelEmailSettingsRejectUnauthorized": "Адхіляць неаўтарызаваныя сертыфікаты", + "LabelEmailSettingsRejectUnauthorizedHelp": "Адключэнне праверкі SSL-сертыфіката можа зрабіць ваша злучэнне ўразлівым перад пагрозамі бяспекі, такімі як атакі «чалавек пасярэдзіне». Адключайце гэтую опцыю толькі калі цалкам разумееце наступствы і ўпэўнены ў надзейнасці паштовага сервера.", + "LabelEmailSettingsSecure": "Бяспечныя", + "LabelEmailSettingsSecureHelp": "Калі ўключана, злучэнне будзе выкарыстоўваць TLS пры падключэнні да сервера. Калі выключана, TLS будзе выкарыстоўвацца толькі ў выпадку падтрымкі пашырэння STARTTLS на серверы. У большасці выпадкаў усталюйце значэнне true пры падключэнні да порта 465. Для партоў 587 або 25 не ўключайце яго. (інфармацыя з nodemailer.com/smtp/#authentication)", + "LabelEmailSettingsTestAddress": "Тэставы адрас", + "LabelEmbeddedCover": "Убудаваная вокладка", "LabelEnable": "Уключыць", "LabelEncodingBackupLocation": "Рэзервовая копія вашых арыгінальных аўдыёфайлаў будзе захавана ў:", "LabelEncodingChaptersNotEmbedded": "Раздзелы не ўбудаваны ў шматдарожкавыя аўдыякнігі.", + "LabelEncodingClearItemCache": "Пераканайцеся, што перыядычна ачышчаеце кэш элементаў.", "LabelEncodingFinishedM4B": "Гатовы файл M4B будзе змешчаны ў вашу тэчку з аўдыякнігамі па адрасе:", "LabelEncodingInfoEmbedded": "Метададзеныя будуць убудаваны ў аўдыядарожкі ўнутры вашай тэчкі з аўдыякнігамі.", "LabelEncodingTimeWarning": "Кадаванне можа заняць да 30 хвілін.", @@ -290,6 +344,14 @@ "LabelEpisode": "Эпізод", "LabelEpisodeNotLinkedToRssFeed": "Эпізод не звязаны з RSS-стужкай", "LabelEpisodeUrlFromRssFeed": "URL эпізоду з RSS-стужкі", + "LabelEpisodic": "Эпізадычны", + "LabelExample": "Прыклад", + "LabelExpandSeries": "Разгарнуць серыю", + "LabelExpandSubSeries": "Разгарнуць падсерыі", + "LabelExpired": "Пратэрмінаваны", + "LabelExpiresAt": "Тэрмін дзеяння заканчваецца ў", + "LabelExpiresInSeconds": "Тэрмін дзеяння заканчваецца праз (секунд)", + "LabelExpiresNever": "Ніколі", "LabelExplicit": "Відверты", "LabelFeedURL": "URL стужкі", "LabelFetchingMetadata": "Атрыманне метададзеных", From b03bd79f5d0a86d42d89d2eeca6bbd3f18684cc0 Mon Sep 17 00:00:00 2001 From: Grzegorz Orlowski Date: Sat, 2 Aug 2025 00:05:34 +0200 Subject: [PATCH 21/23] Translated using Weblate (Polish) Currently translated at 77.6% (881 of 1135 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/pl/ --- client/strings/pl.json | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/client/strings/pl.json b/client/strings/pl.json index 451112bb..64d1047d 100644 --- a/client/strings/pl.json +++ b/client/strings/pl.json @@ -334,9 +334,12 @@ "LabelEncodingClearItemCache": "Pamiętaj o okresowym czyszczeniu pamięci podręcznej elementów.", "LabelEncodingFinishedM4B": "Ukończony plik M4B zostanie umieszczony w folderze audiobooka pod adresem:", "LabelEncodingInfoEmbedded": "Metadane zostaną osadzone w ścieżkach audio w folderze z audiobookiem.", + "LabelEncodingWatcherDisabled": "Jeśli monitorowanie folderów jest wyłączone, należy ponownie przeskanować audiobooka.", "LabelEnd": "Zakończ", "LabelEndOfChapter": "Koniec rozdziału", "LabelEpisode": "Odcinek", + "LabelEpisodeNotLinkedToRssFeed": "Odcinek nie jest powiązany z kanałem RSS", + "LabelEpisodeNumber": "Odcinek #{0}", "LabelEpisodeTitle": "Tytuł odcinka", "LabelEpisodeType": "Typ odcinka", "LabelEpisodeUrlFromRssFeed": "Adres URL odcinka z kanału RSS", @@ -345,6 +348,8 @@ "LabelExample": "Przykład", "LabelExpandSeries": "Rozwiń serie", "LabelExpandSubSeries": "Rozwiń podserie", + "LabelExpiresInSeconds": "Wygasa za (sekund)", + "LabelExpiresNever": "Nigdy", "LabelExplicit": "Nieprzyzwoite", "LabelExplicitChecked": "Nieprzyzwoite (sprawdzone)", "LabelExplicitUnchecked": "Przyzwoite (niesprawdzone)", @@ -404,6 +409,7 @@ "LabelLanguages": "Języki", "LabelLastBookAdded": "Ostatnio dodana książka", "LabelLastBookUpdated": "Ostatnio modyfikowana książka", + "LabelLastProgressDate": "Ostatni postęp: {0}", "LabelLastSeen": "Ostatnio widziany", "LabelLastTime": "Ostatni czas", "LabelLastUpdate": "Ostatnia aktualizacja", @@ -416,6 +422,7 @@ "LabelLibraryFilterSublistEmpty": "Brak {0}", "LabelLibraryItem": "Element biblioteki", "LabelLibraryName": "Nazwa biblioteki", + "LabelLibrarySortByProgress": "Postęp zaktualizowany", "LabelLimit": "Limit", "LabelLineSpacing": "Odstęp między wierszami", "LabelListenAgain": "Słuchaj ponownie", @@ -427,6 +434,7 @@ "LabelMatchExistingUsersBy": "Dopasuje istniejących użytkowników poprzez", "LabelMatchExistingUsersByDescription": "Służy do łączenia istniejących użytkowników. Po połączeniu użytkownicy zostaną dopasowani za pomocą unikalnego identyfikatora od dostawcy SSO", "LabelMaxEpisodesToDownload": "Maksymalna liczba odcinków do pobrania. Użyj 0, aby wyłączyć ograniczenie.", + "LabelMaxEpisodesToDownloadPerCheck": "Maksymalna liczba nowych odcinków do pobrania na jedno sprawdzenie", "LabelMaxEpisodesToKeep": "Maksymalna liczba odcinków do zachowania", "LabelMaxEpisodesToKeepHelp": "Wartość 0 wyłącza maksymalny limit. Po automatycznym pobraniu nowego odcinka, najstarszy odcinek zostanie usunięty, jeśli masz ich więcej niż X. Spowoduje to usunięcie tylko 1 odcinka na nowe pobieranie.", "LabelMediaPlayer": "Odtwarzacz", @@ -453,6 +461,7 @@ "LabelNewestEpisodes": "Najnowsze odcinki", "LabelNextBackupDate": "Data kolejnej kopii zapasowej", "LabelNextScheduledRun": "Następne uruchomienie", + "LabelNoApiKeys": "Brak kluczy API", "LabelNoCustomMetadataProviders": "Brak niestandardowych dostawców metadanych", "LabelNoEpisodesSelected": "Nie wybrano żadnych odcinków", "LabelNotFinished": "Nieukończone", @@ -469,6 +478,8 @@ "LabelNotificationsMaxQueueSizeHelp": "Zdarzenia są ograniczone do 1 na sekundę. Zdarzenia będą ignorowane jeśli kolejka ma maksymalny rozmiar. Zapobiega to spamowaniu powiadomieniami.", "LabelNumberOfBooks": "Liczba książek", "LabelNumberOfEpisodes": "# Odcinków", + "LabelOpenIDAdvancedPermsClaimDescription": "Nazwa deklaracji OpenID zawierającej zaawansowane uprawnienia do działań użytkownika w aplikacji, które będą miały zastosowanie do ról innych niż administracyjne (jeśli skonfigurowano). Jeśli deklaracja nie zostanie uwzględniona w odpowiedzi, dostęp do ABS zostanie zablokowany. Brak jednej opcji zostanie uznany za fałsz. Upewnij się, że deklaracja dostawcy tożsamości jest zgodna z oczekiwaną strukturą:", + "LabelOpenIDClaims": "Pozostaw poniższe opcje puste, aby wyłączyć zaawansowane przypisywanie grup i uprawnień. Automatycznie zostanie przypisana grupa „Użytkownik”.", "LabelOpenRSSFeed": "Otwórz kanał RSS", "LabelOverwrite": "Nadpisz", "LabelPaginationPageXOfY": "Strona {0} z {1}", @@ -486,6 +497,7 @@ "LabelPersonalYearReview": "Podsumowanie twojego roku ({0})", "LabelPhotoPathURL": "Scieżka/URL do zdjęcia", "LabelPlayMethod": "Metoda odtwarzania", + "LabelPlaybackRateIncrementDecrement": "Zwiększenie/zmniejszenie szybkości odtwarzania", "LabelPlayerChapterNumberMarker": "{0} z {1}", "LabelPlaylists": "Listy odtwarzania", "LabelPodcast": "Podcast", @@ -502,10 +514,15 @@ "LabelPubDate": "Data publikacji", "LabelPublishYear": "Rok publikacji", "LabelPublishedDate": "Opublikowano {0}", + "LabelPublishedDecade": "Dekada publikacji", + "LabelPublishedDecades": "Dekada publikacji", "LabelPublisher": "Wydawca", "LabelPublishers": "Wydawcy", + "LabelRSSFeedCustomOwnerEmail": "Email właściciela", + "LabelRSSFeedCustomOwnerName": "Nazwa właściciela", "LabelRSSFeedOpen": "Otwarty Kanał RSS", "LabelRSSFeedPreventIndexing": "Zapobiegaj indeksowaniu", + "LabelRSSFeedSlug": "Numer Kanału RSS", "LabelRSSFeedURL": "URL kanały RSS", "LabelRandomly": "Losowo", "LabelReAddSeriesToContinueListening": "Ponownie Dodaj Serię do sekcji Kontunuuj Odtwarzanie", @@ -520,6 +537,7 @@ "LabelReleaseDate": "Data wydania", "LabelRemoveAllMetadataAbs": "Usuń wszystkie pliki metadata.abs", "LabelRemoveAllMetadataJson": "Usuń wszystkie pliki metadata.json", + "LabelRemoveAudibleBranding": "Usuń Audible intro i outro z rozdziałów", "LabelRemoveCover": "Usuń okładkę", "LabelRemoveMetadataFile": "Usuń pliki metadanych z folderów biblioteki", "LabelRemoveMetadataFileHelp": "Usuń wszystkie pliki metadata.json i metadata.abs z {0} folderów.", @@ -532,6 +550,7 @@ "LabelSelectAll": "Wybierz wszystko", "LabelSelectAllEpisodes": "Wybierz wszystkie odcinki", "LabelSelectEpisodesShowing": "Wybierz {0} wyświetlanych odcinków", + "LabelSelectUser": "Wybierz użytkownika", "LabelSelectUsers": "Wybór użytkowników", "LabelSendEbookToDevice": "Wyślij ebook do...", "LabelSequence": "Kolejność", @@ -541,6 +560,7 @@ "LabelServerYearReview": "Podsumowanie serwera w roku ({0})", "LabelSetEbookAsPrimary": "Ustaw jako pierwszy", "LabelSetEbookAsSupplementary": "Ustaw jako dodatkowy", + "LabelSettingsAllowIframe": "Zezwól na osadzanie w ramce iframe", "LabelSettingsAudiobooksOnly": "Wyłącznie audiobooki", "LabelSettingsAudiobooksOnlyHelp": "Włączenie tej funkcji spowoduje ignorowanie plików ebooków, chyba że znajdują się wewnątrz folderu audiobooka kiedy to będą pokazywane jako dodatkowe ebooki", "LabelSettingsBookshelfViewHelp": "Widok półki z książkami", @@ -559,6 +579,8 @@ "LabelSettingsHideSingleBookSeriesHelp": "Serie, które posiadają tylko jedną książkę, nie będą pokazywane na stronie z seriami i na stronie domowej z półkami.", "LabelSettingsHomePageBookshelfView": "Widok półki z książkami na stronie głównej", "LabelSettingsLibraryBookshelfView": "Widok półki z książkami na stronie biblioteki", + "LabelSettingsLibraryMarkAsFinishedPercentComplete": "Procent ukończenia jest większy niż", + "LabelSettingsLibraryMarkAsFinishedTimeRemaining": "Pozostały czas jest mniejszy niż (sekund)", "LabelSettingsLibraryMarkAsFinishedWhen": "Oznacz element multimedialny jako ukończony, gdy", "LabelSettingsOnlyShowLaterBooksInContinueSeries": "Pomiń poprzednie książki przy kontynuacji serii", "LabelSettingsParseSubtitles": "Przetwarzaj podtytuły", From c04afd0787d38e15acedb383b6cfbe97f220da11 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: Fri, 1 Aug 2025 10:32:45 +0200 Subject: [PATCH 22/23] Translated using Weblate (Ukrainian) Currently translated at 100.0% (1135 of 1135 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/uk/ --- client/strings/uk.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/client/strings/uk.json b/client/strings/uk.json index e1bb28fb..a0c892ca 100644 --- a/client/strings/uk.json +++ b/client/strings/uk.json @@ -805,6 +805,8 @@ "MessageFeedURLWillBe": "URL-адреса каналу буде {0}", "MessageFetching": "Отримання...", "MessageForceReScanDescription": "Просканує всі файли заново, як при першому скануванні. ID3-мітки, OPF-файли та текстові файли будуть проскановані як нові.", + "MessageHeatmapListeningTimeTooltip": "{0} прослуховування на {1}", + "MessageHeatmapNoListeningSessions": "Немає сеансів прослуховування на {0}", "MessageImportantNotice": "Важливе повідомлення!", "MessageInsertChapterBelow": "Введіть главу нижче", "MessageInvalidAsin": "Невірний ASIN", From 03f91099e04ecca65cfbf57209983ef35a40dddc Mon Sep 17 00:00:00 2001 From: FiendFEARing Date: Fri, 1 Aug 2025 02:58:07 +0200 Subject: [PATCH 23/23] Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (1135 of 1135 strings) Translation: Audiobookshelf/Abs Web Client Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/zh_Hans/ --- client/strings/zh-cn.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/client/strings/zh-cn.json b/client/strings/zh-cn.json index a373ca29..ccebdcb5 100644 --- a/client/strings/zh-cn.json +++ b/client/strings/zh-cn.json @@ -805,6 +805,8 @@ "MessageFeedURLWillBe": "源 URL 将改为 {0}", "MessageFetching": "正在获取...", "MessageForceReScanDescription": "将像重新扫描一样再次扫描所有文件. 音频文件 ID3 标签, OPF 文件和文本文件将被扫描为新文件.", + "MessageHeatmapListeningTimeTooltip": "{1} 收听了 {0}", + "MessageHeatmapNoListeningSessions": "{0} 没有收听", "MessageImportantNotice": "重要通知!", "MessageInsertChapterBelow": "在下面插入章节", "MessageInvalidAsin": "无效的 ASIN",