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 }