diff --git a/changes/changelog.d/652.bugfix b/changes/changelog.d/652.bugfix
new file mode 100644
index 0000000000000000000000000000000000000000..da8d30b001d96a9fef3bbca62bfc5ab20980181a
--- /dev/null
+++ b/changes/changelog.d/652.bugfix
@@ -0,0 +1 @@
+Fixed escaping issues in translated strings (#652)
diff --git a/front/src/components/audio/album/Card.vue b/front/src/components/audio/album/Card.vue
index 2f19d7fbb4854f7c248726f64290d026bf087281..8cc9dcf6c5bfe7a95fd90ff86c977e309edc566d 100644
--- a/front/src/components/audio/album/Card.vue
+++ b/front/src/components/audio/album/Card.vue
@@ -11,7 +11,7 @@
         <div class="meta">
           <span>
             <router-link tag="span" :to="{name: 'library.artists.detail', params: {id: album.artist.id }}">
-              <translate :translate-params="{artist: album.artist.name}">By %{ artist }</translate>
+              <span v-translate="{artist: album.artist.name}" :translate-params="{artist: album.artist.name}">By %{ artist }</span>
             </router-link>
           </span><span class="time" v-if="album.release_date">– {{ album.release_date | year }}</span>
         </div>
diff --git a/front/src/components/library/Track.vue b/front/src/components/library/Track.vue
index 866231b62c7cb1e407749433c1b6468c2684dfdc..4e0faaeece2e0073538319a74c69ed68ac7df34e 100644
--- a/front/src/components/library/Track.vue
+++ b/front/src/components/library/Track.vue
@@ -15,9 +15,10 @@
             <div class="content">
               {{ track.title }}
               <div class="sub header">
-                <translate
+                <span
+                  v-translate="{album: track.album.title, artist: track.artist.name}"
                   :translate-params="{album: track.album.title, artist: track.artist.name}"
-                >From album %{ album } by %{ artist }</translate>
+                >From album %{ album } by %{ artist }</span>
               </div>
               <br>
               <div class="ui basic buttons">
diff --git a/front/src/components/playlists/Editor.vue b/front/src/components/playlists/Editor.vue
index 5b5311f145e593d25062b2895bf4ae140e8ff94c..e42c60dae17086f6683c7b2552975e429dd9dc7e 100644
--- a/front/src/components/playlists/Editor.vue
+++ b/front/src/components/playlists/Editor.vue
@@ -39,8 +39,8 @@
 
       <dangerous-button :disabled="plts.length === 0" class="labeled right floated icon" color='yellow' :action="clearPlaylist">
         <i class="eraser icon"></i> <translate>Clear playlist</translate>
-        <p slot="modal-header">
-          <translate :translate-params="{playlist: playlist.name}">Do you want to clear the playlist "%{ playlist }"?</translate>
+        <p slot="modal-header" v-translate="{playlist: playlist.name}" :translate-params="{playlist: playlist.name}">
+          Do you want to clear the playlist "%{ playlist }"?
         </p>
         <p slot="modal-content"><translate>This will remove all tracks from this playlist and cannot be undone.</translate></p>
         <p slot="modal-confirm"><translate>Clear playlist</translate></p>
diff --git a/front/src/components/playlists/PlaylistModal.vue b/front/src/components/playlists/PlaylistModal.vue
index 3065631afb376deb5473d98188c81daf6a903aaf..7c4dbbf38a0633a32b25dbfc7dabe46d25102a93 100644
--- a/front/src/components/playlists/PlaylistModal.vue
+++ b/front/src/components/playlists/PlaylistModal.vue
@@ -7,11 +7,11 @@
       <div class="description">
         <template v-if="track">
           <h4 class="ui header"><translate>Current track</translate></h4>
-          <translate
+          <span
             v-translate="{artist: track.artist.name, title: track.title}"
             :translate-params="{artist: track.artist.name, title: track.title}">
             "%{ title }", by %{ artist }
-          </translate>
+          </span>
           <div class="ui divider"></div>
         </template>
 
diff --git a/front/src/views/playlists/Detail.vue b/front/src/views/playlists/Detail.vue
index 8b4dcc4c696a06a65ed6e7cb2d425791202f78f9..69639bd18b54c968ce4a75c0d5392ef31f0ae9bc 100644
--- a/front/src/views/playlists/Detail.vue
+++ b/front/src/views/playlists/Detail.vue
@@ -32,8 +32,8 @@
         </button>
         <dangerous-button v-if="$store.state.auth.profile && playlist.user.id === $store.state.auth.profile.id" class="labeled icon" :action="deletePlaylist">
           <i class="trash icon"></i> <translate>Delete</translate>
-          <p slot="modal-header">
-            <translate :translate-params="{playlist: playlist.name}">Do you want to delete the playlist "%{ playlist }"?</translate>
+          <p slot="modal-header" v-translate="{playlist: playlist.name}" :translate-params="{playlist: playlist.name}">
+            Do you want to delete the playlist "%{ playlist }"?
           </p>
           <p slot="modal-content"><translate>This will completely delete this playlist and cannot be undone.</translate></p>
           <p slot="modal-confirm"><translate>Delete playlist</translate></p>
diff --git a/front/src/views/radios/Detail.vue b/front/src/views/radios/Detail.vue
index 0c46385a6bab53f50f96d65acd491ac6c287e4c3..61a7553edb3efe22667a20fe35c64f99886bf8fd 100644
--- a/front/src/views/radios/Detail.vue
+++ b/front/src/views/radios/Detail.vue
@@ -24,7 +24,7 @@
           </router-link>
           <dangerous-button class="labeled icon" :action="deleteRadio">
             <i class="trash icon"></i> Delete
-            <p slot="modal-header"><translate :translate-params="{radio: radio.name}">Do you want to delete the radio "%{ radio }"?</translate></p>
+            <p slot="modal-header" v-translate="{radio: radio.name}" :translate-params="{radio: radio.name}">Do you want to delete the radio "%{ radio }"?</p>
             <p slot="modal-content"><translate>This will completely delete this radio and cannot be undone.</translate></p>
             <p slot="modal-confirm"><translate>Delete radio</translate></p>
           </dangerous-button>