diff --git a/client/components/app/LazyBookshelf.vue b/client/components/app/LazyBookshelf.vue
index e63441dc..082d1096 100644
--- a/client/components/app/LazyBookshelf.vue
+++ b/client/components/app/LazyBookshelf.vue
@@ -7,17 +7,17 @@
-
{{ libraryName }} Library is empty!
+
{{ $getString('MessageXLibraryIsEmpty', [libraryName]) }}
- Configure Scanner
- Scan Library
+ {{ $strings.ButtonConfigureScanner }}
+ {{ $strings.ButtonScanLibrary }}
{{ emptyMessage }}
- Clear Filter
+ {{ $strings.ButtonClearFilter }}
@@ -85,14 +85,15 @@ export default {
return this.$store.getters['libraries/getCurrentLibraryMediaType'] == 'podcast'
},
emptyMessage() {
- if (this.page === 'series') return 'You have no series'
- if (this.page === 'collections') return "You haven't made any collections yet"
+ if (this.page === 'series') return this.$strings.MessageBookshelfNoSeries
+ if (this.page === 'collections') return this.$strings.MessageBookshelfNoCollections
if (this.hasFilter) {
- if (this.filterName === 'Issues') return 'No Issues'
- else if (this.filterName === 'Feed-open') return 'No RSS feeds are open'
- return `No Results for filter "${this.filterName}: ${this.filterValue}"`
+ if (this.filterName === 'Issues') return this.$strings.MessageNoIssues
+ else if (this.filterName === 'Feed-open') return this.$strings.MessageBookshelfNoRSSFeeds
+ return this.$getString('MessageBookshelfNoResultsForFilter', [this.filterName, this.filterValue])
+ // return `No Results for filter "${this.filterName}: ${this.filterValue}"`
}
- return 'No results'
+ return this.$strings.MessageNoResults
},
entityName() {
if (!this.page) return 'books'
diff --git a/client/strings/en-us.json b/client/strings/en-us.json
index 414aa5da..a42ced61 100644
--- a/client/strings/en-us.json
+++ b/client/strings/en-us.json
@@ -13,8 +13,10 @@
"ButtonCheckAndDownloadNewEpisodes": "Check & Download New Episodes",
"ButtonChooseAFolder": "Choose a folder",
"ButtonChooseFiles": "Choose files",
+ "ButtonClearFilter": "Clear Filter",
"ButtonCloseFeed": "Close Feed",
"ButtonCollections": "Collections",
+ "ButtonConfigureScanner": "Configure Scanner",
"ButtonCreate": "Create",
"ButtonCreateBackup": "Create Backup",
"ButtonDelete": "Delete",
@@ -58,6 +60,7 @@
"ButtonSaveAndClose": "Save & Close",
"ButtonSaveTracklist": "Save Tracklist",
"ButtonScan": "Scan",
+ "ButtonScanLibrary": "Scan Library",
"ButtonSearch": "Search",
"ButtonSelectFolderPath": "Select Folder Path",
"ButtonSeries": "Series",
@@ -387,6 +390,10 @@
"MessageBackupsDescription": "Backups include users, user progress, library item details, server settings, and images stored in",
"MessageBackupsNote": "Backups do not include any files stored in your library folders.",
"MessageBatchQuickMatchDescription": "Quick Match will attempt to add missing covers and metadata for the selected items. Enable the options below to allow Quick Match to overwrite existing covers and/or metadata.",
+ "MessageBookshelfNoCollections": "You haven't made any collections yet",
+ "MessageBookshelfNoResultsForFilter": "No Results for filter \"{0}: {1}\"",
+ "MessageBookshelfNoRSSFeeds": "No RSS feeds are open",
+ "MessageBookshelfNoSeries": "You have no series",
"MessageChapterEndIsAfter": "Chapter end is after the end of your audiobook",
"MessageChapterStartIsAfter": "Chapter start is after the end of your audiobook",
"MessageCheckingCron": "Checking cron...",
@@ -429,6 +436,7 @@
"MessageNoEpisodes": "No Episodes",
"MessageNoFoldersAvailable": "No Folders Available",
"MessageNoGenres": "No Genres",
+ "MessageNoIssues": "No Issues",
"MessageNoItems": "No Items",
"MessageNoItemsFound": "No items found",
"MessageNoListeningSessions": "No Listening Sessions",
@@ -459,6 +467,7 @@
"MessageUploading": "Uploading...",
"MessageValidCronExpression": "Valid cron expression",
"MessageWatcherIsDisabledGlobally": "Watcher is disabled globally in server settings",
+ "MessageXLibraryIsEmpty": "{0} Library is empty!",
"MessageYourAudiobookDurationIsLonger": "Your audiobook duration is longer than the duration found",
"MessageYourAudiobookDurationIsShorter": "Your audiobook duration is shorter than duration found",
"NoteChangeRootPassword": "Root user is the only user that can have an empty password",