diff --git a/client/strings/it.json b/client/strings/it.json index 3311a57e..39bc96ae 100644 --- a/client/strings/it.json +++ b/client/strings/it.json @@ -1,54 +1,54 @@ { "ButtonHome": "Home", - "ButtonLatest": "Latest", - "ButtonLibrary": "Library", - "ButtonSeries": "Series", - "ButtonCollections": "Collections", - "ButtonAuthors": "Authors", - "ButtonSearch": "Search", - "ButtonIssues": "Issues", - "ButtonChangePasswordSubmit": "Submit", - "ButtonLogout": "Logout", - "ButtonPurgeAllCache": "Purge All Cache", - "ButtonPurgeItemsCache": "Purge Items Cache", - "ButtonRemoveAllLibraryItems": "Remove All Library Items", + "ButtonLatest": "Ultimi", + "ButtonLibrary": "Libreria", + "ButtonSeries": "Serie", + "ButtonCollections": "Collezioni", + "ButtonAuthors": "Autori", + "ButtonSearch": "Cerca", + "ButtonIssues": "Errori", + "ButtonChangePasswordSubmit": "invio", + "ButtonLogout": "Disconnetti", + "ButtonPurgeAllCache": "Elimina tutta la Cache", + "ButtonPurgeItemsCache": "Elimina la Cache dei file", + "ButtonRemoveAllLibraryItems": "Elimina tutti i libri", "HeaderAccount": "Account", - "HeaderChangePassword": "Change Password", - "HeaderSettings": "Settings", - "HeaderLibraries": "Libraries", - "HeaderUsers": "Users", - "HeaderListeningSessions": "Listening Sessions", - "HeaderBackups": "Backups", + "HeaderChangePassword": "Cambia Password", + "HeaderSettings": "Impostazioni", + "HeaderLibraries": "Librerie", + "HeaderUsers": "Utenti", + "HeaderListeningSessions": "Attività Utenti", + "HeaderBackups": "Backup", "HeaderLogs": "Logs", - "HeaderNotifications": "Notifications", - "HeaderLibraryStats": "Library Stats", - "HeaderYourStats": "Your Stats", - "HeaderSettingsGeneral": "General", + "HeaderNotifications": "Notifiche", + "HeaderLibraryStats": "Statistiche Libreria", + "HeaderYourStats": "Statistiche Personali", + "HeaderSettingsGeneral": "Generale", "HeaderSettingsScanner": "Scanner", - "HeaderSettingsDisplay": "Display", - "HeaderSettingsExperimental": "Experimental Features", - "LabelUsername": "Username", - "LabelAccountType": "Account Type", + "HeaderSettingsDisplay": "temi", + "HeaderSettingsExperimental": "Opzioni Sperimentali", + "LabelUsername": "Utente", + "LabelAccountType": "Tipo Account", "LabelPassword": "Password", - "LabelNewPassword": "New Password", - "LabelConfirmPassword": "Confirm Password", - "LabelSettingsStoreCoversWithItem": "Store covers with item", - "LabelSettingsStoreCoversWithItemHelp": "By default covers are stored in /metadata/items, enabling this setting will store covers in your library item folder. Only one file named \"cover\" will be kept", - "LabelSettingsStoreMetadataWithItem": "Store metadata with item", - "LabelSettingsStoreMetadataWithItemHelp": "By default metadata files are stored in /metadata/items, enabling this setting will store metadata files in your library item folders. Uses .abs file extension", - "LabelSettingsSortingIgnorePrefixes": "Ignore prefixes when sorting", - "LabelSettingsSortingIgnorePrefixesHelp": "i.e. for prefix \"the\" book title \"The Book Title\" would sort as \"Book Title, The\"", - "LabelPrefixesToIgnore": "Prefixes to Ignore (case insensitive)", - "LabelSettingsChromecastSupport": "Chromecast support", - "LabelSettingsHomePageBookshelfView": "Home page use bookshelf view", - "LabelSettingsLibraryBookshelfView": "Library use bookshelf view", - "LabelSettingsBookshelfViewHelp": "Skeumorphic design with wooden shelves", - "LabelSettingsDateFormat": "Date Format", - "LabelSettingsParseSubtitles": "Parse subtitles", - "LabelSettingsParseSubtitlesHelp": "Extract subtitles from audiobook folder names.
Subtitle must be seperated by \" - \"
i.e. \"Book Title - A Subtitle Here\" has the subtitle \"A Subtitle Here\"", - "LabelSettingsFindCovers": "Find covers", - "LabelSettingsFindCoversHelp": "If your audiobook does not have an embedded cover or a cover image inside the folder, the scanner will attempt to find a cover.
Note: This will extend scan time", - "MessageReportBugsAndContribute": "Report bugs, request features, and contribute on", - "NoteChangeRootPassword": "Root user is the only user that can have an empty password", - "SearchPlaceholder": "Search.." -} \ No newline at end of file + "LabelNewPassword": "Nuova Password", + "LabelConfirmPassword": "Conferma Password", + "LabelSettingsStoreCoversWithItem": "Archivia le copertine con il file", + "LabelSettingsStoreCoversWithItemHelp": "Di default, le immagini di copertina sono salvate dentro /metadata/items, abilitando questa opzione le copertine saranno archiviate nella cartella della libreria corrispondente. Verrà conservato solo un file denominato \"cover\"", + "LabelSettingsStoreMetadataWithItem": "Archivia i metadata con il file", + "LabelSettingsStoreMetadataWithItemHelp": "Di default, i metadati sono salvati dentro /metadata/items, abilitando questa opzione si memorizzeranno i metadata nella cartella della libreria. I file avranno estensione .abs", + "LabelSettingsSortingIgnorePrefixes": "Ignora i sufissi nei titoli durante l'aggiunta", + "LabelSettingsSortingIgnorePrefixesHelp": "per il suffiso si intende ad esempio \"il\" cone nel libro \"Il signore degli anelli\" che verrebbe ordinato come \"signore degli anelli, il\"", + "LabelPrefixesToIgnore": "suffissi da ignorare (specificando maiuscole e minuscole)", + "LabelSettingsChromecastSupport": "supporto a Chromecast", + "LabelSettingsHomePageBookshelfView": "Home page con sfondo legno", + "LabelSettingsLibraryBookshelfView": "Libreria con sfondo legno", + "LabelSettingsBookshelfViewHelp": "design con scaffali in legno", + "LabelSettingsDateFormat": "Formato Data", + "LabelSettingsParseSubtitles": "Analizza i sottotitoli", + "LabelSettingsParseSubtitlesHelp": "Estrai i sottotitoli dai nomi delle cartelle degli audiolibri.
I sottotitoli devono essere separati da \" - \"
Per esempio \"Il signore degli anelli - Le due Torri \" avrà il sottotitolo \"Le due Torri\"", + "LabelSettingsFindCovers": "Trova le Copertine", + "LabelSettingsFindCoversHelp": "Se il tuo audiolibro non ha una copertina incorporata o un'immagine di copertina all'interno della cartella, questa funzione tenterà di trovare una copertina.
Nota: aumenta il tempo di scansione", + "MessageReportBugsAndContribute": "Segnala bug, richiedi funzionalità e contribuisci", + "NoteChangeRootPassword": "L'utente root è l'unico utente che può avere una password vuota", + "SearchPlaceholder": "Ricerca qui.." +} diff --git a/client/strings/pl.json b/client/strings/pl.json index 3311a57e..95f27add 100644 --- a/client/strings/pl.json +++ b/client/strings/pl.json @@ -1,54 +1,54 @@ { "ButtonHome": "Home", - "ButtonLatest": "Latest", - "ButtonLibrary": "Library", - "ButtonSeries": "Series", - "ButtonCollections": "Collections", - "ButtonAuthors": "Authors", - "ButtonSearch": "Search", - "ButtonIssues": "Issues", - "ButtonChangePasswordSubmit": "Submit", - "ButtonLogout": "Logout", - "ButtonPurgeAllCache": "Purge All Cache", - "ButtonPurgeItemsCache": "Purge Items Cache", - "ButtonRemoveAllLibraryItems": "Remove All Library Items", - "HeaderAccount": "Account", - "HeaderChangePassword": "Change Password", - "HeaderSettings": "Settings", - "HeaderLibraries": "Libraries", - "HeaderUsers": "Users", - "HeaderListeningSessions": "Listening Sessions", - "HeaderBackups": "Backups", - "HeaderLogs": "Logs", - "HeaderNotifications": "Notifications", - "HeaderLibraryStats": "Library Stats", - "HeaderYourStats": "Your Stats", - "HeaderSettingsGeneral": "General", - "HeaderSettingsScanner": "Scanner", - "HeaderSettingsDisplay": "Display", - "HeaderSettingsExperimental": "Experimental Features", - "LabelUsername": "Username", - "LabelAccountType": "Account Type", - "LabelPassword": "Password", - "LabelNewPassword": "New Password", - "LabelConfirmPassword": "Confirm Password", - "LabelSettingsStoreCoversWithItem": "Store covers with item", - "LabelSettingsStoreCoversWithItemHelp": "By default covers are stored in /metadata/items, enabling this setting will store covers in your library item folder. Only one file named \"cover\" will be kept", - "LabelSettingsStoreMetadataWithItem": "Store metadata with item", - "LabelSettingsStoreMetadataWithItemHelp": "By default metadata files are stored in /metadata/items, enabling this setting will store metadata files in your library item folders. Uses .abs file extension", - "LabelSettingsSortingIgnorePrefixes": "Ignore prefixes when sorting", - "LabelSettingsSortingIgnorePrefixesHelp": "i.e. for prefix \"the\" book title \"The Book Title\" would sort as \"Book Title, The\"", - "LabelPrefixesToIgnore": "Prefixes to Ignore (case insensitive)", - "LabelSettingsChromecastSupport": "Chromecast support", - "LabelSettingsHomePageBookshelfView": "Home page use bookshelf view", - "LabelSettingsLibraryBookshelfView": "Library use bookshelf view", - "LabelSettingsBookshelfViewHelp": "Skeumorphic design with wooden shelves", - "LabelSettingsDateFormat": "Date Format", - "LabelSettingsParseSubtitles": "Parse subtitles", - "LabelSettingsParseSubtitlesHelp": "Extract subtitles from audiobook folder names.
Subtitle must be seperated by \" - \"
i.e. \"Book Title - A Subtitle Here\" has the subtitle \"A Subtitle Here\"", - "LabelSettingsFindCovers": "Find covers", - "LabelSettingsFindCoversHelp": "If your audiobook does not have an embedded cover or a cover image inside the folder, the scanner will attempt to find a cover.
Note: This will extend scan time", - "MessageReportBugsAndContribute": "Report bugs, request features, and contribute on", - "NoteChangeRootPassword": "Root user is the only user that can have an empty password", - "SearchPlaceholder": "Search.." + "ButtonLatest": "Aktualna wersja:", + "ButtonLibrary": "Biblioteka", + "ButtonSeries": "Serie", + "ButtonCollections": "Kolekcje", + "ButtonAuthors": "Autorzy", + "ButtonSearch": "Szukaj", + "ButtonIssues": "Błędy", + "ButtonChangePasswordSubmit": "Zatwierdź", + "ButtonLogout": "Wyloguj", + "ButtonPurgeAllCache": "Wyczyść dane tymczasowe", + "ButtonPurgeItemsCache": "Wyczyść dane tymczasowe pozycji", + "ButtonRemoveAllLibraryItems": "Usuń wszystkie elementy z biblioteki", + "HeaderAccount": "Konto", + "HeaderChangePassword": "Zmień hasło", + "HeaderSettings": "Ustawienia", + "HeaderLibraries": "Biblioteki", + "HeaderUsers": "Użytkownicy", + "HeaderListeningSessions": "Sesje słuchania", + "HeaderBackups": "Kopie zapasowe", + "HeaderLogs": "Logi", + "HeaderNotifications": "Powiadomienia", + "HeaderLibraryStats": "Statystyki biblioteki", + "HeaderYourStats": "Twoje statystyki", + "HeaderSettingsGeneral": "Ogólne", + "HeaderSettingsScanner": "Skanowanie", + "HeaderSettingsDisplay": "Wyświetlanie", + "HeaderSettingsExperimental": "Funkcje eksperymentalne", + "LabelUsername": "Nazwa użytkownika", + "LabelAccountType": "Typ konta", + "LabelPassword": "Hasło", + "LabelNewPassword": "Nowe hasło", + "LabelConfirmPassword": "Potwierdź hasło", + "LabelSettingsStoreCoversWithItem": "Przechowuj okładkę w folderze książki", + "LabelSettingsStoreCoversWithItemHelp": "Domyślnie okładki są przechowywane w folderze /metadata/items, włączenie tej opcji spowoduje, że okładka będzie przechowywana w folderze ksiązki. Tylko jedna okładka o nazwie pliku \"cover\" będzie przechowywana.", + "LabelSettingsStoreMetadataWithItem": "Przechowuj metadane w folderze książki", + "LabelSettingsStoreMetadataWithItemHelp": "Domyślnie metadane są przechowywane w folderze /metadata/items, włączenie tej opcji spowoduje, że okładka będzie przechowywana w folderze ksiązki. Tylko jedna okładka o nazwie pliku \"cover\" będzie przechowywana. Rozszerzenie pliku metadanych: .abs", + "LabelSettingsSortingIgnorePrefixes": "Ignoruj prefiksy podczas sortowania", + "LabelSettingsSortingIgnorePrefixesHelp": "np. dla prefiksu \"the\" tytuł ksiązki \"The Book Title\" będzie sortowany jako \"Book Title, The\"", + "LabelPrefixesToIgnore": "Ignorowane prefiksy (wielkość liter nie ma znaczenia)", + "LabelSettingsChromecastSupport": "Wsparcie Chromecast", + "LabelSettingsHomePageBookshelfView": "Widok półki z książkami na stronie głównej", + "LabelSettingsLibraryBookshelfView": "Widok półki z książkami na stronie biblioteki", + "LabelSettingsBookshelfViewHelp": "Widok półki z ksiązkami", + "LabelSettingsDateFormat": "Format daty", + "LabelSettingsParseSubtitles": "Przetwarzaj podtytuły", + "LabelSettingsParseSubtitlesHelp": "Opcja pozwala na pobranie podtytułu z nazwy folderu z audiobookiem.
Podtytuł musi być rozdzielony za pomocą separatora \" - \"
Przykład: \"Book Title - A Subtitle Here\" podtytuł \"A Subtitle Here\"", + "LabelSettingsFindCovers": "Szukanie okładek", + "LabelSettingsFindCoversHelp": "Jeśli audiobook nie posiada zintegrowanej okładki albo w folderze nie zostanie znaleziony plik okładki, skaner podejmie próbę pobrania okładki z sieci.
Uwaga: może to wydłuzyć proces skanowania", + "MessageReportBugsAndContribute": "Zgłoś błędy, pomysły i pomóż rozwijać aplikację na", + "NoteChangeRootPassword": "Tylko użytkownik root, może posiadać puste hasło", + "SearchPlaceholder": "Wyszukaj.." } \ No newline at end of file diff --git a/client/strings/zh-cn.json b/client/strings/zh-cn.json index 9000d267..c76c3040 100644 --- a/client/strings/zh-cn.json +++ b/client/strings/zh-cn.json @@ -1,54 +1,54 @@ { "ButtonHome": "主页", - "ButtonLatest": "Latest", - "ButtonLibrary": "Library", - "ButtonSeries": "Series", - "ButtonCollections": "Collections", - "ButtonAuthors": "Authors", - "ButtonSearch": "Search", - "ButtonIssues": "Issues", - "ButtonChangePasswordSubmit": "Submit", - "ButtonLogout": "Logout", - "ButtonPurgeAllCache": "Purge All Cache", - "ButtonPurgeItemsCache": "Purge Items Cache", - "ButtonRemoveAllLibraryItems": "Remove All Library Items", - "HeaderAccount": "Account", - "HeaderChangePassword": "Change Password", - "HeaderSettings": "Settings", - "HeaderLibraries": "Libraries", - "HeaderUsers": "Users", - "HeaderListeningSessions": "Listening Sessions", - "HeaderBackups": "Backups", - "HeaderLogs": "Logs", - "HeaderNotifications": "Notifications", - "HeaderLibraryStats": "Library Stats", - "HeaderYourStats": "Your Stats", - "HeaderSettingsGeneral": "General", - "HeaderSettingsScanner": "Scanner", - "HeaderSettingsDisplay": "Display", - "HeaderSettingsExperimental": "Experimental Features", - "LabelUsername": "Username", - "LabelAccountType": "Account Type", - "LabelPassword": "Password", - "LabelNewPassword": "New Password", - "LabelConfirmPassword": "Confirm Password", - "LabelSettingsStoreCoversWithItem": "Store covers with item", - "LabelSettingsStoreCoversWithItemHelp": "By default covers are stored in /metadata/items, enabling this setting will store covers in your library item folder. Only one file named \"cover\" will be kept", - "LabelSettingsStoreMetadataWithItem": "Store metadata with item", - "LabelSettingsStoreMetadataWithItemHelp": "By default metadata files are stored in /metadata/items, enabling this setting will store metadata files in your library item folders. Uses .abs file extension", - "LabelSettingsSortingIgnorePrefixes": "Ignore prefixes when sorting", - "LabelSettingsSortingIgnorePrefixesHelp": "i.e. for prefix \"the\" book title \"The Book Title\" would sort as \"Book Title, The\"", - "LabelPrefixesToIgnore": "Prefixes to Ignore (case insensitive)", - "LabelSettingsChromecastSupport": "Chromecast support", - "LabelSettingsHomePageBookshelfView": "Home page use bookshelf view", - "LabelSettingsLibraryBookshelfView": "Library use bookshelf view", - "LabelSettingsBookshelfViewHelp": "Skeumorphic design with wooden shelves", - "LabelSettingsDateFormat": "Date Format", - "LabelSettingsParseSubtitles": "Parse subtitles", - "LabelSettingsParseSubtitlesHelp": "Extract subtitles from audiobook folder names.
Subtitle must be seperated by \" - \"
i.e. \"Book Title - A Subtitle Here\" has the subtitle \"A Subtitle Here\"", - "LabelSettingsFindCovers": "Find covers", - "LabelSettingsFindCoversHelp": "If your audiobook does not have an embedded cover or a cover image inside the folder, the scanner will attempt to find a cover.
Note: This will extend scan time", - "MessageReportBugsAndContribute": "Report bugs, request features, and contribute on", - "NoteChangeRootPassword": "Root user is the only user that can have an empty password", - "SearchPlaceholder": "Search.." + "ButtonLatest": "最新", + "ButtonLibrary": "图书馆", + "ButtonSeries": "系列", + "ButtonCollections": "收藏", + "ButtonAuthors": "作者", + "ButtonSearch": "查找", + "ButtonIssues": "反馈问题", + "ButtonChangePasswordSubmit": "提交", + "ButtonLogout": "注销", + "ButtonPurgeAllCache": "清理所有缓存", + "ButtonPurgeItemsCache": "清理项目缓存", + "ButtonRemoveAllLibraryItems": "移除所有图书项目", + "HeaderAccount": "帐户", + "HeaderChangePassword": "更改密码", + "HeaderSettings": "设置", + "HeaderLibraries": "图书馆", + "HeaderUsers": "用户", + "HeaderListeningSessions": "收听会话", + "HeaderBackups": "备份", + "HeaderLogs": "日志", + "HeaderNotifications": "通知", + "HeaderLibraryStats": "图书馆统计数据", + "HeaderYourStats": "你的统计数据", + "HeaderSettingsGeneral": "一般", + "HeaderSettingsScanner": "扫描", + "HeaderSettingsDisplay": "显示", + "HeaderSettingsExperimental": "实验功能", + "LabelUsername": "用户名", + "LabelAccountType": "帐户类型", + "LabelPassword": "密码", + "LabelNewPassword": "新密码", + "LabelConfirmPassword": "确认密码", + "LabelSettingsStoreCoversWithItem": "存储项目封面", + "LabelSettingsStoreCoversWithItemHelp": "默认情况下封面存储在/metadata/items文件夹中, 启用此设置将存储封面在你图书项目文件夹中. 只保留一个名为 \"cover\" 的文件", + "LabelSettingsStoreMetadataWithItem": "存储项目元数据", + "LabelSettingsStoreMetadataWithItemHelp": "默认情况下元数据文件存储在/metadata/items文件夹中, 启用此设置将存储元数据在你图书项目文件夹中. 使 .abs 文件护展名", + "LabelSettingsSortingIgnorePrefixes": "排序时忽略前缀", + "LabelSettingsSortingIgnorePrefixesHelp": "例: 前缀 \"这本\" 书名 \"这本书名\" 将按 \"书名, 这本\" 排序", + "LabelPrefixesToIgnore": "忽略的前缀 (不区分大小写)", + "LabelSettingsChromecastSupport": "Chromecast 支持", + "LabelSettingsHomePageBookshelfView": "主页使用书架视图", + "LabelSettingsLibraryBookshelfView": "图书馆使用书架视图", + "LabelSettingsBookshelfViewHelp": "带有木架子的拟物化设计", + "LabelSettingsDateFormat": "日期格式", + "LabelSettingsParseSubtitles": "解析字幕", + "LabelSettingsParseSubtitlesHelp": "从有声读物文件夹中提取字幕.
字幕必须用 \" - \" 分隔.
例: \"书名 - 字幕\" 则显示字幕 \"这里有字幕\"", + "LabelSettingsFindCovers": "查找封面", + "LabelSettingsFindCoversHelp": "如果您的有声读物在文件夹中没有嵌入封面或封面图像, 扫描时将尝试查找封面.
注意: 这将延长扫描时间", + "MessageReportBugsAndContribute": "报告错误, 请求新功能, 做贡献请点击", + "NoteChangeRootPassword": "Root 用户是唯一可以有空密码的用户", + "SearchPlaceholder": "搜索.." } \ No newline at end of file diff --git a/server/controllers/LibraryController.js b/server/controllers/LibraryController.js index c2902931..5a2878be 100644 --- a/server/controllers/LibraryController.js +++ b/server/controllers/LibraryController.js @@ -285,7 +285,7 @@ class LibraryController { lastRange.end = currentSequence } else { - ranges.push({ start: currentSequence, end: currentSequence, isNumber: isNaN(currentSequence) }) + ranges.push({ start: currentSequence, end: currentSequence, isNumber: isNumber }) } return ranges