mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-27 11:18:14 +01:00 
			
		
		
		
	Merge remote-tracking branch 'josh-vin/master' into feat/ChaptersEnhancments
This commit is contained in:
		
						commit
						2773c8c4a9
					
				| @ -152,7 +152,7 @@ export default { | ||||
| 
 | ||||
|       this.showingTooltipIndex = index | ||||
|       this.tooltipEl.style.display = 'block' | ||||
|       this.tooltipTextEl.innerHTML = block.value ? `<strong>${this.$elapsedPretty(block.value, true)} listening</strong> 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() | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										4
									
								
								client/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								client/package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -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", | ||||
|  | ||||
| @ -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", | ||||
|  | ||||
| @ -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 | ||||
|  | ||||
| @ -131,35 +131,26 @@ | ||||
|           </div> | ||||
| 
 | ||||
|           <div class="grow py-2"> | ||||
|             <ui-dropdown :label="$strings.LabelSettingsDateFormat" v-model="newServerSettings.dateFormat" :items="dateFormats" small class="max-w-52" @input="(val) => updateSettingsKey('dateFormat', val)" /> | ||||
|             <ui-dropdown :label="$strings.LabelSettingsDateFormat" v-model="newServerSettings.dateFormat" :items="dateFormats" small class="max-w-72" @input="(val) => updateSettingsKey('dateFormat', val)" /> | ||||
|             <p class="text-xs ml-1 text-white/60">{{ $strings.LabelExample }}: {{ dateExample }}</p> | ||||
|           </div> | ||||
| 
 | ||||
|           <div class="grow py-2"> | ||||
|             <ui-dropdown :label="$strings.LabelSettingsTimeFormat" v-model="newServerSettings.timeFormat" :items="timeFormats" small class="max-w-52" @input="(val) => updateSettingsKey('timeFormat', val)" /> | ||||
|             <ui-dropdown :label="$strings.LabelSettingsTimeFormat" v-model="newServerSettings.timeFormat" :items="timeFormats" small class="max-w-72" @input="(val) => updateSettingsKey('timeFormat', val)" /> | ||||
|             <p class="text-xs ml-1 text-white/60">{{ $strings.LabelExample }}: {{ timeExample }}</p> | ||||
|           </div> | ||||
| 
 | ||||
|           <div class="py-2"> | ||||
|             <ui-dropdown :label="$strings.LabelLanguageDefaultServer" ref="langDropdown" v-model="newServerSettings.language" :items="$languageCodeOptions" small class="max-w-52" @input="updateServerLanguage" /> | ||||
|             <ui-dropdown :label="$strings.LabelLanguageDefaultServer" ref="langDropdown" v-model="newServerSettings.language" :items="$languageCodeOptions" small class="max-w-72" @input="updateServerLanguage" /> | ||||
|           </div> | ||||
| 
 | ||||
|           <!-- old experimental features --> | ||||
|           <!-- <div class="pt-4"> | ||||
|             <h2 class="font-semibold">{{ $strings.HeaderSettingsExperimental }}</h2> | ||||
|           <div class="pt-4"> | ||||
|             <h2 class="font-semibold">{{ $strings.HeaderSettingsSecurity }}</h2> | ||||
|           </div> | ||||
| 
 | ||||
|           <div class="flex items-center py-2"> | ||||
|             <ui-toggle-switch labeledBy="settings-experimental-features" v-model="showExperimentalFeatures" /> | ||||
|             <ui-tooltip :text="$strings.LabelSettingsExperimentalFeaturesHelp"> | ||||
|               <p class="pl-4"> | ||||
|                 <span id="settings-experimental-features">{{ $strings.LabelSettingsExperimentalFeatures }}</span> | ||||
|                 <a :aria-label="$strings.LabelSettingsExperimentalFeaturesHelp" href="https://github.com/advplyr/audiobookshelf/discussions/75" target="_blank"> | ||||
|                   <span class="material-symbols icon-text">info</span> | ||||
|                 </a> | ||||
|               </p> | ||||
|             </ui-tooltip> | ||||
|           </div> --> | ||||
|           <div class="py-2"> | ||||
|             <ui-multi-select v-model="newServerSettings.allowedOrigins" :items="newServerSettings.allowedOrigins" :label="$strings.LabelCorsAllowed" class="max-w-72" @input="updateCorsOrigins" /> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|     </app-settings-content> | ||||
| @ -323,6 +314,27 @@ export default { | ||||
|     updateServerLanguage(val) { | ||||
|       this.updateSettingsKey('language', val) | ||||
|     }, | ||||
|     updateCorsOrigins(val) { | ||||
|       const validOrigins = [] | ||||
|       const invalidOrigins = [] | ||||
| 
 | ||||
|       val.forEach((origin) => { | ||||
|         const trimmedOrigin = origin.trim().toLowerCase() | ||||
|         try { | ||||
|           new URL(trimmedOrigin) | ||||
|           validOrigins.push(trimmedOrigin) | ||||
|         } catch { | ||||
|           invalidOrigins.push(trimmedOrigin) | ||||
|         } | ||||
|       }) | ||||
| 
 | ||||
|       if (invalidOrigins.length > 0) { | ||||
|         this.$toast.error(this.$strings.ToastInvalidUrls) | ||||
|       } | ||||
| 
 | ||||
|       this.newServerSettings.allowedOrigins = validOrigins | ||||
|       this.updateSettingsKey('allowedOrigins', validOrigins) | ||||
|     }, | ||||
|     updateSettingsKey(key, val) { | ||||
|       if (key === 'scannerDisableWatcher') { | ||||
|         this.newServerSettings.scannerDisableWatcher = val | ||||
| @ -352,6 +364,7 @@ export default { | ||||
|     initServerSettings() { | ||||
|       this.newServerSettings = this.serverSettings ? { ...this.serverSettings } : {} | ||||
|       this.newServerSettings.sortingPrefixes = [...(this.newServerSettings.sortingPrefixes || [])] | ||||
|       this.newServerSettings.allowedOrigins = [...(this.newServerSettings.allowedOrigins || [])] | ||||
|       this.scannerEnableWatcher = !this.newServerSettings.scannerDisableWatcher | ||||
| 
 | ||||
|       this.homepageUseBookshelfView = this.newServerSettings.homeBookshelfView != this.$constants.BookshelfView.DETAIL | ||||
|  | ||||
| @ -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,39 +255,106 @@ | ||||
|   "LabelAuthors": "Аўтары", | ||||
|   "LabelAutoDownloadEpisodes": "Аўтаматычнае спампаванне эпізодаў", | ||||
|   "LabelAutoFetchMetadata": "Аўтаматычнае атрыманне метададзеных", | ||||
|   "LabelAutoFetchMetadataHelp": "Атрыманне звестак пра назву, аўтара і серыю для падыходнага фарматавання перад загрузкай. Далей можа быць неабходна дапоўніць метададзеныя.", | ||||
|   "LabelAutoLaunch": "Аўтазапуск", | ||||
|   "LabelAutoLaunchDescription": "Аўтаматычна перанакіроўваць да пастаўшчыка аўтэнтыфікацыі пры переходзе на старонку ўваходу (ручное пераключэнне праз шлях <code>/login?autoLaunch=0</code>)", | ||||
|   "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": "Выдзяляць падзагаловак з назваў тэчак аўдыякніг.<br>Падзагаловак павінен быць аддзелены знакам \" - \".<br>Напрыклад, \"Назва кнігі - Падзагаловак тут\" мае падзагаловак \"Падзагаловак тут\"", | ||||
|   "LabelSettingsPreferMatchedMetadata": "Аддаваць перавагу супадаючым метададзеным", | ||||
|   "LabelSettingsPreferMatchedMetadataHelp": "Супадаючыя дадзеныя будуць замяняць дэталі элемента пры выкарыстанні функцыі Хуткі пошук. Па змаўчанні Хуткі пошук запаўняе толькі адсутныя дэталі.", | ||||
|   "LabelSettingsStoreCoversWithItemHelp": "Па змаўчанні вокладкі захоўваюцца ў /metadata/items, уключэнне гэтай опцыі забяспечыць захоўванне вокладак у тэчцы элемента вашай бібліятэкі. Захоўвацца будзе толькі адзін файл з назвай «cover»", | ||||
|   "LabelSettingsStoreMetadataWithItem": "Захоўваць метададзеныя разам з элементам", | ||||
|   "LabelSettingsStoreMetadataWithItemHelp": "Па змаўчанні метададзеныя захоўваюцца ў /metadata/items. Уключэнне гэтай опцыі забяспечыць захоўванне файлаў метададзеных у тэчках элементаў вашай бібліятэкі", | ||||
|   "LabelSettingsTimeFormat": "Фармат часу", | ||||
|   "LabelShareDownloadableHelp": "Дазваляе карыстальнікам, якія маюць спасылку на доступ, спампаваць ZIP-файл элемента бібліятэкі.", | ||||
|   "LabelShowAll": "Паказаць усё", | ||||
| @ -457,11 +546,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 +602,27 @@ | ||||
|   "MessageBackupsLocationPathEmpty": "Шлях да месцазнаходжання рэзервовых копій не можа быць пустым", | ||||
|   "MessageBatchEditPopulateMapDetailsAllHelp": "Запоўніце ўключаныя палі дадзенымі з усіх элементаў. Палі з некалькімі значэннямі будуць аб'яднаны", | ||||
|   "MessageBatchEditPopulateMapDetailsItemHelp": "Запоўніце ўключаныя палі падрабязнасцей карты дадзенымі з гэтага элемента", | ||||
|   "MessageBatchQuickMatchDescription": "Хуткі пошук паспрабуе дадаць адсутныя вокладкі і метададзеныя для выбраных элементаў. Уключыце ніжэй выкладзеныя опцыі, каб дазволіць Хуткаму пошуку замяняць існуючыя вокладкі і/або метададзеныя.", | ||||
|   "MessageBookshelfNoRSSFeeds": "Няма адкрытых RSS-стужак", | ||||
|   "MessageChapterErrorStartGteDuration": "Няправільны час пачатку: ён павінен быць меншым за працягласць аўдыякнігі", | ||||
|   "MessageChapterErrorStartLtPrev": "Няправільны час пачатку: ён павінен быць большым або роўным часу пачатку папярэдняга раздзела", | ||||
|   "MessageConfirmCloseFeed": "Вы ўпэўнены, што жадаеце закрыць гэтую стужку?", | ||||
|   "MessageConfirmDeleteMetadataProvider": "Ці ўпэўненыя вы, што жадаеце выдаліць карыстацкага пастаўшчыка метададзеных «{0}»?", | ||||
|   "MessageConfirmEmbedMetadataInAudioFiles": "Ці ўпэўненыя вы, што жадаеце ўбудаваць метададзеныя ў {0} аўдыёфайлаў?", | ||||
|   "MessageConfirmPurgeCache": "Ачышчэнне кэша выдаліць увесь каталог па адрасе <code>/metadata/cache</code>. <br /><br /> Ці сапраўды вы жадаеце выдаліць каталог кэша?", | ||||
|   "MessageConfirmPurgeItemsCache": "Ачышчэнне кэша элементаў выдаліць увесь каталог па адрасе <code>/metadata/cache/items</code>. <br /> Вы ўпэўнены?", | ||||
|   "MessageConfirmRemoveListeningSessions": "Вы ўпэўнены, што жадаеце выдаліць {0} сеансаў праслухоўвання?", | ||||
|   "MessageConfirmRemoveMetadataFiles": "Ці ўпэўненыя вы, што жадаеце выдаліць усе файлы метададзеных{0} у тэчках элементаў вашай бібліятэкі?", | ||||
|   "MessageConfirmRemovePlaylist": "Вы ўпэўненыя, што жадаеце выдаліць свой спіс прайгравання \"{0}\"?", | ||||
|   "MessageConfirmSendEbookToDevice": "Вы ўпэўнены, што хочаце адправіць {0} электронную кнігу \"{1}\" на прыладу \"{2}\"?", | ||||
|   "MessageDownloadingEpisode": "Спампоўка эпізоду", | ||||
|   "MessageEmbedQueue": "У чарзе на ўбудаванне метададзеных (у чарзе {0})", | ||||
|   "MessageEpisodesQueuedForDownload": "{0} эпізод(аў) у чарзе для спампоўкі", | ||||
|   "MessageEreaderDevices": "Каб забяспечыць дастаўку электронных кніг, вам можа спатрэбіцца дадаць вышэйзгаданы адрас электроннай пошты як дазволенага адпраўніка для кожнай прылады, пералічанай ніжэй.", | ||||
|   "MessageFeedURLWillBe": "URL стужкі будзе {0}", | ||||
|   "MessageFetching": "Атрыманне...", | ||||
|   "MessageLoading": "Загрузка...", | ||||
|   "MessageLogsDescription": "Журналы захоўваюцца ў каталогу <code>/metadata/logs</code> у фармаце JSON. Журналы памылак захоўваюцца ў файле <code>/metadata/logs/crashlogs.txt</code>.", | ||||
|   "MessageMapChapterTitles": "Супаставіць назвы раздзелаў з вашымі існуючымі раздзеламі аўдыякнігі без змянення часовых метак", | ||||
|   "MessageMarkAsFinished": "Пазначыць як скончана", | ||||
|   "MessageNoBookmarks": "Няма закладак", | ||||
| @ -543,11 +643,17 @@ | ||||
|   "MessagePlaylistCreateFromCollection": "Стварыць спіс прайгравання з калекцыі", | ||||
|   "MessagePodcastHasNoRSSFeedForMatching": "У падкаста няма URL RSS-стужкі для супадзення", | ||||
|   "MessagePodcastSearchField": "Увядзіце пошукавы запыт або URL RSS-стужкі", | ||||
|   "MessageQuickMatchDescription": "Запоўніць пустыя дэталі элемента і вокладку першым вынікам супадзення з «{0}». Не замяняе дэталі, калі опцыя «Аддаваць перавагу супадаючым метададзеным» на серверы не ўключана.", | ||||
|   "MessageReportBugsAndContribute": "Паведамляйце пра памылкі, прапануйце новыя функцыі і ўдзельнічайце на", | ||||
|   "MessageRestoreBackupWarning": "Аднаўленне рэзервовай копіі перазапіша ўсю базу даных, размешчаную ў /config, а таксама вокладкі ў /metadata/items і /metadata/authors. <br /><br /> Рэзервовыя копіі не змяняюць файлы ў вашых тэчках бібліятэкі. Калі вы ўключылі наладкі сервера для захоўвання воклак і метададзеных у тэчках бібліятэкі, гэтыя файлы не будуць захаваныя ў рэзервовых копіях і не зменяцца. <br /><br /> Усе кліенты, якія карыстаюцца вашым серверам, будуць аўтаматычна абноўлены.", | ||||
|   "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 +708,8 @@ | ||||
|   "ToastPlaylistCreateSuccess": "Спіс прайгравання створаны", | ||||
|   "ToastPlaylistRemoveSuccess": "Спіс прайгравання выдалены", | ||||
|   "ToastPlaylistUpdateSuccess": "Спіс прайгравання абноўлены", | ||||
|   "ToastPodcastCreateFailed": "Не ўдалося стварыць падкаст", | ||||
|   "ToastPodcastCreateSuccess": "Падкаст паспяхова створаны", | ||||
|   "ToastPodcastGetFeedFailed": "Не ўдалося атрымаць стужку падкаста", | ||||
|   "ToastPodcastNoEpisodesInFeed": "У RSS-стужцы не знойдзена эпізодаў", | ||||
|   "ToastPodcastNoRssFeed": "У падкаста няма RSS-стужкі", | ||||
|  | ||||
| @ -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.<br>Undertitler skal adskilles af \" - \"<br>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 <a href=\"https://github.com/caronc/apprise-api\" target=\"_blank\">Apprise API</a> kørende eller en API, der håndterer de samme anmodninger. <br /> Apprise API-webadressen skal være den fulde URL-sti for at sende underretningen, f.eks. hvis din API-instans er tilgængelig på <code>http://192.168.1.1:8337</code>, så skal du bruge <code>http://192.168.1.1:8337/notify</code>.", | ||||
|   "MessageAsinCheck": "Sikr dig at du bruger ASIN fra den korrekte Audible region, ikke Amazon.", | ||||
|   "MessageAuthenticationLegacyTokenWarning": "Ældre API tokens vil blive fjernet i fremtiden. Brug <a href=\"/config/api-keys\">API-nøgler</a> 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 <code>/metadata/items</code> og <code>/metadata/authors</code>. Backups inkluderer <strong>ikke</strong> 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", | ||||
|  | ||||
| @ -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", | ||||
|  | ||||
| @ -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": "<strong>{0} listening</strong> 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", | ||||
|  | ||||
| @ -1,5 +1,6 @@ | ||||
| { | ||||
|   "ButtonAdd": "הוסף", | ||||
|   "ButtonAddApiKey": "הוסף מפתח ממשק תכנות (API)", | ||||
|   "ButtonAddChapters": "הוסף פרקים", | ||||
|   "ButtonAddDevice": "הוסף התקן", | ||||
|   "ButtonAddLibrary": "הוסף ספרייה", | ||||
| @ -20,6 +21,7 @@ | ||||
|   "ButtonChooseAFolder": "בחר תיקייה", | ||||
|   "ButtonChooseFiles": "בחר קבצים", | ||||
|   "ButtonClearFilter": "נקה סינון", | ||||
|   "ButtonClose": "סגור", | ||||
|   "ButtonCloseFeed": "סגור ערוץ", | ||||
|   "ButtonCloseSession": "סגור סשן פתוח", | ||||
|   "ButtonCollections": "אוספים", | ||||
|  | ||||
| @ -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 <a href=\"https://github.com/caronc/apprise-api\" target=\"_blank\">Apprise API</a> példányt vagy egy olyan API-t, amely kezeli ezeket a kéréseket. <br />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 <code>http://192.168.1.1:8337</code> címen szolgáltatva, akkor <code>http://192.168.1.1:8337/notify</code> é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 <a href=\"/config/api-keys\">API-kulcsokat</a>.", | ||||
|   "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 <code>/metadata/items</code> és <code>/metadata/authors</code> mappákban vannak tárolva. A biztonsági másolatok <strong>nem</strong> 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", | ||||
|  | ||||
| @ -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 <a href=\"https://github.com/caronc/apprise-api\" target=\"_blank\">Apprise API</a> nodig of een api die dezelfde requests afhandelt. <br />De Apprise API Url moet het volledige URL-pad zijn om de notificatie te verzenden, b.v., als je API-instantie draait op <code>http://192.168.1.1:8337</code> dan zou je <code>http://192.168.1.1:8337/notify</code> 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 <a href=\"/config/api-keys\">API keys</a> .", | ||||
|   "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 <code>/metadata/items</code> & <code>/metadata/authors</code>. Back-ups <strong>bevatten niet</strong> 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", | ||||
|  | ||||
| @ -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 (<b>jeśli skonfigurowano</b>). Jeśli deklaracja nie zostanie uwzględniona w odpowiedzi, dostęp do ABS zostanie zablokowany. Brak jednej opcji zostanie uznany za <code>fałsz</code>. 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", | ||||
|  | ||||
| @ -656,7 +656,8 @@ | ||||
|   "LabelTheme": "Тема", | ||||
|   "LabelThemeDark": "Темная", | ||||
|   "LabelThemeLight": "Светлая", | ||||
|   "LabelTimeBase": "Временная база", | ||||
|   "LabelThemeSepia": "Сепия", | ||||
|   "LabelTimeBase": "Основное время", | ||||
|   "LabelTimeDurationXHours": "{0} часов", | ||||
|   "LabelTimeDurationXMinutes": "{0} минут", | ||||
|   "LabelTimeDurationXSeconds": "{0} секунд", | ||||
|  | ||||
| @ -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 <a href=\"https://github.com/caronc/apprise-api\" target=\"_blank\">API Apprise</a> ali API, ki bo obravnavala te iste zahteve. <br />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 <code>http://192.168.1.1:8337</code>, bi morali vnesti <code >http://192.168.1.1:8337/notify</code>.", | ||||
|   "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 <a href=\"/config/api-keys\">API ključe</a>.", | ||||
|   "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 <code>/metadata/items</code> & <code>/metadata/authors</code>. Varnostne kopije <strong>ne</strong> 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", | ||||
|  | ||||
| @ -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 <a href=\"https://github.com/caronc/apprise-api\" target=\"_blank\">Apprise API</a> igång eller en API som hanterar dessa begäranden. <br />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å <code>http://192.168.1.1:8337</code>, bör du ange <code>http://192.168.1.1:8337/notify</code>.", | ||||
|   "MessageAuthenticationLegacyTokenWarning": "Legacy API-koder kommer att raderas i framtiden. Använd denna istället: <a href=\"/config/api-keys\">API Keys</a>.", | ||||
|   "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,<br>serverinställningar och bilder lagrade i <code>/metadata/items</code> & <code>/metadata/authors</code>.<br>De inkluderar <strong>INTE</strong> 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 <strong>{0}</strong>", | ||||
|   "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", | ||||
|  | ||||
| @ -418,6 +418,7 @@ | ||||
|   "LabelLanguages": "Мови", | ||||
|   "LabelLastBookAdded": "Останню книгу додано", | ||||
|   "LabelLastBookUpdated": "Останню книгу оновлено", | ||||
|   "LabelLastProgressDate": "Останній прогрес: {0}", | ||||
|   "LabelLastSeen": "Активність", | ||||
|   "LabelLastTime": "Останній час", | ||||
|   "LabelLastUpdate": "Останнє оновлення", | ||||
| @ -430,6 +431,7 @@ | ||||
|   "LabelLibraryFilterSublistEmpty": "Ні {0}", | ||||
|   "LabelLibraryItem": "Елемент бібліотеки", | ||||
|   "LabelLibraryName": "Назва бібліотеки", | ||||
|   "LabelLibrarySortByProgress": "Прогрес оновлено", | ||||
|   "LabelLimit": "Обмеження", | ||||
|   "LabelLineSpacing": "Відстань між рядками", | ||||
|   "LabelListenAgain": "Слухати знову", | ||||
| @ -656,6 +658,7 @@ | ||||
|   "LabelTheme": "Тема", | ||||
|   "LabelThemeDark": "Темна", | ||||
|   "LabelThemeLight": "Світла", | ||||
|   "LabelThemeSepia": "Сепія", | ||||
|   "LabelTimeBase": "Шкала часу", | ||||
|   "LabelTimeDurationXHours": "{0} години", | ||||
|   "LabelTimeDurationXMinutes": "{0} хвилини", | ||||
| @ -802,6 +805,8 @@ | ||||
|   "MessageFeedURLWillBe": "URL-адреса каналу буде {0}", | ||||
|   "MessageFetching": "Отримання...", | ||||
|   "MessageForceReScanDescription": "Просканує всі файли заново, як при першому скануванні. ID3-мітки, OPF-файли та текстові файли будуть проскановані як нові.", | ||||
|   "MessageHeatmapListeningTimeTooltip": "<strong>{0} прослуховування</strong> на {1}", | ||||
|   "MessageHeatmapNoListeningSessions": "Немає сеансів прослуховування на {0}", | ||||
|   "MessageImportantNotice": "Важливе повідомлення!", | ||||
|   "MessageInsertChapterBelow": "Введіть главу нижче", | ||||
|   "MessageInvalidAsin": "Невірний ASIN", | ||||
| @ -838,7 +843,7 @@ | ||||
|   "MessageNoItems": "Елементи відсутні", | ||||
|   "MessageNoItemsFound": "Елементів не знайдено", | ||||
|   "MessageNoListeningSessions": "Сеанси прослуховування відсутні", | ||||
|   "MessageNoLogs": "Немає журналів'", | ||||
|   "MessageNoLogs": "Немає Журнали", | ||||
|   "MessageNoMediaProgress": "Прогрес відсутній", | ||||
|   "MessageNoNotifications": "Сповіщення відсутні", | ||||
|   "MessageNoPodcastFeed": "Некоректний подкаст: немає каналу", | ||||
|  | ||||
| @ -418,6 +418,7 @@ | ||||
|   "LabelLanguages": "语言", | ||||
|   "LabelLastBookAdded": "最后添加的书", | ||||
|   "LabelLastBookUpdated": "最后更新的书", | ||||
|   "LabelLastProgressDate": "上次阅读时间: {0}", | ||||
|   "LabelLastSeen": "上次查看时间", | ||||
|   "LabelLastTime": "最近一次", | ||||
|   "LabelLastUpdate": "最近更新", | ||||
| @ -430,6 +431,7 @@ | ||||
|   "LabelLibraryFilterSublistEmpty": "没有 {0}", | ||||
|   "LabelLibraryItem": "媒体库项目", | ||||
|   "LabelLibraryName": "媒体库名称", | ||||
|   "LabelLibrarySortByProgress": "进度更新时间", | ||||
|   "LabelLimit": "限制", | ||||
|   "LabelLineSpacing": "行间距", | ||||
|   "LabelListenAgain": "再次收听", | ||||
| @ -656,6 +658,7 @@ | ||||
|   "LabelTheme": "主题", | ||||
|   "LabelThemeDark": "黑暗", | ||||
|   "LabelThemeLight": "明亮", | ||||
|   "LabelThemeSepia": "棕褐色", | ||||
|   "LabelTimeBase": "时间基准", | ||||
|   "LabelTimeDurationXHours": "{0} 小时", | ||||
|   "LabelTimeDurationXMinutes": "{0} 分钟", | ||||
| @ -802,6 +805,8 @@ | ||||
|   "MessageFeedURLWillBe": "源 URL 将改为 {0}", | ||||
|   "MessageFetching": "正在获取...", | ||||
|   "MessageForceReScanDescription": "将像重新扫描一样再次扫描所有文件. 音频文件 ID3 标签, OPF 文件和文本文件将被扫描为新文件.", | ||||
|   "MessageHeatmapListeningTimeTooltip": "{1} <strong>收听了 {0}</strong>", | ||||
|   "MessageHeatmapNoListeningSessions": "{0} 没有收听", | ||||
|   "MessageImportantNotice": "重要通知!", | ||||
|   "MessageInsertChapterBelow": "在下面插入章节", | ||||
|   "MessageInvalidAsin": "无效的 ASIN", | ||||
|  | ||||
							
								
								
									
										4
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -1,12 +1,12 @@ | ||||
| { | ||||
|   "name": "audiobookshelf", | ||||
|   "version": "2.26.3", | ||||
|   "version": "2.27.0", | ||||
|   "lockfileVersion": 3, | ||||
|   "requires": true, | ||||
|   "packages": { | ||||
|     "": { | ||||
|       "name": "audiobookshelf", | ||||
|       "version": "2.26.3", | ||||
|       "version": "2.27.0", | ||||
|       "license": "GPL-3.0", | ||||
|       "dependencies": { | ||||
|         "axios": "^0.27.2", | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| { | ||||
|   "name": "audiobookshelf", | ||||
|   "version": "2.26.3", | ||||
|   "version": "2.27.0", | ||||
|   "buildNumber": 1, | ||||
|   "description": "Self-hosted audiobook and podcast server", | ||||
|   "main": "index.js", | ||||
|  | ||||
| @ -240,8 +240,8 @@ class Server { | ||||
|        * Running in development allows cors to allow testing the mobile apps in the browser | ||||
|        * or env variable ALLOW_CORS = '1' | ||||
|        */ | ||||
|       if (global.AllowCors || Logger.isDev || req.path.match(/\/api\/items\/([a-z0-9-]{36})\/(ebook|cover)(\/[0-9]+)?/)) { | ||||
|         const allowedOrigins = ['capacitor://localhost', 'http://localhost'] | ||||
|       if (global.AllowCors || Logger.isDev || req.path.match(/\/api\/items\/([a-z0-9-]{36})\/(ebook|cover)(\/[0-9]+)?/) || global.ServerSettings.allowedOrigins?.length) { | ||||
|         const allowedOrigins = ['capacitor://localhost', 'http://localhost', ...(global.ServerSettings.allowedOrigins ? global.ServerSettings.allowedOrigins : [])] | ||||
|         if (global.AllowCors || Logger.isDev || allowedOrigins.some((o) => o === req.get('origin'))) { | ||||
|           res.header('Access-Control-Allow-Origin', req.get('origin')) | ||||
|           res.header('Access-Control-Allow-Methods', 'GET, POST, PATCH, PUT, DELETE, OPTIONS') | ||||
|  | ||||
| @ -53,6 +53,7 @@ class ServerSettings { | ||||
|     this.dateFormat = 'MM/dd/yyyy' | ||||
|     this.timeFormat = 'HH:mm' | ||||
|     this.language = 'en-us' | ||||
|     this.allowedOrigins = [] | ||||
| 
 | ||||
|     this.logLevel = Logger.logLevel | ||||
| 
 | ||||
| @ -120,6 +121,7 @@ class ServerSettings { | ||||
|     this.dateFormat = settings.dateFormat || 'MM/dd/yyyy' | ||||
|     this.timeFormat = settings.timeFormat || 'HH:mm' | ||||
|     this.language = settings.language || 'en-us' | ||||
|     this.allowedOrigins = settings.allowedOrigins || [] | ||||
|     this.logLevel = settings.logLevel || Logger.logLevel | ||||
|     this.version = settings.version || null | ||||
|     this.buildNumber = settings.buildNumber || 0 // Added v2.4.5
 | ||||
| @ -231,6 +233,7 @@ class ServerSettings { | ||||
|       dateFormat: this.dateFormat, | ||||
|       timeFormat: this.timeFormat, | ||||
|       language: this.language, | ||||
|       allowedOrigins: this.allowedOrigins, | ||||
|       logLevel: this.logLevel, | ||||
|       version: this.version, | ||||
|       buildNumber: this.buildNumber, | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user