diff --git a/client/components/modals/podcast/NewModal.vue b/client/components/modals/podcast/NewModal.vue
index d9e3e4614..c52ac776d 100644
--- a/client/components/modals/podcast/NewModal.vue
+++ b/client/components/modals/podcast/NewModal.vue
@@ -156,7 +156,12 @@ export default {
return this.selectedFolder.fullPath
},
podcastTypes() {
- return this.$store.state.globals.podcastTypes || []
+ return this.$store.state.globals.podcastTypes.map((e) => {
+ return {
+ text: this.$strings[e.descriptionKey] || e.text,
+ value: e.value
+ }
+ })
}
},
methods: {
diff --git a/client/components/modals/podcast/tabs/EpisodeDetails.vue b/client/components/modals/podcast/tabs/EpisodeDetails.vue
index ce5e1b58d..2084ddee6 100644
--- a/client/components/modals/podcast/tabs/EpisodeDetails.vue
+++ b/client/components/modals/podcast/tabs/EpisodeDetails.vue
@@ -33,11 +33,11 @@
-
+
-
Episode not linked to RSS feed episode
+
{{ $strings.LabelEpisodeNotLinkedToRssFeed }}
@@ -97,7 +97,12 @@ export default {
return this.enclosure.url
},
episodeTypes() {
- return this.$store.state.globals.episodeTypes || []
+ return this.$store.state.globals.episodeTypes.map((e) => {
+ return {
+ text: this.$strings[e.descriptionKey] || e.text,
+ value: e.value
+ }
+ })
}
},
methods: {
@@ -152,14 +157,14 @@ export default {
const updateResult = await this.$axios.$patch(`/api/podcasts/${this.libraryItem.id}/episode/${this.episodeId}`, updatedDetails).catch((error) => {
console.error('Failed update episode', error)
this.isProcessing = false
- this.$toast.error(error?.response?.data || 'Failed to update episode')
+ this.$toast.error(error?.response?.data || this.$strings.ToastFailedToUpdate)
return false
})
this.isProcessing = false
if (updateResult) {
if (updateResult) {
- this.$toast.success('Podcast episode updated')
+ this.$toast.success(this.$strings.ToastItemUpdateSuccess)
return true
} else {
this.$toast.info(this.$strings.MessageNoUpdatesWereNecessary)
diff --git a/client/components/widgets/PodcastDetailsEdit.vue b/client/components/widgets/PodcastDetailsEdit.vue
index 20513ba55..389ca8945 100644
--- a/client/components/widgets/PodcastDetailsEdit.vue
+++ b/client/components/widgets/PodcastDetailsEdit.vue
@@ -101,7 +101,12 @@ export default {
return this.$store.state.libraries.filterData || {}
},
podcastTypes() {
- return this.$store.state.globals.podcastTypes || []
+ return this.$store.state.globals.podcastTypes.map((e) => {
+ return {
+ text: this.$strings[e.descriptionKey] || e.text,
+ value: e.value
+ }
+ })
}
},
methods: {
diff --git a/client/store/globals.js b/client/store/globals.js
index 8e98c56d6..f7f661f6e 100644
--- a/client/store/globals.js
+++ b/client/store/globals.js
@@ -72,13 +72,13 @@ export const state = () => ({
}
],
podcastTypes: [
- { text: 'Episodic', value: 'episodic' },
- { text: 'Serial', value: 'serial' }
+ { text: 'Episodic', value: 'episodic', descriptionKey: 'LabelEpisodic' },
+ { text: 'Serial', value: 'serial', descriptionKey: 'LabelSerial' }
],
episodeTypes: [
- { text: 'Full', value: 'full' },
- { text: 'Trailer', value: 'trailer' },
- { text: 'Bonus', value: 'bonus' }
+ { text: 'Full', value: 'full', descriptionKey: 'LabelFull' },
+ { text: 'Trailer', value: 'trailer', descriptionKey: 'LabelTrailer' },
+ { text: 'Bonus', value: 'bonus', descriptionKey: 'LabelBonus' }
],
libraryIcons: ['database', 'audiobookshelf', 'books-1', 'books-2', 'book-1', 'microphone-1', 'microphone-3', 'radio', 'podcast', 'rss', 'headphones', 'music', 'file-picture', 'rocket', 'power', 'star', 'heart']
})
diff --git a/client/strings/en-us.json b/client/strings/en-us.json
index adfe1001a..d40feb870 100644
--- a/client/strings/en-us.json
+++ b/client/strings/en-us.json
@@ -250,6 +250,7 @@
"LabelBackupsNumberToKeep": "Number of backups to keep",
"LabelBackupsNumberToKeepHelp": "Only 1 backup will be removed at a time so if you already have more backups than this you should manually remove them.",
"LabelBitrate": "Bitrate",
+ "LabelBonus": "Bonus",
"LabelBooks": "Books",
"LabelButtonText": "Button Text",
"LabelByAuthor": "by {0}",
@@ -320,9 +321,12 @@
"LabelEnd": "End",
"LabelEndOfChapter": "End of Chapter",
"LabelEpisode": "Episode",
+ "LabelEpisodeNotLinkedToRssFeed": "Episode not linked to RSS feed",
"LabelEpisodeTitle": "Episode Title",
"LabelEpisodeType": "Episode Type",
+ "LabelEpisodeUrlFromRssFeed": "Episode URL from RSS feed",
"LabelEpisodes": "Episodes",
+ "LabelEpisodic": "Episodic",
"LabelExample": "Example",
"LabelExpandSeries": "Expand Series",
"LabelExpandSubSeries": "Expand Sub Series",
@@ -350,6 +354,7 @@
"LabelFontScale": "Font scale",
"LabelFontStrikethrough": "Strikethrough",
"LabelFormat": "Format",
+ "LabelFull": "Full",
"LabelGenre": "Genre",
"LabelGenres": "Genres",
"LabelHardDeleteFile": "Hard delete file",
@@ -512,6 +517,7 @@
"LabelSelectUsers": "Select users",
"LabelSendEbookToDevice": "Send Ebook to...",
"LabelSequence": "Sequence",
+ "LabelSerial": "Serial",
"LabelSeries": "Series",
"LabelSeriesName": "Series Name",
"LabelSeriesProgress": "Series Progress",
@@ -624,6 +630,7 @@
"LabelTracksMultiTrack": "Multi-track",
"LabelTracksNone": "No tracks",
"LabelTracksSingleTrack": "Single-track",
+ "LabelTrailer": "Trailer",
"LabelType": "Type",
"LabelUnabridged": "Unabridged",
"LabelUndo": "Undo",