mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-02-28 21:19:42 +00:00
Merge branch 'advplyr:master' into feat/metadata-id-matching
This commit is contained in:
commit
cf18cd9fbf
45 changed files with 843 additions and 118 deletions
|
|
@ -22,7 +22,7 @@ add_user() {
|
|||
declare -r descr="${4:-No description}"
|
||||
declare -r shell="${5:-/bin/false}"
|
||||
|
||||
if ! getent passwd | grep -q "^$user:"; then
|
||||
if ! getent passwd "$user" 2>&1 >/dev/null; then
|
||||
echo "Creating system user: $user in $group with $descr and shell $shell"
|
||||
useradd $uid_flags --gid $group --no-create-home --system --shell $shell -c "$descr" $user
|
||||
fi
|
||||
|
|
@ -39,7 +39,7 @@ add_group() {
|
|||
declare -r gid_flags="--gid $gid"
|
||||
fi
|
||||
|
||||
if ! getent group | grep -q "^$group:" ; then
|
||||
if ! getent group "$group" 2>&1 >/dev/null; then
|
||||
echo "Creating system group: $group"
|
||||
groupadd $gid_flags --system $group
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@
|
|||
</div>
|
||||
|
||||
<!-- Error widget -->
|
||||
<ui-tooltip cy-id="ErrorTooltip" v-if="showError" :text="errorText" class="absolute bottom-4e left-0 z-10">
|
||||
<ui-tooltip cy-id="ErrorTooltip" v-if="showError" :text="errorText" plaintext class="absolute bottom-4e left-0 z-10">
|
||||
<div :style="{ height: 1.5 + 'em', width: 2.5 + 'em' }" class="bg-error rounded-r-full shadow-md flex items-center justify-end border-r border-b border-red-300">
|
||||
<span class="material-symbols text-red-100 pr-1e" :style="{ fontSize: 0.875 + 'em' }">priority_high</span>
|
||||
</div>
|
||||
|
|
@ -121,12 +121,12 @@
|
|||
<!-- Alternative bookshelf title/author/sort -->
|
||||
<div cy-id="detailBottom" :id="`description-area-${index}`" v-if="isAlternativeBookshelfView || isAuthorBookshelfView" dir="auto" class="relative mt-2e mb-2e left-0 z-50 w-full">
|
||||
<div :style="{ fontSize: 0.9 + 'em' }">
|
||||
<ui-tooltip v-if="displayTitle" :text="displayTitle" :disabled="!displayTitleTruncated" direction="bottom" :delayOnShow="500" class="flex items-center">
|
||||
<ui-tooltip v-if="displayTitle" :text="displayTitle" plaintext :disabled="!displayTitleTruncated" direction="bottom" :delayOnShow="500" class="flex items-center">
|
||||
<p cy-id="title" ref="displayTitle" class="truncate">{{ displayTitle }}</p>
|
||||
<widgets-explicit-indicator cy-id="explicitIndicator" v-if="isExplicit" />
|
||||
</ui-tooltip>
|
||||
</div>
|
||||
<ui-tooltip v-if="showSubtitles" :text="displaySubtitle" :disabled="!displaySubtitleTruncated" direction="bottom" :delayOnShow="500" class="flex items-center">
|
||||
<ui-tooltip v-if="showSubtitles" :text="displaySubtitle" plaintext :disabled="!displaySubtitleTruncated" direction="bottom" :delayOnShow="500" class="flex items-center">
|
||||
<p cy-id="subtitle" class="truncate" ref="displaySubtitle" :style="{ fontSize: 0.6 + 'em' }">{{ displaySubtitle }}</p>
|
||||
</ui-tooltip>
|
||||
<p cy-id="line2" class="truncate text-gray-400" :style="{ fontSize: 0.8 + 'em' }">{{ displayLineTwo || ' ' }}</p>
|
||||
|
|
|
|||
|
|
@ -338,6 +338,18 @@ export default {
|
|||
const series = this.series.find((se) => se.id == decoded)
|
||||
if (series) filterValue = series.name
|
||||
}
|
||||
} else if (parts[0] === 'progress') {
|
||||
const item = this.progress.find((p) => p.id == decoded)
|
||||
if (item) filterValue = item.name
|
||||
} else if (parts[0] === 'tracks') {
|
||||
const item = this.tracks.find((t) => t.id == decoded)
|
||||
if (item) filterValue = item.name
|
||||
} else if (parts[0] === 'ebooks') {
|
||||
const item = this.ebooks.find((e) => e.id == decoded)
|
||||
if (item) filterValue = item.name
|
||||
} else if (parts[0] === 'missing') {
|
||||
const item = this.missing.find((m) => m.id == decoded)
|
||||
if (item) filterValue = item.name
|
||||
} else {
|
||||
filterValue = decoded
|
||||
}
|
||||
|
|
|
|||
|
|
@ -97,7 +97,10 @@ export default {
|
|||
...playlist
|
||||
}
|
||||
})
|
||||
.sort((a, b) => (a.isItemIncluded ? -1 : 1))
|
||||
.sort((a, b) => {
|
||||
if (a.isItemIncluded !== b.isItemIncluded) return a.isItemIncluded ? -1 : 1
|
||||
return a.name.localeCompare(b.name)
|
||||
})
|
||||
},
|
||||
isBatch() {
|
||||
return this.selectedPlaylistItems.length > 1
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
</button>
|
||||
</ui-tooltip>
|
||||
<ui-tooltip direction="top" :text="jumpBackwardText">
|
||||
<button :aria-label="jumpForwardText" class="text-gray-300" @mousedown.prevent @mouseup.prevent @click.stop="jumpBackward">
|
||||
<button :aria-label="jumpBackwardText" class="text-gray-300" @mousedown.prevent @mouseup.prevent @click.stop="jumpBackward">
|
||||
<span class="material-symbols text-2xl sm:text-3xl">replay</span>
|
||||
</button>
|
||||
</ui-tooltip>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<div :key="n" class="absolute pointer-events-none left-0 h-px bg-white/10" :style="{ top: n * lineSpacing - lineSpacing / 2 + 'px', width: '360px', marginLeft: '24px' }" />
|
||||
|
||||
<div :key="`dot-${n}`" class="absolute z-10" :style="{ left: points[n - 1].x + 'px', bottom: points[n - 1].y + 'px' }">
|
||||
<ui-tooltip :text="last7DaysOfListening[n - 1].minutesListening" direction="top">
|
||||
<ui-tooltip :text="last7DaysOfListening[n - 1].minutesListening" plaintext direction="top">
|
||||
<div class="h-2 w-2 bg-yellow-400 hover:bg-yellow-300 rounded-full transform duration-150 transition-transform hover:scale-125" />
|
||||
</ui-tooltip>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -278,7 +278,7 @@ export default {
|
|||
})
|
||||
},
|
||||
insertNewItem(item) {
|
||||
this.selected.push(item)
|
||||
if (!this.selected.includes(item)) this.selected.push(item)
|
||||
this.$emit('input', this.selected)
|
||||
this.$emit('newItem', item)
|
||||
this.textInput = null
|
||||
|
|
|
|||
|
|
@ -287,7 +287,7 @@ export default {
|
|||
})
|
||||
},
|
||||
insertNewItem(item) {
|
||||
this.selected.push(item)
|
||||
if (!this.selected.find((i) => i.name === item.name)) this.selected.push(item)
|
||||
this.$emit('input', this.selected)
|
||||
this.$emit('newItem', item)
|
||||
this.textInput = null
|
||||
|
|
|
|||
|
|
@ -22,7 +22,8 @@ export default {
|
|||
type: Number,
|
||||
default: 0
|
||||
},
|
||||
disabled: Boolean
|
||||
disabled: Boolean,
|
||||
plaintext: Boolean
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
|
@ -46,7 +47,11 @@ export default {
|
|||
methods: {
|
||||
updateText() {
|
||||
if (this.tooltip) {
|
||||
this.tooltip.innerHTML = this.text
|
||||
if (this.plaintext) {
|
||||
this.tooltip.textContent = this.text
|
||||
} else {
|
||||
this.tooltip.innerHTML = this.text
|
||||
}
|
||||
this.setTooltipPosition(this.tooltip)
|
||||
}
|
||||
},
|
||||
|
|
@ -58,7 +63,11 @@ export default {
|
|||
tooltip.className = 'tooltip-wrapper absolute px-2 py-1 text-white text-xs rounded-sm shadow-lg max-w-xs text-center hidden sm:block'
|
||||
tooltip.style.zIndex = 100
|
||||
tooltip.style.backgroundColor = 'rgba(0,0,0,0.85)'
|
||||
tooltip.innerHTML = this.text
|
||||
if (this.plaintext) {
|
||||
tooltip.textContent = this.text
|
||||
} else {
|
||||
tooltip.innerHTML = this.text
|
||||
}
|
||||
tooltip.addEventListener('mouseover', this.cancelHide)
|
||||
tooltip.addEventListener('mouseleave', this.hideTooltip)
|
||||
|
||||
|
|
|
|||
4
client/package-lock.json
generated
4
client/package-lock.json
generated
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "audiobookshelf-client",
|
||||
"version": "2.31.0",
|
||||
"version": "2.32.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "audiobookshelf-client",
|
||||
"version": "2.31.0",
|
||||
"version": "2.32.1",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@nuxtjs/axios": "^5.13.6",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "audiobookshelf-client",
|
||||
"version": "2.31.0",
|
||||
"version": "2.32.1",
|
||||
"buildNumber": 1,
|
||||
"description": "Self-hosted audiobook and podcast client",
|
||||
"main": "index.js",
|
||||
|
|
|
|||
|
|
@ -126,7 +126,7 @@
|
|||
<ui-tooltip v-if="selectedChapterId === chapter.id && (isPlayingChapter || isLoadingChapter)" :text="$strings.TooltipAdjustChapterStart" direction="bottom">
|
||||
<div class="ml-2 text-xs text-gray-300 font-mono min-w-10 cursor-pointer hover:text-white transition-colors duration-150" @click="adjustChapterStartTime(chapter)">{{ elapsedTime }}s</div>
|
||||
</ui-tooltip>
|
||||
<ui-tooltip v-if="chapter.error" :text="chapter.error" direction="left">
|
||||
<ui-tooltip v-if="chapter.error" :text="chapter.error" plaintext direction="left">
|
||||
<button class="w-7 h-7 rounded-full flex items-center justify-center text-error">
|
||||
<span class="material-symbols text-lg">error_outline</span>
|
||||
</button>
|
||||
|
|
|
|||
|
|
@ -355,7 +355,7 @@
|
|||
"LabelExample": "مثال",
|
||||
"LabelExpandSeries": "توسيع السلاسل",
|
||||
"LabelExpandSubSeries": "توسيع السلاسل الفرعية",
|
||||
"LabelExplicit": "صريح",
|
||||
"LabelExplicit": "محتوى صريح",
|
||||
"LabelExplicitChecked": "صريح (محدد)",
|
||||
"LabelExplicitUnchecked": "غير صريح (غير محدد)",
|
||||
"LabelExportOPML": "تصدير OPML",
|
||||
|
|
@ -374,7 +374,7 @@
|
|||
"LabelFolders": "مجلدات",
|
||||
"LabelFontBold": "عريض",
|
||||
"LabelFontBoldness": "تعريض الخط",
|
||||
"LabelFontFamily": "عائلة الخط",
|
||||
"LabelFontFamily": "عائلة الخطوط",
|
||||
"LabelFontItalic": "مائل",
|
||||
"LabelFontScale": "نطاق الخط",
|
||||
"LabelFontStrikethrough": "يتوسطه خط",
|
||||
|
|
@ -570,7 +570,7 @@
|
|||
"LabelSettingsBookshelfViewHelp": "تصميم يحاكي الواقع مع رفوف خشبية",
|
||||
"LabelSettingsChromecastSupport": "دعم Chromecast",
|
||||
"LabelSettingsDateFormat": "تنسيق التاريخ",
|
||||
"LabelSettingsEnableWatcher": "فحص المكتبات تلقائيًا بحثًا عن تغييرات",
|
||||
"LabelSettingsEnableWatcher": "مراقبة المكتبات تلقائياً بحثاً عن تغييرات",
|
||||
"LabelSettingsEnableWatcherForLibrary": "فحص المكتبة تلقائيًا بحثًا عن تغييرات",
|
||||
"LabelSettingsEnableWatcherHelp": "يمكّن الإضافة/التحديث التلقائي للعناصر عند اكتشاف تغييرات في الملفات. *يتطلب إعادة تشغيل الخادم",
|
||||
"LabelSettingsEpubsAllowScriptedContent": "السماح بالمحتوى النصي في ملفات epub",
|
||||
|
|
@ -861,7 +861,7 @@
|
|||
"MessageResetChaptersConfirm": "هل أنت متأكد أنك تريد إعادة تعيين الفصول والتراجع عن التغييرات التي أجريتها؟",
|
||||
"MessageRestoreBackupConfirm": "هل أنت متأكد أنك تريد استعادة النسخ الاحتياطي الذي تم إنشاؤه في",
|
||||
"MessageRestoreBackupWarning": "ستؤدي استعادة النسخ الاحتياطي إلى الكتابة فوق قاعدة البيانات بأكملها الموجودة في /config وصور الأغلفة في /metadata/items و /metadata/authors.<br /><br /> لا تعدل النسخ الاحتياطية أي ملفات في مجلدات مكتبتك. إذا قمت بتمكين إعدادات الخادم لتخزين صور الأغلفة والبيانات الوصفية في مجلدات مكتبتك، فلن يتم نسخها احتياطيًا أو الكتابة فوقها.<br /><br /> سيتم تحديث جميع العملاء الذين يستخدمون الخادم الخاص بك تلقائيًا.",
|
||||
"MessageScheduleLibraryScanNote": "بالنسبة لمعظم المستخدمين، يوصى بترك هذه الميزة معطلة وإبقاء إعداد مراقب المجلدات ممكّنًا. سيكتشف مراقب المجلدات تلقائيًا التغييرات في مجلدات مكتبتك. لا يعمل مراقب المجلدات مع كل نظام ملفات (مثل NFS)، لذا يمكن استخدام عمليات فحص المكتبة المجدولة بدلاً من ذلك.",
|
||||
"MessageScheduleLibraryScanNote": "لمعظم المستخدمين، موصى بترك هذه الميزة معطلة وإبقاء ممكّنة الأعداد، ”قم بمراقبة المكتبة تلقائاً للتغييرات“. سوف يقم بالكشف التلقائي عن تغييرات في مجلدات مكتبتك. لو لم يعمل الإعداد، \"قم بمراقبة المكتبة تلقائاً للتغييرات،“مع نظمة ملفاتك المستخدمة (مثل NFS على سبيل المثال)، فأمكِن هذه الميزة.",
|
||||
"MessageScheduleRunEveryWeekdayAtTime": "تشغيل كل {0} في الساعة {1}",
|
||||
"MessageSearchResultsFor": "نتائج البحث عن",
|
||||
"MessageSelected": "تم تحديد {0}",
|
||||
|
|
|
|||
|
|
@ -378,6 +378,7 @@
|
|||
"LabelFilterByUser": "Филтриране по Потребител",
|
||||
"LabelFindEpisodes": "Намери Епизоди",
|
||||
"LabelFinished": "Дата на приключване",
|
||||
"LabelFinishedDate": "Приключено на {0}",
|
||||
"LabelFolder": "Папка",
|
||||
"LabelFolders": "Папки",
|
||||
"LabelFontBold": "Получерно",
|
||||
|
|
@ -435,7 +436,9 @@
|
|||
"LabelLibraryFilterSublistEmpty": "Не {0}",
|
||||
"LabelLibraryItem": "Елемент на Библиотека",
|
||||
"LabelLibraryName": "Име на Библиотека",
|
||||
"LabelLibrarySortByProgress": "Прогресът е обновен",
|
||||
"LabelLibrarySortByProgress": "Прогрес: Последно Обновен",
|
||||
"LabelLibrarySortByProgressFinished": "Прогрес: Приключено",
|
||||
"LabelLibrarySortByProgressStarted": "Прогрес: Започнато",
|
||||
"LabelLimit": "Лимит",
|
||||
"LabelLineSpacing": "Междуредие",
|
||||
"LabelListenAgain": "Слушай отново",
|
||||
|
|
@ -585,8 +588,8 @@
|
|||
"LabelSettingsBookshelfViewHelp": "Скеуморфен дизайн с дървени рафтове",
|
||||
"LabelSettingsChromecastSupport": "Chromecast поддръжка",
|
||||
"LabelSettingsDateFormat": "Формат на Дата",
|
||||
"LabelSettingsEnableWatcher": "Автоматично сканиране на библиотеките за промени",
|
||||
"LabelSettingsEnableWatcherForLibrary": "Автоматично сканиране на библиотеката за промени",
|
||||
"LabelSettingsEnableWatcher": "Автоматично преглеждане на библиотеките за промени",
|
||||
"LabelSettingsEnableWatcherForLibrary": "Автоматично преглеждане на библиотеката за промени",
|
||||
"LabelSettingsEnableWatcherHelp": "Включва автоматичното добавяне/обновяване на елементи, когато се открият промени във файловете. *Изисква рестарт на сървъра",
|
||||
"LabelSettingsEpubsAllowScriptedContent": "Позволи скриптово съдържание в epub-и",
|
||||
"LabelSettingsEpubsAllowScriptedContentHelp": "Позволи epub файловете да изпълняват скриптове. Препоръчително е да бъде изключено освен ако не се доверявате на източника на epub файловете.",
|
||||
|
|
@ -635,6 +638,7 @@
|
|||
"LabelStartTime": "Начално Време",
|
||||
"LabelStarted": "Стартирано",
|
||||
"LabelStartedAt": "Стартирано на",
|
||||
"LabelStartedDate": "Започнато {0}",
|
||||
"LabelStatsAudioTracks": "Аудио Канали",
|
||||
"LabelStatsAuthors": "Автори",
|
||||
"LabelStatsBestDay": "Най-добър ден",
|
||||
|
|
@ -780,6 +784,7 @@
|
|||
"MessageConfirmPurgeCache": "Изчистването на кеша ще изтрие цялата директория в <code>/metadata/cache</code>. <br /><br />Сигурни ли сте, че искате да премахнете директорията на кеша?",
|
||||
"MessageConfirmPurgeItemsCache": "Изчистването на кеша на елементите ще изтрие цялата директория в <code>/metadata/cache/items</code>. <br />Сигурни ли сте?",
|
||||
"MessageConfirmQuickEmbed": "Внимание! Бързото вграждане няма да архивира вашите аудио файлове. Уверете се, че имате резервно копие на вашите аудио файлове. <br><br>Искате ли да продължите?",
|
||||
"MessageConfirmQuickMatchEpisodes": "Бързото сравняване на епизоди ще презапише детайлите, ако се намери съвпадение. Само не съвпаднали епизоди ще бъдат обновени. Сигурни ли сте?",
|
||||
"MessageConfirmReScanLibraryItems": "Сигурни ли сте, че искате да сканирате отново {0} елемента?",
|
||||
"MessageConfirmRemoveAllChapters": "Сигурни ли сте, че искате да премахнете всички глави?",
|
||||
"MessageConfirmRemoveAuthor": "Сигурни ли сте, че искате да премахнете автор \"{0}\"?",
|
||||
|
|
@ -788,6 +793,7 @@
|
|||
"MessageConfirmRemoveEpisodeNote": "Забележка: Това няма да доведе до изтриване на аудио файла, освен ако не активирате опцията \"Твърдо изтриване на файла\"",
|
||||
"MessageConfirmRemoveEpisodes": "Сигурни ли сте, че искате да премахнете {0} епизода?",
|
||||
"MessageConfirmRemoveListeningSessions": "Сигурни ли сте, че искате да премахнете {0} слушателски сесии?",
|
||||
"MessageConfirmRemoveMetadataFiles": "Сигурни ли сте, че искате да премахнете всичките метаданни. {0} файлове във папките на Вашата библиотека?",
|
||||
"MessageConfirmRemoveNarrator": "Сигурни ли сте, че искате да премахнете разказвач \"{0}\"?",
|
||||
"MessageConfirmRemovePlaylist": "Сигурни ли сте, че искате да премахнете плейлиста \"{0}\"?",
|
||||
"MessageConfirmRenameGenre": "Сигурни ли сте, че искате да преименувате жанра \"{0}\" на \"{1}\" за всички елементи?",
|
||||
|
|
@ -862,6 +868,7 @@
|
|||
"MessageNoUserPlaylists": "Нямате създадени плейлисти",
|
||||
"MessageNoUserPlaylistsHelp": "Плейлистите за частни. Само създалият ги потребител ще може да ги вижда.",
|
||||
"MessageNotYetImplemented": "Още не е изпълнено",
|
||||
"MessageOpmlPreviewNote": "Забележка: Това е преглед на анализирания OPML файл. Действителното заглавие на подкаста ще бъде взето от RSS фийда.",
|
||||
"MessageOr": "или",
|
||||
"MessagePauseChapter": "Пауза на глава",
|
||||
"MessagePlayChapter": "Пусни налчалото на глава",
|
||||
|
|
@ -871,6 +878,7 @@
|
|||
"MessagePodcastSearchField": "Въведи какво да търся или RSS емисия адрес",
|
||||
"MessageQuickEmbedInProgress": "Бързото вграждане е в процес на изпълнение",
|
||||
"MessageQuickEmbedQueue": "Поставено в опашката за бързо вграждане ({0} в опашката)",
|
||||
"MessageQuickMatchAllEpisodes": "Бързо Сравняване на Всички Епизоди",
|
||||
"MessageQuickMatchDescription": "Попълни празните детайли и корици с първия резултат от '{0}'. Не презаписва детайлите, освен ако не е активирана настройката 'Предпочети съвпадащи метаданни' на сървъра.",
|
||||
"MessageRemoveChapter": "Премахни глава",
|
||||
"MessageRemoveEpisodes": "Премахни {0} епизод(и)",
|
||||
|
|
@ -880,16 +888,23 @@
|
|||
"MessageResetChaptersConfirm": "Сигурни ли сте, че искате да нулирате главите и да отмените промените, които сте направили?",
|
||||
"MessageRestoreBackupConfirm": "Сигурни ли сте, че искате да възстановите архива създаден на",
|
||||
"MessageRestoreBackupWarning": "Възстановяването на архив ще презапише цялата база данни, намираща се в /config и кориците в /metadata/items & /metadata/authors.<br /><br />Архивите не променят файловете в папките на вашата библиотека. Ако сте активирали настройките на сървъра за съхранение на корици и метаданни в папките на вашата библиотека, те няма да бъдат архивирани или презаписани.<br /><br />Всички клиенти, използващи вашия сървър, ще бъдат автоматично обновени.",
|
||||
"MessageScheduleLibraryScanNote": "За повече потребители се препоръчва да оставят този фийчър изключен и да оставят настройката \"Автоматично преглеждане за промени в библиотеката\" включена - тя автоматично ще засече промени в папките на вашата библиотека. Включете тази настройка ако \"Автоматично преглеждане за промени в библиотеката\" не рабови на вашата файлова система (например NFS).",
|
||||
"MessageScheduleRunEveryWeekdayAtTime": "Изпълни всеки {0} в {1}",
|
||||
"MessageSearchResultsFor": "Резултати от търсенето за",
|
||||
"MessageSelected": "{0} избрани",
|
||||
"MessageSeriesSequenceCannotContainSpaces": "Подредбата в серия не може да съдържа шпации.",
|
||||
"MessageServerCouldNotBeReached": "Сървърът не може да бъде достигнат",
|
||||
"MessageSetChaptersFromTracksDescription": "Задайте глави, като използвате всеки аудио файл като глава и заглавие на главата като име на аудио файла",
|
||||
"MessageShareExpirationWillBe": "Изтичането ще бъде на <strong>{0}</strong>",
|
||||
"MessageShareExpiresIn": "Изтича след {0}",
|
||||
"MessageShareURLWillBe": "URL за споделяне ще бъде <strong>{0}</strong>",
|
||||
"MessageStartPlaybackAtTime": "Започни възпроизвеждане на \"{0}\" в {1}?",
|
||||
"MessageTaskAudioFileNotWritable": "На Аудио файл \"{0}\" не може да се записва",
|
||||
"MessageTaskCanceledByUser": "Задачата е отказана от потребител",
|
||||
"MessageTaskDownloadingEpisodeDescription": "Изтегляне на епизод \"{0}\"",
|
||||
"MessageTaskEmbeddingMetadata": "Вграждане на метаданни",
|
||||
"MessageTaskEmbeddingMetadataDescription": "Вграждане на метаданни в аудиокнига \"{0}\"",
|
||||
"MessageTaskEncodingM4b": "Кодиране M4B",
|
||||
"MessageTaskEncodingM4bDescription": "Кодиране на аудиокнига \"{0}\" в единичен m4b файл",
|
||||
"MessageTaskFailed": "Неуспешно",
|
||||
"MessageTaskFailedToBackupAudioFile": "Неуспешно създаване на разервно копие на аудио файл \"{0}\"",
|
||||
|
|
@ -902,7 +917,9 @@
|
|||
"MessageTaskNoFilesToScan": "Няма файлове за сканиране",
|
||||
"MessageTaskOpmlImport": "OPML импортиране",
|
||||
"MessageTaskOpmlImportDescription": "Създаване на подкасти от {0} RSS хранилки",
|
||||
"MessageTaskOpmlImportFeed": "OPML импортиран фийд",
|
||||
"MessageTaskOpmlImportFeedDescription": "Импортиране на RSS хранилка \"{0}\"",
|
||||
"MessageTaskOpmlImportFeedFailed": "Неуспешно взимане на подкаст фийд",
|
||||
"MessageTaskOpmlImportFeedPodcastDescription": "Създаване на подкаст \"{0}\"",
|
||||
"MessageTaskOpmlImportFeedPodcastExists": "На този път вече съществува подкаст",
|
||||
"MessageTaskOpmlImportFeedPodcastFailed": "Неуспешно създаване на подкаст",
|
||||
|
|
@ -938,6 +955,7 @@
|
|||
"NotificationOnBackupFailedDescription": "Изпълнява се при неуспешено създаване на резервно копие",
|
||||
"NotificationOnEpisodeDownloadedDescription": "Изпълнява се при автоматично изтегляне на подкаст епизод",
|
||||
"NotificationOnRSSFeedDisabledDescription": "Изпълнява се, когато автоматичното изтегляне на епизодите е деактивирано, поради твърде много неуспешни опити",
|
||||
"NotificationOnRSSFeedFailedDescription": "Пуска се когато заявката за RSS фийд е неуспешна за автоматично сваляне на епизод",
|
||||
"PlaceholderNewCollection": "Ново име на колекцията",
|
||||
"PlaceholderNewFolderPath": "Нов път на папката",
|
||||
"PlaceholderNewPlaylist": "Ново име на плейлиста",
|
||||
|
|
|
|||
|
|
@ -166,6 +166,7 @@
|
|||
"HeaderMetadataOrderOfPrecedence": "Ordre de Precedència de Metadades",
|
||||
"HeaderMetadataToEmbed": "Metadades a Inserir",
|
||||
"HeaderNewAccount": "Nou Compte",
|
||||
"HeaderNewApiKey": "Nova clau API",
|
||||
"HeaderNewLibrary": "Nova Biblioteca",
|
||||
"HeaderNotificationCreate": "Crea Notificació",
|
||||
"HeaderNotificationUpdate": "Actualització de Notificació",
|
||||
|
|
@ -199,6 +200,7 @@
|
|||
"HeaderSettingsExperimental": "Funcionalitats experimentals",
|
||||
"HeaderSettingsGeneral": "Generals",
|
||||
"HeaderSettingsScanner": "Escàner",
|
||||
"HeaderSettingsSecurity": "Seguretat",
|
||||
"HeaderSettingsWebClient": "Client web",
|
||||
"HeaderSleepTimer": "Temporitzador de son",
|
||||
"HeaderStatsLargestItems": "Elements més grans",
|
||||
|
|
@ -421,6 +423,9 @@
|
|||
"LabelLibraryFilterSublistEmpty": "Sense {0}",
|
||||
"LabelLibraryItem": "Element de Biblioteca",
|
||||
"LabelLibraryName": "Nom de Biblioteca",
|
||||
"LabelLibrarySortByProgress": "Progrés: Última actualització",
|
||||
"LabelLibrarySortByProgressFinished": "Progrés: Finalitzat",
|
||||
"LabelLibrarySortByProgressStarted": "Progrés: Començat",
|
||||
"LabelLimit": "Límits",
|
||||
"LabelLineSpacing": "Interlineat",
|
||||
"LabelListenAgain": "Escoltar de nou",
|
||||
|
|
@ -443,7 +448,7 @@
|
|||
"LabelMetadataProvider": "Proveïdor de metadades",
|
||||
"LabelMinute": "Minut",
|
||||
"LabelMinutes": "Minuts",
|
||||
"LabelMissing": "Absent",
|
||||
"LabelMissing": "Falta",
|
||||
"LabelMissingEbook": "No té llibre electrònic",
|
||||
"LabelMissingSupplementaryEbook": "No té ebook complementari",
|
||||
"LabelMobileRedirectURIs": "URI de redirecció mòbil permeses",
|
||||
|
|
|
|||
|
|
@ -127,6 +127,7 @@
|
|||
"HeaderAudiobookTools": "Audiobog Filhåndteringsværktøjer",
|
||||
"HeaderAuthentication": "Autentificering",
|
||||
"HeaderBackups": "Sikkerhedskopier",
|
||||
"HeaderBulkChapterModal": "Tilføj flere kapitler",
|
||||
"HeaderChangePassword": "Skift Adgangskode",
|
||||
"HeaderChapters": "Kapitler",
|
||||
"HeaderChooseAFolder": "Vælg en Mappe",
|
||||
|
|
@ -199,6 +200,7 @@
|
|||
"HeaderSettingsExperimental": "Eksperimentelle Funktioner",
|
||||
"HeaderSettingsGeneral": "Generelt",
|
||||
"HeaderSettingsScanner": "Scanner",
|
||||
"HeaderSettingsSecurity": "Sikkerhed",
|
||||
"HeaderSettingsWebClient": "Webklient",
|
||||
"HeaderSleepTimer": "Søvntimer",
|
||||
"HeaderStatsLargestItems": "Største Elementer",
|
||||
|
|
@ -273,7 +275,7 @@
|
|||
"LabelBonus": "Bonus",
|
||||
"LabelBooks": "Bøger",
|
||||
"LabelButtonText": "Knap tekst",
|
||||
"LabelByAuthor": "af {0}",
|
||||
"LabelByAuthor": "Efter Forfatter",
|
||||
"LabelChangePassword": "Ændre Adgangskode",
|
||||
"LabelChannels": "Kanaler",
|
||||
"LabelChapterCount": "{0} Kapitler",
|
||||
|
|
@ -293,6 +295,7 @@
|
|||
"LabelContinueListening": "Fortsæt med at lytte",
|
||||
"LabelContinueReading": "Fortsæt med at læse",
|
||||
"LabelContinueSeries": "Fortsæt Serien",
|
||||
"LabelCorsAllowed": "Tilladte CORS-oprindelser",
|
||||
"LabelCover": "Omslag",
|
||||
"LabelCoverImageURL": "Omslagsbillede URL",
|
||||
"LabelCoverProvider": "Cover billede udbyder",
|
||||
|
|
@ -306,6 +309,7 @@
|
|||
"LabelDeleteFromFileSystemCheckbox": "Slet fra filsystem (afmarker kun for at fjerne fra databasen)",
|
||||
"LabelDescription": "Beskrivelse",
|
||||
"LabelDeselectAll": "Fravælg Alle",
|
||||
"LabelDetectedPattern": "Identificeret mønster:",
|
||||
"LabelDevice": "Enheds",
|
||||
"LabelDeviceInfo": "Enhedsinformation",
|
||||
"LabelDeviceIsAvailableTo": "Enhed er tilgængelig for...",
|
||||
|
|
@ -374,11 +378,12 @@
|
|||
"LabelFilterByUser": "Filtrér efter bruger",
|
||||
"LabelFindEpisodes": "Find episoder",
|
||||
"LabelFinished": "Færdig",
|
||||
"LabelFinishedDate": "Færdig {0}",
|
||||
"LabelFolder": "Mappe",
|
||||
"LabelFolders": "Mapper",
|
||||
"LabelFontBold": "Fed",
|
||||
"LabelFontBoldness": "Skrift tykkelse",
|
||||
"LabelFontFamily": "Fontfamilie",
|
||||
"LabelFontFamily": "Skrifttypefamilie",
|
||||
"LabelFontItalic": "Kursiv",
|
||||
"LabelFontScale": "Skriftstørrelse",
|
||||
"LabelFontStrikethrough": "Gennemstreget",
|
||||
|
|
@ -418,6 +423,7 @@
|
|||
"LabelLanguages": "Sprog",
|
||||
"LabelLastBookAdded": "Senest tilføjede bog",
|
||||
"LabelLastBookUpdated": "Senest opdaterede bog",
|
||||
"LabelLastProgressDate": "Sidste fremgang: {0}",
|
||||
"LabelLastSeen": "Sidst set",
|
||||
"LabelLastTime": "Sidste gang",
|
||||
"LabelLastUpdate": "Seneste opdatering",
|
||||
|
|
@ -430,6 +436,9 @@
|
|||
"LabelLibraryFilterSublistEmpty": "Nej {0}",
|
||||
"LabelLibraryItem": "Bibliotekselement",
|
||||
"LabelLibraryName": "Biblioteksnavn",
|
||||
"LabelLibrarySortByProgress": "Fremgang: Sidst opdateret",
|
||||
"LabelLibrarySortByProgressFinished": "Fremgang: Afsluttet",
|
||||
"LabelLibrarySortByProgressStarted": "Fremgang: Startet",
|
||||
"LabelLimit": "Grænse",
|
||||
"LabelLineSpacing": "Linjeafstand",
|
||||
"LabelListenAgain": "Lyt igen",
|
||||
|
|
@ -438,6 +447,7 @@
|
|||
"LabelLogLevelWarn": "Advarsel",
|
||||
"LabelLookForNewEpisodesAfterDate": "Søg efter nye episoder efter denne dato",
|
||||
"LabelLowestPriority": "Laveste prioritet",
|
||||
"LabelMatchConfidence": "Confidens",
|
||||
"LabelMatchExistingUsersBy": "Match eksisterende brugere ved",
|
||||
"LabelMatchExistingUsersByDescription": "Anvendt for at forbinde brugere. Når forbundet, brugere vil blive matchet ved unikt id fra din SSO udbyder",
|
||||
"LabelMaxEpisodesToDownload": "Max # afsnit for at downloade. Anvend 0 for ubegrænset.",
|
||||
|
|
@ -467,6 +477,7 @@
|
|||
"LabelNewestAuthors": "Nyeste forfattere",
|
||||
"LabelNewestEpisodes": "Nyeste episoder",
|
||||
"LabelNextBackupDate": "Næste sikkerhedskopi dato",
|
||||
"LabelNextChapters": "Næste kapitler vil være:",
|
||||
"LabelNextScheduledRun": "Næste planlagte kørsel",
|
||||
"LabelNoApiKeys": "Ingen API-nøgler",
|
||||
"LabelNoCustomMetadataProviders": "Ingen brugerdefinerede metadata udbydere",
|
||||
|
|
@ -484,6 +495,7 @@
|
|||
"LabelNotificationsMaxQueueSize": "Maksimal køstørrelse for meddelelseshændelser",
|
||||
"LabelNotificationsMaxQueueSizeHelp": "Hændelser begrænses til at udløse en gang pr. sekund. Hændelser ignoreres, hvis køen er fyldt. Dette forhindrer meddelelsesspam.",
|
||||
"LabelNumberOfBooks": "Antal bøger",
|
||||
"LabelNumberOfChapters": "Antal kapitler:",
|
||||
"LabelNumberOfEpisodes": "# afsnit",
|
||||
"LabelOpenIDAdvancedPermsClaimDescription": "Navnet af OpenID claimet som indeholder avancerede brugerhandlinger inden i applikationen som vil gælde for ikke administrative roller (<b>hvis konfigureret</b>). Hvis et claim mangler fra svaret vil adgang til ABS blive nægtet. Hvis en enkelt indstilling/option mangler, vil det bliver behandlet som <code>false</code>. Sørg for at identity provider's claim matcher den forventede struktur:",
|
||||
"LabelOpenIDClaims": "Efterlad de følgende indstillinger tomme for at deaktivere avanceret gruppe og adgangsindstilling, ved automatisk at assigne 'Bruger' grupper.",
|
||||
|
|
@ -576,8 +588,8 @@
|
|||
"LabelSettingsBookshelfViewHelp": "Skeumorfisk design med træhylder",
|
||||
"LabelSettingsChromecastSupport": "Chromecast-understøttelse",
|
||||
"LabelSettingsDateFormat": "Datoformat",
|
||||
"LabelSettingsEnableWatcher": "Scan automatisk bibliotek for ændringer",
|
||||
"LabelSettingsEnableWatcherForLibrary": "Scan automatisk bibliotek for ændringer",
|
||||
"LabelSettingsEnableWatcher": "Automatisk biblioteksovervåger",
|
||||
"LabelSettingsEnableWatcherForLibrary": "Automatisk biblioteksovervåger",
|
||||
"LabelSettingsEnableWatcherHelp": "Aktiverer automatisk tilføjelse/opdatering af elementer, når filændringer registreres. *Kræver servergenstart",
|
||||
"LabelSettingsEpubsAllowScriptedContent": "Tillad scriptet indhold i epub",
|
||||
"LabelSettingsEpubsAllowScriptedContentHelp": "Tillad epub filer at køre scripts. Det anbefales at holde denne indstilling deaktiveret med mindre du stoler på kilderne af epub filerne.",
|
||||
|
|
@ -626,6 +638,7 @@
|
|||
"LabelStartTime": "Starttid",
|
||||
"LabelStarted": "Startet",
|
||||
"LabelStartedAt": "Startet klokken",
|
||||
"LabelStartedDate": "Startet {0}",
|
||||
"LabelStatsAudioTracks": "Lydspor",
|
||||
"LabelStatsAuthors": "Forfattere",
|
||||
"LabelStatsBestDay": "Bedste dag",
|
||||
|
|
@ -655,6 +668,7 @@
|
|||
"LabelTheme": "Tema",
|
||||
"LabelThemeDark": "Mørk",
|
||||
"LabelThemeLight": "Lys",
|
||||
"LabelThemeSepia": "Sepia",
|
||||
"LabelTimeBase": "Tidsbase",
|
||||
"LabelTimeDurationXHours": "{0} timer",
|
||||
"LabelTimeDurationXMinutes": "{0} minutter",
|
||||
|
|
@ -739,6 +753,7 @@
|
|||
"MessageBookshelfNoResultsForFilter": "Ingen resultater for filter \"{0}: {1}\"",
|
||||
"MessageBookshelfNoResultsForQuery": "Intet resultat for query",
|
||||
"MessageBookshelfNoSeries": "Du har ingen serier",
|
||||
"MessageBulkChapterPattern": "Hvor mange kapitler vil du tilføje med dette nummereringsmønster?",
|
||||
"MessageChapterEndIsAfter": "Kapitelslutningen er efter slutningen af din lydbog",
|
||||
"MessageChapterErrorFirstNotZero": "Første kapitel skal starte ved 0",
|
||||
"MessageChapterErrorStartGteDuration": "Ugyldig starttid skal være mindre end lydbogens varighed",
|
||||
|
|
@ -775,6 +790,7 @@
|
|||
"MessageConfirmRemoveAuthor": "Er du sikker på, at du vil fjerne forfatteren \"{0}\"?",
|
||||
"MessageConfirmRemoveCollection": "Er du sikker på, at du vil fjerne samlingen \"{0}\"?",
|
||||
"MessageConfirmRemoveEpisode": "Er du sikker på, at du vil fjerne episoden \"{0}\"?",
|
||||
"MessageConfirmRemoveEpisodeNote": "Obs: Dette sletter ikke lydfilen medmindre \"Permanent sletning af fil\" er aktiveret",
|
||||
"MessageConfirmRemoveEpisodes": "Er du sikker på, at du vil fjerne {0} episoder?",
|
||||
"MessageConfirmRemoveListeningSessions": "Er du sikker på at du vil fjerne {0} lytte sessioner?",
|
||||
"MessageConfirmRemoveMetadataFiles": "Er du sikker på at du vil fjerne alle metadata.{0} filer i dine biblioteksfoldere?",
|
||||
|
|
@ -800,6 +816,8 @@
|
|||
"MessageFeedURLWillBe": "Feed-URL vil være {0}",
|
||||
"MessageFetching": "Henter...",
|
||||
"MessageForceReScanDescription": "vil scanne alle filer igen som en frisk scanning. Lydfilens ID3-tags, OPF-filer og tekstfiler scannes som nye.",
|
||||
"MessageHeatmapListeningTimeTooltip": "<strong>{0} lytter</strong> på {1}",
|
||||
"MessageHeatmapNoListeningSessions": "Ingen lyttesessioner på {0}",
|
||||
"MessageImportantNotice": "Vigtig besked!",
|
||||
"MessageInsertChapterBelow": "Indsæt kapitel nedenfor",
|
||||
"MessageInvalidAsin": "Ugyldig ASIN",
|
||||
|
|
@ -870,7 +888,7 @@
|
|||
"MessageResetChaptersConfirm": "Er du sikker på, at du vil nulstille kapitler og annullere ændringerne, du har foretaget?",
|
||||
"MessageRestoreBackupConfirm": "Er du sikker på, at du vil gendanne sikkerhedskopien oprettet den",
|
||||
"MessageRestoreBackupWarning": "Gendannelse af en sikkerhedskopi vil overskrive hele databasen, som er placeret på /config, og omslagsbilleder i /metadata/items & /metadata/authors.<br /><br />Sikkerhedskopier ændrer ikke nogen filer i dine biblioteksmapper. Hvis du har aktiveret serverindstillinger for at gemme omslagskunst og metadata i dine biblioteksmapper, sikkerhedskopieres eller overskrives disse ikke.<br /><br />Alle klienter, der bruger din server, opdateres automatisk.",
|
||||
"MessageScheduleLibraryScanNote": "For de fleste brugere, er det anbefalet at efterlade denne funktion deaktiveret for at holde mappe lurer indstilling aktiveret. Mappe lureren vil automatisk opdage ændringer i biblioteksmapper. Mappe lureren virker ikke for alle filsystemer (så som NFS) så schedulerede biblioteksscans vil blive anvendt.",
|
||||
"MessageScheduleLibraryScanNote": "For de fleste brugere er det anbefalet, at efterlade denne funktion deaktiveret, og lade biblioteksovervågeren være aktiveret - den vil automatisk opdage ændringer i dine biblioteksmapper. Aktiver denne funktion, hvis biblioteksovervågeren ikke virker med dit filsystem (f. eks. NFS).",
|
||||
"MessageScheduleRunEveryWeekdayAtTime": "Kør hvert {0} af {1}",
|
||||
"MessageSearchResultsFor": "Søgeresultater for",
|
||||
"MessageSelected": "{0} valgt",
|
||||
|
|
@ -939,6 +957,7 @@
|
|||
"NotificationOnRSSFeedDisabledDescription": "Aktiveret når automatiske episode-downloads er slået fra, på grund af for mange forsøg",
|
||||
"NotificationOnRSSFeedFailedDescription": "Aktiveret når anmodning om RSS-feedet fejler for en automatisk episode-download",
|
||||
"NotificationOnTestDescription": "Event for test af notifikationssystemet",
|
||||
"PlaceholderBulkChapterInput": "Indtast kapiteltitel eller brug nummerering (f.eks. 'Episode 1', 'Kapitel 10', '1.')",
|
||||
"PlaceholderNewCollection": "Nyt samlingnavn",
|
||||
"PlaceholderNewFolderPath": "Ny mappes sti",
|
||||
"PlaceholderNewPlaylist": "Nyt afspilningslistnavn",
|
||||
|
|
@ -992,9 +1011,15 @@
|
|||
"ToastBookmarkCreateFailed": "Mislykkedes oprettelse af bogmærke",
|
||||
"ToastBookmarkCreateSuccess": "Bogmærke tilføjet",
|
||||
"ToastBookmarkRemoveSuccess": "Bogmærke fjernet",
|
||||
"ToastBulkChapterInvalidCount": "Indtast et tal mellem 1 og 150",
|
||||
"ToastCachePurgeFailed": "Fejlede at opryde cache",
|
||||
"ToastCachePurgeSuccess": "Cache ryddet op i succesfuldt",
|
||||
"ToastChapterLocked": "Kapitel er låst.",
|
||||
"ToastChapterStartTimeAdjusted": "Kapitelstarttid justeret med {0} sekunder",
|
||||
"ToastChaptersAllLocked": "Alle kapitler er låst. Lås op for nogle kapitler for at ændre deres tider.",
|
||||
"ToastChaptersHaveErrors": "Kapitler har fejl",
|
||||
"ToastChaptersInvalidShiftAmountLast": "Ugyldig ændring. Det sidste kapitels starttid ville fortsætte længere end varigheden på denne lydbog.",
|
||||
"ToastChaptersInvalidShiftAmountStart": "Ugyldig ændring. Første kapitel ville have en længde på nul eller negativt og ville blive overskrevet af andet kapitel. Udvid startvarigheden på andet kapitel.",
|
||||
"ToastChaptersMustHaveTitles": "Kapitler skal have titler",
|
||||
"ToastChaptersRemoved": "Kapitler fjernet",
|
||||
"ToastChaptersUpdated": "Kapitler opdateret",
|
||||
|
|
@ -1002,6 +1027,7 @@
|
|||
"ToastCollectionRemoveSuccess": "Samling fjernet",
|
||||
"ToastCollectionUpdateSuccess": "Samling opdateret",
|
||||
"ToastConnectionNotAvailable": "Forbindelse mislykkedes. Prøv igen senere",
|
||||
"ToastCoverSearchFailed": "Cover-søgning mislykkedes",
|
||||
"ToastCoverUpdateFailed": "Cover opdatering fejlede",
|
||||
"ToastDateTimeInvalidOrIncomplete": "Dato og tid er ugyldig eller ufærdig",
|
||||
"ToastDeleteFileFailed": "Sletning af fil fejlede",
|
||||
|
|
@ -1051,6 +1077,7 @@
|
|||
"ToastMustHaveAtLeastOnePath": "Skal have mindst en sti",
|
||||
"ToastNameEmailRequired": "Navn og email påkrævet",
|
||||
"ToastNameRequired": "Navn påkrævet",
|
||||
"ToastNewApiKeyUserError": "En bruger skal vælges",
|
||||
"ToastNewEpisodesFound": "{0} nye afsnit fundet",
|
||||
"ToastNewUserCreatedFailed": "Fejlede at oprette konto: \"{0}\"",
|
||||
"ToastNewUserCreatedSuccess": "Ny konto oprettet",
|
||||
|
|
@ -1075,6 +1102,7 @@
|
|||
"ToastPlaylistUpdateSuccess": "Afspilningsliste opdateret",
|
||||
"ToastPodcastCreateFailed": "Mislykkedes oprettelse af podcast",
|
||||
"ToastPodcastCreateSuccess": "Podcast oprettet med succes",
|
||||
"ToastPodcastEpisodeUpdated": "Episode opdateret",
|
||||
"ToastPodcastGetFeedFailed": "Fejlede at hente podcast feed",
|
||||
"ToastPodcastNoEpisodesInFeed": "Ingen nye afsnit fundet i RSS feed",
|
||||
"ToastPodcastNoRssFeed": "Podcast har ingen RSS feed",
|
||||
|
|
@ -1125,5 +1153,13 @@
|
|||
"ToastUserPasswordChangeSuccess": "Password ændret",
|
||||
"ToastUserPasswordMismatch": "Passwords passer ikke sammen",
|
||||
"ToastUserPasswordMustChange": "Nyt password må ikke være det gamle",
|
||||
"ToastUserRootRequireName": "Skal indholde et root brugernavn"
|
||||
"ToastUserRootRequireName": "Skal indholde et root brugernavn",
|
||||
"TooltipAddChapters": "Tilføj kapitler",
|
||||
"TooltipAddOneSecond": "Tilføj 1 sekund",
|
||||
"TooltipAdjustChapterStart": "Klik for at ændre starttiden",
|
||||
"TooltipLockAllChapters": "Lås alle kapitler",
|
||||
"TooltipLockChapter": "Lås kapitel (Shift+click for at markere flere)",
|
||||
"TooltipSubtractOneSecond": "Fratag 1 sekund",
|
||||
"TooltipUnlockAllChapters": "Lås alle kapitaler op",
|
||||
"TooltipUnlockChapter": "Lås kapitel op (Shift+click for at markere flere)"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
"ButtonBack": "Zurück",
|
||||
"ButtonBatchEditPopulateFromExisting": "Auffüllen aus vorhandenem",
|
||||
"ButtonBatchEditPopulateMapDetails": "Kartendetails auffüllen",
|
||||
"ButtonBrowseForFolder": "Ordnersuche",
|
||||
"ButtonBrowseForFolder": "Ordner auswählen",
|
||||
"ButtonCancel": "Abbrechen",
|
||||
"ButtonCancelEncode": "Konvertierung abbrechen",
|
||||
"ButtonChangeRootPassword": "Hauptpasswort ändern",
|
||||
|
|
@ -436,7 +436,7 @@
|
|||
"LabelLibraryFilterSublistEmpty": "Keine {0}",
|
||||
"LabelLibraryItem": "Bibliothekseintrag",
|
||||
"LabelLibraryName": "Bibliotheksname",
|
||||
"LabelLibrarySortByProgress": "Fortschritt: Zuletzt aktualisiert",
|
||||
"LabelLibrarySortByProgress": "Fortschritt: Letzte Aktualisierung",
|
||||
"LabelLibrarySortByProgressFinished": "Fortschritt: Beendet",
|
||||
"LabelLibrarySortByProgressStarted": "Fortschritt: Gestartet",
|
||||
"LabelLimit": "Begrenzung",
|
||||
|
|
|
|||
315
client/strings/el.json
Normal file
315
client/strings/el.json
Normal file
|
|
@ -0,0 +1,315 @@
|
|||
{
|
||||
"ButtonAdd": "Προσθήκη",
|
||||
"ButtonAddApiKey": "Προσθήκη Κλειδιού API",
|
||||
"ButtonAddChapters": "Προσθήκη Κεφαλαίων",
|
||||
"ButtonAddDevice": "Προσθήκη Συσκευής",
|
||||
"ButtonAddLibrary": "Προσθήκη Βιβλιοθήκης",
|
||||
"ButtonAddPodcasts": "Προσθήκη Podcasts",
|
||||
"ButtonAddUser": "Προσθήκη Χρήστη",
|
||||
"ButtonAddYourFirstLibrary": "Πρόσθεσε την πρώτη σου βιβλιοθήκη",
|
||||
"ButtonApply": "Εφαρμογή",
|
||||
"ButtonApplyChapters": "Εφαρμογή Κεφαλαίων",
|
||||
"ButtonAuthors": "Συγγραφείς",
|
||||
"ButtonBack": "Πίσω",
|
||||
"ButtonBatchEditPopulateFromExisting": "Συμπλήρωση από υπάρχοντα",
|
||||
"ButtonBatchEditPopulateMapDetails": "Συμπλήρωση λεπτομερειών χάρτη",
|
||||
"ButtonBrowseForFolder": "Περιήγηση για Φάκελο",
|
||||
"ButtonCancel": "Ακύρωση",
|
||||
"ButtonCancelEncode": "Ακύρωση Κωδικοποίησης",
|
||||
"ButtonChangeRootPassword": "Αλλαγή Κωδικού Πρόσβασης Root",
|
||||
"ButtonCheckAndDownloadNewEpisodes": "Έλεγχος και Κατέβασμα Νέων Επεισοδίων",
|
||||
"ButtonChooseAFolder": "Επιλογή φακέλου",
|
||||
"ButtonChooseFiles": "Επιλογή αρχείων",
|
||||
"ButtonClearFilter": "Διαγραφή Φίλτρου",
|
||||
"ButtonClose": "Κλείσιμο",
|
||||
"ButtonCloseFeed": "Κλείσιμο Τροφοδοσίας",
|
||||
"ButtonCloseSession": "Κλείσιμο Ανοιχτής Συνεδρίας",
|
||||
"ButtonCollections": "Συλλογές",
|
||||
"ButtonConfigureScanner": "Ρύθμιση Παραμέτρων Σαρωτή",
|
||||
"ButtonCreate": "Δημιουργία",
|
||||
"ButtonCreateBackup": "Δημιουργία Αντιγράφου Ασφαλείας",
|
||||
"ButtonDelete": "Διαγραφή",
|
||||
"ButtonDownloadQueue": "Ουρά",
|
||||
"ButtonEdit": "Επεξεργασία",
|
||||
"ButtonEditChapters": "Επεξεργασία Κεφαλαίων",
|
||||
"ButtonEditPodcast": "Επεξεργασία Podcast",
|
||||
"ButtonEnable": "Ενεργοποίηση",
|
||||
"ButtonForceReScan": "Αναγκαστική Επανάληψη Σάρωσης",
|
||||
"ButtonFullPath": "Πλήρης Διαδρομή",
|
||||
"ButtonHide": "Απόκρυψη",
|
||||
"ButtonHome": "Αρχική",
|
||||
"ButtonIssues": "Θέματα",
|
||||
"ButtonJumpBackward": "Μεταπήδηση Πίσω",
|
||||
"ButtonJumpForward": "Μεταπήδηση Μπροστά",
|
||||
"ButtonLatest": "Τελευταία",
|
||||
"ButtonLibrary": "Βιβλιοθήκη",
|
||||
"ButtonLogout": "Αποσύνδεση",
|
||||
"ButtonLookup": "Εύρεση",
|
||||
"ButtonManageTracks": "Διαχείριση Κομματιών",
|
||||
"ButtonMapChapterTitles": "Χαρτογράφηση Τίτλων Κεφαλαίων",
|
||||
"ButtonMatchAllAuthors": "Αντιστοίχιση Όλων των Συγγραφέων",
|
||||
"ButtonMatchBooks": "Αντιστοίχιση Βιβλίων",
|
||||
"ButtonNevermind": "Άστο",
|
||||
"ButtonNext": "Επόμενο",
|
||||
"ButtonNextChapter": "Επόμενο Κεφάλαιο",
|
||||
"ButtonNextItemInQueue": "Επόμενο Αντικείμενο στην Ουρά",
|
||||
"ButtonOk": "Εντάξει",
|
||||
"ButtonOpenFeed": "Άνοιγμα Τροφοδοσίας",
|
||||
"ButtonOpenManager": "Άνοιγμα Διαχειριστή",
|
||||
"ButtonPause": "Παύση",
|
||||
"ButtonPlay": "Αναπαραγωγή",
|
||||
"ButtonPlayAll": "Αναπαραγωγή Όλων",
|
||||
"ButtonPlaying": "Αναπαράγεται",
|
||||
"ButtonPlaylists": "Λίστες Αναπαραγωγής",
|
||||
"ButtonPrevious": "Προηγούμενο",
|
||||
"ButtonPreviousChapter": "Προηγούμενο Κεφάλαιο",
|
||||
"ButtonProbeAudioFile": "Ανάλυση Αρχείου Ήχου",
|
||||
"ButtonPurgeAllCache": "Εκκαθάριση Όλης της Προσωρινής Μνήμης",
|
||||
"ButtonPurgeItemsCache": "Εκκαθάριση της Μνήμης Αντικειμένων",
|
||||
"ButtonQueueAddItem": "Προσθήκη στην ουρά",
|
||||
"ButtonQueueRemoveItem": "Αφαίρεση απ'την ουρά",
|
||||
"ButtonQuickEmbed": "Γρήγορη Ενσωμάτωση",
|
||||
"ButtonQuickEmbedMetadata": "Γρήγορη Ενσωμάτωση Μεταδεδομένων",
|
||||
"ButtonQuickMatch": "Γρήγορη Αντιστοίχηση",
|
||||
"ButtonReScan": "Επανασάρωση",
|
||||
"ButtonRead": "Ανάγνωση",
|
||||
"ButtonReadLess": "Ανάγνωση λιγότερων",
|
||||
"ButtonReadMore": "Διάβασε περισσότερα",
|
||||
"ButtonRefresh": "Ανανέωση",
|
||||
"ButtonRemove": "Αφαίρεση",
|
||||
"ButtonRemoveAll": "Αφαίρεση Όλων",
|
||||
"ButtonRemoveAllLibraryItems": "Αφαίρεση Όλων των Αντικειμέων Βιβλιοθήκης",
|
||||
"ButtonRemoveFromContinueListening": "Αφαίρεση από τη Συνέχεια Ακρόασης",
|
||||
"ButtonRemoveFromContinueReading": "Αφαίρεση από τη Συνέχεια Ανάγνωσης",
|
||||
"ButtonRemoveSeriesFromContinueSeries": "Αφαίρεση Σειράς από τη Συνέχεια Σειράς",
|
||||
"ButtonReset": "Επαναφορά",
|
||||
"ButtonResetToDefault": "Επαναφορά στις προεπιλογές",
|
||||
"ButtonRestore": "Επαναφορά",
|
||||
"ButtonSave": "Αποθήκευση",
|
||||
"ButtonSaveAndClose": "Αποθήκευση και Κλείσιμο",
|
||||
"ButtonSaveTracklist": "Αποθήκευση Λίστας Κομματιών",
|
||||
"ButtonScan": "Σάρψση",
|
||||
"ButtonScanLibrary": "Σάρωση Βιβλιοθήκης",
|
||||
"ButtonScrollLeft": "Κύλιση Αριστερά",
|
||||
"ButtonScrollRight": "Κύλιση Δεξιά",
|
||||
"ButtonSearch": "Αναζήτηση",
|
||||
"ButtonSelectFolderPath": "Επιλογή Διαδρομής Φακέλου",
|
||||
"ButtonSeries": "Σειρά",
|
||||
"ButtonSetChaptersFromTracks": "Ορισμός κεφαλαίων από τα κομμάτια",
|
||||
"ButtonShare": "Κοινοποίηση",
|
||||
"ButtonShiftTimes": "Χρόνοι Μετακίνησης",
|
||||
"ButtonShow": "Εμφάνιση",
|
||||
"ButtonStartM4BEncode": "Έναρξη Κωδικοποίησης M4B",
|
||||
"ButtonStats": "Στατιστικά",
|
||||
"ButtonSubmit": "Υποβολή",
|
||||
"ButtonTest": "Δοκιμή",
|
||||
"ButtonUpload": "Μεταφόρτωση",
|
||||
"ButtonUploadBackup": "Μεταφόρτωση Αντιγράφου Ασφαλείας",
|
||||
"ButtonUploadCover": "Μεταφόρτωση Εξωφύλλου",
|
||||
"ButtonUploadOPMLFile": "Μεταφόρτωση Αρχείου OPML",
|
||||
"ButtonUserDelete": "Διαγραφή Χρήστη {0}",
|
||||
"ButtonUserEdit": "Επεξεργασίας χρήστη {0}",
|
||||
"ButtonViewAll": "Εμφάνιση Όλων",
|
||||
"ButtonYes": "Ναι",
|
||||
"ErrorUploadLacksTitle": "Πρέπει να έχει τίτλο",
|
||||
"HeaderAccount": "Λογαριασμός",
|
||||
"HeaderAdvanced": "Για Προχωρημένους",
|
||||
"HeaderApiKeys": "Κλειδιά API",
|
||||
"HeaderAudioTracks": "Κομμάτια Ήχου",
|
||||
"HeaderBackups": "Αντίγραφα Ασφαλείας",
|
||||
"HeaderBulkChapterModal": "Προσθήκη Πολλαπλών Κεφαλαίων",
|
||||
"HeaderChangePassword": "Αλλαγή Κωδικού Πρόσβασης",
|
||||
"HeaderChapters": "Κεφάλαια",
|
||||
"HeaderChooseAFolder": "Επιλογή Φακέλου",
|
||||
"HeaderCollection": "Συλλογή",
|
||||
"HeaderCollectionItems": "Αντικείμενα Συλλογής",
|
||||
"HeaderCover": "Εξώφυλλο",
|
||||
"HeaderCurrentDownloads": "Τρέχουσες Λήψεις",
|
||||
"HeaderDetails": "Λεπτομέρειες",
|
||||
"HeaderDownloadQueue": "Ουρά Λήψης",
|
||||
"HeaderEbookFiles": "Αρχεία Ebook",
|
||||
"HeaderEmail": "Ηλεκτρονικό Ταχυδρομίο",
|
||||
"HeaderEmailSettings": "Ρυθμίσεις Ηλεκτρονικού Ταχυδρομίου",
|
||||
"HeaderEpisodes": "Επεισόδια",
|
||||
"HeaderEreaderSettings": "Ρυθμίσεις Ereader",
|
||||
"HeaderFiles": "Αρχεία",
|
||||
"HeaderFindChapters": "Εύρεση Κεφαλαίων",
|
||||
"HeaderItemFiles": "Αρχεία Αντικειμένων",
|
||||
"HeaderLastListeningSession": "Τελευταία Συνεδρία Ακρόασης",
|
||||
"HeaderLatestEpisodes": "Τελευταία Επεισόδια",
|
||||
"HeaderLibraries": "Βιβλιοθήκες",
|
||||
"HeaderLibraryFiles": "Αρχεία Βιβλιοθήκης",
|
||||
"HeaderLibraryStats": "Στατιστικά Βιβλιοθήκης",
|
||||
"HeaderListeningSessions": "Συνεδρίες Ακρόασης",
|
||||
"HeaderListeningStats": "Στατιστικά Ακρόασης",
|
||||
"HeaderMatch": "Ταύτιση",
|
||||
"HeaderNewAccount": "Νέος Λογαριασμός",
|
||||
"HeaderNewApiKey": "Νέο Κλειδί API",
|
||||
"HeaderNewLibrary": "Νέα Βιβλιοθήκη",
|
||||
"HeaderNotificationCreate": "Δημιουργία Ειδοποίησης",
|
||||
"HeaderNotificationUpdate": "Ενημέρωση Ειδοποίησης",
|
||||
"HeaderNotifications": "Ειδοποιήσεις",
|
||||
"HeaderOpenRSSFeed": "Άνοιγμα Τροφοδοσίας RSS",
|
||||
"HeaderOtherFiles": "Άλλα Αρχεία",
|
||||
"HeaderPermissions": "Δικαιώματα",
|
||||
"HeaderPlayerSettings": "Ρυθμίσεις Αναπαραγωγής",
|
||||
"HeaderPlaylist": "Λίστα Αναπαραγωγής",
|
||||
"HeaderPlaylistItems": "Αντικείμενα Λίστας Αναπαραγωγής",
|
||||
"HeaderPresets": "Προεπιλογές",
|
||||
"HeaderRSSFeedGeneral": "Λεπτομέρειες RSS",
|
||||
"HeaderRSSFeedIsOpen": "Η Τροφοδοσία RSS είναι Ανοιχτή",
|
||||
"HeaderRemoveEpisode": "Αφαίρεση Επεισοδίου",
|
||||
"HeaderSession": "Συνεδρία",
|
||||
"HeaderSetBackupSchedule": "Ορισμός Προγράμματος Αντιγράφων Ασφαλείας",
|
||||
"HeaderSettings": "Ρυθμίσεις",
|
||||
"HeaderSettingsDisplay": "Προβολή",
|
||||
"HeaderSettingsGeneral": "Γενικά",
|
||||
"HeaderSettingsSecurity": "Ασφάλεια",
|
||||
"HeaderSleepTimer": "Χρονοδιακόπτης Ύπνου",
|
||||
"HeaderStatsLargestItems": "Μεγαλύτερα Αντικείμενα",
|
||||
"HeaderStatsLongestItems": "Μεγαλύτερα Αντικείμενα (ώρες)",
|
||||
"HeaderStatsMinutesListeningChart": "Λεπτά Ακρόασης (τελευταίες 7 ημέρες)",
|
||||
"HeaderStatsRecentSessions": "Πρόσφατες Συνεδρίες",
|
||||
"HeaderStatsTop10Authors": "10 Κορυφαίου Συγγραφείς",
|
||||
"HeaderStatsTop5Genres": "5 Κορυφαία Είδη",
|
||||
"HeaderTableOfContents": "Πίνακας Περιεχομένων",
|
||||
"HeaderTools": "Εργαλεία",
|
||||
"HeaderUpdateAccount": "Ενημέρωση Λογαριασμού",
|
||||
"HeaderUpdateApiKey": "Ενημέρωση Κλειδιού API",
|
||||
"HeaderUpdateAuthor": "Ενημέρωση Συγγραφέα",
|
||||
"HeaderUpdateDetails": "Ενημέρωση Λεπτομερειεών",
|
||||
"HeaderUpdateLibrary": "Ενημέρωση Βιβλιοθήκης",
|
||||
"HeaderUsers": "Χρήστες",
|
||||
"HeaderYourStats": "Τα Στατιστικά Σας",
|
||||
"LabelAbridged": "Συνοπτικό",
|
||||
"LabelAccessibleBy": "Προσβάσιμο από",
|
||||
"LabelAccountType": "Τύπος Λογαριασμού",
|
||||
"LabelAccountTypeAdmin": "Διαχειριστής",
|
||||
"LabelAccountTypeGuest": "Επισκέπτης",
|
||||
"LabelAccountTypeUser": "Χρήστης",
|
||||
"LabelAddToCollection": "Προσθήκη σε Συλλογή",
|
||||
"LabelAddToCollectionBatch": "Προσθήκη {0} Βιβλίων στην Συλλογή",
|
||||
"LabelAddToPlaylist": "Προσθήκη στην Λίστα Αναπαραγωγής",
|
||||
"LabelAddedAt": "Προστέθηκε Στις",
|
||||
"LabelAddedDate": "Προστέθηκε {0}",
|
||||
"LabelAll": "Όλα",
|
||||
"LabelAllEpisodesDownloaded": "Όλα τα επεισόδια λήφθηκαν",
|
||||
"LabelAllUsers": "Όλοι οι Χρήστες",
|
||||
"LabelAlreadyInYourLibrary": "Υπάρχει ήδη στην βιβλιοθήκη",
|
||||
"LabelAudioChannels": "Κανάλια Ήχου (1 ή 2)",
|
||||
"LabelAuthor": "Συγγραφέας",
|
||||
"LabelAuthorFirstLast": "Συγγραφέας (Όνομα Επώνυμο)",
|
||||
"LabelAuthorLastFirst": "Συγγραφέας (Επώνυμο, Όνομα)",
|
||||
"LabelAuthors": "Συγγραφείς",
|
||||
"LabelAutoDownloadEpisodes": "Αυτόματο Κατέβασμα Επεισοδίων",
|
||||
"LabelAutoLaunch": "Αυτόματη Εκκίνηση",
|
||||
"LabelBackupLocation": "Τοποθεσία Αντιγράφου Ασφαλείας",
|
||||
"LabelBackupsEnableAutomaticBackups": "Αυτόματα αντίγραφα ασφαλείας",
|
||||
"LabelBackupsNumberToKeep": "Αριθμός αντιγράφων ασφαλείας προς διατήρηση",
|
||||
"LabelBooks": "Βιβλία",
|
||||
"LabelButtonText": "Κείμενο Κουμπιού",
|
||||
"LabelByAuthor": "κατά {0}",
|
||||
"LabelChangePassword": "Αλλαγή Κωδικού Πρόσβασης",
|
||||
"LabelChannels": "Κανάλια",
|
||||
"LabelChapterCount": "{0} Κεφάλαια",
|
||||
"LabelChapterTitle": "Τίτλος Κεφαλαίου",
|
||||
"LabelChapters": "Κεφάλαια",
|
||||
"LabelChaptersFound": "κεφάλαια βρέθηκαν",
|
||||
"LabelClosePlayer": "Κλείσιμο αναπαραγωγής",
|
||||
"LabelCollection": "Συλλογή",
|
||||
"LabelCollections": "Συλλογές",
|
||||
"LabelComplete": "Ολοκλήρωση",
|
||||
"LabelConfirmPassword": "Επιβεβαίωση Κωδικού Πρόσβασης",
|
||||
"LabelContinueListening": "Συνέχεια Ακρόασης",
|
||||
"LabelContinueReading": "Συνέχεια Ανάγνωσης",
|
||||
"LabelContinueSeries": "Συνέχεια Σειράς",
|
||||
"LabelCover": "Εξώφυλλο",
|
||||
"LabelCoverImageURL": "URL Εικόνας Εξωφύλλου",
|
||||
"LabelCoverProvider": "Πάροχος Εξωφύλλου",
|
||||
"LabelCreatedAt": "Δημιουρήθηκε Στις",
|
||||
"LabelCurrent": "Τρέχων",
|
||||
"LabelCurrently": "Τρέχων:",
|
||||
"LabelDays": "Ημέρες",
|
||||
"LabelDescription": "Περιγραφή",
|
||||
"LabelDevice": "Συσκευή",
|
||||
"LabelDeviceInfo": "Πληροφορίες Συσκευής",
|
||||
"LabelDownload": "Λήψη",
|
||||
"LabelDownloadNEpisodes": "Λήψη {0} επεισοδίων",
|
||||
"LabelDuration": "Διάρκεια",
|
||||
"LabelDurationComparisonExactMatch": "(ακριβής ταύτιση)",
|
||||
"LabelEbook": "Ebook",
|
||||
"LabelEbooks": "Ebooks",
|
||||
"LabelEdit": "Επεξεργασία",
|
||||
"LabelEmail": "Ηλεκτρονικό Ταχυδρομίο",
|
||||
"LabelEmailSettingsFromAddress": "Από Διεύθυνση",
|
||||
"LabelEmailSettingsSecure": "Ασφαλές",
|
||||
"LabelEmailSettingsTestAddress": "Δοκιμή Διεύθυνσης",
|
||||
"LabelEmbeddedCover": "Ενσωματωμένο Εξώφυλλο",
|
||||
"LabelEnable": "Ενεργοποίηση",
|
||||
"LabelEnd": "Τέλος",
|
||||
"LabelEndOfChapter": "Τέλος Κεφαλαίου",
|
||||
"LabelEpisode": "Επεισόδιο",
|
||||
"LabelFile": "Αρχείο",
|
||||
"LabelFilename": "Όνομα Αρχείου",
|
||||
"LabelFinished": "Ολοκληρώθηκε",
|
||||
"LabelFolder": "Φάκελος",
|
||||
"LabelFontFamily": "Οικογένεια Γραμματοσειράς",
|
||||
"LabelGenre": "Είδος",
|
||||
"LabelGenres": "Είδη",
|
||||
"LabelHost": "Διακομιστής",
|
||||
"LabelInProgress": "Σε Εξέλιξη",
|
||||
"LabelLanguage": "Γλώσσα",
|
||||
"LabelLayoutSinglePage": "Μονή Σελίδα",
|
||||
"LabelListenAgain": "Επανάληψη Ακρόασης",
|
||||
"LabelMediaType": "Τύπος Πολυμέσων",
|
||||
"LabelMore": "Περισσότερα",
|
||||
"LabelMoreInfo": "Περισσότερες Πληροφορίες",
|
||||
"LabelName": "Όνομα",
|
||||
"LabelNarrator": "Αφηγητής",
|
||||
"LabelNarrators": "Αφηγητές",
|
||||
"LabelNewestAuthors": "Πρόσφατοι Συγγραφείς",
|
||||
"LabelNewestEpisodes": "Πρόσφατα Επεισόδια",
|
||||
"LabelNotStarted": "Δεν Έχει Ξεκινήσει",
|
||||
"LabelNumberOfEpisodes": "# Επεισοδίων",
|
||||
"LabelPassword": "Κωδικός Πρόσβασης",
|
||||
"LabelPath": "Διαδρομή",
|
||||
"LabelProgress": "Πρόοδος",
|
||||
"LabelPublishYear": "Χρονολογία Έκδοσης",
|
||||
"LabelPublishedDate": "Εκδόθηκε {0}",
|
||||
"LabelRandomly": "Τυχαία",
|
||||
"LabelRead": "Ανάγνωση",
|
||||
"LabelReadAgain": "Ανάγνωση Ξανά",
|
||||
"LabelRecentSeries": "Πρόσφατη Σειρά",
|
||||
"LabelRecentlyAdded": "Προστέθηκαν Πρόσφατα",
|
||||
"LabelSeries": "Σειρά",
|
||||
"LabelSetEbookAsPrimary": "Ορισμός ως πρωτεύων",
|
||||
"LabelShowAll": "Εμφάνιση Όλων",
|
||||
"LabelSize": "Μέγεθος",
|
||||
"LabelSleepTimer": "Χρονοδιακόπτης Ύπνου",
|
||||
"LabelStart": "Έναρξη",
|
||||
"LabelStatsBestDay": "Καλύτερη Ημέρα",
|
||||
"LabelStatsDailyAverage": "Ημερήσιος Μέσος Όρος",
|
||||
"LabelStatsDays": "Ημέρες",
|
||||
"LabelStatsDaysListened": "Ημέρες Ακρόασης",
|
||||
"LabelStatsInARow": "Σε σειρά",
|
||||
"LabelStatsItemsFinished": "Ολοκληρωμένα Αντικείμενα",
|
||||
"LabelStatsMinutes": "λεπτά",
|
||||
"LabelStatsMinutesListening": "Λεπτά Ακρόασης",
|
||||
"LabelStatsWeekListening": "Εβδομαδιαία Ακρόαση",
|
||||
"LabelTheme": "Θέμα",
|
||||
"LabelThemeDark": "Σκοτεινό",
|
||||
"LabelThemeLight": "Φωτεινό",
|
||||
"LabelTimeRemaining": "{0} απομένουν",
|
||||
"LabelTitle": "Τίτλος",
|
||||
"LabelTracks": "Κομμάτια",
|
||||
"LabelType": "Τύπος",
|
||||
"LabelUnknown": "Άγνωστο",
|
||||
"LabelUser": "Χρήστης",
|
||||
"LabelUsername": "Όνομα Χρήστη",
|
||||
"LabelYourProgress": "Η Πρόοδος Σας",
|
||||
"MessageDownloadingEpisode": "Λήψη επεισοδίου",
|
||||
"MessageLoading": "Φόρτωση...",
|
||||
"MessageMarkAsFinished": "Σήμανση ως Ολοκληρωμένο",
|
||||
"MessageNoItemsFound": "Δεν βρέθηκαν αντικείμενα",
|
||||
"MessageNoUserPlaylists": "Δεν έχετε λίστες αναπαραγωγής"
|
||||
}
|
||||
|
|
@ -242,6 +242,10 @@
|
|||
"LabelAllUsersExcludingGuests": "Todos los usuarios excepto invitados",
|
||||
"LabelAllUsersIncludingGuests": "Todos los usuarios e invitados",
|
||||
"LabelAlreadyInYourLibrary": "Ya existe en la Biblioteca",
|
||||
"LabelApiKeyCreated": "La clave de API “{0}” se ha creado con éxito.",
|
||||
"LabelApiKeyCreatedDescription": "Asegúrate de copiar la clave de API ahora, no la volverás a ver otra vez.",
|
||||
"LabelApiKeyUser": "Actuar en nombre del usuario",
|
||||
"LabelApiKeyUserDescription": "Esta clave de API tendrá los mismos permisos que el usuario al que representa. En los registros se verá como si la solicitud la hubiera hecho el usuario directamente.",
|
||||
"LabelApiToken": "Token de la API",
|
||||
"LabelAppend": "Adjuntar",
|
||||
"LabelAudioBitrate": "Tasa de bits del audio (por ejemplo, 128k)",
|
||||
|
|
@ -271,7 +275,7 @@
|
|||
"LabelBonus": "Bonus",
|
||||
"LabelBooks": "Libros",
|
||||
"LabelButtonText": "Texto del botón",
|
||||
"LabelByAuthor": "por {0}",
|
||||
"LabelByAuthor": "por",
|
||||
"LabelChangePassword": "Cambiar contraseña",
|
||||
"LabelChannels": "Canales",
|
||||
"LabelChapterCount": "{0} capítulos",
|
||||
|
|
@ -291,6 +295,7 @@
|
|||
"LabelContinueListening": "Seguir escuchando",
|
||||
"LabelContinueReading": "Continuar leyendo",
|
||||
"LabelContinueSeries": "Continuar series",
|
||||
"LabelCorsAllowed": "Orígenes CORS Permitidos",
|
||||
"LabelCover": "Cubierta",
|
||||
"LabelCoverImageURL": "URL de imagen de cubierta",
|
||||
"LabelCoverProvider": "Proveedor de cubiertas",
|
||||
|
|
@ -354,6 +359,10 @@
|
|||
"LabelExample": "Ejemplo",
|
||||
"LabelExpandSeries": "Ampliar serie",
|
||||
"LabelExpandSubSeries": "Expandir la subserie",
|
||||
"LabelExpired": "Expirado",
|
||||
"LabelExpiresAt": "Expira El",
|
||||
"LabelExpiresInSeconds": "Expira en (segundos)",
|
||||
"LabelExpiresNever": "Nunca",
|
||||
"LabelExplicit": "Explícito",
|
||||
"LabelExplicitChecked": "Explícito (marcado)",
|
||||
"LabelExplicitUnchecked": "No Explícito (sin marcar)",
|
||||
|
|
@ -524,7 +533,7 @@
|
|||
"LabelPublishers": "Editores",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Correo electrónico de dueño personalizado",
|
||||
"LabelRSSFeedCustomOwnerName": "Nombre de dueño personalizado",
|
||||
"LabelRSSFeedOpen": "Suministro RSS abierto",
|
||||
"LabelRSSFeedOpen": "Fuente RSS Abierta",
|
||||
"LabelRSSFeedPreventIndexing": "Evitar indización",
|
||||
"LabelRSSFeedSlug": "«Slug» de suministro RSS",
|
||||
"LabelRSSFeedURL": "URL de suministro RSS",
|
||||
|
|
@ -768,6 +777,7 @@
|
|||
"MessageConfirmRemoveAuthor": "¿Confirma que quiere quitar el autor «{0}»?",
|
||||
"MessageConfirmRemoveCollection": "¿Confirma que quiere quitar la colección «{0}»?",
|
||||
"MessageConfirmRemoveEpisode": "¿Confirma que quiere quitar el episodio «{0}»?",
|
||||
"MessageConfirmRemoveEpisodeNote": "Nota: Esto no borra el archivo de audio a menos que se active la opción \"Borrado definitivo del archivo\"",
|
||||
"MessageConfirmRemoveEpisodes": "¿Confirma que quiere quitar {0} episodios?",
|
||||
"MessageConfirmRemoveListeningSessions": "¿Confirma que quiere quitar {0} sesiones de escucha?",
|
||||
"MessageConfirmRemoveMetadataFiles": "¿Confirma que quiere quitar todos los archivos metadata.{0} en las carpetas de elementos de su biblioteca?",
|
||||
|
|
@ -929,6 +939,8 @@
|
|||
"NotificationOnBackupCompletedDescription": "Se activa cuando se completa una copia de seguridad",
|
||||
"NotificationOnBackupFailedDescription": "Se activa cuando falla una copia de seguridad",
|
||||
"NotificationOnEpisodeDownloadedDescription": "Se activa cuando se descarga automáticamente un episodio de un podcast",
|
||||
"NotificationOnRSSFeedDisabledDescription": "Se activa cuando las descargas automáticas de episodios se desactivan debido a varios intentos fallidos",
|
||||
"NotificationOnRSSFeedFailedDescription": "Se activa cuando la solicitud a la fuente RSS falla durante una descarga automática de episodio",
|
||||
"NotificationOnTestDescription": "Evento para probar el sistema de notificaciones",
|
||||
"PlaceholderBulkChapterInput": "Ingrese título de capítulo o use numeración (ej. 'Episodio 1', 'Capítulo 10', '1.')",
|
||||
"PlaceholderNewCollection": "Nuevo nombre de la colección",
|
||||
|
|
@ -1067,6 +1079,7 @@
|
|||
"ToastPlaylistUpdateSuccess": "Lista de reproducción actualizada",
|
||||
"ToastPodcastCreateFailed": "No se pudo crear el pódcast",
|
||||
"ToastPodcastCreateSuccess": "Se creó el pódcast correctamente",
|
||||
"ToastPodcastEpisodeUpdated": "Episodio actualizado",
|
||||
"ToastPodcastGetFeedFailed": "No se puede obtener el podcast",
|
||||
"ToastPodcastNoEpisodesInFeed": "No se han encontrado episodios en el feed del RSS",
|
||||
"ToastPodcastNoRssFeed": "El pódcast no tiene suministro RSS",
|
||||
|
|
|
|||
|
|
@ -275,7 +275,7 @@
|
|||
"LabelBonus": "Bonus",
|
||||
"LabelBooks": "Kirjat",
|
||||
"LabelButtonText": "Painikkeen teksti",
|
||||
"LabelByAuthor": "tekijältä {0}",
|
||||
"LabelByAuthor": "Tekijältä: {0}",
|
||||
"LabelChangePassword": "Vaihda salasana",
|
||||
"LabelChannels": "Kanavat",
|
||||
"LabelChapterCount": "{0} lukua",
|
||||
|
|
@ -790,6 +790,7 @@
|
|||
"MessageConfirmRemoveAuthor": "Oletko varma, että haluat poistaa tekijän \"{0}\"?",
|
||||
"MessageConfirmRemoveCollection": "Oletko varma, että haluat poistaa kokoelman \"{0}\"?",
|
||||
"MessageConfirmRemoveEpisode": "Oletko varma, että haluat poistaa jakson \"{0}\"?",
|
||||
"MessageConfirmRemoveEpisodeNote": "Huomioi: Tämä ei poista äänitiedostoa, ellei \"Poista tiedosto pysyvästi\" -asetusta ole valittuna",
|
||||
"MessageConfirmRemoveEpisodes": "Oletko varma, että haluat poistaa {0} jaksoa?",
|
||||
"MessageConfirmRemoveListeningSessions": "Oletko varma, että haluat poistaa {0} kuuntelukertaa?",
|
||||
"MessageConfirmRemoveMetadataFiles": "Oletko varma, että haluat poistaa kaikki metadata.{0}-tiedostot kirjaston kohdekansioista?",
|
||||
|
|
@ -815,6 +816,8 @@
|
|||
"MessageFeedURLWillBe": "Syötteen URL tulee olemaan {0}",
|
||||
"MessageFetching": "Haetaan...",
|
||||
"MessageForceReScanDescription": "skannaa kaikki tiedostot uudelleen kuten uusi tarkistus. Äänitiedoston ID3-tunnisteet, OPF-tiedostot ja tekstitiedostot skannataan uusina.",
|
||||
"MessageHeatmapListeningTimeTooltip": "<strong>{0} kuunnellaan</strong> on {1}",
|
||||
"MessageHeatmapNoListeningSessions": "Ei kuuntelujaksoja {0}",
|
||||
"MessageImportantNotice": "Tärkeä huomautus!",
|
||||
"MessageInsertChapterBelow": "Syötä luku alle",
|
||||
"MessageInvalidAsin": "Virheellinen ASIN",
|
||||
|
|
@ -885,10 +888,11 @@
|
|||
"MessageResetChaptersConfirm": "Oletko varma, että haluat nollata luvut ja kumota tekemäsi muutokset?",
|
||||
"MessageRestoreBackupConfirm": "Oletko varma, että haluat palauttaa varmuuskopion, joka on luotu",
|
||||
"MessageRestoreBackupWarning": "Varmuuskopion palauttaminen korvaa koko /config:ssa sijaitsevan tietokannan, ja kansikuvat /metadata/items & /metadata/authors:ssa.<br /><br />Varmuuskopiot eivät muuta kirjastokansioissasi olevia tiedostoja. Jos olet ottanut käyttöön palvelinasetuksissa kansikuvien ja metatietojen tallentamisen kirjaston kansioihin, niitä ei varmuuskopioida tai korvata.<br /><br />Kaikki palvelintasi käyttävät asiakkaat virkistetään automaattisesti.",
|
||||
"MessageScheduleLibraryScanNote": "Suurimmalle osaa käyttäjistä on suositeltavaa jättää tämä ominaisuus pois päältä ja säilyttää kansiotarkkailu päällä. Kansiotarkkailu havaitsee automaattisesti tiedostomuutokset kirjaston kansioissa. Kansiotarkkailu ei toimi kaikille tiedostojärjestelmille (kuten NFS), jolloin voidaan käyttää ajastettuja kirjastoskannauksia.",
|
||||
"MessageScheduleLibraryScanNote": "Suurimmalle osaa käyttäjistä on suositeltavaa jättää tämä ominaisuus pois päältä ja \"Tarkkaile kirjaston muutoksia automaattisesti\" -asetus pidetään käytössä - se havaitsee muutokset kirjastokansioissasi automaattisesti. Ota tämä ominaisuus käyttöön, jos \"Tarkkaile kirjaston muutoksia automaattisesti\" ei toimi tiedostojärjestelmässäsi (kuten NFS).",
|
||||
"MessageScheduleRunEveryWeekdayAtTime": "Suorita joka {0} klo {1}",
|
||||
"MessageSearchResultsFor": "Hakutulokset haulle",
|
||||
"MessageSelected": "{0} valittuna",
|
||||
"MessageSeriesSequenceCannotContainSpaces": "Sarjan sekvenssi ei voi sisältää välilyöntejä",
|
||||
"MessageServerCouldNotBeReached": "Palvelimelle ei saatu yhteyttä",
|
||||
"MessageSetChaptersFromTracksDescription": "Aseta luvut käyttämällä kutakin äänitiedostoa lukuna ja luvun otsikkoa äänitiedoston nimenä",
|
||||
"MessageShareExpirationWillBe": "Umpeutuminen on <strong>{0}</strong>",
|
||||
|
|
@ -930,7 +934,7 @@
|
|||
"MessageTaskScanningFileChanges": "Tarkastetaan tiedoston muutoksia \"{0}\":sta",
|
||||
"MessageTaskScanningLibrary": "Tarkastetaan kirjastoa \"{0}\"",
|
||||
"MessageTaskTargetDirectoryNotWritable": "Kohdehakemisto ei ole kirjoitettava",
|
||||
"MessageThinking": "Ajattellaan...",
|
||||
"MessageThinking": "Ajatellaan...",
|
||||
"MessageUploaderItemFailed": "Lataaminen ulospäin epäonnistui",
|
||||
"MessageUploaderItemSuccess": "Onnistuneesti ladattu! ulospäin!",
|
||||
"MessageUploading": "Ladataan! ulospäin...",
|
||||
|
|
@ -950,7 +954,10 @@
|
|||
"NotificationOnBackupCompletedDescription": "Laukaistu, kun varmuuskopiointi on valmis",
|
||||
"NotificationOnBackupFailedDescription": "Laukaistu, kun varmuuskopiointi epäonnistuu",
|
||||
"NotificationOnEpisodeDownloadedDescription": "Laukaistu, kun podcast-jakso ladataan automaattisesti",
|
||||
"NotificationOnRSSFeedDisabledDescription": "Laukaistaan, kun automaattiset jaksolataukset poistetaan käytöstä liian monen epäonnistuneen yrityksen vuoksi",
|
||||
"NotificationOnRSSFeedFailedDescription": "Laukaistaan, kun RRS-syötteen pyyntö epäonnistuu automaattisessa jaksolatauksessa",
|
||||
"NotificationOnTestDescription": "Tapahtuma ilmoitusjärjestelmän testaamista varten",
|
||||
"PlaceholderBulkChapterInput": "Syötä luvun otsikko tai käytä numerointia (esim. 'Episodi 1', 'Luku 10', '1.')",
|
||||
"PlaceholderNewCollection": "Uusi kokoelman nimi",
|
||||
"PlaceholderNewFolderPath": "Uusi kansion polku",
|
||||
"PlaceholderNewPlaylist": "Uusi soittolistan nimi",
|
||||
|
|
@ -1004,15 +1011,23 @@
|
|||
"ToastBookmarkCreateFailed": "Kirjanmerkin luominen epäonnistui",
|
||||
"ToastBookmarkCreateSuccess": "Kirjanmerkki lisätty",
|
||||
"ToastBookmarkRemoveSuccess": "Kirjanmerkki poistettu",
|
||||
"ToastBulkChapterInvalidCount": "Syötä numero 1 ja 150 välillä",
|
||||
"ToastCachePurgeFailed": "Välimuistin tyhjentäminen epäonnistui",
|
||||
"ToastCachePurgeSuccess": "Välimuisti tyhjennetty onnistuneesti",
|
||||
"ToastChapterLocked": "Luku on lukittu.",
|
||||
"ToastChapterStartTimeAdjusted": "Luvun aloitusaikaa on säädetty {0} sekunnilla",
|
||||
"ToastChaptersAllLocked": "Kaikki luvut ovat lukittuina. Avaa lukuja vaihtaaksesi niiden aikoja.",
|
||||
"ToastChaptersHaveErrors": "Luvuissa on virheitä",
|
||||
"ToastChaptersInvalidShiftAmountLast": "Virheellinen siirtomäärä. Viimeisen luvun aloitusaika ylittäisi tämän äänikirjan keston.",
|
||||
"ToastChaptersInvalidShiftAmountStart": "Virheellinen siirtomäärä. Ensimmäisen luvun pituudeksi tulisi nolla tai negatiivinen arvo, ja toinen luku kirjoittaisi sen päälle. Kasvata toisen luvun aloitusaikaa.",
|
||||
"ToastChaptersMustHaveTitles": "Lukuilla on oltava otsikot",
|
||||
"ToastChaptersRemoved": "Luvut poistettu",
|
||||
"ToastChaptersUpdated": "Luvut päivitetty",
|
||||
"ToastCollectionItemsAddFailed": "Kohteen/kohteiden lisääminen kokoelmaan epäonnistui",
|
||||
"ToastCollectionRemoveSuccess": "Kokoelma poistettu",
|
||||
"ToastCollectionUpdateSuccess": "Kokoelma päivitetty",
|
||||
"ToastConnectionNotAvailable": "Verkkoyhteyttä ei saatavilla. Yritä hetken päästä uudelleen",
|
||||
"ToastCoverSearchFailed": "Kansikuvan haku epäonnistui",
|
||||
"ToastCoverUpdateFailed": "Kansikuvan päivitys epäonnistui",
|
||||
"ToastDateTimeInvalidOrIncomplete": "Päivämäärä ja aika ovat epäkelvolliset tai puutteelliset",
|
||||
"ToastDeleteFileFailed": "Tiedoston poistaminen epäonnistui",
|
||||
|
|
@ -1028,6 +1043,8 @@
|
|||
"ToastEpisodeDownloadQueueClearSuccess": "Jakson latausjono tyhjennetty",
|
||||
"ToastEpisodeUpdateSuccess": "{0} jaksoa päivitetty",
|
||||
"ToastErrorCannotShare": "Ei voi jakaa alkuperäisesti tällä laitteella",
|
||||
"ToastFailedToCreate": "Luonti epäonnistui",
|
||||
"ToastFailedToDelete": "Poisto epäonnistui",
|
||||
"ToastFailedToLoadData": "Tietojen lataaminen epäonnistui",
|
||||
"ToastFailedToMatch": "Vastaaminen epäonnistui",
|
||||
"ToastFailedToShare": "Jakaminen epäonnistui",
|
||||
|
|
@ -1035,6 +1052,7 @@
|
|||
"ToastInvalidImageUrl": "Epäkelvollinen kuvan URL-osoite",
|
||||
"ToastInvalidMaxEpisodesToDownload": "Ladattavien jaksojen enimmäismäärä on epäkelvollinen",
|
||||
"ToastInvalidUrl": "Epäkelvollinen URL-osoite",
|
||||
"ToastInvalidUrls": "Yksi tai useampi URL on virheellinen",
|
||||
"ToastItemCoverUpdateSuccess": "Kohteen kansikuva päivitetty",
|
||||
"ToastItemDeletedFailed": "Kohteen poistaminen epäonnistui",
|
||||
"ToastItemDeletedSuccess": "Poistettu kohde",
|
||||
|
|
@ -1059,6 +1077,7 @@
|
|||
"ToastMustHaveAtLeastOnePath": "On oltava vähintään yksi polku",
|
||||
"ToastNameEmailRequired": "Nimi ja sähköpostiosoite vaaditaan",
|
||||
"ToastNameRequired": "Nimi vaaditaan",
|
||||
"ToastNewApiKeyUserError": "Täytyy valita käyttäjä",
|
||||
"ToastNewEpisodesFound": "{0} uutta jaksoa löydetty",
|
||||
"ToastNewUserCreatedFailed": "Tilin \"{0}\" luominen epäonnistui",
|
||||
"ToastNewUserCreatedSuccess": "Uusi tili luotu",
|
||||
|
|
@ -1083,6 +1102,7 @@
|
|||
"ToastPlaylistUpdateSuccess": "Soittolista päivitetty",
|
||||
"ToastPodcastCreateFailed": "Podcastin luominen epäonnistui",
|
||||
"ToastPodcastCreateSuccess": "Podcastin luominen onnistui",
|
||||
"ToastPodcastEpisodeUpdated": "Episodi päivitetty",
|
||||
"ToastPodcastGetFeedFailed": "Podcast-syötteen saaminen epäonnistui",
|
||||
"ToastPodcastNoEpisodesInFeed": "RSS-syötteestä ei löytynyt jaksoja",
|
||||
"ToastPodcastNoRssFeed": "Podcastilla ei ole RSS-syötettä",
|
||||
|
|
@ -1133,5 +1153,13 @@
|
|||
"ToastUserPasswordChangeSuccess": "Salasana vaihdettu onnistuneesti",
|
||||
"ToastUserPasswordMismatch": "Salasanat eivät täsmää",
|
||||
"ToastUserPasswordMustChange": "Uusi salasana ei voi olla sama kuin vanha salasana",
|
||||
"ToastUserRootRequireName": "Pääkäyttäjän nimi on pakollinen"
|
||||
"ToastUserRootRequireName": "Pääkäyttäjän nimi on pakollinen",
|
||||
"TooltipAddChapters": "Lisää luku tai lukuja",
|
||||
"TooltipAddOneSecond": "Lisää 1 sekunti",
|
||||
"TooltipAdjustChapterStart": "Napauta säätääksesi aloitusaikaa",
|
||||
"TooltipLockAllChapters": "Lukitse kaikki luvut",
|
||||
"TooltipLockChapter": "Lukitse luku (Shift+napauta valitaksesi alueen)",
|
||||
"TooltipSubtractOneSecond": "Vähennä 1 sekunti",
|
||||
"TooltipUnlockAllChapters": "Avaa kaikki luvut",
|
||||
"TooltipUnlockChapter": "Avaa luku (Shift+napauta valitaksesi alueen)"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -275,7 +275,7 @@
|
|||
"LabelBonus": "Bonus",
|
||||
"LabelBooks": "Livres",
|
||||
"LabelButtonText": "Texte du bouton",
|
||||
"LabelByAuthor": "par {0}",
|
||||
"LabelByAuthor": "de {0}",
|
||||
"LabelChangePassword": "Modifier le mot de passe",
|
||||
"LabelChannels": "Canaux",
|
||||
"LabelChapterCount": "{0} Chapitres",
|
||||
|
|
@ -436,11 +436,11 @@
|
|||
"LabelLibraryFilterSublistEmpty": "Aucun {0}",
|
||||
"LabelLibraryItem": "Élément de bibliothèque",
|
||||
"LabelLibraryName": "Nom de la bibliothèque",
|
||||
"LabelLibrarySortByProgress": "Progression : dernière mise à jour",
|
||||
"LabelLibrarySortByProgress": "Progression : Mise à jour",
|
||||
"LabelLibrarySortByProgressFinished": "Progression : Terminé",
|
||||
"LabelLibrarySortByProgressStarted": "Progression : Commencé",
|
||||
"LabelLibrarySortByProgressStarted": "Progression : En cours",
|
||||
"LabelLimit": "Limite",
|
||||
"LabelLineSpacing": "Espacement des lignes",
|
||||
"LabelLineSpacing": "Interligne",
|
||||
"LabelListenAgain": "Écouter à nouveau",
|
||||
"LabelLogLevelDebug": "Débogage",
|
||||
"LabelLogLevelInfo": "Info",
|
||||
|
|
@ -961,8 +961,8 @@
|
|||
"PlaceholderNewCollection": "Nom de la nouvelle collection",
|
||||
"PlaceholderNewFolderPath": "Nouveau chemin de dossier",
|
||||
"PlaceholderNewPlaylist": "Nouveau nom de liste de lecture",
|
||||
"PlaceholderSearch": "Recherche…",
|
||||
"PlaceholderSearchEpisode": "Rechercher un épisode..",
|
||||
"PlaceholderSearch": "Recherche...",
|
||||
"PlaceholderSearchEpisode": "Rechercher un épisode…",
|
||||
"StatsAuthorsAdded": "auteurs ajoutés",
|
||||
"StatsBooksAdded": "livres ajoutés",
|
||||
"StatsBooksAdditional": "Les ajouts comprennent…",
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@
|
|||
"ButtonRemove": "הסר",
|
||||
"ButtonRemoveAll": "הסר הכל",
|
||||
"ButtonRemoveAllLibraryItems": "הסר את כל פריטי הספרייה",
|
||||
"ButtonRemoveFromContinueListening": "הסר מ- המשך האזנה",
|
||||
"ButtonRemoveFromContinueListening": "הסר מ״המשך האזנה״",
|
||||
"ButtonRemoveFromContinueReading": "הסר מ- המשך קריאה",
|
||||
"ButtonRemoveSeriesFromContinueSeries": "הסר סדרה מ- המשך סדרה",
|
||||
"ButtonReset": "איפוס",
|
||||
|
|
@ -121,11 +121,13 @@
|
|||
"HeaderAccount": "חשבון",
|
||||
"HeaderAddCustomMetadataProvider": "הוסף ספק מטא-נתונים מותאם אישית",
|
||||
"HeaderAdvanced": "מתקדם",
|
||||
"HeaderApiKeys": "מפתחות API",
|
||||
"HeaderAppriseNotificationSettings": "הגדרות התראות של Apprise",
|
||||
"HeaderAudioTracks": "רצועות קול",
|
||||
"HeaderAudiobookTools": "כלים לניהול קבצי ספרים קוליים",
|
||||
"HeaderAuthentication": "אימות",
|
||||
"HeaderBackups": "גיבויים",
|
||||
"HeaderBulkChapterModal": "הוסף מספר פרקים",
|
||||
"HeaderChangePassword": "שנה סיסמה",
|
||||
"HeaderChapters": "פרקים",
|
||||
"HeaderChooseAFolder": "בחר תיקייה",
|
||||
|
|
@ -164,6 +166,7 @@
|
|||
"HeaderMetadataOrderOfPrecedence": "סדר העדפת מטא-נתונים",
|
||||
"HeaderMetadataToEmbed": "מטא-נתונים להטמעה",
|
||||
"HeaderNewAccount": "חשבון חדש",
|
||||
"HeaderNewApiKey": "מפתח API חדש",
|
||||
"HeaderNewLibrary": "ספרייה חדשה",
|
||||
"HeaderNotificationCreate": "צור התראה",
|
||||
"HeaderNotificationUpdate": "עדכון התראה",
|
||||
|
|
@ -197,6 +200,7 @@
|
|||
"HeaderSettingsExperimental": "תכונות ניסיוניות",
|
||||
"HeaderSettingsGeneral": "כללי",
|
||||
"HeaderSettingsScanner": "סורק",
|
||||
"HeaderSettingsSecurity": "אבטחה",
|
||||
"HeaderSettingsWebClient": "מערך",
|
||||
"HeaderSleepTimer": "טיימר שינה",
|
||||
"HeaderStatsLargestItems": "הפריטים הגדולים ביותר",
|
||||
|
|
@ -208,6 +212,7 @@
|
|||
"HeaderTableOfContents": "תוכן עניינים",
|
||||
"HeaderTools": "כלים",
|
||||
"HeaderUpdateAccount": "עדכן חשבון",
|
||||
"HeaderUpdateApiKey": "עדכן מפתח API",
|
||||
"HeaderUpdateAuthor": "עדכן יוצר",
|
||||
"HeaderUpdateDetails": "עדכן פרטים",
|
||||
"HeaderUpdateLibrary": "עדכן ספרייה",
|
||||
|
|
@ -237,6 +242,10 @@
|
|||
"LabelAllUsersExcludingGuests": "כל המשתמשים, ללא אורחים",
|
||||
"LabelAllUsersIncludingGuests": "כל המשתמשים כולל אורחים",
|
||||
"LabelAlreadyInYourLibrary": "כבר קיים בספרייה שלך",
|
||||
"LabelApiKeyCreated": "מפתח API ״{0}״ נוצר בהצלחה.",
|
||||
"LabelApiKeyCreatedDescription": "אנא העתק את מפתח ה־API כעת, לא ניתן יהיה להציגו שוב.",
|
||||
"LabelApiKeyUser": "פעל בשם המשתמש",
|
||||
"LabelApiKeyUserDescription": "למפתח ה־API יהיו הרשאות זהות למשתמש שעל שמו הוא פועל. ביומני הרישום (logs), הפעולות יופיעו כאילו בוצעו על ידי המשתמש עצמו.",
|
||||
"LabelApiToken": "טוקן API",
|
||||
"LabelAppend": "הוסף לסוף",
|
||||
"LabelAudioBitrate": "קצב סיביות (לדוגמא 128k)",
|
||||
|
|
@ -286,6 +295,7 @@
|
|||
"LabelContinueListening": "המשך האזנה",
|
||||
"LabelContinueReading": "המשך קריאה",
|
||||
"LabelContinueSeries": "המשך סדרה",
|
||||
"LabelCorsAllowed": "מקורות CORS מורשים",
|
||||
"LabelCover": "כריכה",
|
||||
"LabelCoverImageURL": "כתובת התמונה ברשת",
|
||||
"LabelCoverProvider": "ספק כריכה",
|
||||
|
|
@ -299,6 +309,7 @@
|
|||
"LabelDeleteFromFileSystemCheckbox": "מחיקה מהמערכת הקבצים (הסר סימון למחיקה רק ממסד הנתונים)",
|
||||
"LabelDescription": "תיאור",
|
||||
"LabelDeselectAll": "הסר בחירת כל הפריטים",
|
||||
"LabelDetectedPattern": "תבנית שזוהתה:",
|
||||
"LabelDevice": "התקן",
|
||||
"LabelDeviceInfo": "מידע על התקן",
|
||||
"LabelDeviceIsAvailableTo": "התקן זמין ל...",
|
||||
|
|
@ -348,6 +359,10 @@
|
|||
"LabelExample": "דוגמה",
|
||||
"LabelExpandSeries": "הרחב סדרה",
|
||||
"LabelExpandSubSeries": "הרחב תת סדרה",
|
||||
"LabelExpired": "פג תוקף",
|
||||
"LabelExpiresAt": "יפוג בתאריך",
|
||||
"LabelExpiresInSeconds": "יפוג בעוד (שניות)",
|
||||
"LabelExpiresNever": "ללא הגבלת זמן",
|
||||
"LabelExplicit": "מפורש",
|
||||
"LabelExplicitChecked": "בוטה (מסומן)",
|
||||
"LabelExplicitUnchecked": "לא בוטה (לא מסומן)",
|
||||
|
|
@ -363,6 +378,7 @@
|
|||
"LabelFilterByUser": "סינון לפי משתמש",
|
||||
"LabelFindEpisodes": "מצא פרקים",
|
||||
"LabelFinished": "הושלם",
|
||||
"LabelFinishedDate": "הושלם {0}",
|
||||
"LabelFolder": "תיקייה",
|
||||
"LabelFolders": "תיקיות",
|
||||
"LabelFontBold": "מודגש",
|
||||
|
|
@ -407,6 +423,7 @@
|
|||
"LabelLanguages": "שפות",
|
||||
"LabelLastBookAdded": "הספר האחרון שנוסף",
|
||||
"LabelLastBookUpdated": "הספר האחרון שעודכן",
|
||||
"LabelLastProgressDate": "התקדמות אחרונה: {0}",
|
||||
"LabelLastSeen": "נראה לאחרונה",
|
||||
"LabelLastTime": "הזמן האחרון",
|
||||
"LabelLastUpdate": "עדכון אחרון",
|
||||
|
|
@ -419,6 +436,9 @@
|
|||
"LabelLibraryFilterSublistEmpty": "לא {0}",
|
||||
"LabelLibraryItem": "פריט ספרייה",
|
||||
"LabelLibraryName": "שם הספרייה",
|
||||
"LabelLibrarySortByProgress": "התקדמות: עודכן לאחרונה",
|
||||
"LabelLibrarySortByProgressFinished": "התקדמות: הושלם",
|
||||
"LabelLibrarySortByProgressStarted": "התקדמות: הותחל",
|
||||
"LabelLimit": "מגבלה",
|
||||
"LabelLineSpacing": "מרווח שורה",
|
||||
"LabelListenAgain": "האזן שוב",
|
||||
|
|
@ -427,6 +447,7 @@
|
|||
"LabelLogLevelWarn": "אזהרה",
|
||||
"LabelLookForNewEpisodesAfterDate": "חפש פרקים חדשים לאחר תאריך זה",
|
||||
"LabelLowestPriority": "העדיפות הנמוכה ביותר",
|
||||
"LabelMatchConfidence": "רמת ודאות",
|
||||
"LabelMatchExistingUsersBy": "התאם משתמשים קיימים לפי",
|
||||
"LabelMatchExistingUsersByDescription": "משמש לחיבור משתמשים קיימים. לאחר החיבור, המשתמשים יותאמו לפי זיהוי ייחודי מספק ה-SSO שלך",
|
||||
"LabelMaxEpisodesToDownload": "מספר פרקים מקסימלי להורדה. 0 - ללא הגבלה.",
|
||||
|
|
@ -456,7 +477,9 @@
|
|||
"LabelNewestAuthors": "הסופרים האחרונים",
|
||||
"LabelNewestEpisodes": "הפרקים החדשים ביותר",
|
||||
"LabelNextBackupDate": "תאריך הגיבוי הבא",
|
||||
"LabelNextChapters": "הפרקים הבא יהיו:",
|
||||
"LabelNextScheduledRun": "הרצה מתוזמנת הבאה",
|
||||
"LabelNoApiKeys": "אין מפתחות API",
|
||||
"LabelNoCustomMetadataProviders": "אין ספקי מטא-נתונים מותאמים אישית",
|
||||
"LabelNoEpisodesSelected": "לא נבחרו פרקים",
|
||||
"LabelNotFinished": "לא הושלם",
|
||||
|
|
@ -472,16 +495,21 @@
|
|||
"LabelNotificationsMaxQueueSize": "גודל התור המרבי לאירועי התראה",
|
||||
"LabelNotificationsMaxQueueSizeHelp": "האירועים מוגבלים לשליחה אחת לשנייה. האירועים יתעלמו אם התור מלא. הגדרה זו נועדה למנוע ספאם התראות.",
|
||||
"LabelNumberOfBooks": "מספר הספרים",
|
||||
"LabelNumberOfChapters": "מספר הפרקים:",
|
||||
"LabelNumberOfEpisodes": "# פרקים",
|
||||
"LabelOpenIDAdvancedPermsClaimDescription": "שם OpenID claim המכילה הרשאות מתקדמות לפעולות משתמש בתוך האפליקציה, אשר יחולו על תפקידים שאינם מנהלי מערכת (<b>אם הוגדרה</b>). אם התביעה חסרה בתגובה, הגישה ל-ABS תידחה. אם אפשרות אחת חסרה, היא תטופל כ-<code>false</code> יש לוודא שטענת ספק הזהויות תואמת את המבנה הצפוי:",
|
||||
"LabelOpenIDClaims": "השאר את האפשרויות הבאות ריקות כדי להשבית הקצאת קבוצות והרשאות מתקדמת, ולאחר מכן להקצות אוטומטית את קבוצת 'משתמש'.",
|
||||
"LabelOpenIDGroupClaimDescription": "שם ה־OpenID claim המכיל את רשימת הקבוצות של המשתמש. בדרך כלל נקרא <code>groups</code>. <b>אם הוגדרה</b>, האפליקציה תקצה תפקידים באופן אוטומטי על סמך השיוך לקבוצות, בתנאי ששמות הקבוצות ב־claim הם 'admin', 'user' או 'guest' (ללא רגישות לרישיות - Case-insensitive). ה־claim צריך להכיל רשימה; אם המשתמש משויך למספר קבוצות, האפליקציה תקצה את התפקיד בעל רמת הגישה הגבוהה ביותר. במידה ולא נמצאה קבוצה תואמת, הגישה תיחסם.",
|
||||
"LabelOpenRSSFeed": "פתח ערוץ RSS",
|
||||
"LabelOverwrite": "לשכפל",
|
||||
"LabelPaginationPageXOfY": "עמוד {0} מתוך {1}",
|
||||
"LabelPassword": "סיסמה",
|
||||
"LabelPath": "נתיב",
|
||||
"LabelPermanent": "קבוע",
|
||||
"LabelPermissionsAccessAllLibraries": "ניתן לגשת לכל הספריות",
|
||||
"LabelPermissionsAccessAllTags": "ניתן לגשת לכל התגיות",
|
||||
"LabelPermissionsAccessExplicitContent": "ניתן לגשת לתוכן בוטה",
|
||||
"LabelPermissionsCreateEreader": "ניתן ליצור קורא ספרים דיגיטלי",
|
||||
"LabelPermissionsDelete": "מותר למחוק",
|
||||
"LabelPermissionsDownload": "מותר להוריד",
|
||||
"LabelPermissionsUpdate": "מותר לעדכן",
|
||||
|
|
@ -489,6 +517,8 @@
|
|||
"LabelPersonalYearReview": "השנה שלך בסקירה ({0})",
|
||||
"LabelPhotoPathURL": "נתיב/URL לתמונה",
|
||||
"LabelPlayMethod": "שיטת הפעלה",
|
||||
"LabelPlaybackRateIncrementDecrement": "שיעור הגדלה/הפחתה של מהירות ההשמעה",
|
||||
"LabelPlayerChapterNumberMarker": "{0} מתוך {1}",
|
||||
"LabelPlaylists": "רשימות השמעה",
|
||||
"LabelPodcast": "פודקאסט",
|
||||
"LabelPodcastSearchRegion": "אזור חיפוש פודקאסט",
|
||||
|
|
@ -500,10 +530,14 @@
|
|||
"LabelPrimaryEbook": "ספר אלקטרוני ראשי",
|
||||
"LabelProgress": "התקדמות",
|
||||
"LabelProvider": "ספק",
|
||||
"LabelProviderAuthorizationValue": "ערך כותרת האימות (Authorization Header)",
|
||||
"LabelPubDate": "תאריך פרסום",
|
||||
"LabelPublishYear": "שנת הפרסום",
|
||||
"LabelPublishedDate": "פורסם {0}",
|
||||
"LabelPublishedDecade": "עשור פרסום",
|
||||
"LabelPublishedDecades": "עשורי פרסום",
|
||||
"LabelPublisher": "מוציא לאור",
|
||||
"LabelPublishers": "מוצאים לאור",
|
||||
"LabelRSSFeedCustomOwnerEmail": "אימייל בעלים מותאם אישית",
|
||||
"LabelRSSFeedCustomOwnerName": "שם בעלים מותאם אישית",
|
||||
"LabelRSSFeedOpen": "ערוץ RSS פתוח",
|
||||
|
|
@ -511,6 +545,7 @@
|
|||
"LabelRSSFeedSlug": "Slug של ערוץ ה-RSS",
|
||||
"LabelRSSFeedURL": "כתובת ערוץ ה-RSS",
|
||||
"LabelRandomly": "באופן אקראי",
|
||||
"LabelReAddSeriesToContinueListening": "הוסף סדרה בחזרה אל ״המשך האזנה״",
|
||||
"LabelRead": "קריאה",
|
||||
"LabelReadAgain": "קרא שוב",
|
||||
"LabelReadEbookWithoutProgress": "קרא/י ספר אלקטרוני ללא שמירת התקדמות",
|
||||
|
|
@ -520,29 +555,44 @@
|
|||
"LabelRedo": "עשה שוב",
|
||||
"LabelRegion": "אזור",
|
||||
"LabelReleaseDate": "תאריך הוצאה לאור",
|
||||
"LabelRemoveAllMetadataAbs": "הסר את כל קבצי metadata.abs",
|
||||
"LabelRemoveAllMetadataJson": "הסר את כל קבצי metadata.json",
|
||||
"LabelRemoveAudibleBranding": "הסר פתיח וסיום של Audible מהפרקים",
|
||||
"LabelRemoveCover": "הסר כריכה",
|
||||
"LabelRemoveMetadataFile": "הסר קבצי מטא־נתונים מתיקיות הפריטים בספרייה",
|
||||
"LabelRemoveMetadataFileHelp": "הסר את כל קבצי metadata.json ו־metadata.abs מתיקיות {0}.",
|
||||
"LabelRowsPerPage": "שורות לעמוד",
|
||||
"LabelSearchTerm": "מונח חיפוש",
|
||||
"LabelSearchTitle": "כותרת חיפוש",
|
||||
"LabelSearchTitleOrASIN": "כותרת חיפוש או ASIN",
|
||||
"LabelSeason": "עונה",
|
||||
"LabelSeasonNumber": "עונה #{0}",
|
||||
"LabelSelectAll": "בחר הכל",
|
||||
"LabelSelectAllEpisodes": "בחר את כל הפרקים",
|
||||
"LabelSelectEpisodesShowing": "בחר {0} פרקים המוצגים",
|
||||
"LabelSelectUser": "בחר משתמש",
|
||||
"LabelSelectUsers": "בחר משתמשים",
|
||||
"LabelSendEbookToDevice": "שלח ספר אלקטרוני ל...",
|
||||
"LabelSequence": "רצף",
|
||||
"LabelSerial": "מספר סידורי",
|
||||
"LabelSeries": "סדרה",
|
||||
"LabelSeriesName": "שם הסדרה",
|
||||
"LabelSeriesProgress": "התקדמות בסדרה",
|
||||
"LabelServerLogLevel": "רמת פירוט יומני הרישום",
|
||||
"LabelServerYearReview": "השנה בסקירה של השרת ({0})",
|
||||
"LabelSetEbookAsPrimary": "קבע כראשי",
|
||||
"LabelSetEbookAsSupplementary": "קבע כמשלים",
|
||||
"LabelSettingsAllowIframe": "אפשר הטמעה בתוך iframe",
|
||||
"LabelSettingsAudiobooksOnly": "רק ספרי קול",
|
||||
"LabelSettingsAudiobooksOnlyHelp": "הפעלת ההגדרה הזו תתעלם מקבצי ספרים אלקטרוניים אלא אם כן הם נמצאים בתיקיית ספרי קול, שבמקרה זה יקבעו כספרים אלקטרוניים נלווים",
|
||||
"LabelSettingsBookshelfViewHelp": "עיצוב סקאומורפי עם מדפי עץ",
|
||||
"LabelSettingsChromecastSupport": "תמיכה ב-Chromecast",
|
||||
"LabelSettingsDateFormat": "פורמט תאריך",
|
||||
"LabelSettingsEnableWatcher": "הפעל מעקב שינויים בספריות",
|
||||
"LabelSettingsEnableWatcherForLibrary": "הפעל מעקב שינויים בספרייה",
|
||||
"LabelSettingsEnableWatcherHelp": "מאפשר הוספת/עדכון אוטומטי של פריטים כאשר שינויי קבצים זוהים. *דורש איתחול שרת",
|
||||
"LabelSettingsEpubsAllowScriptedContent": "אפשור תוכן הכולל סקריפטים ב־ePubs",
|
||||
"LabelSettingsEpubsAllowScriptedContentHelp": "אפשר לקובצי EPUB להריץ סקריפטים. מומלץ להשאיר את ההגדרה כבויה, אלא אם כן מקור קובצי ה־ePub מהימן.",
|
||||
"LabelSettingsExperimentalFeatures": "תכונות ניסיוניות",
|
||||
"LabelSettingsExperimentalFeaturesHelp": "תכונות בפיתוח שדורשות משובך ובדיקה. לחץ לפתיחת דיון ב-GitHub.",
|
||||
"LabelSettingsFindCovers": "מצא כריכות",
|
||||
|
|
@ -551,7 +601,8 @@
|
|||
"LabelSettingsHideSingleBookSeriesHelp": "סדרות הכוללות ספר אחד יוסתרו מדף הסדרות ומדף הבית.",
|
||||
"LabelSettingsHomePageBookshelfView": "השתמש בתצוגת מדף בדף הבית",
|
||||
"LabelSettingsLibraryBookshelfView": "השתמש בתצוגת מדף בספרייה",
|
||||
"LabelSettingsOnlyShowLaterBooksInContinueSeries": "דלג על ספרים קודמים ב-המשך סדרה",
|
||||
"LabelSettingsLibraryMarkAsFinishedWhen": "סמן פריט מדיה כהושלם כאשר",
|
||||
"LabelSettingsOnlyShowLaterBooksInContinueSeries": "דלג על ספרים קודמים ב״המשך סדרה״",
|
||||
"LabelSettingsOnlyShowLaterBooksInContinueSeriesHelp": "מדף המשך סדרות מציג את הספר הראשון שלא הושמע בסדרה שיש בה לפחות ספר אחד שהושלם ואין ספרים שכבר באמצע שמיעה. הפעלת הגדרה זו תמשיך סדרות מהספר שהושלם הכי מתקדם בסדרה במקום מהספר הראשון שלא הושמע.",
|
||||
"LabelSettingsParseSubtitles": "פענח כתוביות",
|
||||
"LabelSettingsParseSubtitlesHelp": "העתק כותרת משנה משם תיקיית הספר.<br>כותרת המשנה חייבת להיות מופרדת עם התו ״-״<br>לדוגמא, כותרת המשנה לספר ״שם הספר - כותרת משנה״, היא ״כותרת משנה״",
|
||||
|
|
@ -568,13 +619,22 @@
|
|||
"LabelSettingsStoreMetadataWithItem": "אחסן מטה-נתונים עם הפריט",
|
||||
"LabelSettingsStoreMetadataWithItemHelp": "כברירת מחדל, קבצי מטה-נתונים מאוחסנים ב- /metadata/items, הפעלת ההגדרה תאחסן קבצי מטה-נתונים בתיקיית פריט שלך בספרייה",
|
||||
"LabelSettingsTimeFormat": "פורמט זמן",
|
||||
"LabelShare": "שתף",
|
||||
"LabelShareDownloadableHelp": "אפשר למי שיש ברשותו קישור שיתוף להוריד קובץ ZIP של פריט הספרייה.",
|
||||
"LabelShareURL": "שתף קישור",
|
||||
"LabelShowAll": "הצג הכל",
|
||||
"LabelShowSeconds": "הצג שניות",
|
||||
"LabelShowSubtitles": "הצג כתוביות",
|
||||
"LabelSize": "גודל",
|
||||
"LabelSleepTimer": "טיימר שינה",
|
||||
"LabelSortAscending": "סדר עולה",
|
||||
"LabelSortDescending": "סדר יורד",
|
||||
"LabelSortPubDate": "מיין לפי תאריך פרסום",
|
||||
"LabelStart": "התחל",
|
||||
"LabelStartTime": "זמן התחלה",
|
||||
"LabelStarted": "התחיל",
|
||||
"LabelStartedAt": "התחיל ב",
|
||||
"LabelStartedDate": "הותחל {0}",
|
||||
"LabelStatsAudioTracks": "רצועות שמע",
|
||||
"LabelStatsAuthors": "מחברים",
|
||||
"LabelStatsBestDay": "היום הטוב ביותר",
|
||||
|
|
@ -604,7 +664,13 @@
|
|||
"LabelTheme": "ערכת נושא",
|
||||
"LabelThemeDark": "כהה",
|
||||
"LabelThemeLight": "בהיר",
|
||||
"LabelThemeSepia": "ספיה",
|
||||
"LabelTimeBase": "בסיס זמן",
|
||||
"LabelTimeDurationXHours": "{0} שעות",
|
||||
"LabelTimeDurationXMinutes": "{0} דקות",
|
||||
"LabelTimeDurationXSeconds": "{0} שניות",
|
||||
"LabelTimeInMinutes": "זמן בשניות",
|
||||
"LabelTimeLeft": "נותרו {0}",
|
||||
"LabelTimeListened": "זמן האזנה",
|
||||
"LabelTimeListenedToday": "זמן האזנה היום",
|
||||
"LabelTimeRemaining": "{0} נותרו",
|
||||
|
|
@ -612,6 +678,7 @@
|
|||
"LabelTitle": "כותרת",
|
||||
"LabelToolsEmbedMetadata": "הטמעת מטה-נתונים",
|
||||
"LabelToolsEmbedMetadataDescription": "הטמעת מטה-נתונים לקבצי שמע כולל תמונות כריכה ופרקים.",
|
||||
"LabelToolsM4bEncoder": "מקודד M4B",
|
||||
"LabelToolsMakeM4b": "יצירת קובץ אודיו M4B",
|
||||
"LabelToolsMakeM4bDescription": "יצירת קובץ אודיו .M4B עם מטה-נתונים מוטמעים, תמונת שער ופרקים.",
|
||||
"LabelToolsSplitM4b": "פיצול M4B ל-MP3",
|
||||
|
|
@ -624,29 +691,39 @@
|
|||
"LabelTracksMultiTrack": "רב-ערוצי",
|
||||
"LabelTracksNone": "אין ערוצים",
|
||||
"LabelTracksSingleTrack": "רצועה יחידה",
|
||||
"LabelTrailer": "קדימון",
|
||||
"LabelType": "סוג",
|
||||
"LabelUnabridged": "לא מקוצר",
|
||||
"LabelUndo": "בטל",
|
||||
"LabelUnknown": "לא ידוע",
|
||||
"LabelUnknownPublishDate": "תאריך הוצאה לאור לא ידוע",
|
||||
"LabelUpdateCover": "עדכן כריכה",
|
||||
"LabelUpdateCoverHelp": "אפשר החלפה של כריכות קיימות עבור הספרים הנבחרים כאשר נמצאה התאמה",
|
||||
"LabelUpdateDetails": "עדכון פרטים",
|
||||
"LabelUpdateDetailsHelp": "אפשר החלפה של פרטים קיימים עבור הספרים הנבחרים כאשר נמצאה התאמה",
|
||||
"LabelUpdatedAt": "עודכן ב-",
|
||||
"LabelUploaderDragAndDrop": "גרור ושחרר קבצים או תיקיות",
|
||||
"LabelUploaderDragAndDropFilesOnly": "גרור ושחרר קבצים",
|
||||
"LabelUploaderDropFiles": "שחרר קבצים",
|
||||
"LabelUploaderItemFetchMetadataHelp": "משיכת כותרת, סופר וסדרה באופן אוטומטי",
|
||||
"LabelUseAdvancedOptions": "השתמש באפשרויות מתקדמות",
|
||||
"LabelUseChapterTrack": "השתמש ברצועות הפרקים",
|
||||
"LabelUseFullTrack": "השתמש ברצועה המלאה",
|
||||
"LabelUseZeroForUnlimited": "השתמש ב־0 מתוך אין־סוף",
|
||||
"LabelUser": "משתמש",
|
||||
"LabelUsername": "שם משתמש",
|
||||
"LabelValue": "ערך",
|
||||
"LabelVersion": "גרסה",
|
||||
"LabelViewBookmarks": "הצג סימניות",
|
||||
"LabelViewChapters": "הצג פרקים",
|
||||
"LabelViewPlayerSettings": "הצג הגדרות נגן",
|
||||
"LabelViewQueue": "הצג תור נגן",
|
||||
"LabelVolume": "עוצמת קול",
|
||||
"LabelWebRedirectURLsDescription": "יש לאשר את הכתובות הבאות אצל ספק ה־OAuth כדי לאפשר הפניה חזרה לאפליקציית הדפדפן לאחר ההתחברות:",
|
||||
"LabelWebRedirectURLsSubfolder": "תיקיית משנה לכתובות הפניה",
|
||||
"LabelWeekdaysToRun": "ימי השבוע להרצה",
|
||||
"LabelXBooks": "{0} ספרים",
|
||||
"LabelXItems": "{0} פריטים",
|
||||
"LabelYearReviewHide": "הסתר סקירת שנה",
|
||||
"LabelYearReviewShow": "הצג סקירת שנה",
|
||||
"LabelYourAudiobookDuration": "משך הספר הקולי שלך",
|
||||
|
|
@ -655,31 +732,55 @@
|
|||
"LabelYourProgress": "ההתקדמות שלך",
|
||||
"MessageAddToPlayerQueue": "הוסף לתור הנגן",
|
||||
"MessageAppriseDescription": "כדי להשתמש בתכונה זו יש לך להריץ מופע של <a href=\"https://github.com/caronc/apprise-api\" target=\"_blank\">ממשק התכנית האפליקציה</a> או API שיטפל בבקשות אלו. <br /> כתובת URL של ממשק ה-Apprise API צריכה להיות הנתיב המלא לשליחת ההתראה, לדוגמה, אם המופע של ה-API שלך מוצע ב-<code>http://192.168.1.1:8337</code> אז עליך לשים <code>http://192.168.1.1:8337/notify</code>.",
|
||||
"MessageAsinCheck": "יש לוודא שימוש ב־ASIN מאזור ה־Audible הנכון, ולא מ־Amazon.",
|
||||
"MessageAuthenticationLegacyTokenWarning": "אסימוני API ישנים יוסרו בעתיד. יש להשתמש ב <a href=\"/config/api-keys\">מפתחות API</a> במקום.",
|
||||
"MessageAuthenticationOIDCChangesRestart": "יש להפעיל מחדש את השרת לאחר השמירה כדי להחיל את שינויי ה־OIDC.",
|
||||
"MessageAuthenticationSecurityMessage": "האימות שופר מטעמי אבטחה. כל המשתמשים נדרשים להתחבר מחדש.",
|
||||
"MessageBackupsDescription": "גיבויים כוללים משתמשים, התקדמות משתמש, פרטי פריטי ספרייה, הגדרות שרת ותמונות השמורות ב-<code>/metadata/items</code> & <code>/metadata/authors</code>. גיבויים <strong>לא</strong> כוללים קבצים שמורים בתיקיות הספרייה שלך.",
|
||||
"MessageBackupsLocationEditNote": "הערה: שינוי מיקום הגיבוי לא יגרום להעברה או לשינוי של גיבויים קיימים",
|
||||
"MessageBackupsLocationNoEditNote": "הערה: מיקום הגיבוי מוגדר באמצעות משתנה סביבה ולא ניתן לשנותו כאן.",
|
||||
"MessageBackupsLocationPathEmpty": "נתיב מיקום הגיבוי אינו יכול להיות ריק",
|
||||
"MessageBatchEditPopulateMapDetailsAllHelp": "מלא את השדות הפעילים בנתונים מכל הפריטים. שדות בעלי ערכים מרובים ימוזגו",
|
||||
"MessageBatchEditPopulateMapDetailsItemHelp": "מלא את שדות פרטי המיפוי הפעילים בנתונים מפריט זה",
|
||||
"MessageBatchQuickMatchDescription": "התאמה מהירה תנסה להוסיף כריכות ומטה-נתונים חסרים עבור הפריטים הנבחרים. הפעל את האפשרויות למטה כדי לאפשר להתאמה מהירה להחליף כריכות קיימות ו/או מטה-נתונים.",
|
||||
"MessageBookshelfNoCollections": "עדיין לא יצרת אוספים",
|
||||
"MessageBookshelfNoCollectionsHelp": "האוספים ציבוריים. כל המשתמשים בעלי גישה לספרייה יכולים לראות אותם.",
|
||||
"MessageBookshelfNoRSSFeeds": "אין ערוצי RSS פתוחים",
|
||||
"MessageBookshelfNoResultsForFilter": "אין תוצאות עבור סינון \"{0}: {1}\"",
|
||||
"MessageBookshelfNoResultsForQuery": "אין תוצאות עבור השאילתה",
|
||||
"MessageBookshelfNoSeries": "אין לך סדרות",
|
||||
"MessageBulkChapterPattern": "כמה פרקים להוסיף לפי תבנית מספור זו?",
|
||||
"MessageChapterEndIsAfter": "זמן סיום הפרק אחרי סיום הספר הקולי שלך",
|
||||
"MessageChapterErrorFirstNotZero": "הפרק הראשון חייב להתחיל ב-0",
|
||||
"MessageChapterErrorStartGteDuration": "זמן התחלה לא תקין, חייב להיות פחות ממשך הספר הקולי",
|
||||
"MessageChapterErrorStartLtPrev": "זמן התחלה לא תקין, חייב להיות גדול או שווה לזמן ההתחלה של הפרק הקודם",
|
||||
"MessageChapterStartIsAfter": "התחלת הפרק אחרי סיום הספר הקולי שלך",
|
||||
"MessageChaptersNotFound": "לא נמצאו פרקים",
|
||||
"MessageCheckingCron": "בודק את תזמון העבודה...",
|
||||
"MessageConfirmCloseFeed": "האם אתה בטוח שאתה רוצה לסגור את הערוץ הזה?",
|
||||
"MessageConfirmDeleteApiKey": "האם למחוק את מפתח ה־API \"{0}\"?",
|
||||
"MessageConfirmDeleteBackup": "האם אתה בטוח שברצונך למחוק גיבוי עבור {0}?",
|
||||
"MessageConfirmDeleteDevice": "האם למחוק את הקורא האלקטרוני \"{0}\"?",
|
||||
"MessageConfirmDeleteFile": "הקובץ ימחק לצמיתות מהמערכת שלך. האם אתה בטוח?",
|
||||
"MessageConfirmDeleteLibrary": "האם אתה בטוח שברצונך למחוק לצמיתות את הספרייה \"{0}\"?",
|
||||
"MessageConfirmDeleteLibraryItem": "פריט הספרייה יימחק לצמיתות ממסד הנתונים ומהמערכת שלך. האם אתה בטוח?",
|
||||
"MessageConfirmDeleteLibraryItems": "פריטי הספרייה {0} יימחקו ממסד הנתונים ומהמערכת שלך. האם אתה בטוח?",
|
||||
"MessageConfirmDeleteMetadataProvider": "האם למחוק את ספק המטא־נתונים המותאם \"{0}\"?",
|
||||
"MessageConfirmDeleteNotification": "האם למחוק התראה זו?",
|
||||
"MessageConfirmDeleteSession": "האם אתה בטוח שאתה רוצה למחוק את ההפעלה הזו?",
|
||||
"MessageConfirmEmbedMetadataInAudioFiles": "האם להטמיע מטא־נתונים ב־{0} קובצי שמע?",
|
||||
"MessageConfirmForceReScan": "האם אתה בטוח שאתה רוצה להכריח סריקה מחדש?",
|
||||
"MessageConfirmMarkAllEpisodesFinished": "האם אתה בטוח שברצונך לסמן את כל הפרקים כהסתיימו?",
|
||||
"MessageConfirmMarkAllEpisodesNotFinished": "האם אתה בטוח שברצונך לסמן את כל הפרקים כלא הסתיימו?",
|
||||
"MessageConfirmMarkItemFinished": "האם לסמן את \"{0}\" כהושלם?",
|
||||
"MessageConfirmMarkItemNotFinished": "האם לסמן את \"{0}\" כלא הושלם?",
|
||||
"MessageConfirmMarkSeriesFinished": "האם אתה בטוח שברצונך לסמן את כל הספרים בסדרה זו כהסתיימו?",
|
||||
"MessageConfirmMarkSeriesNotFinished": "האם אתה בטוח שברצונך לסמן את כל הספרים בסדרה זו כלא הסתיימו?",
|
||||
"MessageConfirmNotificationTestTrigger": "האם להפעיל התראה זו עם נתוני בדיקה?",
|
||||
"MessageConfirmPurgeCache": "ניקוי המטמון ימחק את כל התיקייה ב־<code>/metadata/cache</code>.<br /><br />האם למחוק את תיקיית המטמון?",
|
||||
"MessageConfirmPurgeItemsCache": "ניקוי מטמון הפריטים ימחק את כל התיקייה ב־<code>metadata/cache/items/</code>.<br />האם למחוק?",
|
||||
"MessageConfirmQuickEmbed": "אזהרה! הטמעה מהירה לא תגבה גיבוי של קבצי האודיו שלך. וודא שיש לך גיבוי של קבצי האודיו שלך. <br><br>האם ברצונך להמשיך?",
|
||||
"MessageConfirmQuickMatchEpisodes": "התאמה מהירה תדרוס פרטים עבור פרקים תואמים. רק פרקים ללא התאמה יעודכנו. האם להמשיך?",
|
||||
"MessageConfirmReScanLibraryItems": "האם אתה בטוח שברצונך לסרוק מחדש {0} פריטים?",
|
||||
"MessageConfirmRemoveAllChapters": "האם אתה בטוח שברצונך להסיר את כל הפרקים?",
|
||||
"MessageConfirmRemoveAuthor": "האם אתה בטוח שברצונך להסיר את המחבר \"{0}\"?",
|
||||
|
|
|
|||
|
|
@ -197,7 +197,7 @@
|
|||
"HeaderSetBackupSchedule": "Zakazivanje sigurnosne pohrane",
|
||||
"HeaderSettings": "Postavke",
|
||||
"HeaderSettingsDisplay": "Prikaz",
|
||||
"HeaderSettingsExperimental": "Eksperimentalne funkcije",
|
||||
"HeaderSettingsExperimental": "Eksperimentalne značajke",
|
||||
"HeaderSettingsGeneral": "Općenito",
|
||||
"HeaderSettingsScanner": "Skener",
|
||||
"HeaderSettingsSecurity": "Sigurnost",
|
||||
|
|
@ -383,7 +383,7 @@
|
|||
"LabelFolders": "Mape",
|
||||
"LabelFontBold": "Podebljano",
|
||||
"LabelFontBoldness": "Debljina slova",
|
||||
"LabelFontFamily": "Skupina fontova",
|
||||
"LabelFontFamily": "Skup pisma",
|
||||
"LabelFontItalic": "Kurziv",
|
||||
"LabelFontScale": "Veličina slova",
|
||||
"LabelFontStrikethrough": "Precrtano",
|
||||
|
|
@ -444,7 +444,7 @@
|
|||
"LabelListenAgain": "Ponovno poslušaj",
|
||||
"LabelLogLevelDebug": "Debug",
|
||||
"LabelLogLevelInfo": "Info",
|
||||
"LabelLogLevelWarn": "Warn",
|
||||
"LabelLogLevelWarn": "Upozorenje",
|
||||
"LabelLookForNewEpisodesAfterDate": "Traži nove nastavke nakon ovog datuma",
|
||||
"LabelLowestPriority": "Najniži prioritet",
|
||||
"LabelMatchConfidence": "Pouzdanost",
|
||||
|
|
@ -452,7 +452,7 @@
|
|||
"LabelMatchExistingUsersByDescription": "Rabi se za povezivanje postojećih korisnika. Nakon što se spoje, korisnike se prepoznaje temeljem jedinstvene oznake vašeg pružatelja SSO usluga",
|
||||
"LabelMaxEpisodesToDownload": "Najveći broj nastavaka za preuzimanje. 0 za neograničeno.",
|
||||
"LabelMaxEpisodesToDownloadPerCheck": "Najveći broj novih nastavaka za preuzimanje po provjeri",
|
||||
"LabelMaxEpisodesToKeep": "Najveći broj nastavaka za čuvanje",
|
||||
"LabelMaxEpisodesToKeep": "Najveći # nastavaka za čuvanje",
|
||||
"LabelMaxEpisodesToKeepHelp": "Ako je vrijednost 0, nema ograničenja broja. Nakon automatskog preuzimanja novog nastavka ova funkcija briše najstariji nastavak ako ih ima više od zadanog broja. Ovo briše samo jedan nastavak po novom preuzetom nastavku.",
|
||||
"LabelMediaPlayer": "Reproduktor medijskih sadržaja",
|
||||
"LabelMediaType": "Vrsta medija",
|
||||
|
|
|
|||
|
|
@ -499,7 +499,7 @@
|
|||
"LabelNumberOfEpisodes": "Epizódok száma",
|
||||
"LabelOpenIDAdvancedPermsClaimDescription": "Az OpenID-igény neve, amely a felhasználói műveletekre vonatkozó haladó jogosultságokat tartalmazza az alkalmazáson belül, és amely a nem adminisztrátori szerepkörökre vonatkozik (<b>ha konfigurálva van</b>). Ha az igény hiányzik a válaszból, az ABS-hez való hozzáférés megtagadásra kerül. Ha egyetlen opció hiányzik, azt <code>false</code>-ként fogja kezelni. Győződj meg arról, hogy az identitásszolgáltató igénye megfelel a várt struktúrának:",
|
||||
"LabelOpenIDClaims": "Hagyd üresen a következő opciókat, hogy letiltsd a haladó csoport- és jogosultság-hozzárendelést, ekkor automatikusan a ‘Felhasználó’ csoport kerül hozzárendelésre.",
|
||||
"LabelOpenIDGroupClaimDescription": "Az OpenID-igény neve, amely a felhasználó csoportjainak listáját tartalmazza. Általában <code>groups<code> néven hivatkoznak rá. <b>Ha konfigurálva van<b>, az alkalmazás automatikusan hozzárendeli a szerepköröket a felhasználó csoporttagságai alapján, feltéve, hogy ezek a csoportok az igényben kis- és nagybetűkre érzéketlenül ‘admin’, ‘user’ vagy ‘guest’ néven szerepelnek. Az igénynek egy listát kell tartalmaznia, és ha egy felhasználó több csoport tagja, az alkalmazás a legmagasabb szintű hozzáféréssel rendelkező szerepkört rendeli hozzá. Ha egyetlen csoport sem felel meg, a hozzáférés megtagadásra kerül.",
|
||||
"LabelOpenIDGroupClaimDescription": "Az OpenID-igény neve, amely a felhasználó csoportjainak listáját tartalmazza. Általában <code>groups</code> néven hivatkoznak rá. <b>Ha konfigurálva van</b>, az alkalmazás automatikusan hozzárendeli a szerepköröket a felhasználó csoporttagságai alapján, feltéve, hogy ezek a csoportok az igényben kis- és nagybetűkre érzéketlenül ‘admin’, ‘user’ vagy ‘guest’ néven szerepelnek. Az igénynek egy listát kell tartalmaznia, és ha egy felhasználó több csoport tagja, az alkalmazás a legmagasabb szintű hozzáféréssel rendelkező szerepkört rendeli hozzá. Ha egyetlen csoport sem felel meg, a hozzáférés megtagadásra kerül.",
|
||||
"LabelOpenRSSFeed": "RSS hírcsatorna megnyitása",
|
||||
"LabelOverwrite": "Felülírás",
|
||||
"LabelPaginationPageXOfY": "{0} oldal {1}-ból/ből",
|
||||
|
|
|
|||
|
|
@ -275,7 +275,7 @@
|
|||
"LabelBonus": "Bonus",
|
||||
"LabelBooks": "Libri",
|
||||
"LabelButtonText": "Buttone Testo",
|
||||
"LabelByAuthor": "da {0}",
|
||||
"LabelByAuthor": "di {0}",
|
||||
"LabelChangePassword": "Cambia Password",
|
||||
"LabelChannels": "Canali",
|
||||
"LabelChapterCount": "{0} Capitoli",
|
||||
|
|
@ -383,7 +383,7 @@
|
|||
"LabelFolders": "Cartelle",
|
||||
"LabelFontBold": "Grassetto",
|
||||
"LabelFontBoldness": "Grassetto",
|
||||
"LabelFontFamily": "Famiglia di caratteri",
|
||||
"LabelFontFamily": "Famiglia caratteri",
|
||||
"LabelFontItalic": "Corsivo",
|
||||
"LabelFontScale": "Dimensione font",
|
||||
"LabelFontStrikethrough": "Barrato",
|
||||
|
|
@ -588,8 +588,8 @@
|
|||
"LabelSettingsBookshelfViewHelp": "Design con scaffali in legno",
|
||||
"LabelSettingsChromecastSupport": "Supporto a Chromecast",
|
||||
"LabelSettingsDateFormat": "Formato Data",
|
||||
"LabelSettingsEnableWatcher": "Scansiona le librerie Automaticamente per trovare modifiche",
|
||||
"LabelSettingsEnableWatcherForLibrary": "Scansiona la libreria Automaticamente per trovare modifiche",
|
||||
"LabelSettingsEnableWatcher": "Controlla automaticamente le modifiche alle librerie",
|
||||
"LabelSettingsEnableWatcherForLibrary": "Controlla automaticamente le modifiche alle librerie",
|
||||
"LabelSettingsEnableWatcherHelp": "Abilita l'aggiunta/aggiornamento automatico degli elementi quando vengono rilevate modifiche ai file. *Richiede il riavvio del Server",
|
||||
"LabelSettingsEpubsAllowScriptedContent": "Consenti contenuti con script negli epub",
|
||||
"LabelSettingsEpubsAllowScriptedContentHelp": "Consenti ai file epub di eseguire script. Si consiglia di mantenere questa impostazione disabilitata a meno che non si ritenga attendibile l'origine dei file epub.",
|
||||
|
|
@ -888,7 +888,7 @@
|
|||
"MessageResetChaptersConfirm": "Sei sicuro di voler reimpostare i capitoli e annullare le modifiche ?",
|
||||
"MessageRestoreBackupConfirm": "Sei sicuro di voler ripristinare il backup creato su",
|
||||
"MessageRestoreBackupWarning": "Il ripristino di un backup sovrascriverà l'intero database situato in /config e sovrascrive le immagini in /metadata/items & /metadata/authors.<br /><br />I backup non modificano alcun file nelle cartelle della libreria. Se hai abilitato le impostazioni del server per archiviare copertine e metadati nelle cartelle della libreria, questi non vengono sottoposti a backup o sovrascritti.<br /><br />Tutti i client che utilizzano il tuo server verranno aggiornati automaticamente.",
|
||||
"MessageScheduleLibraryScanNote": "Per la maggior parte degli utenti, si consiglia di lasciare questa funzionalità disabilitata e di mantenere abilitata l'impostazione di folder watcher. Il folder watcher rileverà automaticamente le modifiche nelle cartelle della libreria. Il folder watcher non funziona per ogni file system (come NFS), quindi è possibile utilizzare le scansioni pianificate della libreria.",
|
||||
"MessageScheduleLibraryScanNote": "Per la maggior parte degli utenti, si consiglia di lasciare questa funzione disabilitata e mantenere abilitata l'impostazione “Controlla automaticamente le modifiche nella libreria”: in questo modo verranno rilevate automaticamente le modifiche nelle cartelle della libreria. Abilita questa funzione se “Controlla automaticamente le modifiche nella libreria” non funziona con il tuo file system (come NFS).",
|
||||
"MessageScheduleRunEveryWeekdayAtTime": "Esegui ogni {0} alle {1}",
|
||||
"MessageSearchResultsFor": "cerca risultati per",
|
||||
"MessageSelected": "{0} selezionati",
|
||||
|
|
|
|||
|
|
@ -72,6 +72,7 @@
|
|||
"ButtonQueueRemoveItem": "次に再生から削除",
|
||||
"ButtonQuickEmbed": "クイック埋め込み",
|
||||
"ButtonQuickEmbedMetadata": "メタデータの埋め込み",
|
||||
"ButtonQuickMatch": "クイックマッチ",
|
||||
"ButtonReScan": "再スキャン",
|
||||
"ButtonRead": "読む",
|
||||
"ButtonReadLess": "閉じる",
|
||||
|
|
@ -80,71 +81,157 @@
|
|||
"ButtonRemove": "削除",
|
||||
"ButtonRemoveAll": "全て削除",
|
||||
"ButtonRemoveAllLibraryItems": "ライブラリーの項目を全て削除",
|
||||
"ButtonRemoveFromContinueListening": "「続きを聴く」から削除",
|
||||
"ButtonRemoveFromContinueReading": "「続きを読む」から削除",
|
||||
"ButtonRemoveSeriesFromContinueSeries": "「シリーズを続く」からシリーズを削除",
|
||||
"ButtonReset": "元に戻す",
|
||||
"ButtonResetToDefault": "デフォルトに戻す",
|
||||
"ButtonRestore": "復元",
|
||||
"ButtonSave": "保存",
|
||||
"ButtonSaveAndClose": "保存して閉じる",
|
||||
"ButtonSaveTracklist": "トラックリストを保存",
|
||||
"ButtonScan": "スキャン",
|
||||
"ButtonScanLibrary": "ライブラリーをスキャン",
|
||||
"ButtonScrollLeft": "左にスクロール",
|
||||
"ButtonScrollRight": "右にスクロール",
|
||||
"ButtonSearch": "検索",
|
||||
"ButtonSelectFolderPath": "保存先フォルダを選択",
|
||||
"ButtonSeries": "シリーズ",
|
||||
"ButtonSetChaptersFromTracks": "トラックからチャプターを設定する",
|
||||
"ButtonShare": "共有",
|
||||
"ButtonShiftTimes": "再生時間の移動",
|
||||
"ButtonShow": "表示",
|
||||
"ButtonStartM4BEncode": "M4Bエンコード開始",
|
||||
"ButtonStartMetadataEmbed": "メタデータ埋め込み開始",
|
||||
"ButtonStats": "統計",
|
||||
"ButtonSubmit": "送信",
|
||||
"ButtonTest": "テスト",
|
||||
"ButtonUnlinkOpenId": "OpenID 連携解除",
|
||||
"ButtonUpload": "アップロード",
|
||||
"ButtonUploadBackup": "バックアップのアップロード",
|
||||
"ButtonUploadCover": "カバー画像をアップロード",
|
||||
"ButtonUploadOPMLFile": "OPMLファイルをアップロード",
|
||||
"ButtonUserDelete": "ユーザーを削除 {0}",
|
||||
"ButtonUserEdit": "ユーザを編集 {0}",
|
||||
"ButtonViewAll": "すべて表示",
|
||||
"ButtonYes": "はい",
|
||||
"ErrorUploadFetchMetadataAPI": "メタデータの取得中にエラーが発生しました",
|
||||
"ErrorUploadFetchMetadataNoResults": "メタデータ取得に失敗しました。タイトルや著者名を更新してください",
|
||||
"ErrorUploadLacksTitle": "タイトルは必須です",
|
||||
"HeaderAccount": "アカウント",
|
||||
"HeaderAddCustomMetadataProvider": "カスタムメタデータプロバイダーを追加",
|
||||
"HeaderAdvanced": "上級者向け",
|
||||
"HeaderApiKeys": "APIキー",
|
||||
"HeaderAppriseNotificationSettings": "Apprise 通知設定",
|
||||
"HeaderAudioTracks": "オーディオトラック",
|
||||
"HeaderAudiobookTools": "オーディオブックのファイル管理ツール",
|
||||
"HeaderAuthentication": "認証",
|
||||
"HeaderBackups": "バックアップ",
|
||||
"HeaderBulkChapterModal": "チャプターをまとめて追加",
|
||||
"HeaderChangePassword": "パスワードを変更",
|
||||
"HeaderChapters": "チャプター",
|
||||
"HeaderChooseAFolder": "フォルダを選択",
|
||||
"HeaderCollection": "コレクション",
|
||||
"HeaderCollectionItems": "コレクションの項目",
|
||||
"HeaderCover": "カバー",
|
||||
"HeaderCurrentDownloads": "現在のダウンロード",
|
||||
"HeaderCustomMessageOnLogin": "ログイン時のカスタムメッセージ",
|
||||
"HeaderCustomMetadataProviders": "カスタムメタデータプロバイダー",
|
||||
"HeaderDetails": "詳細",
|
||||
"HeaderDownloadQueue": "ダウンロード待ち",
|
||||
"HeaderEbookFiles": "電子書籍ファイル",
|
||||
"HeaderEmail": "メール",
|
||||
"HeaderEmailSettings": "メール設定",
|
||||
"HeaderEpisodes": "エピソード",
|
||||
"HeaderEreaderDevices": "電子書籍リーダー端末",
|
||||
"HeaderEreaderSettings": "電子書籍リーダーの設定",
|
||||
"HeaderFiles": "ファイル",
|
||||
"HeaderFindChapters": "チャプターを検索",
|
||||
"HeaderIgnoredFiles": "無視されたファイル",
|
||||
"HeaderItemFiles": "アイテムファイル",
|
||||
"HeaderItemMetadataUtils": "アイテムメタデータユーティリティ",
|
||||
"HeaderLastListeningSession": "直近の再生セッション",
|
||||
"HeaderLatestEpisodes": "最新のエピソード",
|
||||
"HeaderLibraries": "ライブラリー",
|
||||
"HeaderLibraryFiles": "ライブラリファイル",
|
||||
"HeaderLibraryStats": "ライブラリ統計",
|
||||
"HeaderListeningSessions": "再生セッション",
|
||||
"HeaderListeningStats": "再生統計",
|
||||
"HeaderLogin": "ログイン",
|
||||
"HeaderLogs": "ログ",
|
||||
"HeaderManageGenres": "ジャンルを管理",
|
||||
"HeaderManageTags": "タグを管理",
|
||||
"HeaderMapDetails": "マップの詳細",
|
||||
"HeaderMatch": "マッチ",
|
||||
"HeaderMetadataOrderOfPrecedence": "メタデータの優先順",
|
||||
"HeaderMetadataToEmbed": "埋め込むメタデータ",
|
||||
"HeaderNewAccount": "新規アカウント",
|
||||
"HeaderNewApiKey": "新規APIキー",
|
||||
"HeaderNewLibrary": "新規ライブラリー",
|
||||
"HeaderNotificationCreate": "通知を作成",
|
||||
"HeaderNotificationUpdate": "通知を更新",
|
||||
"HeaderNotifications": "通知",
|
||||
"HeaderOpenIDConnectAuthentication": "OpenID Connect 認証",
|
||||
"HeaderOpenRSSFeed": "RSS Feedを開く",
|
||||
"HeaderPlayerSettings": "プレーヤーの設定",
|
||||
"HeaderPlaylist": "プレイリスト",
|
||||
"HeaderPlaylistItems": "プレイリストアイテム",
|
||||
"HeaderRSSFeedGeneral": "RSS 詳細",
|
||||
"HeaderRSSFeedIsOpen": "RSSフィードが開いています",
|
||||
"HeaderSettings": "設定",
|
||||
"HeaderSettingsGeneral": "一般",
|
||||
"HeaderSettingsScanner": "スキャナー",
|
||||
"HeaderSleepTimer": "スリープタイマー",
|
||||
"HeaderStatsMinutesListeningChart": "過去7日間の視聴時間(分)",
|
||||
"HeaderStatsRecentSessions": "最近の再生履歴",
|
||||
"HeaderTableOfContents": "目次",
|
||||
"HeaderYourStats": "再生統計",
|
||||
"LabelAddToPlaylist": "プレイリストの追加",
|
||||
"LabelAddedAt": "追加日時",
|
||||
"LabelAddedDate": "追加日時 {0}",
|
||||
"LabelAll": "すべて",
|
||||
"LabelAuthor": "著者",
|
||||
"LabelAuthorFirstLast": "著者(名 氏)",
|
||||
"LabelAuthorLastFirst": "著者(氏 名)",
|
||||
"LabelAuthors": "著者",
|
||||
"LabelAutoDownloadEpisodes": "エピソードの自動ダウンロード",
|
||||
"LabelBooks": "ほん",
|
||||
"LabelByAuthor": "著 {0}",
|
||||
"LabelChapters": "チャプター",
|
||||
"LabelClosePlayer": "プレイヤーを閉じる",
|
||||
"LabelCollapseSeries": "シリーズを折りたたむ",
|
||||
"LabelComplete": "完了",
|
||||
"LabelContinueListening": "続きから聞く",
|
||||
"LabelContinueReading": "続きを読む",
|
||||
"LabelContinueSeries": "シリーズを続く",
|
||||
"LabelDescription": "説明",
|
||||
"LabelDiscover": "おすすめ",
|
||||
"LabelDownload": "ダウンロード",
|
||||
"LabelDuration": "長さ",
|
||||
"LabelEbook": "Eブック",
|
||||
"LabelEbooks": "Eブック",
|
||||
"LabelEnable": "有効",
|
||||
"LabelEnd": "終了",
|
||||
"LabelEndOfChapter": "チャプターの最後",
|
||||
"LabelEpisode": "エピソード",
|
||||
"LabelExplicit": "",
|
||||
"LabelFeedURL": "Feed URL",
|
||||
"LabelFile": "ファイル",
|
||||
"LabelFileBirthtime": "ファイル作成日時",
|
||||
"LabelFileModified": "ファイル更新日時",
|
||||
"LabelFilename": "ファイル名",
|
||||
"LabelFinished": "完了",
|
||||
"LabelFolder": "フォルダ",
|
||||
"LabelFontBoldness": "フォントの太さ",
|
||||
"LabelFontFamily": "フォントファミリー",
|
||||
"LabelFontScale": "フォントサイズ",
|
||||
"LabelGenre": "ジャンル",
|
||||
"LabelGenres": "ジャンル",
|
||||
"LabelHasEbook": "eBookあり",
|
||||
"LabelHasSupplementaryEbook": "付属eBookあり",
|
||||
"LabelHost": "ホスト",
|
||||
"LabelInProgress": "進行中",
|
||||
"LabelIncomplete": "未完了",
|
||||
"LabelLanguage": "言語",
|
||||
"LabelLanguages": "言語",
|
||||
"LabelLayout": "レイアウト",
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@
|
|||
"ButtonNextItemInQueue": "대기열의 다음 항목",
|
||||
"ButtonOk": "확인",
|
||||
"ButtonOpenFeed": "피드 열기",
|
||||
"ButtonOpenManager": "오픈 매니저",
|
||||
"ButtonOpenManager": "매니저 열기",
|
||||
"ButtonPause": "일시정지",
|
||||
"ButtonPlay": "재생",
|
||||
"ButtonPlayAll": "모두 재생",
|
||||
|
|
@ -301,7 +301,7 @@
|
|||
"LabelCoverProvider": "커버 제공자",
|
||||
"LabelCreatedAt": "생성일",
|
||||
"LabelCronExpression": "Cron Expression",
|
||||
"LabelCurrent": "현재재",
|
||||
"LabelCurrent": "현재",
|
||||
"LabelCurrently": "현재:",
|
||||
"LabelCustomCronExpression": "사용자 정의 Cron 표현식:",
|
||||
"LabelDatetime": "일시",
|
||||
|
|
@ -320,7 +320,7 @@
|
|||
"LabelDownload": "다운로드",
|
||||
"LabelDownloadNEpisodes": "{0}개 에피소드 다운로드",
|
||||
"LabelDownloadable": "다운로드 가능",
|
||||
"LabelDuration": "Duration",
|
||||
"LabelDuration": "기간",
|
||||
"LabelDurationComparisonExactMatch": "(정확히 일치)",
|
||||
"LabelDurationComparisonLonger": "({0} 더 길음)",
|
||||
"LabelDurationComparisonShorter": "({0} 더 짧음)",
|
||||
|
|
@ -436,7 +436,7 @@
|
|||
"LabelLibraryFilterSublistEmpty": "{0} 없음",
|
||||
"LabelLibraryItem": "라이브러리 항목",
|
||||
"LabelLibraryName": "라이브러리 이름",
|
||||
"LabelLibrarySortByProgress": "Progress: 마지막 업데이트",
|
||||
"LabelLibrarySortByProgress": "진행상황: 마지막 업데이트",
|
||||
"LabelLibrarySortByProgressFinished": "진행 상황: 완료",
|
||||
"LabelLibrarySortByProgressStarted": "진행 상황: 시작됨",
|
||||
"LabelLimit": "한계",
|
||||
|
|
@ -606,7 +606,7 @@
|
|||
"LabelSettingsLibraryMarkAsFinishedWhen": "미디어 항목을 완료된 것으로 표시",
|
||||
"LabelSettingsOnlyShowLaterBooksInContinueSeries": "Continue Series의 이전 책 건너뛰기",
|
||||
"LabelSettingsOnlyShowLaterBooksInContinueSeriesHelp": "시리즈 계속하기 홈페이지 선반에는 시리즈 중 아직 시작하지 않은 첫 번째 책이 표시됩니다. 시리즈 중 최소 한 권은 완료되었고 진행 중인 책은 없습니다. 이 설정을 활성화하면 시작하지 않은 첫 번째 책 대신 가장 늦게 완료된 책부터 시리즈가 이어집니다.",
|
||||
"LabelSettingsParseSubtitles": "Parse subtitles",
|
||||
"LabelSettingsParseSubtitles": "자막 파싱",
|
||||
"LabelSettingsParseSubtitlesHelp": "오디오북 폴더 이름에서 자막을 추출합니다.<br>자막은 \" - \"로 구분해야 합니다.<br>즉, \"책 제목 - 여기에 자막이 있습니다\"에는 \"여기에 자막이 있습니다\"라는 자막이 있습니다.",
|
||||
"LabelSettingsPreferMatchedMetadata": "일치하는 메타데이터를 선호",
|
||||
"LabelSettingsPreferMatchedMetadataHelp": "빠른 매칭을 사용하면 매칭된 데이터가 항목 세부 정보보다 우선합니다. 기본적으로 빠른 매칭은 누락된 세부 정보만 채웁니다.",
|
||||
|
|
@ -616,7 +616,7 @@
|
|||
"LabelSettingsSortingIgnorePrefixesHelp": "즉, 접두사 \"the\"의 경우 책 제목 \"The Book Title\"은 \"Book Title, The\"로 정렬됩니다.",
|
||||
"LabelSettingsSquareBookCovers": "정사각형 책 표지를 사용",
|
||||
"LabelSettingsSquareBookCoversHelp": "표준 1.6:1 책 표지보다 정사각형 표지를 사용하는 것을 선호합니다.",
|
||||
"LabelSettingsStoreCoversWithItem": "품목과 함께 매장 커버",
|
||||
"LabelSettingsStoreCoversWithItem": "항목에 있는 커버로 저장",
|
||||
"LabelSettingsStoreCoversWithItemHelp": "기본적으로 표지는 /metadata/items에 저장됩니다. 이 설정을 활성화하면 표지가 라이브러리 항목 폴더에 저장됩니다. \"cover\"라는 이름의 파일 하나만 저장됩니다.",
|
||||
"LabelSettingsStoreMetadataWithItem": "항목과 함께 메타데이터 저장",
|
||||
"LabelSettingsStoreMetadataWithItemHelp": "기본적으로 메타데이터 파일은 /metadata/items에 저장되며 이 설정을 활성화하면 라이브러리 항목 폴더에 메타데이터 파일이 저장됩니다.",
|
||||
|
|
@ -965,11 +965,11 @@
|
|||
"PlaceholderSearchEpisode": "에피소드 검색..",
|
||||
"StatsAuthorsAdded": "작가가 추가되었습니다",
|
||||
"StatsBooksAdded": "추가된 책",
|
||||
"StatsBooksAdditional": "추가된 내용은 다음과 같습니다…",
|
||||
"StatsBooksAdditional": "추가된 내용은 포함…",
|
||||
"StatsBooksFinished": "책 완성",
|
||||
"StatsBooksFinishedThisYear": "올해 읽은 책이 몇 권 있어요…",
|
||||
"StatsBooksListenedTo": "듣는 책",
|
||||
"StatsCollectionGrewTo": "너의 책 컬렉션이 다음과 같이 늘어났습니다…",
|
||||
"StatsCollectionGrewTo": "나의 책 컬렉션이 늘어난…",
|
||||
"StatsSessions": "세션",
|
||||
"StatsSpentListening": "보낸 청취시간",
|
||||
"StatsTopAuthor": "인기 작가",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"ButtonAdd": "Pridėti",
|
||||
"ButtonAddApiKey": "Pridėti API raktą",
|
||||
"ButtonAddChapters": "Pridėti skyrius",
|
||||
"ButtonAddDevice": "Pridėti įrenginį",
|
||||
"ButtonAddLibrary": "Pridėti Biblioteką",
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@
|
|||
"ButtonScrollRight": "Przewiń w prawo",
|
||||
"ButtonSearch": "Szukaj",
|
||||
"ButtonSelectFolderPath": "Wybierz ścieżkę folderu",
|
||||
"ButtonSeries": "Serial",
|
||||
"ButtonSeries": "Serie",
|
||||
"ButtonSetChaptersFromTracks": "Ustawiaj rozdziały na podstawie utworów",
|
||||
"ButtonShare": "Udostępnij",
|
||||
"ButtonShiftTimes": "Przesunięcie czasowe",
|
||||
|
|
@ -233,8 +233,8 @@
|
|||
"LabelAddToCollectionBatch": "Dodaj {0} książki do kolekcji",
|
||||
"LabelAddToPlaylist": "Dodaj do playlisty",
|
||||
"LabelAddToPlaylistBatch": "Dodaj {0} pozycji do playlisty",
|
||||
"LabelAddedAt": "Dodano w",
|
||||
"LabelAddedDate": "Dodano",
|
||||
"LabelAddedAt": "Dodano",
|
||||
"LabelAddedDate": "Dodano {0}",
|
||||
"LabelAdminUsersOnly": "Tylko użytkownicy administracyjni",
|
||||
"LabelAll": "Wszystkie",
|
||||
"LabelAllEpisodesDownloaded": "Wszystkie odcinki pobrane",
|
||||
|
|
@ -437,8 +437,8 @@
|
|||
"LabelLibraryItem": "Element biblioteki",
|
||||
"LabelLibraryName": "Nazwa biblioteki",
|
||||
"LabelLibrarySortByProgress": "Postęp: Ostatnio zaktualizowane",
|
||||
"LabelLibrarySortByProgressFinished": "Postęp: Ukończone",
|
||||
"LabelLibrarySortByProgressStarted": "Postęp: Rozpoczęte",
|
||||
"LabelLibrarySortByProgressFinished": "Postęp: Ukończony",
|
||||
"LabelLibrarySortByProgressStarted": "Postęp: Rozpoczęty",
|
||||
"LabelLimit": "Limit",
|
||||
"LabelLineSpacing": "Odstęp między wierszami",
|
||||
"LabelListenAgain": "Słuchaj ponownie",
|
||||
|
|
@ -915,10 +915,16 @@
|
|||
"MessageTaskNoFilesToScan": "Brak plików do skanowania",
|
||||
"MessageTaskOpmlImport": "Importuj OPML",
|
||||
"MessageTaskOpmlImportDescription": "Tworzenie {0} podcastów z kanałów RSS",
|
||||
"MessageTaskOpmlImportFeedPodcastDescription": "Tworzenie podcastu \"{0}\"",
|
||||
"MessageTaskOpmlImportFeedPodcastExists": "Podcast już istnieje pod podaną ścieżką",
|
||||
"MessageTaskOpmlImportFeedPodcastFailed": "Nie udało się utworzyć podcastu",
|
||||
"MessageTaskOpmlImportFinished": "Dodano {0} podcastów",
|
||||
"MessageTaskOpmlParseFailed": "Błąd parsowania pliku OPML",
|
||||
"MessageTaskScanItemsAdded": "Dodano {0}",
|
||||
"MessageTaskScanItemsMissing": "Brakuje {0}",
|
||||
"MessageTaskScanItemsUpdated": "Zaktualizowano {0}",
|
||||
"MessageTaskScanNoChangesNeeded": "Brak zmian",
|
||||
"MessageTaskScanningLibrary": "Skanowanie biblioteki \"{0}\"",
|
||||
"MessageTaskTargetDirectoryNotWritable": "Brak prawa zapisu do folderu docelowego",
|
||||
"MessageThinking": "Myślę...",
|
||||
"MessageUploaderItemFailed": "Nie udało się przesłać",
|
||||
|
|
@ -937,6 +943,7 @@
|
|||
"NoteUploaderFoldersWithMediaFiles": "Foldery z plikami multimedialnymi będą traktowane jako osobne elementy w bibliotece.",
|
||||
"NoteUploaderOnlyAudioFiles": "Jeśli przesyłasz tylko pliki audio, każdy plik audio będzie traktowany jako osobny audiobook.",
|
||||
"NoteUploaderUnsupportedFiles": "Nieobsługiwane pliki są ignorowane. Podczas dodawania folderu, inne pliki, które nie znajdują się w folderze elementu, są ignorowane.",
|
||||
"NotificationOnTestDescription": "Zdarzenie używane do testowania systemu powiadomień",
|
||||
"PlaceholderNewCollection": "Nowa nazwa kolekcji",
|
||||
"PlaceholderNewFolderPath": "Nowa ścieżka folderu",
|
||||
"PlaceholderNewPlaylist": "Nowa nazwa playlisty",
|
||||
|
|
@ -957,26 +964,50 @@
|
|||
"StatsTopMonth": "TOPOWY MIESIĄC",
|
||||
"StatsTopNarrator": "TOPOWY NARRATOR",
|
||||
"StatsTopNarrators": "TOPOWI NARRATORZY",
|
||||
"StatsTotalDuration": "O sumarycznej długości…",
|
||||
"StatsYearInReview": "PRZEGLĄD ROKU",
|
||||
"ToastAccountUpdateSuccess": "Zaktualizowano konto",
|
||||
"ToastAsinRequired": "ASIN jest wymagany",
|
||||
"ToastAuthorImageRemoveSuccess": "Zdjęcie autora usunięte",
|
||||
"ToastAuthorNotFound": "Autor \"{0}\" nie został znaleziony",
|
||||
"ToastAuthorRemoveSuccess": "Autor usunięty",
|
||||
"ToastAuthorSearchNotFound": "Autor nie odnaleziony",
|
||||
"ToastAuthorUpdateMerged": "Autor scalony",
|
||||
"ToastAuthorUpdateSuccess": "Autor zaktualizowany",
|
||||
"ToastAuthorUpdateSuccessNoImageFound": "Autor zaktualizowany (nie znaleziono obrazu)",
|
||||
"ToastBackupAppliedSuccess": "Kopia zapasowa została przywrócona",
|
||||
"ToastBackupCreateFailed": "Nie udało się utworzyć kopii zapasowej",
|
||||
"ToastBackupCreateSuccess": "Utworzono kopię zapasową",
|
||||
"ToastBackupDeleteFailed": "Nie udało się usunąć kopii zapasowej",
|
||||
"ToastBackupDeleteSuccess": "Udało się usunąć kopie zapasowej",
|
||||
"ToastBackupInvalidMaxKeep": "Nieprawidłowa ilość kopii zapasowych do przechowania",
|
||||
"ToastBackupInvalidMaxSize": "Nieprawidłowy rozmiar maksymalny kopii zapasowej",
|
||||
"ToastBackupRestoreFailed": "Nie udało się przywrócić kopii zapasowej",
|
||||
"ToastBackupUploadFailed": "Nie udało się przesłać kopii zapasowej",
|
||||
"ToastBackupUploadSuccess": "Kopia zapasowa została przesłana",
|
||||
"ToastBatchUpdateFailed": "Aktualizacja wsadowa nie powiodła się",
|
||||
"ToastBatchUpdateSuccess": "Aktualizacja wsadowa powiodła się",
|
||||
"ToastBatchDeleteFailed": "Usuwanie zbiorcze nie powiodło się",
|
||||
"ToastBatchDeleteSuccess": "Usuwanie zbiorcze powiodło się",
|
||||
"ToastBatchUpdateFailed": "Aktualizacja zbiorcza nie powiodła się",
|
||||
"ToastBatchUpdateSuccess": "Aktualizacja zbiorcza powiodła się",
|
||||
"ToastBookmarkCreateFailed": "Nie udało się utworzyć zakładki",
|
||||
"ToastBookmarkCreateSuccess": "Dodano zakładkę",
|
||||
"ToastBookmarkRemoveSuccess": "Zakładka została usunięta",
|
||||
"ToastBulkChapterInvalidCount": "Wprowadź liczbę z przedziału od 1 do 150",
|
||||
"ToastCachePurgeFailed": "Nie udało się wyczyścić pamięci cache",
|
||||
"ToastCachePurgeSuccess": "Wyczyszczono pamięć cache",
|
||||
"ToastChapterLocked": "Rozdział jest zablokowany.",
|
||||
"ToastChapterStartTimeAdjusted": "Czas rozpoczęcia rozdziału przesunięty o \"{0}\" sekund",
|
||||
"ToastChaptersAllLocked": "Wszystkie rozdziały są zablokowane. Odblokuj edycję, aby użyć przesunięcia czasowego.",
|
||||
"ToastChaptersHaveErrors": "Rozdziały posiadają błędy",
|
||||
"ToastChaptersInvalidShiftAmountLast": "Niepoprawna wartość przesunięcia. Czas rozpoczęcia ostatniego rozdziału wykroczyłby poza długość tego audiobooka.",
|
||||
"ToastChaptersInvalidShiftAmountStart": "Niepoprawna wartość przesunięcia. Pierwszy rozdział miałby długość mniejszą lub równą zeru oraz on zostałby nadpisany przez rozdział drugi. Ustaw późniejszy czas rozpoczęcia drugiego rozdziału.",
|
||||
"ToastChaptersMustHaveTitles": "Rozdziały muszą posiadać tytuł",
|
||||
"ToastChaptersRemoved": "Rozdziały usunięte",
|
||||
"ToastChaptersUpdated": "Rozdziały zaktualizowane",
|
||||
"ToastCollectionItemsAddFailed": "Dodanie elementów do kolekcji nie powiodło się",
|
||||
"ToastCollectionRemoveSuccess": "Kolekcja usunięta",
|
||||
"ToastCollectionUpdateSuccess": "Zaktualizowano kolekcję",
|
||||
"ToastConnectionNotAvailable": "Brak połączenia. Spróbuj ponownie później",
|
||||
"ToastCoverSearchFailed": "Nieudane wyszukiwanie okładki",
|
||||
"ToastCoverUpdateFailed": "Nieudana aktualizacja okładki",
|
||||
"ToastDateTimeInvalidOrIncomplete": "Niepoprawna data i czas",
|
||||
|
|
@ -993,6 +1024,8 @@
|
|||
"ToastInvalidUrl": "Nieprawidłowy URL",
|
||||
"ToastInvalidUrls": "Jeden lub więcej URL-i są nieprawidłowe",
|
||||
"ToastItemCoverUpdateSuccess": "Zaktualizowano okładkę",
|
||||
"ToastItemDeletedFailed": "Nie udało się usunąć elementu",
|
||||
"ToastItemDeletedSuccess": "Element usunięty",
|
||||
"ToastItemDetailsUpdateSuccess": "Zaktualizowano szczegóły",
|
||||
"ToastItemMarkedAsFinishedFailed": "Nie udało się oznaczyć jako ukończone",
|
||||
"ToastItemMarkedAsFinishedSuccess": "Pozycja oznaczona jako ukończona",
|
||||
|
|
@ -1031,12 +1064,41 @@
|
|||
"ToastRSSFeedCloseSuccess": "Zamknięcie kanału RSS powiodło się",
|
||||
"ToastRemoveItemFromCollectionFailed": "Nie udało się usunąć elementu z kolekcji",
|
||||
"ToastRemoveItemFromCollectionSuccess": "Pozycja usunięta z kolekcji",
|
||||
"ToastRemoveItemsWithIssuesFailed": "Nie udało się usunąć wadliwych elementów z biblioteki",
|
||||
"ToastRemoveItemsWithIssuesSuccess": "Usunięto wadliwe elementy z biblioteki",
|
||||
"ToastRenameFailed": "Nie udało się zmienić nazwy",
|
||||
"ToastRescanFailed": "Ponowne skanowanie nie powiodło się dla {0}",
|
||||
"ToastRescanRemoved": "Ponowne skanowanie powiodło się – element został usunięty",
|
||||
"ToastRescanUpToDate": "Ponowne skanowanie powiodło się – element był aktualny",
|
||||
"ToastRescanUpdated": "Ponowne skanowanie powiodło się – element został zaktualizowany",
|
||||
"ToastScanFailed": "Nie powiódł się skan elementu biblioteki",
|
||||
"ToastSelectAtLeastOneUser": "Zaznacz co najmniej jednego użytkownika",
|
||||
"ToastSendEbookToDeviceFailed": "Failed to Send Ebook to device",
|
||||
"ToastSendEbookToDeviceSuccess": "Ebook wysłany na urządzenie \"{0}\"",
|
||||
"ToastSeriesSubmitFailedSameName": "Nie można dodać dwóch serii pod tą samą nazwą",
|
||||
"ToastSeriesUpdateFailed": "Aktualizacja serii nie powiodła się",
|
||||
"ToastSeriesUpdateSuccess": "Aktualizacja serii powiodła się",
|
||||
"ToastServerSettingsUpdateSuccess": "Zaktualizowano ustawienia serwera",
|
||||
"ToastSessionCloseFailed": "Nie udało się zamknąć sesji",
|
||||
"ToastSessionDeleteFailed": "Nie udało się usunąć sesji",
|
||||
"ToastSessionDeleteSuccess": "Sesja usunięta",
|
||||
"ToastSleepTimerDone": "Słodkich snów... zZzzZz",
|
||||
"ToastSocketConnected": "Nawiązano połączenie z serwerem",
|
||||
"ToastSocketDisconnected": "Połączenie z serwerem zostało zamknięte",
|
||||
"ToastSocketFailedToConnect": "Poączenie z serwerem nie powiodło się",
|
||||
"ToastTitleRequired": "Tytuł jest wymagany",
|
||||
"ToastUnknownError": "Nieznany błąd",
|
||||
"ToastUnlinkOpenIdFailed": "Nie udało się odpiąć użytkownika z OpenID",
|
||||
"ToastUnlinkOpenIdSuccess": "Użytkownik odpięty z OpenID",
|
||||
"ToastUploaderFilepathExistsError": "Ścieżka \"{0}\" już istnieje na serwerze",
|
||||
"ToastUserDeleteFailed": "Nie udało się usunąć użytkownika",
|
||||
"ToastUserDeleteSuccess": "Użytkownik usunięty"
|
||||
"ToastUserDeleteSuccess": "Użytkownik usunięty",
|
||||
"TooltipAddChapters": "Dodaj rozdział(y)",
|
||||
"TooltipAddOneSecond": "Dodaj sekundę",
|
||||
"TooltipAdjustChapterStart": "Kliknij, aby skorygować czas początkowy",
|
||||
"TooltipLockAllChapters": "Zablokuj wszystkie rozdziały",
|
||||
"TooltipLockChapter": "Zablokuj rozdział (przytrzymaj Shift i kliknij, aby zaznaczyć zakres)",
|
||||
"TooltipSubtractOneSecond": "Odejmij sekundę",
|
||||
"TooltipUnlockAllChapters": "Odblokuj wszystkie rozdziały",
|
||||
"TooltipUnlockChapter": "Odblokuj rozdział (przytrzymaj Shift i kliknij, aby zaznaczyć zakres)"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -383,7 +383,7 @@
|
|||
"LabelFolders": "Pastas",
|
||||
"LabelFontBold": "Negrito",
|
||||
"LabelFontBoldness": "Intensidade do negrito",
|
||||
"LabelFontFamily": "Família de fonte",
|
||||
"LabelFontFamily": "Família de fontes",
|
||||
"LabelFontItalic": "Itálico",
|
||||
"LabelFontScale": "Escala de fonte",
|
||||
"LabelFontStrikethrough": "Tachado",
|
||||
|
|
|
|||
|
|
@ -275,7 +275,7 @@
|
|||
"LabelBonus": "Бонус",
|
||||
"LabelBooks": "Книги",
|
||||
"LabelButtonText": "Текст кнопки",
|
||||
"LabelByAuthor": "{0}",
|
||||
"LabelByAuthor": "от {0}",
|
||||
"LabelChangePassword": "Изменить пароль",
|
||||
"LabelChannels": "Ленты",
|
||||
"LabelChapterCount": "{0} Главы",
|
||||
|
|
|
|||
|
|
@ -275,7 +275,7 @@
|
|||
"LabelBonus": "Bonus",
|
||||
"LabelBooks": "Knihy",
|
||||
"LabelButtonText": "Text tlačidla",
|
||||
"LabelByAuthor": "od {0}",
|
||||
"LabelByAuthor": "od",
|
||||
"LabelChangePassword": "Zmeniť heslo",
|
||||
"LabelChannels": "Kanály",
|
||||
"LabelChapterCount": "{0} kapitol",
|
||||
|
|
@ -383,7 +383,7 @@
|
|||
"LabelFolders": "Priečinky",
|
||||
"LabelFontBold": "Tučné",
|
||||
"LabelFontBoldness": "Hrúbka písma",
|
||||
"LabelFontFamily": "Rodina písiem",
|
||||
"LabelFontFamily": "Písmo",
|
||||
"LabelFontItalic": "Kurzíva",
|
||||
"LabelFontScale": "Veľkosť písma",
|
||||
"LabelFontStrikethrough": "Preškrtnuté",
|
||||
|
|
@ -588,8 +588,8 @@
|
|||
"LabelSettingsBookshelfViewHelp": "Skeuomorfný dizajn s drevenými poličkami",
|
||||
"LabelSettingsChromecastSupport": "Podpora chromecastu",
|
||||
"LabelSettingsDateFormat": "Formát dátumu",
|
||||
"LabelSettingsEnableWatcher": "Automatické skenovanie knižníc pre zmeny",
|
||||
"LabelSettingsEnableWatcherForLibrary": "Automaticky skenovať knižnicu pre zmeny",
|
||||
"LabelSettingsEnableWatcher": "Automatické sledovanie zmien v knižniciach",
|
||||
"LabelSettingsEnableWatcherForLibrary": "Automatické sledovanie zmien v knižnici",
|
||||
"LabelSettingsEnableWatcherHelp": "Povoliť automatické pridávanie/aktualizácie položiek pri zmene súborov. *Vyžaduje reštart servera",
|
||||
"LabelSettingsEpubsAllowScriptedContent": "Povoliť v e-knihách skriptovaný obsah",
|
||||
"LabelSettingsEpubsAllowScriptedContentHelp": "Povoliť e-knihám spúšťanie skriptov. Odporúča sa túto voľbu nepovolovať, pokiaľ plne nedôverujete zdrojom súborov e-kníh.",
|
||||
|
|
@ -888,7 +888,7 @@
|
|||
"MessageResetChaptersConfirm": "Ste si istý, že chcete resetnúť kapitoly a zahodiť zmeny, ktoré ste vykonali?",
|
||||
"MessageRestoreBackupConfirm": "Ste si istí, že chcete obnoviť zálohu vytvorenú",
|
||||
"MessageRestoreBackupWarning": "Obnovenie zálohy spôsobí kompletný prepis databázy umiestnenej v /config a obrázkov prebalov a autorov v /metadata/items a /metadata/authors.<br /><br />Zálohy nemenia žiadne súbory v priečinkoch vašej knižnice. Ak ste povolili v nastaveniach servera ukladanie obrázkov prebalov a metadát v priečinkoch knižnice, tieto nie sú zálohované a teda ani prepisované.<br /><br />Všetky klienti používajúci váš server budú automaticky obnovené.",
|
||||
"MessageScheduleLibraryScanNote": "Pre väčšinu používateľov sa odporúča ponechať túto funkciu vypnutú a povoliť nastavenia funkcie sledovania obsahu priečinku. Funkcia sledovania priečinku bude automaticky detekovať zmeny v priečinkoch knižnice. Táto funkcia však nefunguje pre všetky súborové systémy (ako napr. NFS), v tom prípade využite funkciu plánovaného skenovania knižnice.",
|
||||
"MessageScheduleLibraryScanNote": "Pre väčšinu používateľov sa odporúča nechať túto funkciu vypnutú a ponechať zapnuté nastavenie „Automatické sledovanie zmien v knižnici“ – táto funkcia automaticky zistí zmeny vo vašich priečinkoch knižnice. Túto funkciu zapnite, ak „Automatické sledovanie zmien v knižnici“ nefunguje vo vašom súborovom systéme (napr. NFS).",
|
||||
"MessageScheduleRunEveryWeekdayAtTime": "Spustiť každú {0} o {1}",
|
||||
"MessageSearchResultsFor": "Výsledky vyhľadávania pre",
|
||||
"MessageSelected": "{0} vybrané",
|
||||
|
|
@ -1026,6 +1026,8 @@
|
|||
"ToastCollectionItemsAddFailed": "Pridanie položky/-iek do zbierky zlyhalo",
|
||||
"ToastCollectionRemoveSuccess": "Zbierka odstránená",
|
||||
"ToastCollectionUpdateSuccess": "Zbierka aktualizovaná",
|
||||
"ToastConnectionNotAvailable": "Pripojenie je nedostupné. Skúste to neskôr.",
|
||||
"ToastCoverSearchFailed": "Vyhľadanie obalu sa nepodarilo",
|
||||
"ToastCoverUpdateFailed": "Aktualizácia prebalu zlyhala",
|
||||
"ToastDateTimeInvalidOrIncomplete": "Dátum a čas sú neplatné alebo neúplné",
|
||||
"ToastDeleteFileFailed": "Odstránenie súboru zlyhalo",
|
||||
|
|
|
|||
|
|
@ -383,7 +383,7 @@
|
|||
"LabelFolders": "Mape",
|
||||
"LabelFontBold": "Krepko",
|
||||
"LabelFontBoldness": "Krepkost pisave",
|
||||
"LabelFontFamily": "Družina pisave",
|
||||
"LabelFontFamily": "Družina pisav",
|
||||
"LabelFontItalic": "Ležeče",
|
||||
"LabelFontScale": "Merilo pisave",
|
||||
"LabelFontStrikethrough": "Prečrtano",
|
||||
|
|
|
|||
|
|
@ -436,9 +436,9 @@
|
|||
"LabelLibraryFilterSublistEmpty": "Ingen {0}",
|
||||
"LabelLibraryItem": "Objekt",
|
||||
"LabelLibraryName": "Biblioteksnamn",
|
||||
"LabelLibrarySortByProgress": "Framsteg: senast uppdaterat",
|
||||
"LabelLibrarySortByProgressFinished": "Framsteg: avslutad",
|
||||
"LabelLibrarySortByProgressStarted": "Framsteg: påbörjad",
|
||||
"LabelLibrarySortByProgress": "Status: Senast uppdaterad",
|
||||
"LabelLibrarySortByProgressFinished": "Status: Avslutad",
|
||||
"LabelLibrarySortByProgressStarted": "Status: Startad",
|
||||
"LabelLimit": "Begränsning",
|
||||
"LabelLineSpacing": "Radavstånd",
|
||||
"LabelListenAgain": "Lyssna igen",
|
||||
|
|
@ -821,7 +821,7 @@
|
|||
"MessageImportantNotice": "Viktig meddelande!",
|
||||
"MessageInsertChapterBelow": "Infoga kapitel nedanför",
|
||||
"MessageInvalidAsin": "Felaktig ASIN-kod",
|
||||
"MessageItemsSelected": "{0} objekt markerade",
|
||||
"MessageItemsSelected": "{0} objekt valda",
|
||||
"MessageItemsUpdated": "{0} objekt uppdaterade",
|
||||
"MessageJoinUsOn": "Anslut dig till oss på",
|
||||
"MessageLoading": "Laddar...",
|
||||
|
|
|
|||
|
|
@ -275,7 +275,7 @@
|
|||
"LabelBonus": "Bonus",
|
||||
"LabelBooks": "Kitaplar",
|
||||
"LabelButtonText": "Buton Metni",
|
||||
"LabelByAuthor": "Yazar: {0}",
|
||||
"LabelByAuthor": "{0} tarafından",
|
||||
"LabelChangePassword": "Şifreyi Değiştir",
|
||||
"LabelChannels": "Kanallar",
|
||||
"LabelChapterCount": "{0} Bölüm",
|
||||
|
|
@ -383,7 +383,7 @@
|
|||
"LabelFolders": "Klasörler",
|
||||
"LabelFontBold": "Kalın",
|
||||
"LabelFontBoldness": "Yazı Tipi Kalınlığı",
|
||||
"LabelFontFamily": "Yazı Tipi Ailesi",
|
||||
"LabelFontFamily": "Yazı tipi ailesi",
|
||||
"LabelFontItalic": "İtalik",
|
||||
"LabelFontScale": "Yazı Tipi Ölçeği",
|
||||
"LabelFontStrikethrough": "Üstü Çizili",
|
||||
|
|
@ -588,8 +588,8 @@
|
|||
"LabelSettingsBookshelfViewHelp": "Ahşap raflı skeuomorfik tasarım",
|
||||
"LabelSettingsChromecastSupport": "Chromecast desteği",
|
||||
"LabelSettingsDateFormat": "Tarih Formatı",
|
||||
"LabelSettingsEnableWatcher": "Değişiklikler için kütüphaneleri otomatik olarak tara",
|
||||
"LabelSettingsEnableWatcherForLibrary": "Değişiklikler için kütüphaneyi otomatik olarak tara",
|
||||
"LabelSettingsEnableWatcher": "Kütüphanelerdeki değişiklikleri otomatik olarak izle",
|
||||
"LabelSettingsEnableWatcherForLibrary": "Kütüphanedeki değişiklikleri otomatik olarak izle",
|
||||
"LabelSettingsEnableWatcherHelp": "Dosya değişiklikleri algılandığında öğelerin otomatik olarak eklenmesini/güncellenmesini sağlar. *Sunucunun yeniden başlatılmasını gerektirir",
|
||||
"LabelSettingsEpubsAllowScriptedContent": "Epub'larda betiklenmiş içeriğe izin ver",
|
||||
"LabelSettingsEpubsAllowScriptedContentHelp": "Epub dosyalarının betik çalıştırmasına izin verin. Epub dosyalarının kaynağına güvenmiyorsanız bu ayarı devre dışı bırakmanız önerilir.",
|
||||
|
|
@ -888,7 +888,7 @@
|
|||
"MessageResetChaptersConfirm": "Bölümleri sıfırlamak ve yaptığınız değişiklikleri geri almak istediğinizden emin misiniz?",
|
||||
"MessageRestoreBackupConfirm": "Şu tarihte oluşturulan yedeği geri yüklemek istediğinizden emin misiniz",
|
||||
"MessageRestoreBackupWarning": "Bir yedeği geri yüklemek, /config konumundaki tüm veritabanının ve /metadata/items & /metadata/authors içindeki kapak resimlerinin üzerine yazacaktır.<br /><br />Yedekler, kütüphane klasörlerinizdeki hiçbir dosyayı değiştirmez. Sunucu ayarlarını kütüphane klasörlerinizde kapak resmi ve üst veri saklamak için etkinleştirdiyseniz, bunlar yedeklenmez veya üzerine yazılmaz.<br /><br />Sunucunuzu kullanan tüm istemciler otomatik olarak yenilenecektir.",
|
||||
"MessageScheduleLibraryScanNote": "Çoğu kullanıcı için, bu özelliği devre dışı bırakıp klasör izleyici ayarını etkin tutmaları önerilir. Klasör izleyici, kütüphane klasörlerinizdeki değişiklikleri otomatik olarak algılayacaktır. Klasör izleyici her dosya sistemi için (NFS gibi) çalışmaz, bu nedenle bunun yerine zamanlanmış kütüphane taramaları kullanılabilir.",
|
||||
"MessageScheduleLibraryScanNote": "Çoğu kullanıcı için bu ayarı pasif bırakması ve \"Kütüphanedeki değişiklikleri otomatik olarak izle\" seçeneğini aktif etmesi önerilir. O seçenek kütüphane dizinlerindeki herhangi bir değişikliği otomatik olarak tespit edecektir. Eğer dosya sisteminiz \"Kütüphanedeki değişiklikleri otomatik olarak izle\" yöntemini desteklemiyorsa (örn; NFS dosya sistemi) bu özelliği aktif edebilirsiniz.",
|
||||
"MessageScheduleRunEveryWeekdayAtTime": "Her {0} günü saat {1}'de çalıştır",
|
||||
"MessageSearchResultsFor": "Arama sonuçları",
|
||||
"MessageSelected": "{0} seçildi",
|
||||
|
|
|
|||
|
|
@ -275,7 +275,7 @@
|
|||
"LabelBonus": "额外",
|
||||
"LabelBooks": "图书",
|
||||
"LabelButtonText": "按钮文本",
|
||||
"LabelByAuthor": "由 {0}",
|
||||
"LabelByAuthor": "作者: {0}",
|
||||
"LabelChangePassword": "修改密码",
|
||||
"LabelChannels": "声道",
|
||||
"LabelChapterCount": "{0} 章节",
|
||||
|
|
@ -436,9 +436,9 @@
|
|||
"LabelLibraryFilterSublistEmpty": "没有 {0}",
|
||||
"LabelLibraryItem": "媒体库项目",
|
||||
"LabelLibraryName": "媒体库名称",
|
||||
"LabelLibrarySortByProgress": "收听进度: 上次收听时间",
|
||||
"LabelLibrarySortByProgressFinished": "收听进度: 已完成的",
|
||||
"LabelLibrarySortByProgressStarted": "收听进度: 已开始的",
|
||||
"LabelLibrarySortByProgress": "进度: 上次更新",
|
||||
"LabelLibrarySortByProgressFinished": "进度: 已完成",
|
||||
"LabelLibrarySortByProgressStarted": "进度: 已开始",
|
||||
"LabelLimit": "限制",
|
||||
"LabelLineSpacing": "行间距",
|
||||
"LabelListenAgain": "再次收听",
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@ components:
|
|||
duration:
|
||||
type: integer
|
||||
format: int64
|
||||
description: Duration in seconds
|
||||
description: Duration in minutes
|
||||
|
||||
SeriesMetadata:
|
||||
type: object
|
||||
|
|
|
|||
4
package-lock.json
generated
4
package-lock.json
generated
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "audiobookshelf",
|
||||
"version": "2.31.0",
|
||||
"version": "2.32.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "audiobookshelf",
|
||||
"version": "2.31.0",
|
||||
"version": "2.32.1",
|
||||
"license": "GPL-3.0",
|
||||
"dependencies": {
|
||||
"axios": "^0.27.2",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "audiobookshelf",
|
||||
"version": "2.31.0",
|
||||
"version": "2.32.1",
|
||||
"buildNumber": 1,
|
||||
"description": "Self-hosted audiobook and podcast server",
|
||||
"main": "index.js",
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ class AuthorController {
|
|||
payload.lastFirst = Database.authorModel.getLastFirst(payload.name)
|
||||
}
|
||||
|
||||
// Check if author name matches another author and merge the authors
|
||||
// Check if author name matches another author in the same library and merge the authors
|
||||
let existingAuthor = null
|
||||
if (authorNameUpdate) {
|
||||
existingAuthor = await Database.authorModel.findOne({
|
||||
|
|
@ -121,7 +121,8 @@ class AuthorController {
|
|||
id: {
|
||||
[sequelize.Op.not]: req.author.id
|
||||
},
|
||||
name: payload.name
|
||||
name: payload.name,
|
||||
libraryId: req.author.libraryId
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -782,7 +782,14 @@ class User extends Model {
|
|||
error: 'Library item not found',
|
||||
statusCode: 404
|
||||
}
|
||||
} else if (libraryItem.mediaType !== 'book') {
|
||||
Logger.error(`[User] createUpdateMediaProgress: library item ${progressPayload.libraryItemId} is not a book`)
|
||||
return {
|
||||
error: 'Library item is not a book',
|
||||
statusCode: 400
|
||||
}
|
||||
}
|
||||
|
||||
mediaItemId = libraryItem.media.id
|
||||
mediaProgress = libraryItem.media.mediaProgresses?.[0]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,8 +57,13 @@ class Audible {
|
|||
})
|
||||
}
|
||||
|
||||
const genresFiltered = genres ? genres.filter((g) => g.type == 'genre').map((g) => g.name) : []
|
||||
const tagsFiltered = genres ? genres.filter((g) => g.type == 'tag').map((g) => g.name) : []
|
||||
let genresCleaned = []
|
||||
let tagsCleaned = []
|
||||
|
||||
if (genres && Array.isArray(genres)) {
|
||||
genresCleaned = [...new Set(genres.filter((g) => g.type == 'genre').map((g) => g.name))]
|
||||
tagsCleaned = [...new Set(genres.filter((g) => g.type == 'tag').map((g) => g.name))]
|
||||
}
|
||||
|
||||
return {
|
||||
title,
|
||||
|
|
@ -71,8 +76,8 @@ class Audible {
|
|||
cover: image,
|
||||
asin,
|
||||
isbn,
|
||||
genres: genresFiltered.length ? genresFiltered : null,
|
||||
tags: tagsFiltered.length ? tagsFiltered.join(', ') : null,
|
||||
genres: genresCleaned.length ? genresCleaned : null,
|
||||
tags: tagsCleaned.length ? tagsCleaned : null,
|
||||
series: series.length ? series : null,
|
||||
language: language ? language.charAt(0).toUpperCase() + language.slice(1) : null,
|
||||
duration: runtimeLengthMin && !isNaN(runtimeLengthMin) ? Number(runtimeLengthMin) : 0,
|
||||
|
|
|
|||
|
|
@ -89,6 +89,27 @@ class CustomProviderAdapter {
|
|||
})
|
||||
.filter((s) => s !== undefined)
|
||||
}
|
||||
/**
|
||||
* Validates and dedupes tags/genres array
|
||||
* Can be comma separated string or array of strings
|
||||
* @param {string|string[]} tagsGenres
|
||||
* @returns {string[]}
|
||||
*/
|
||||
const validateTagsGenresArray = (tagsGenres) => {
|
||||
if (!tagsGenres || (typeof tagsGenres !== 'string' && !Array.isArray(tagsGenres))) return undefined
|
||||
|
||||
// If string, split by comma and trim each item
|
||||
if (typeof tagsGenres === 'string') tagsGenres = tagsGenres.split(',')
|
||||
// If array, ensure all items are strings
|
||||
else if (!tagsGenres.every((t) => typeof t === 'string')) return undefined
|
||||
|
||||
// Trim and filter out empty strings
|
||||
tagsGenres = tagsGenres.map((t) => t.trim()).filter(Boolean)
|
||||
if (!tagsGenres.length) return undefined
|
||||
|
||||
// Dedup
|
||||
return [...new Set(tagsGenres)]
|
||||
}
|
||||
|
||||
// re-map keys to throw out
|
||||
return matches.map((match) => {
|
||||
|
|
@ -105,8 +126,8 @@ class CustomProviderAdapter {
|
|||
cover: toStringOrUndefined(cover),
|
||||
isbn: toStringOrUndefined(isbn),
|
||||
asin: toStringOrUndefined(asin),
|
||||
genres: Array.isArray(genres) && genres.every((g) => typeof g === 'string') ? genres : undefined,
|
||||
tags: toStringOrUndefined(tags),
|
||||
genres: validateTagsGenresArray(genres),
|
||||
tags: validateTagsGenresArray(tags),
|
||||
series: validateSeriesArray(series),
|
||||
language: toStringOrUndefined(language),
|
||||
duration: !isNaN(duration) && duration !== null ? Number(duration) : undefined
|
||||
|
|
|
|||
|
|
@ -259,18 +259,17 @@ class Scanner {
|
|||
SocketAuthority.emitter('author_added', author.toOldJSON())
|
||||
// Update filter data
|
||||
Database.addAuthorToFilterData(libraryItem.libraryId, author.name, author.id)
|
||||
|
||||
await Database.bookAuthorModel
|
||||
.create({
|
||||
authorId: author.id,
|
||||
bookId: libraryItem.media.id
|
||||
})
|
||||
.then(() => {
|
||||
Logger.info(`[Scanner] quickMatchBookBuildUpdatePayload: Added author "${author.name}" to "${libraryItem.media.title}"`)
|
||||
libraryItem.media.authors.push(author)
|
||||
hasAuthorUpdates = true
|
||||
})
|
||||
}
|
||||
await Database.bookAuthorModel
|
||||
.create({
|
||||
authorId: author.id,
|
||||
bookId: libraryItem.media.id
|
||||
})
|
||||
.then(() => {
|
||||
Logger.info(`[Scanner] quickMatchBookBuildUpdatePayload: Added author "${author.name}" to "${libraryItem.media.title}"`)
|
||||
libraryItem.media.authors.push(author)
|
||||
hasAuthorUpdates = true
|
||||
})
|
||||
}
|
||||
const authorsRemoved = libraryItem.media.authors.filter((a) => !matchData.author.find((ma) => ma.toLowerCase() === a.name.toLowerCase()))
|
||||
if (authorsRemoved.length) {
|
||||
|
|
|
|||
|
|
@ -236,7 +236,7 @@ module.exports = {
|
|||
} else if (group === 'publishedDecades') {
|
||||
const startYear = parseInt(value)
|
||||
const endYear = parseInt(value, 10) + 9
|
||||
mediaWhere = Sequelize.where(Sequelize.literal('CAST(`book`.`publishedYear` AS INTEGER)'), {
|
||||
mediaWhere = Sequelize.where(Sequelize.literal('CAST(publishedYear AS INTEGER)'), {
|
||||
[Sequelize.Op.between]: [startYear, endYear]
|
||||
})
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue