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