diff --git a/components/app/SideDrawer.vue b/components/app/SideDrawer.vue
index 2abdd67a..dd2acba6 100644
--- a/components/app/SideDrawer.vue
+++ b/components/app/SideDrawer.vue
@@ -3,10 +3,7 @@
-
- Welcome,
- {{ username }}
-
+
diff --git a/components/connection/ServerConnectForm.vue b/components/connection/ServerConnectForm.vue
index 54774d87..e4abd33b 100644
--- a/components/connection/ServerConnectForm.vue
+++ b/components/connection/ServerConnectForm.vue
@@ -483,8 +483,8 @@ export default {
await this.$hapticsImpact()
const { value } = await Dialog.confirm({
- title: 'Confirm',
- message: `Remove this server config?`
+ title: this.$strings.HeaderConfirm,
+ message: this.$strings.MessageConfirmDeleteServerConfig,
})
if (value) {
this.processing = true
diff --git a/components/modals/ItemMoreMenuModal.vue b/components/modals/ItemMoreMenuModal.vue
index fc72c073..ab1a468e 100644
--- a/components/modals/ItemMoreMenuModal.vue
+++ b/components/modals/ItemMoreMenuModal.vue
@@ -303,7 +303,7 @@ export default {
// Show confirm if item has progress since it will reset
if (this.userItemProgress && this.userItemProgress.progress > 0 && !this.userIsFinished) {
const { value } = await Dialog.confirm({
- title: 'Confirm',
+ title: this.$strings.HeaderConfirm,
message: this.$strings.MessageConfirmMarkAsFinished
})
if (!value) return
@@ -369,7 +369,7 @@ export default {
await this.$hapticsImpact()
const { value } = await Dialog.confirm({
- title: 'Confirm',
+ title: this.$strings.HeaderConfirm,
message: this.$strings.MessageConfirmDiscardProgress
})
if (value) {
@@ -407,7 +407,7 @@ export default {
}
const { value } = await Dialog.confirm({
- title: 'Confirm',
+ title: this.$strings.HeaderConfirm,
message: this.$getString('MessageConfirmDeleteLocalEpisode', [localFile.basePath])
})
if (value) {
@@ -432,7 +432,7 @@ export default {
await this.$hapticsImpact()
const { value } = await Dialog.confirm({
- title: 'Confirm',
+ title: this.$strings.HeaderConfirm,
message: this.$strings.MessageConfirmDeleteLocalFiles
})
if (value) {
diff --git a/components/modals/SleepTimerModal.vue b/components/modals/SleepTimerModal.vue
index 9e74b11c..a648f2c1 100644
--- a/components/modals/SleepTimerModal.vue
+++ b/components/modals/SleepTimerModal.vue
@@ -108,7 +108,7 @@ export default {
async cancelSleepTimer() {
if (this.isAuto) {
const { value } = await Dialog.confirm({
- title: 'Confirm',
+ title: this.$strings.HeaderConfirm,
message: this.$strings.MessageConfirmDisableAutoTimer
})
if (!value) return
diff --git a/components/tables/podcast/EpisodesTable.vue b/components/tables/podcast/EpisodesTable.vue
index d2b29646..dad3e06c 100644
--- a/components/tables/podcast/EpisodesTable.vue
+++ b/components/tables/podcast/EpisodesTable.vue
@@ -228,8 +228,8 @@ export default {
methods: {
async clearDownloadQueue() {
const { value } = await Dialog.confirm({
- title: 'Confirm',
- message: `Are you sure you want to clear episode download queue?`
+ title: this.$strings.HeaderConfirm,
+ message: this.$strings.MessageConfirmDeleteEpisodeDownloadQueue
})
if (value) {
diff --git a/mixins/cellularPermissionHelpers.js b/mixins/cellularPermissionHelpers.js
index 83016474..f49dcadd 100644
--- a/mixins/cellularPermissionHelpers.js
+++ b/mixins/cellularPermissionHelpers.js
@@ -33,7 +33,7 @@ export default {
this.$strings.MessageConfirmStreamingUsingCellular
const { value } = await Dialog.confirm({
- title: 'Confirm',
+ title: this.$strings.HeaderConfirm,
message
})
return value
diff --git a/pages/bookshelf/series/_id.vue b/pages/bookshelf/series/_id.vue
index 3943b885..43f3507d 100644
--- a/pages/bookshelf/series/_id.vue
+++ b/pages/bookshelf/series/_id.vue
@@ -148,7 +148,7 @@ export default {
// Show confirmation dialog and start downloading if user chooses so
const { value } = await Dialog.confirm({
- title: 'Confirm',
+ title: this.$strings.HeaderConfirm,
message: startDownloadMessage
})
if (value) {
diff --git a/pages/item/_id/_episode/index.vue b/pages/item/_id/_episode/index.vue
index e560e45f..f0a9218c 100644
--- a/pages/item/_id/_episode/index.vue
+++ b/pages/item/_id/_episode/index.vue
@@ -346,7 +346,7 @@ export default {
}
const { value } = await Dialog.confirm({
- title: 'Confirm',
+ title: this.$strings.HeaderConfirm,
message: this.$getString('MessageConfirmDeleteLocalEpisode', [localFile.basePath])
})
if (value) {
@@ -514,7 +514,7 @@ export default {
await this.$hapticsImpact()
const { value } = await Dialog.confirm({
- title: 'Confirm',
+ title: this.$strings.HeaderConfirm,
message: this.$strings.MessageConfirmDiscardProgress
})
if (value) {
@@ -575,8 +575,8 @@ export default {
await this.$hapticsImpact()
const { value } = await Dialog.confirm({
- title: 'Confirm',
- message: `Are you sure you want to delete episode "${this.title}" from the server?\nWarning: This will delete the audio file.`
+ title: this.$strings.HeaderConfirm,
+ message: this.$getString('MessageConfirmDeleteServerEpisode', [this.title])
})
if (value) {
diff --git a/pages/item/_id/index.vue b/pages/item/_id/index.vue
index 73f87771..b8011a1e 100644
--- a/pages/item/_id/index.vue
+++ b/pages/item/_id/index.vue
@@ -584,8 +584,8 @@ export default {
// If start time and is not already streaming then ask for confirmation
if (startTime !== null && startTime !== undefined && !this.$store.getters['getIsMediaStreaming'](libraryItemId, null)) {
const { value } = await Dialog.confirm({
- title: 'Confirm',
- message: `Start playback for "${this.title}" at ${this.$secondsToTimestamp(startTime)}?`
+ title: this.$strings.HeaderConfirm,
+ message: this.$getString('MessageConfirmPlaybackTime', [this.title, this.$secondsToTimestamp(startTime)])
})
if (!value) return
}
@@ -673,7 +673,7 @@ export default {
}
}
const { value } = await Dialog.confirm({
- title: 'Confirm',
+ title: this.$strings.HeaderConfirm,
message: startDownloadMessage
})
if (value) {
diff --git a/pages/localMedia/folders/_id.vue b/pages/localMedia/folders/_id.vue
index 9fb189dd..b51304f4 100644
--- a/pages/localMedia/folders/_id.vue
+++ b/pages/localMedia/folders/_id.vue
@@ -100,7 +100,7 @@ export default {
deleteMessage = `Are you sure you want to remove this folder and ${this.localLibraryItems.length} items? (does not delete anything in your file system)`
}
const { value } = await Dialog.confirm({
- title: 'Confirm',
+ title: this.$strings.HeaderConfirm,
message: deleteMessage
})
if (value) {
diff --git a/pages/localMedia/folders/index.vue b/pages/localMedia/folders/index.vue
index 301c84c3..afdc040f 100644
--- a/pages/localMedia/folders/index.vue
+++ b/pages/localMedia/folders/index.vue
@@ -22,7 +22,7 @@
-
+
{{ $strings.ButtonNewFolder }}
diff --git a/pages/localMedia/item/_id.vue b/pages/localMedia/item/_id.vue
index 1704cfdb..7afd9fbe 100644
--- a/pages/localMedia/item/_id.vue
+++ b/pages/localMedia/item/_id.vue
@@ -369,7 +369,7 @@ export default {
confirmMessage += ' The file on the server will be unaffected.'
}
const { value } = await Dialog.confirm({
- title: 'Confirm',
+ title: this.$strings.HeaderConfirm,
message: confirmMessage
})
if (value) {
@@ -395,7 +395,7 @@ export default {
confirmMessage += ' The file on the server will be unaffected.'
}
const { value } = await Dialog.confirm({
- title: 'Confirm',
+ title: this.$strings.HeaderConfirm,
message: confirmMessage
})
if (value) {
@@ -412,7 +412,7 @@ export default {
confirmMessage += ' The files on the server and your progress will be unaffected.'
}
const { value } = await Dialog.confirm({
- title: 'Confirm',
+ title: this.$strings.HeaderConfirm,
message: confirmMessage
})
if (value) {
diff --git a/plugins/init.client.js b/plugins/init.client.js
index e54f85b2..acc952e7 100644
--- a/plugins/init.client.js
+++ b/plugins/init.client.js
@@ -314,8 +314,8 @@ export default ({ store, app }, inject) => {
}
if (!canGoBack) {
const { value } = await Dialog.confirm({
- title: 'Confirm',
- message: `Did you want to exit the app?`
+ title: eventBus.$strings.HeaderConfirm,
+ message: eventBus.$strings.MessageConfirmAppExit
})
if (value) {
App.exitApp()
diff --git a/strings/en-us.json b/strings/en-us.json
index 83d370a5..fb62a9f1 100644
--- a/strings/en-us.json
+++ b/strings/en-us.json
@@ -63,6 +63,7 @@
"HeaderChapters": "Chapters",
"HeaderCollection": "Collection",
"HeaderCollectionItems": "Collection Items",
+ "HeaderConfirm": "Confirm",
"HeaderConnectionStatus": "Connection Status",
"HeaderDataSettings": "Data Settings",
"HeaderDetails": "Details",
@@ -91,6 +92,7 @@
"HeaderStatsRecentSessions": "Recent Sessions",
"HeaderTableOfContents": "Table of Contents",
"HeaderUserInterfaceSettings": "User Interface Settings",
+ "HeaderWelcome": "Welcome,
{0}",
"HeaderYourStats": "Your Stats",
"LabelAddToPlaylist": "Add to Playlist",
"LabelAddedAt": "Added At",
@@ -237,6 +239,7 @@
"LabelScaleElapsedTimeBySpeed": "Scale Elapsed Time by Speed",
"LabelSeason": "Season",
"LabelSelectADevice": "Select a device",
+ "LabelSelectMediaType": "Select media type",
"LabelSequenceAscending": "Sequence Ascending",
"LabelSequenceDescending": "Sequence Descending",
"LabelSeries": "Series",
@@ -289,12 +292,17 @@
"MessageAudiobookshelfServerNotConnected": "Audiobookshelf server not connected",
"MessageAudiobookshelfServerRequired": "
Important! This app is designed to work with an Audiobookshelf server that you or someone you know is hosting. This app does not provide any content.",
"MessageBookshelfEmpty": "Bookshelf empty",
+ "MessageConfirmAppExit":"Did you want to exit the app?",
+ "MessageConfirmDeleteEpisodeDownloadQueue": "Are you sure you want to clear episode download queue?",
"MessageConfirmDeleteLocalEpisode": "Remove local episode \"{0}\" from your device? The file on the server will be unaffected.",
"MessageConfirmDeleteLocalFiles": "Remove local files of this item from your device? The files on the server and your progress will be unaffected.",
+ "MessageConfirmDeleteServerConfig": "Remove this server config?",
+ "MessageConfirmDeleteServerEpisode": "Are you sure you want to delete episode \"{0}\" from the server?\nWarning: This will delete the audio file.",
"MessageConfirmDisableAutoTimer": "Are you sure you want to disable the auto timer for the rest of today? The timer will be re-enabled at the end of this auto-sleep timer period, or if you restart the app.",
"MessageConfirmDiscardProgress": "Are you sure you want to reset your progress?",
"MessageConfirmDownloadUsingCellular": "You are about to download using cellular data. This may include carrier data charges. Do you wish to continue?",
"MessageConfirmMarkAsFinished": "Are you sure you want to mark this item as finished?",
+ "MessageConfirmPlaybackTime":"Start playback for \"{0}\" at {1}?",
"MessageConfirmRemoveBookmark": "Are you sure you want to remove bookmark?",
"MessageConfirmStreamingUsingCellular": "You are about to stream using cellular data. This may include carrier data charges. Do you wish to continue?",
"MessageDiscardProgress": "Discard Progress",