diff --git a/client/components/stats/Heatmap.vue b/client/components/stats/Heatmap.vue index b070934ba..44d1baa82 100644 --- a/client/components/stats/Heatmap.vue +++ b/client/components/stats/Heatmap.vue @@ -152,7 +152,7 @@ export default { this.showingTooltipIndex = index this.tooltipEl.style.display = 'block' - this.tooltipTextEl.innerHTML = block.value ? `${this.$elapsedPretty(block.value, true)} listening on ${block.datePretty}` : `No listening sessions on ${block.datePretty}` + this.tooltipTextEl.innerHTML = block.value ? this.$getString('MessageHeatmapListeningTimeTooltip', [this.$elapsedPrettyLocalized(block.value, true), block.datePretty]) : this.$getString('MessageHeatmapNoListeningSessions', [block.datePretty]) const calculateRect = this.tooltipEl.getBoundingClientRect() diff --git a/client/package-lock.json b/client/package-lock.json index 5dc4883af..f35a2f16a 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -1,12 +1,12 @@ { "name": "audiobookshelf-client", - "version": "2.26.3", + "version": "2.27.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "audiobookshelf-client", - "version": "2.26.3", + "version": "2.27.0", "license": "ISC", "dependencies": { "@nuxtjs/axios": "^5.13.6", diff --git a/client/package.json b/client/package.json index 788117101..b9cb86b3a 100644 --- a/client/package.json +++ b/client/package.json @@ -1,6 +1,6 @@ { "name": "audiobookshelf-client", - "version": "2.26.3", + "version": "2.27.0", "buildNumber": 1, "description": "Self-hosted audiobook and podcast client", "main": "index.js", diff --git a/client/pages/audiobook/_id/chapters.vue b/client/pages/audiobook/_id/chapters.vue index c723baf11..ffd9df661 100644 --- a/client/pages/audiobook/_id/chapters.vue +++ b/client/pages/audiobook/_id/chapters.vue @@ -756,7 +756,7 @@ export default { if (data.error) { this.asinError = this.$getString(data.stringKey) } else { - console.log('Chapter data', data) + console.log('Chapter data', { ...data }) this.chapterData = this.removeBranding ? this.removeBrandingFromData(data) : data } }) @@ -793,6 +793,11 @@ export default { data.chapters.pop() } + // Remove Branding durations from Runtime totals + data.runtimeLengthMs -= introDuration + outroDuration + data.runtimeLengthSec = Math.floor(data.runtimeLengthMs / 1000) + console.log('Brandless Chapter data', data) + return data } catch { return data diff --git a/client/pages/config/index.vue b/client/pages/config/index.vue index 7083c7890..3d030bb32 100644 --- a/client/pages/config/index.vue +++ b/client/pages/config/index.vue @@ -131,35 +131,26 @@
{{ $strings.LabelExample }}: {{ dateExample }}
{{ $strings.LabelExample }}: {{ timeExample }}
/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": "Знайсці",
"LabelDownload": "Спампаваць",
"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": "Метаданыя будуць убудаваны ў аўдыядарожкі ўнутры вашай тэчкі з аўдыякнігамі.",
+ "LabelEncodingInfoEmbedded": "Метададзеныя будуць убудаваны ў аўдыядарожкі ўнутры вашай тэчкі з аўдыякнігамі.",
"LabelEncodingTimeWarning": "Кадаванне можа заняць да 30 хвілін.",
"LabelEnd": "Канец",
"LabelEndOfChapter": "Канец раздзела",
"LabelEpisode": "Эпізод",
"LabelEpisodeNotLinkedToRssFeed": "Эпізод не звязаны з RSS-стужкай",
"LabelEpisodeUrlFromRssFeed": "URL эпізоду з RSS-стужкі",
+ "LabelEpisodic": "Эпізадычны",
+ "LabelExample": "Прыклад",
+ "LabelExpandSeries": "Разгарнуць серыю",
+ "LabelExpandSubSeries": "Разгарнуць падсерыі",
+ "LabelExpired": "Пратэрмінаваны",
+ "LabelExpiresAt": "Тэрмін дзеяння заканчваецца ў",
+ "LabelExpiresInSeconds": "Тэрмін дзеяння заканчваецца праз (секунд)",
+ "LabelExpiresNever": "Ніколі",
+ "LabelExplicit": "Відверты",
"LabelFeedURL": "URL стужкі",
+ "LabelFetchingMetadata": "Атрыманне метададзеных",
"LabelFile": "Файл",
"LabelFileBirthtime": "Час стварэння файла",
"LabelFileModified": "Час змянення файла",
@@ -327,6 +407,8 @@
"LabelMaxEpisodesToKeepHelp": "Значэнне 0 не ўстанаўлівае максімальнага абмежавання. Пасля аўтаматычнай спампоўкі новага эпізоду будзе выдалены самы стары эпізод, калі ў вас больш за X эпізодаў. Пры кожнай новай спампоўцы будзе выдаляцца толькі 1 эпізод.",
"LabelMediaPlayer": "Медыяпрайгравальнік",
"LabelMediaType": "Тып медыя",
+ "LabelMetadataOrderOfPrecedenceDescription": "Крыніцы метададзеных з вышэйшым прыярытэтам будуць замяняць крыніцы з ніжэйшым прыярытэтам",
+ "LabelMetadataProvider": "Пастаўшчык метададзеных",
"LabelMissing": "Адсутнічае",
"LabelMore": "Больш",
"LabelMoreInfo": "Больш інфармацыі",
@@ -335,6 +417,7 @@
"LabelNarrators": "Чытальнікі",
"LabelNewestAuthors": "Новыя аўтары",
"LabelNewestEpisodes": "Новыя эпізоды",
+ "LabelNoCustomMetadataProviders": "Няма карыстацкіх пастаўшчыкоў метададзеных",
"LabelNotFinished": "Не скончана",
"LabelNotStarted": "Не пачата",
"LabelNotificationsMaxFailedAttemptsHelp": "Апавяшчэнні адключаюцца пасля таго, як не ўдаецца іх адправіць гэтулькі разоў",
@@ -353,7 +436,7 @@
"LabelPublishedDate": "Апублікавана {0}",
"LabelRSSFeedCustomOwnerEmail": "Карыстальніцкая электронная пошта ўладальніка",
"LabelRSSFeedCustomOwnerName": "Карыстальніцкае імя ўладальніка",
- "LabelRSSFeedOpen": "RSS-стужка адкрытая",
+ "LabelRSSFeedOpen": "RSS-стужка адкрыта",
"LabelRSSFeedPreventIndexing": "Прадухіліць індэксацыю",
"LabelRSSFeedSlug": "Ідэнтыфікатар RSS-стужкі",
"LabelRSSFeedURL": "URL RSS-стужкі",
@@ -392,6 +475,7 @@
"LabelSettingsAudiobooksOnly": "Толькі аўдыякнігі",
"LabelSettingsAudiobooksOnlyHelp": "Уключэнне гэтай налады будзе ігнараваць файлы электронных кніг, калі толькі яны не знаходзяцца ў тэчцы з аўдыякнігамі. У такім выпадку яны будуць пазначаны як дадатковыя электронныя кнігі.",
"LabelSettingsBookshelfViewHelp": "Рэалістычны дызайн з драўлянымі паліцамі",
+ "LabelSettingsEnableWatcherForLibrary": "Аўтаматычна правяраць бібліятэку на змены",
"LabelSettingsEnableWatcherHelp": "Адключае аўтаматычнае дадаванне/абнаўленне элементаў пры выяўленні змен у файлах. *Патрабуецца перазапуск сервера",
"LabelSettingsEpubsAllowScriptedContent": "Дазволіць скрыптавы кантэнт у EPUB",
"LabelSettingsEpubsAllowScriptedContentHelp": "Дазволіць EPUB-файлам выконваць скрыпты. Рэкамендуецца пакінуць гэтую наладу выключанай, калі вы не давяраеце крыніцы EPUB-файлаў.",
@@ -409,6 +493,11 @@
"LabelSettingsOnlyShowLaterBooksInContinueSeriesHelp": "Палка \"Працягнуць серыю\" на галоўнай старонцы паказвае першую не пачатую кнігу ў серыях, дзе завершана хаця б адна кніга і няма кніг у працэсе чытання. Уключэнне гэтай налады дазволіць працягваць серыю з самай апошняй завершанай кнігі замест першай не пачатай.",
"LabelSettingsParseSubtitles": "Разабраць падзагалоўкі",
"LabelSettingsParseSubtitlesHelp": "Выдзяляць падзагаловак з назваў тэчак аўдыякніг./metadata/cache
. /metadata/cache/items
. /metadata/logs
у фармаце JSON. Журналы памылак захоўваюцца ў файле /metadata/logs/crashlogs.txt
.",
"MessageMapChapterTitles": "Супаставіць назвы раздзелаў з вашымі існуючымі раздзеламі аўдыякнігі без змянення часовых метак",
"MessageMarkAsFinished": "Пазначыць як скончана",
"MessageNoBookmarks": "Няма закладак",
@@ -543,11 +643,17 @@
"MessagePlaylistCreateFromCollection": "Стварыць спіс прайгравання з калекцыі",
"MessagePodcastHasNoRSSFeedForMatching": "У падкаста няма URL RSS-стужкі для супадзення",
"MessagePodcastSearchField": "Увядзіце пошукавы запыт або URL RSS-стужкі",
+ "MessageQuickMatchDescription": "Запоўніць пустыя дэталі элемента і вокладку першым вынікам супадзення з «{0}». Не замяняе дэталі, калі опцыя «Аддаваць перавагу супадаючым метададзеным» на серверы не ўключана.",
"MessageReportBugsAndContribute": "Паведамляйце пра памылкі, прапануйце новыя функцыі і ўдзельнічайце на",
+ "MessageRestoreBackupWarning": "Аднаўленне рэзервовай копіі перазапіша ўсю базу даных, размешчаную ў /config, а таксама вокладкі ў /metadata/items і /metadata/authors. 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",
diff --git a/client/strings/de.json b/client/strings/de.json
index 2e913c11f..a6819ae70 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",
@@ -438,7 +438,7 @@
"LabelLogLevelWarn": "Warnungen",
"LabelLookForNewEpisodesAfterDate": "Suche nach neuen Episoden nach diesem Datum",
"LabelLowestPriority": "Niedrigste Priorität",
- "LabelMatchConfidence": "Zuversicht",
+ "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.",
@@ -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",
diff --git a/client/strings/en-us.json b/client/strings/en-us.json
index 58cbf17b9..0c7a667b9 100644
--- a/client/strings/en-us.json
+++ b/client/strings/en-us.json
@@ -200,6 +200,7 @@
"HeaderSettingsExperimental": "Experimental Features",
"HeaderSettingsGeneral": "General",
"HeaderSettingsScanner": "Scanner",
+ "HeaderSettingsSecurity": "Security",
"HeaderSettingsWebClient": "Web Client",
"HeaderSleepTimer": "Sleep Timer",
"HeaderStatsLargestItems": "Largest Items",
@@ -294,6 +295,7 @@
"LabelContinueListening": "Continue Listening",
"LabelContinueReading": "Continue Reading",
"LabelContinueSeries": "Continue Series",
+ "LabelCorsAllowed": "Allowed CORS Origins",
"LabelCover": "Cover",
"LabelCoverImageURL": "Cover Image URL",
"LabelCoverProvider": "Cover Provider",
@@ -810,6 +812,8 @@
"MessageFeedURLWillBe": "Feed URL will be {0}",
"MessageFetching": "Fetching...",
"MessageForceReScanDescription": "will scan all files again like a fresh scan. Audio file ID3 tags, OPF files, and text files will be scanned as new.",
+ "MessageHeatmapListeningTimeTooltip": "{0} listening on {1}",
+ "MessageHeatmapNoListeningSessions": "No listening sessions on {0}",
"MessageImportantNotice": "Important Notice!",
"MessageInsertChapterBelow": "Insert chapter below",
"MessageInvalidAsin": "Invalid ASIN",
@@ -1043,6 +1047,7 @@
"ToastInvalidImageUrl": "Invalid image URL",
"ToastInvalidMaxEpisodesToDownload": "Invalid max episodes to download",
"ToastInvalidUrl": "Invalid URL",
+ "ToastInvalidUrls": "One or more URLs are invalid",
"ToastItemCoverUpdateSuccess": "Item cover updated",
"ToastItemDeletedFailed": "Failed to delete item",
"ToastItemDeletedSuccess": "Deleted item",
diff --git a/client/strings/he.json b/client/strings/he.json
index 8b5bcdd0f..798299986 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": "אוספים",
diff --git a/client/strings/hu.json b/client/strings/hu.json
index 325ead1ab..8fdbe52b4 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)",
@@ -264,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",
@@ -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)",
@@ -405,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",
@@ -417,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",
@@ -425,6 +440,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 +471,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 +561,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 +658,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 +727,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. 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 +751,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 +1023,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 +1056,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",
diff --git a/client/strings/nl.json b/client/strings/nl.json
index c5c14827b..d5ba26db2 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",
@@ -10,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",
@@ -20,6 +21,7 @@
"ButtonChooseAFolder": "Map kiezen",
"ButtonChooseFiles": "Bestanden kiezen",
"ButtonClearFilter": "Filter verwijderen",
+ "ButtonClose": "Sluiten",
"ButtonCloseFeed": "Feed sluiten",
"ButtonCloseSession": "Sluit Sessie",
"ButtonCollections": "Collecties",
@@ -32,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",
@@ -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",
@@ -235,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)",
@@ -312,7 +321,7 @@
"LabelDurationComparisonLonger": "({0} langer)",
"LabelDurationComparisonShorter": "({0} korter)",
"LabelDurationFound": "Gevonden duur:",
- "LabelEbook": "Ebook",
+ "LabelEbook": "E-boek",
"LabelEbooks": "Eboeken",
"LabelEdit": "Wijzig",
"LabelEmail": "Email",
@@ -346,6 +355,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)",
@@ -364,7 +377,7 @@
"LabelFolder": "Map",
"LabelFolders": "Mappen",
"LabelFontBold": "Vetgedrukt",
- "LabelFontBoldness": "Font Boldness",
+ "LabelFontBoldness": "Lettertype Dikte",
"LabelFontFamily": "Lettertypefamilie",
"LabelFontItalic": "Cursief",
"LabelFontScale": "Lettertype schaal",
@@ -372,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",
@@ -405,6 +418,7 @@
"LabelLanguages": "Talen",
"LabelLastBookAdded": "Laatst toegevoegde boek",
"LabelLastBookUpdated": "Laatst bijgewerkte boek",
+ "LabelLastProgressDate": "Laatste vooruitgang: {0}",
"LabelLastSeen": "Laatst gezien",
"LabelLastTime": "Laatste keer",
"LabelLastUpdate": "Laatste wijziging",
@@ -417,6 +431,7 @@
"LabelLibraryFilterSublistEmpty": "Nee {0}",
"LabelLibraryItem": "Bibliotheekonderdeel",
"LabelLibraryName": "Bibliotheeknaam",
+ "LabelLibrarySortByProgress": "Voortuigang geüpdatet",
"LabelLimit": "Limiet",
"LabelLineSpacing": "Regelruimte",
"LabelListenAgain": "Opnieuw Beluisteren",
@@ -425,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.",
@@ -455,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",
@@ -514,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",
@@ -544,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",
@@ -636,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",
@@ -708,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. 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.",
@@ -730,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?",
@@ -762,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}\".",
@@ -1001,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",
@@ -1032,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",
diff --git a/client/strings/pl.json b/client/strings/pl.json
index 451112bbd..64d1047db 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",
diff --git a/client/strings/ru.json b/client/strings/ru.json
index 4caceacf4..dd4845cd1 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} секунд",
diff --git a/client/strings/sl.json b/client/strings/sl.json
index 5c3c7d4f8..42c861bd9 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. 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",
diff --git a/client/strings/sv.json b/client/strings/sv.json
index 17254a50e..208329460 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. 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,/metadata/items
& /metadata/authors
.