diff --git a/client/components/modals/authors/EditModal.vue b/client/components/modals/authors/EditModal.vue
index fc2acff4..85676f83 100644
--- a/client/components/modals/authors/EditModal.vue
+++ b/client/components/modals/authors/EditModal.vue
@@ -136,6 +136,7 @@ export default {
})
if (result && result.updated) {
this.$toast.success(this.$strings.ToastAuthorImageRemoveSuccess)
+ this.$store.commit('globals/showEditAuthorModal', result.author)
}
this.processing = false
},
@@ -157,7 +158,10 @@ export default {
if (!response) {
this.$toast.error('Author not found')
} else if (response.updated) {
- if (response.author.imagePath) this.$toast.success(this.$strings.ToastAuthorUpdateSuccess)
+ if (response.author.imagePath) {
+ this.$toast.success(this.$strings.ToastAuthorUpdateSuccess)
+ this.$store.commit('globals/showEditAuthorModal', response.author)
+ }
else this.$toast.success(this.$strings.ToastAuthorUpdateSuccessNoImageFound)
} else {
this.$toast.info('No updates were made for Author')
diff --git a/client/strings/it.json b/client/strings/it.json
index 8c726ce7..113dc43e 100644
--- a/client/strings/it.json
+++ b/client/strings/it.json
@@ -13,10 +13,10 @@
"ButtonCheckAndDownloadNewEpisodes": "Controlla & scarica i nuovi episodi",
"ButtonChooseAFolder": "Seleziona la Cartella",
"ButtonChooseFiles": "Seleziona i File",
- "ButtonClearFilter": "Clear Filter",
+ "ButtonClearFilter": "Elimina Filtri",
"ButtonCloseFeed": "Chudi i Feed",
"ButtonCollections": "Raccolte",
- "ButtonConfigureScanner": "Configure Scanner",
+ "ButtonConfigureScanner": "Configura Scanner",
"ButtonCreate": "Crea",
"ButtonCreateBackup": "Crea un Backup",
"ButtonDelete": "Elimina",
@@ -26,7 +26,7 @@
"ButtonFullPath": "Percorso Completo",
"ButtonHide": "Nascondi",
"ButtonHome": "Home",
- "ButtonIssues": "Problematiche",
+ "ButtonIssues": "Errori",
"ButtonLatest": "Ultimi",
"ButtonLibrary": "Libreria",
"ButtonLogout": "Disconnetti",
@@ -59,8 +59,8 @@
"ButtonSave": "Salva",
"ButtonSaveAndClose": "Salva & Chiudi",
"ButtonSaveTracklist": "Salva Tracklist",
- "ButtonScan": "Scan",
- "ButtonScanLibrary": "Scan Library",
+ "ButtonScan": "Scansiona",
+ "ButtonScanLibrary": "Scansiona Libreria",
"ButtonSearch": "Cerca",
"ButtonSelectFolderPath": "Seleziona percorso cartella",
"ButtonSeries": "Serie",
@@ -110,14 +110,14 @@
"HeaderOpenRSSFeed": "Apri RSS Feed",
"HeaderOtherFiles": "Altri File",
"HeaderPermissions": "Permessi",
- "HeaderPlayerQueue": "Player Queue",
+ "HeaderPlayerQueue": "Coda Riproduzione",
"HeaderPodcastsToAdd": "Podcasts da Aggiungere",
"HeaderPreviewCover": "Anteprima Cover",
"HeaderRemoveEpisode": "Rimuovi Episodi",
"HeaderRemoveEpisodes": "Rimuovi {0} Episodi",
"HeaderRSSFeedIsOpen": "RSS Feed è aperto",
"HeaderSavedMediaProgress": "Progressi salvati",
- "HeaderSchedule": "schedula",
+ "HeaderSchedule": "Schedula",
"HeaderScheduleLibraryScans": "Schedula la scansione della libreria",
"HeaderSession": "Sessione",
"HeaderSetBackupSchedule": "Imposta programmazione Backup",
@@ -144,14 +144,14 @@
"LabelAccountTypeGuest": "Ospite",
"LabelAccountTypeUser": "Utente",
"LabelActivity": "Attività",
- "LabelAddedAt": "Aggiunto a",
+ "LabelAddedAt": "Aggiunto il",
"LabelAddToCollection": "Aggiungi alla Raccolta",
"LabelAddToCollectionBatch": "Aggiungi {0} Libri alla Raccolta",
"LabelAll": "All",
"LabelAllUsers": "Tutti gli Utenti",
"LabelAuthor": "Autore",
- "LabelAuthorFirstLast": "Autori (Prima l'ultimo)",
- "LabelAuthorLastFirst": "Autori (Prima il Primo)",
+ "LabelAuthorFirstLast": "Autore (Per Nome)",
+ "LabelAuthorLastFirst": "Autori (Per Cognome)",
"LabelAuthors": "Autori",
"LabelAutoDownloadEpisodes": "Auto Download Episodi",
"LabelBackToUser": "Torna a Utenti",
@@ -165,7 +165,7 @@
"LabelChangePassword": "Cambia Password",
"LabelChaptersFound": "Capitoli Trovati",
"LabelChapterTitle": "Titoli dei Capitoli",
- "LabelClosePlayer": "Close player",
+ "LabelClosePlayer": "Chiudi player",
"LabelCollapseSeries": "Comprimi Serie",
"LabelCollections": "Raccolte",
"LabelComplete": "Completo",
@@ -198,8 +198,8 @@
"LabelExplicit": "Esplicito",
"LabelFeedURL": "Feed URL",
"LabelFile": "File",
- "LabelFileBirthtime": "File Creato",
- "LabelFileModified": "File Modificato",
+ "LabelFileBirthtime": "Data Creazione",
+ "LabelFileModified": "Ultima modifica",
"LabelFilename": "Nome File",
"LabelFilterByUser": "Filtro per Utente",
"LabelFindEpisodes": "Trova Episodi",
@@ -215,14 +215,14 @@
"LabelIncomplete": "Incompleta",
"LabelInProgress": "In Corso",
"LabelInterval": "Intervallo",
- "LabelIntervalCustomDailyWeekly": "Custom daily/weekly",
- "LabelIntervalEvery12Hours": "Every 12 hours",
- "LabelIntervalEvery15Minutes": "Every 15 minutes",
- "LabelIntervalEvery2Hours": "Every 2 hours",
- "LabelIntervalEvery30Minutes": "Every 30 minutes",
- "LabelIntervalEvery6Hours": "Every 6 hours",
- "LabelIntervalEveryDay": "Every day",
- "LabelIntervalEveryHour": "Every hour",
+ "LabelIntervalCustomDailyWeekly": "Personalizza giorni/settimane",
+ "LabelIntervalEvery12Hours": "EOgni 12 Ore",
+ "LabelIntervalEvery15Minutes": "Ogni 15 Minuti",
+ "LabelIntervalEvery2Hours": "Ogni 2 Ore",
+ "LabelIntervalEvery30Minutes": "Ogni 30 Minuti",
+ "LabelIntervalEvery6Hours": "Ogni 6 ore",
+ "LabelIntervalEveryDay": "Ogni Giorno",
+ "LabelIntervalEveryHour": "Ogni ora",
"LabelInvalidParts": "Parti Invalide",
"LabelItem": "Oggetti",
"LabelLanguage": "Lingua",
@@ -239,7 +239,7 @@
"LabelListenAgain": "Ri-ascolta",
"LabelLogLevelDebug": "Debug",
"LabelLogLevelInfo": "Info",
- "LabelLogLevelWarn": "Warn",
+ "LabelLogLevelWarn": "Allarme",
"LabelLookForNewEpisodesAfterDate": "Cerca nuovi episodi dopo questa data",
"LabelMarkSeries": "Segna Serie",
"LabelMediaPlayer": "Media Player",
@@ -247,7 +247,7 @@
"LabelMetadataProvider": "Metadata Provider",
"LabelMetaTag": "Meta Tag",
"LabelMinute": "Minuto",
- "LabelMissing": "Rimanente",
+ "LabelMissing": "Altro",
"LabelMissingParts": "Parti rimantenti",
"LabelMore": "Espandi",
"LabelName": "Nome",
@@ -269,7 +269,7 @@
"LabelNotificationsMaxQueueSizeHelp": "Le notifiche sono limitate per 1 al secondo, per evitare lo spamming le notifiche verrano ignorare se superano la coda",
"LabelNotificationTitleTemplate": "Template del titolo",
"LabelNotStarted": "Non iniziato",
- "LabelNumberOfBooks": "Number of Books",
+ "LabelNumberOfBooks": "Numero di libri",
"LabelNumberOfEpisodes": "# degli episodi",
"LabelOpenRSSFeed": "Apri RSS Feed",
"LabelPassword": "Password",
@@ -281,12 +281,12 @@
"LabelPermissionsDownload": "Può Scaricare",
"LabelPermissionsUpdate": "Può Aggiornare",
"LabelPermissionsUpload": "Può caricare",
- "LabelPhotoPathURL": "Photo Path/URL",
+ "LabelPhotoPathURL": "foto Path/URL",
"LabelPlayMethod": "Metodo di riproduzione",
"LabelPodcast": "Podcast",
"LabelPodcasts": "Podcasts",
"LabelPrefixesToIgnore": "Suffissi da ignorare (specificando maiuscole e minuscole)",
- "LabelProgress": "Progresso",
+ "LabelProgress": "Cominciati",
"LabelProvider": "Provider",
"LabelPubDate": "Data Pubblicazione",
"LabelPublisher": "Editore",
@@ -306,7 +306,7 @@
"LabelSequence": "Sequenza",
"LabelSeries": "Serie",
"LabelSeriesName": "Nome Serie",
- "LabelSeriesProgress": "Progressi",
+ "LabelSeriesProgress": "Cominciato",
"LabelSettingsBookshelfViewHelp": "Design con scaffali in legno",
"LabelSettingsChromecastSupport": "Supporto a Chromecast",
"LabelSettingsDateFormat": "Formato Data",
@@ -376,10 +376,10 @@
"LabelToolsEmbedMetadata": "Incorpora Metadata",
"LabelToolsEmbedMetadataDescription": "Incorpora i metadati nei file audio, inclusi l'immagine di copertina e i capitoli.",
"LabelToolsMakeM4b": "Crea un file M4B",
- "LabelToolsMakeM4bDescription": "Genera un file audiolibro .M4B con metadati incorporati, immagine di copertina e capitoli.",
- "LabelToolsSplitM4b": "Converti M4B to MP3's",
+ "LabelToolsMakeM4bDescription": "Genera un file audiolibro M4B con metadati incorporati, immagine di copertina e capitoli.",
+ "LabelToolsSplitM4b": "Converti M4B in MP3's",
"LabelToolsSplitM4bDescription": "Crea MP3 da un M4B diviso per capitoli con metadati incorporati, immagine di copertina e capitoli.",
- "LabelTotalDuration": "Total Duration",
+ "LabelTotalDuration": "Durata Totale",
"LabelTotalTimeListened": "Tempo totale di Ascolto",
"LabelTrackFromFilename": "Traccia da nome file",
"LabelTrackFromMetadata": "Traccia da Metadata",
@@ -398,21 +398,21 @@
"LabelUsername": "Username",
"LabelValue": "Valore",
"LabelVersion": "Versione",
- "LabelViewBookmarks": "View bookmarks",
- "LabelViewChapters": "View chapters",
- "LabelViewQueue": "View player queue",
+ "LabelViewBookmarks": "Visualizza i Segnalibri",
+ "LabelViewChapters": "Visualizza i Capitoli",
+ "LabelViewQueue": "Visualizza coda",
"LabelVolume": "Volume",
"LabelWeekdaysToRun": "Giorni feriali da eseguire",
"LabelYourAudiobookDuration": "La durata dell'audiolibro",
"LabelYourBookmarks": "I tuoi Preferiti",
- "LabelYourProgress": "I tuoi Progressi",
+ "LabelYourProgress": "Completato al",
"MessageAppriseDescription": "Per utilizzare questa funzione è necessario disporre di un'istanza di Apprise API in esecuzione o un'API che gestirà quelle stesse richieste.
L'API Url dovrebbe essere il percorso URL completo per inviare la notifica, ad esempio se la tua istanza API è servita cosi .http://192.168.1.1:8337
Allora dovrai mettere http://192.168.1.1:8337/notify
.",
"MessageBackupsDescription": "I backup includono utenti, progressi degli utenti, dettagli sugli elementi della libreria, impostazioni del server e immagini archiviate in",
"MessageBackupsNote": "I backup non includono i file archiviati nelle cartelle della libreria.",
"MessageBatchQuickMatchDescription": "Quick Match tenterà di aggiungere copertine e metadati mancanti per gli elementi selezionati. Attiva l'opzione per consentire a Quick Match di sovrascrivere copertine e/o metadati esistenti.",
- "MessageBookshelfNoCollections": "You haven't made any collections yet",
- "MessageBookshelfNoResultsForFilter": "No Results for filter \"{0}: {1}\"",
- "MessageBookshelfNoRSSFeeds": "No RSS feeds are open",
+ "MessageBookshelfNoCollections": "Non hai ancora creato nessuna raccolta ",
+ "MessageBookshelfNoResultsForFilter": "Nessul risultato per il filtro \"{0}: {1}\"",
+ "MessageBookshelfNoRSSFeeds": "Nessun RSS feeds aperto",
"MessageBookshelfNoSeries": "You have no series",
"MessageChapterEndIsAfter": "La fine del capitolo è dopo la fine del tuo audiolibro",
"MessageChapterStartIsAfter": "L'inizio del capitolo è dopo la fine del tuo audiolibro",
@@ -456,7 +456,7 @@
"MessageNoEpisodes": "Nessun Episodio",
"MessageNoFoldersAvailable": "Nessuna Cartella disponibile",
"MessageNoGenres": "Nessun Genere",
- "MessageNoIssues": "No Issues",
+ "MessageNoIssues": "Nessun Errore",
"MessageNoItems": "Nessun Oggetto",
"MessageNoItemsFound": "Nessun Oggetto trovato",
"MessageNoListeningSessions": "Nessuna sessione di ascolto",
@@ -470,12 +470,12 @@
"MessageNoUpdateNecessary": "Nessun aggiornamento necessario",
"MessageNoUpdatesWereNecessary": "Nessun aggiornamento necessario",
"MessageOr": "o",
- "MessagePauseChapter": "Pause chapter playback",
- "MessagePlayChapter": "Listen to beginning of chapter",
+ "MessagePauseChapter": "Metti in Pausa Capitolo",
+ "MessagePlayChapter": "Ascolta dall'inizio del capitolo",
"MessagePodcastHasNoRSSFeedForMatching": "Podcast non ha l'URL del feed RSS da utilizzare per il match",
"MessageQuickMatchDescription": "Compila i dettagli dell'articolo vuoto e copri con il risultato della prima corrispondenza di '{0}'. Non sovrascrive i dettagli a meno che non sia abilitata l'impostazione del server \"Preferisci metadati corrispondenti\".",
"MessageRemoveAllItemsWarning": "AVVERTIMENTO! Questa azione rimuoverà tutti gli elementi della libreria dal database, inclusi eventuali aggiornamenti o corrispondenze apportate. Questo non fa nulla ai tuoi file effettivi. Sei sicuro?",
- "MessageRemoveChapter": "Remove chapter",
+ "MessageRemoveChapter": "Rimuovi Capitolo",
"MessageRemoveEpisodes": "rimuovi {0} episodio(i)",
"MessageRemoveUserWarning": "Sei sicuro di voler eliminare definitivamente l'utente \"{0}\"?",
"MessageReportBugsAndContribute": "Segnala bug, richiedi funzionalità e contribuisci",
@@ -490,7 +490,7 @@
"MessageUploading": "Caricamento...",
"MessageValidCronExpression": "Espressione Cron Valida",
"MessageWatcherIsDisabledGlobally": "Watcher è disabilitato a livello globale nelle impostazioni del server",
- "MessageXLibraryIsEmpty": "{0} Library is empty!",
+ "MessageXLibraryIsEmpty": "{0} libreria vuota!",
"MessageYourAudiobookDurationIsLonger": "La durata dell'audiolibro è più lunga della durata trovata",
"MessageYourAudiobookDurationIsShorter": "La durata dell'audiolibro è inferiore alla durata trovata",
"NoteChangeRootPassword": "L'utente root è l'unico utente che può avere una password vuota",
@@ -555,8 +555,8 @@
"ToastPodcastCreateSuccess": "Podcast creato Correttamwnte",
"ToastRemoveItemFromCollectionFailed": "Errore rimozione file dalla Raccolta",
"ToastRemoveItemFromCollectionSuccess": "Oggetto rimosso dalla Raccolta",
- "ToastRSSFeedCloseFailed": "Failed to close RSS feed",
- "ToastRSSFeedCloseSuccess": "RSS feed closed",
+ "ToastRSSFeedCloseFailed": "Errore chiusura RSS feed",
+ "ToastRSSFeedCloseSuccess": "RSS feed chiuso",
"ToastSessionDeleteFailed": "Errore eliminazione sessione",
"ToastSessionDeleteSuccess": "Sessione cancellata",
"ToastSocketConnected": "Socket connesso",
@@ -571,4 +571,4 @@
"WeekdayThursday": "Giovedi",
"WeekdayTuesday": "Martedì",
"WeekdayWednesday": "Mercoledì"
-}
\ No newline at end of file
+}
diff --git a/client/strings/zh-cn.json b/client/strings/zh-cn.json
index 6b62dca9..73c5a33c 100644
--- a/client/strings/zh-cn.json
+++ b/client/strings/zh-cn.json
@@ -2,7 +2,7 @@
"ButtonAdd": "添加",
"ButtonAddChapters": "添加章节",
"ButtonAddPodcasts": "添加播客",
- "ButtonAddYourFirstLibrary": "添加第一个图书库",
+ "ButtonAddYourFirstLibrary": "添加第一个媒体库",
"ButtonApply": "应用",
"ButtonApplyChapters": "应用到章节",
"ButtonAuthors": "作者",
@@ -28,7 +28,7 @@
"ButtonHome": "首页",
"ButtonIssues": "问题",
"ButtonLatest": "最新",
- "ButtonLibrary": "图书库",
+ "ButtonLibrary": "媒体库",
"ButtonLogout": "注销",
"ButtonLookup": "查找",
"ButtonManageTracks": "管理音轨",
@@ -50,7 +50,7 @@
"ButtonRead": "读取",
"ButtonRemove": "移除",
"ButtonRemoveAll": "移除所有",
- "ButtonRemoveAllLibraryItems": "移除所有图书项目",
+ "ButtonRemoveAllLibraryItems": "移除所有媒体库项目",
"ButtonRemoveFromContinueListening": "从继续收听中删除",
"ButtonRemoveSeriesFromContinueSeries": "从继续收听系列中删除",
"ButtonReScan": "重新扫描",
@@ -95,9 +95,9 @@
"HeaderItemFiles": "项目文件",
"HeaderLastListeningSession": "最后一次收听会话",
"HeaderLatestEpisodes": "最新剧集",
- "HeaderLibraries": "图书库",
- "HeaderLibraryFiles": "图书库文件",
- "HeaderLibraryStats": "图书库统计数据",
+ "HeaderLibraries": "媒体库",
+ "HeaderLibraryFiles": "媒体库文件",
+ "HeaderLibraryStats": "媒体库统计数据",
"HeaderListeningSessions": "收听会话",
"HeaderListeningStats": "收听统计数据",
"HeaderLogin": "登录",
@@ -105,7 +105,7 @@
"HeaderMatch": "匹配",
"HeaderMetadataToEmbed": "嵌入元数据",
"HeaderNewAccount": "新建帐户",
- "HeaderNewLibrary": "新建图书库",
+ "HeaderNewLibrary": "新建媒体库",
"HeaderNotifications": "通知",
"HeaderOpenRSSFeed": "打开 RSS 源",
"HeaderOtherFiles": "其他文件",
@@ -118,7 +118,7 @@
"HeaderRSSFeedIsOpen": "RSS 源已打开",
"HeaderSavedMediaProgress": "保存媒体进度",
"HeaderSchedule": "计划任务",
- "HeaderScheduleLibraryScans": "自动扫描图书库",
+ "HeaderScheduleLibraryScans": "自动扫描媒体库",
"HeaderSession": "会话",
"HeaderSetBackupSchedule": "设置备份计划任务",
"HeaderSettings": "设置",
@@ -136,7 +136,7 @@
"HeaderUpdateAccount": "更新帐户",
"HeaderUpdateAuthor": "更新作者",
"HeaderUpdateDetails": "更新详情",
- "HeaderUpdateLibrary": "更新图书库",
+ "HeaderUpdateLibrary": "更新媒体库",
"HeaderUsers": "用户",
"HeaderYourStats": "你的统计数据",
"LabelAccountType": "帐户类型",
@@ -146,7 +146,7 @@
"LabelActivity": "活动",
"LabelAddedAt": "添加于",
"LabelAddToCollection": "添加到收藏",
- "LabelAddToCollectionBatch": "添加 {0} 图书到收藏",
+ "LabelAddToCollectionBatch": "批量添加 {0} 个媒体到收藏",
"LabelAll": "全部",
"LabelAllUsers": "所有用户",
"LabelAuthor": "作者",
@@ -161,11 +161,11 @@
"LabelBackupsMaxBackupSizeHelp": "为了防止错误配置, 如果备份超过配置的大小, 备份将失败.",
"LabelBackupsNumberToKeep": "要保留的备份个数",
"LabelBackupsNumberToKeepHelp": "一次只能删除一个备份, 因此如果你已经有超过此数量的备份, 则应手动删除它们.",
- "LabelBooks": "图书",
+ "LabelBooks": "媒体",
"LabelChangePassword": "修改密码",
"LabelChaptersFound": "找到的章节",
"LabelChapterTitle": "章节标题",
- "LabelClosePlayer": "Close player",
+ "LabelClosePlayer": "关闭播放器",
"LabelCollapseSeries": "折叠系列",
"LabelCollections": "收藏",
"LabelComplete": "已完成",
@@ -215,14 +215,14 @@
"LabelIncomplete": "未听完",
"LabelInProgress": "正在听",
"LabelInterval": "间隔",
- "LabelIntervalCustomDailyWeekly": "Custom daily/weekly",
- "LabelIntervalEvery12Hours": "Every 12 hours",
- "LabelIntervalEvery15Minutes": "Every 15 minutes",
- "LabelIntervalEvery2Hours": "Every 2 hours",
- "LabelIntervalEvery30Minutes": "Every 30 minutes",
- "LabelIntervalEvery6Hours": "Every 6 hours",
- "LabelIntervalEveryDay": "Every day",
- "LabelIntervalEveryHour": "Every hour",
+ "LabelIntervalCustomDailyWeekly": "自定义 每天 / 每周",
+ "LabelIntervalEvery12Hours": "每 12 小时",
+ "LabelIntervalEvery15Minutes": "每 15 分钟",
+ "LabelIntervalEvery2Hours": "每 2 小时",
+ "LabelIntervalEvery30Minutes": "每 30 分钟",
+ "LabelIntervalEvery6Hours": "每 6 小时",
+ "LabelIntervalEveryDay": "每天",
+ "LabelIntervalEveryHour": "每小时",
"LabelInvalidParts": "无效部件",
"LabelItem": "项目",
"LabelLanguage": "语言",
@@ -231,15 +231,15 @@
"LabelLastTime": "最近一次",
"LabelLastUpdate": "最近更新",
"LabelLess": "较少",
- "LabelLibrariesAccessibleToUser": "用户可访问的图书库",
- "LabelLibrary": "图书库",
- "LabelLibraryItem": "图书库项目",
- "LabelLibraryName": "图书库名称",
+ "LabelLibrariesAccessibleToUser": "用户可访问的媒体库",
+ "LabelLibrary": "媒体库",
+ "LabelLibraryItem": "媒体库项目",
+ "LabelLibraryName": "媒体库名称",
"LabelLimit": "限制",
"LabelListenAgain": "再次收听",
- "LabelLogLevelDebug": "Debug",
- "LabelLogLevelInfo": "Info",
- "LabelLogLevelWarn": "Warn",
+ "LabelLogLevelDebug": "调试",
+ "LabelLogLevelInfo": "信息",
+ "LabelLogLevelWarn": "警告",
"LabelLookForNewEpisodesAfterDate": "在此日期后查找新剧集",
"LabelMarkSeries": "标记系列",
"LabelMediaPlayer": "媒体播放器",
@@ -269,12 +269,12 @@
"LabelNotificationsMaxQueueSizeHelp": "通知事件被限制为每秒触发 1 个. 如果队列处于最大大小, 则将忽略事件. 这可以防止通知垃圾邮件.",
"LabelNotificationTitleTemplate": "标题模板",
"LabelNotStarted": "未开始",
- "LabelNumberOfBooks": "Number of Books",
+ "LabelNumberOfBooks": "图书数量",
"LabelNumberOfEpisodes": "# 集",
"LabelOpenRSSFeed": "打开 RSS 源",
"LabelPassword": "密码",
"LabelPath": "路径",
- "LabelPermissionsAccessAllLibraries": "可以访问所有图书库",
+ "LabelPermissionsAccessAllLibraries": "可以访问所有媒体库",
"LabelPermissionsAccessAllTags": "可以访问所有标签",
"LabelPermissionsAccessExplicitContent": "可以访问显式内容",
"LabelPermissionsDelete": "可以删除",
@@ -295,7 +295,7 @@
"LabelRecentSeries": "最近添加系列",
"LabelRegion": "区域",
"LabelReleaseDate": "发布日期",
- "LabelRemoveCover": "Remove cover",
+ "LabelRemoveCover": "移除封面",
"LabelRSSFeedOpen": "打开 RSS 源",
"LabelRSSFeedSlug": "RSS 源段",
"LabelRSSFeedURL": "RSS 源 URL",
@@ -311,7 +311,7 @@
"LabelSettingsChromecastSupport": "Chromecast 支持",
"LabelSettingsDateFormat": "日期格式",
"LabelSettingsDisableWatcher": "禁用监视程序",
- "LabelSettingsDisableWatcherForLibrary": "禁用图书库的文件夹监视程序",
+ "LabelSettingsDisableWatcherForLibrary": "禁用媒体库的文件夹监视程序",
"LabelSettingsDisableWatcherHelp": "检测到文件更改时禁用自动添加和更新项目. *需要重启服务器",
"LabelSettingsEnableEReader": "为所有用户启用电子阅读器",
"LabelSettingsEnableEReaderHelp": "电子阅读器仍在开发中,但可以使用此设置向所有用户打开它(或使用 \"实验功能\" 切换仅供你使用)",
@@ -320,17 +320,17 @@
"LabelSettingsFindCovers": "查找封面",
"LabelSettingsFindCoversHelp": "如果你的有声读物在文件夹中没有嵌入封面或封面图像, 扫描将尝试查找封面.
注意: 这将延长扫描时间",
"LabelSettingsHomePageBookshelfView": "首页使用书架视图",
- "LabelSettingsLibraryBookshelfView": "图书库使用书架视图",
+ "LabelSettingsLibraryBookshelfView": "媒体库使用书架视图",
"LabelSettingsOverdriveMediaMarkers": "对章节使用 Overdrive 媒体标记",
"LabelSettingsOverdriveMediaMarkersHelp": "Overdrive 的 MP3 文件带有作为自定义元数据嵌入的章节时间. 启用此功能将自动将这些标签用于章节计时",
"LabelSettingsParseSubtitles": "解析副标题",
"LabelSettingsParseSubtitlesHelp": "从有声读物文件夹中提取副标题.
副标题必须用 \" - \" 分隔.
例: \"书名 - 这里是副标题\" 则显示副标题 \"这里是副标题\"",
"LabelSettingsPreferAudioMetadata": "首选音频元数据",
- "LabelSettingsPreferAudioMetadataHelp": "音频文件 ID3 元标记将用于文件夹名称上图书的详细信息",
+ "LabelSettingsPreferAudioMetadataHelp": "音频文件 ID3 元标记将用于文件夹名称上媒体的详细信息",
"LabelSettingsPreferMatchedMetadata": "首选匹配的元数据",
"LabelSettingsPreferMatchedMetadataHelp": "使用快速匹配时, 匹配的数据将覆盖项目详细信息. 默认情况下, 快速匹配将只填充缺少的详细信息.",
"LabelSettingsPreferOPFMetadata": "首选 OPF 元数据",
- "LabelSettingsPreferOPFMetadataHelp": "OPF 文件元数据将用于文件夹名称上图书的详细信息",
+ "LabelSettingsPreferOPFMetadataHelp": "OPF 文件元数据将用于文件夹名称上媒体的详细信息",
"LabelSettingsSkipMatchingBooksWithASIN": "跳过匹配已有 ASIN 的图书",
"LabelSettingsSkipMatchingBooksWithISBN": "跳过匹配已有 ISBN 的图书",
"LabelSettingsSortingIgnorePrefixes": "排序时忽略前缀",
@@ -338,12 +338,12 @@
"LabelSettingsSquareBookCovers": "用户方形图书封面",
"LabelSettingsSquareBookCoversHelp": "比起标准的 1.6:1 图书封面,更喜欢使用方形封面",
"LabelSettingsStoreCoversWithItem": "存储项目封面",
- "LabelSettingsStoreCoversWithItemHelp": "默认情况下封面存储在/metadata/items文件夹中, 启用此设置将存储封面在你图书项目文件夹中. 只保留一个名为 \"cover\" 的文件",
+ "LabelSettingsStoreCoversWithItemHelp": "默认情况下封面存储在/metadata/items文件夹中, 启用此设置将存储封面在你媒体项目文件夹中. 只保留一个名为 \"cover\" 的文件",
"LabelSettingsStoreMetadataWithItem": "存储项目元数据",
- "LabelSettingsStoreMetadataWithItemHelp": "默认情况下元数据文件存储在/metadata/items文件夹中, 启用此设置将存储元数据在你图书项目文件夹中. 使 .abs 文件护展名",
+ "LabelSettingsStoreMetadataWithItemHelp": "默认情况下元数据文件存储在/metadata/items文件夹中, 启用此设置将存储元数据在你媒体项目文件夹中. 使 .abs 文件护展名",
"LabelShowAll": "全部显示",
- "LabelSize": "大小",
- "LabelSleepTimer": "Sleep timer",
+ "LabelSize": "文件大小",
+ "LabelSleepTimer": "睡眠定时",
"LabelStart": "开始",
"LabelStarted": "开始于",
"LabelStartedAt": "从这开始",
@@ -357,7 +357,7 @@
"LabelStatsHours": "小时",
"LabelStatsInARow": "在一行",
"LabelStatsItemsFinished": "已完成的项目",
- "LabelStatsItemsInLibrary": "图书库中的项目",
+ "LabelStatsItemsInLibrary": "媒体库中的项目",
"LabelStatsMinutes": "分钟",
"LabelStatsMinutesListening": "收听分钟数",
"LabelStatsOverallDays": "总计天数",
@@ -379,7 +379,7 @@
"LabelToolsMakeM4bDescription": "生成带有嵌入元数据, 封面图像和章节的 .M4B 有声读物文件.",
"LabelToolsSplitM4b": "将 M4B 文件拆分为 MP3 文件",
"LabelToolsSplitM4bDescription": "从 M4B 文件创建 MP3 文件, 按章节分割, 并嵌入元数据, 封面图像和章节.",
- "LabelTotalDuration": "Total Duration",
+ "LabelTotalDuration": "总持续时间",
"LabelTotalTimeListened": "总收听时间",
"LabelTrackFromFilename": "从文件名获取音轨",
"LabelTrackFromMetadata": "从源数据获取音轨",
@@ -398,17 +398,17 @@
"LabelUsername": "用户名",
"LabelValue": "值",
"LabelVersion": "版本",
- "LabelViewBookmarks": "View bookmarks",
- "LabelViewChapters": "View chapters",
- "LabelViewQueue": "View player queue",
- "LabelVolume": "Volume",
+ "LabelViewBookmarks": "查看书签",
+ "LabelViewChapters": "查看章节",
+ "LabelViewQueue": "查看播放列表",
+ "LabelVolume": "音量",
"LabelWeekdaysToRun": "工作日运行",
"LabelYourAudiobookDuration": "你的有声读物持续时间",
"LabelYourBookmarks": "你的书签",
"LabelYourProgress": "你的进度",
"MessageAppriseDescription": "要使用此功能,您需要运行一个 Apprise API 实例或一个可以处理这些相同请求的 API.
Apprise API Url 应该是发送通知的完整 URL 路径, 例如: 如果你的 API 实例运行在 http://192.168.1.1:8337
, 那么你可以输入 http://192.168.1.1:8337/notify
.",
- "MessageBackupsDescription": "备份包括用户, 用户进度, 图书库项目详细信息, 服务器设置和图像, 存储在",
- "MessageBackupsNote": "备份不包括存储在您的图书库文件夹中的任何文件.",
+ "MessageBackupsDescription": "备份包括用户, 用户进度, 媒体库项目详细信息, 服务器设置和图像, 存储在",
+ "MessageBackupsNote": "备份不包括存储在您的媒体库文件夹中的任何文件.",
"MessageBatchQuickMatchDescription": "快速匹配将尝试为所选项目添加缺少的封面和元数据. 启用以下选项以允许快速匹配覆盖现有封面和或元数据.",
"MessageBookshelfNoCollections": "你尚未进行任何收藏",
"MessageBookshelfNoResultsForFilter": "过滤器无结果 \"{0}: {1}\"",
@@ -418,7 +418,7 @@
"MessageChapterStartIsAfter": "章节开始是在有声读物结束之后",
"MessageCheckingCron": "检查计划任务...",
"MessageConfirmDeleteBackup": "你确定要删除备份 {0}?",
- "MessageConfirmDeleteLibrary": "你确定要永久删除图书库 \"{0}\"?",
+ "MessageConfirmDeleteLibrary": "你确定要永久删除媒体库 \"{0}\"?",
"MessageConfirmDeleteSession": "你确定要删除此会话吗?",
"MessageConfirmForceReScan": "你确定要强制重新扫描吗?",
"MessageConfirmRemoveCollection": "您确定要移除收藏 \"{0}\"?",
@@ -443,7 +443,7 @@
"MessageMapChapterTitles": "将章节标题映射到现有的有声读物章节, 无需调整时间戳",
"MessageMarkAsFinished": "标记为已听完",
"MessageMarkAsNotFinished": "标记为未听完",
- "MessageMatchBooksDescription": "尝试将图书库中的图书与所选搜索提供商的图书进行匹配, 并填写空白的详细信息和封面. 不覆盖详细信息.",
+ "MessageMatchBooksDescription": "尝试将媒体库中的图书与所选搜索提供商的图书进行匹配, 并填写空白的详细信息和封面. 不覆盖详细信息.",
"MessageNoAudioTracks": "没有音轨",
"MessageNoAuthors": "没有作者",
"MessageNoBackups": "没有备份",
@@ -470,21 +470,21 @@
"MessageNoUpdateNecessary": "无需更新",
"MessageNoUpdatesWereNecessary": "无需更新",
"MessageOr": "或",
- "MessagePauseChapter": "Pause chapter playback",
- "MessagePlayChapter": "Listen to beginning of chapter",
+ "MessagePauseChapter": "暂停章节播放",
+ "MessagePlayChapter": "开始章节播放",
"MessagePodcastHasNoRSSFeedForMatching": "播客没有可用于匹配 RSS 源的 url",
"MessageQuickMatchDescription": "使用来自 '{0}' 的第一个匹配结果填充空白详细信息和封面. 除非启用 '首选匹配元数据' 服务器设置, 否则不会覆盖详细信息.",
- "MessageRemoveAllItemsWarning": "警告! 此操作将从数据库中删除所有的图书库项, 包括您所做的任何更新或匹配. 这不会对实际文件产生任何影响. 你确定吗?",
- "MessageRemoveChapter": "Remove chapter",
+ "MessageRemoveAllItemsWarning": "警告! 此操作将从数据库中删除所有的媒体库项, 包括您所做的任何更新或匹配. 这不会对实际文件产生任何影响. 你确定吗?",
+ "MessageRemoveChapter": "移除章节",
"MessageRemoveEpisodes": "移除 {0} 剧集",
"MessageRemoveUserWarning": "是否确实要永久删除用户 \"{0}\"?",
"MessageReportBugsAndContribute": "报告错误、请求功能和贡献在",
"MessageRestoreBackupConfirm": "您确定要恢复创建的这个备份",
- "MessageRestoreBackupWarning": "恢复备份将覆盖位于 /config 的整个数据库并覆盖 /metadata/items & /metadata/authors 中的图像.
备份不会修改图书库文件夹中的任何文件. 如果您已启用服务器设置将封面和元数据存储在库文件夹中,则不会备份或覆盖这些内容.
将自动刷新使用服务器的所有客户端.",
+ "MessageRestoreBackupWarning": "恢复备份将覆盖位于 /config 的整个数据库并覆盖 /metadata/items & /metadata/authors 中的图像.
备份不会修改媒体库文件夹中的任何文件. 如果您已启用服务器设置将封面和元数据存储在库文件夹中,则不会备份或覆盖这些内容.
将自动刷新使用服务器的所有客户端.",
"MessageSearchResultsFor": "搜索结果",
"MessageServerCouldNotBeReached": "无法访问服务器",
"MessageStartPlaybackAtTime": "开始播放 \"{0}\" 在 {1}?",
- "MessageThinking": "思考...",
+ "MessageThinking": "正在查找...",
"MessageUploaderItemFailed": "上传失败",
"MessageUploaderItemSuccess": "上传成功!",
"MessageUploading": "正在上传...",
@@ -496,10 +496,10 @@
"NoteChangeRootPassword": "Root 是唯一可以拥有空密码的用户",
"NoteChapterEditorTimes": "注意: 第一章开始时间必须保持在 0:00, 最后一章开始时间不能超过有声读物持续时间.",
"NoteFolderPicker": "注意: 将不显示已映射的文件夹",
- "NoteFolderPickerDebian": "注意: debian 安装的文件夹选择器尚未完全实现. 您应该直接输入图书库的路径.",
+ "NoteFolderPickerDebian": "注意: debian 安装的文件夹选择器尚未完全实现. 您应该直接输入媒体库的路径.",
"NoteRSSFeedPodcastAppsHttps": "警告: 大多数播客应用程序都需要 RSS 源 URL 使用 HTTPS",
"NoteRSSFeedPodcastAppsPubDate": "警告: 您的一集或多集没有发布日期. 一些播客应用程序要求这样做.",
- "NoteUploaderFoldersWithMediaFiles": "包含媒体文件的文件夹将作为单独的图书库项目处理.",
+ "NoteUploaderFoldersWithMediaFiles": "包含媒体文件的文件夹将作为单独的媒体库项目处理.",
"NoteUploaderOnlyAudioFiles": "如果只上传音频文件, 则每个音频文件将作为单独的有声读物处理.",
"NoteUploaderUnsupportedFiles": "不支持的文件将被忽略. 选择或删除文件夹时, 将忽略不在项目文件夹中的其他文件.",
"PlaceholderNewCollection": "新建收藏夹名称",
@@ -543,14 +543,14 @@
"ToastItemMarkedAsFinishedSuccess": "标记为听完的项目",
"ToastItemMarkedAsNotFinishedFailed": "标记为未听完失败",
"ToastItemMarkedAsNotFinishedSuccess": "标记为未听完的项目",
- "ToastLibraryCreateFailed": "创建图书库失败",
- "ToastLibraryCreateSuccess": "图书库 \"{0}\" 创建成功",
- "ToastLibraryDeleteFailed": "删除图书库失败",
- "ToastLibraryDeleteSuccess": "图书库已删除",
+ "ToastLibraryCreateFailed": "创建媒体库失败",
+ "ToastLibraryCreateSuccess": "媒体库 \"{0}\" 创建成功",
+ "ToastLibraryDeleteFailed": "删除媒体库失败",
+ "ToastLibraryDeleteSuccess": "媒体库已删除",
"ToastLibraryScanFailedToStart": "无法启动扫描",
- "ToastLibraryScanStarted": "图书库扫描已启动",
+ "ToastLibraryScanStarted": "媒体库扫描已启动",
"ToastLibraryUpdateFailed": "更新图书库失败",
- "ToastLibraryUpdateSuccess": "图书库 \"{0}\" 已更新",
+ "ToastLibraryUpdateSuccess": "媒体库 \"{0}\" 已更新",
"ToastPodcastCreateFailed": "创建播客失败",
"ToastPodcastCreateSuccess": "已成功创建播客",
"ToastRemoveItemFromCollectionFailed": "从收藏中删除项目失败",
@@ -571,4 +571,4 @@
"WeekdayThursday": "星期四",
"WeekdayTuesday": "星期二",
"WeekdayWednesday": "星期三"
-}
\ No newline at end of file
+}
diff --git a/server/managers/RssFeedManager.js b/server/managers/RssFeedManager.js
index 5b333849..ce15bbea 100644
--- a/server/managers/RssFeedManager.js
+++ b/server/managers/RssFeedManager.js
@@ -33,7 +33,7 @@ class RssFeedManager {
async getFeed(req, res) {
var feed = this.feeds[req.params.id]
if (!feed) {
- Logger.error(`[RssFeedManager] Feed not found ${req.params.id}`)
+ Logger.debug(`[RssFeedManager] Feed not found ${req.params.id}`)
res.sendStatus(404)
return
}
@@ -55,7 +55,7 @@ class RssFeedManager {
getFeedItem(req, res) {
var feed = this.feeds[req.params.id]
if (!feed) {
- Logger.error(`[RssFeedManager] Feed not found ${req.params.id}`)
+ Logger.debug(`[RssFeedManager] Feed not found ${req.params.id}`)
res.sendStatus(404)
return
}
@@ -71,7 +71,7 @@ class RssFeedManager {
getFeedCover(req, res) {
var feed = this.feeds[req.params.id]
if (!feed) {
- Logger.error(`[RssFeedManager] Feed not found ${req.params.id}`)
+ Logger.debug(`[RssFeedManager] Feed not found ${req.params.id}`)
res.sendStatus(404)
return
}