diff --git a/front/src/components/library/Album.vue b/front/src/components/library/Album.vue
index 1e96757c342a9b325cb293f8363ea2078f358aff..1681d46e3b44466f022f18d22ffa3ba78e1643b7 100644
--- a/front/src/components/library/Album.vue
+++ b/front/src/components/library/Album.vue
@@ -10,30 +10,30 @@
             <i class="circular inverted sound yellow icon"></i>
             <div class="content">
               {{ album.title }}
-              <div class="sub header">
-                Album containing {{ album.tracks.length }} tracks,
-                by <router-link :to="{name: 'library.artists.detail', params: {id: album.artist.id }}">
+              <i18next tag="div" class="sub header" path="Album containing {%0%} tracks, by {%1%}">
+                {{ album.tracks.length }}
+                <router-link :to="{name: 'library.artists.detail', params: {id: album.artist.id }}">
                   {{ album.artist.name }}
                 </router-link>
-              </div>
+              </i18next>
             </div>
           </h2>
           <div class="ui hidden divider"></div>
           </button>
-          <play-button class="orange" :tracks="album.tracks">Play all</play-button>
+          <play-button class="orange" :tracks="album.tracks"><i18next path="Play all"/></play-button>
 
           <a :href="wikipediaUrl" target="_blank" class="ui button">
             <i class="wikipedia icon"></i>
-            Search on wikipedia
+            <i18next path="Search on Wikipedia"/>
           </a>
           <a :href="musicbrainzUrl" target="_blank" class="ui button">
             <i class="external icon"></i>
-            View on MusicBrainz
+            <i18next path="View on MusicBrainz"/>
           </a>
         </div>
       </div>
       <div class="ui vertical stripe segment">
-        <h2>Tracks</h2>
+        <h2><i18next path="Tracks"/></h2>
         <track-table v-if="album" :display-position="true" :tracks="album.tracks"></track-table>
       </div>
     </template>
diff --git a/front/src/components/library/Artist.vue b/front/src/components/library/Artist.vue
index 07d8cbbc74cff682e2251eb0c22515ca0fc8a9c0..5c17ac6af3d338fbdafff69511d7cc35c42877de 100644
--- a/front/src/components/library/Artist.vue
+++ b/front/src/components/library/Artist.vue
@@ -10,26 +10,31 @@
             <i class="circular inverted users violet icon"></i>
             <div class="content">
               {{ artist.name }}
-              <div class="sub header">{{ totalTracks }} tracks in {{ albums.length }} albums</div>
+              <div class="sub header">
+                <i18next path="{%0%} tracks in {%1%} albums">
+                  {{ totalTracks }}
+                  {{ albums.length }}
+                </i18next>
+              </div>
             </div>
           </h2>
           <div class="ui hidden divider"></div>
           <radio-button type="artist" :object-id="artist.id"></radio-button>
           </button>
-          <play-button class="orange" :tracks="allTracks">Play all albums</play-button>
+          <play-button class="orange" :tracks="allTracks"><i18next path="Play all albums"/></play-button>
 
           <a :href="wikipediaUrl" target="_blank" class="ui button">
             <i class="wikipedia icon"></i>
-            Search on wikipedia
+            <i18next path="Search on Wikipedia"/>
           </a>
           <a :href="musicbrainzUrl" target="_blank" class="ui button">
             <i class="external icon"></i>
-            View on MusicBrainz
+            <i18next path="View on MusicBrainz"/>
           </a>
         </div>
       </div>
       <div class="ui vertical stripe segment">
-        <h2>Albums by this artist</h2>
+        <h2><i18next path="Albums by this artist"/></h2>
         <div class="ui stackable doubling three column grid">
           <div class="column" :key="album.id" v-for="album in sortedAlbums">
             <album-card :mode="'rich'" class="fluid" :album="album"></album-card>
diff --git a/front/src/components/library/Artists.vue b/front/src/components/library/Artists.vue
index 72ad108f1d2d78ce32357753d163045284263715..0811f0aa79083da03b5c12b74795ef9ddefb7c8f 100644
--- a/front/src/components/library/Artists.vue
+++ b/front/src/components/library/Artists.vue
@@ -1,15 +1,15 @@
 <template>
   <div v-title="'Artists'">
     <div class="ui vertical stripe segment">
-      <h2 class="ui header">Browsing artists</h2>
+      <h2 class="ui header"><i18next path="Browsing artists"/></h2>
       <div :class="['ui', {'loading': isLoading}, 'form']">
         <div class="fields">
           <div class="field">
-            <label>Search</label>
+            <label><i18next path="Search"/></label>
             <input type="text" v-model="query" placeholder="Enter an artist name..."/>
           </div>
           <div class="field">
-            <label>Ordering</label>
+            <i18next tag="label" path="Ordering"/>
             <select class="ui dropdown" v-model="ordering">
               <option v-for="option in orderingOptions" :value="option[0]">
                 {{ option[1] }}
@@ -17,14 +17,14 @@
             </select>
           </div>
           <div class="field">
-            <label>Ordering direction</label>
+            <i18next tag="label" path="Ordering direction"/>
             <select class="ui dropdown" v-model="orderingDirection">
               <option value="">Ascending</option>
               <option value="-">Descending</option>
             </select>
           </div>
           <div class="field">
-            <label>Results per page</label>
+            <i18next tag="label" path="Results per page"/>
             <select class="ui dropdown" v-model="paginateBy">
               <option :value="parseInt(12)">12</option>
               <option :value="parseInt(25)">25</option>
diff --git a/front/src/components/library/Home.vue b/front/src/components/library/Home.vue
index 26352d1fd6c0314129dc7e212d7ddb7d97dd4519..e69ecea805c8fda726d3c02e50e46dc93d881c41 100644
--- a/front/src/components/library/Home.vue
+++ b/front/src/components/library/Home.vue
@@ -6,20 +6,20 @@
     <div class="ui vertical stripe segment">
       <div class="ui stackable three column grid">
         <div class="column">
-          <h2 class="ui header">Latest artists</h2>
+          <h2 class="ui header"><i18next path="Latest artists"/></h2>
           <div :class="['ui', {'active': isLoadingArtists}, 'inline', 'loader']"></div>
           <div v-if="artists.length > 0" v-for="artist in artists.slice(0, 3)" :key="artist.id" class="ui cards">
             <artist-card :artist="artist"></artist-card>
           </div>
         </div>
         <div class="column">
-          <h2 class="ui header">Radios</h2>
+          <h2 class="ui header"><i18next path="Radios"/></h2>
           <radio-card :type="'favorites'"></radio-card>
           <radio-card :type="'random'"></radio-card>
           <radio-card :type="'less-listened'"></radio-card>
         </div>
         <div class="column">
-          <h2 class="ui header">Music requests</h2>
+          <h2 class="ui header"><i18next path="Music requests"/></h2>
           <request-form v-if="$store.state.auth.authenticated"></request-form>
         </div>
       </div>
diff --git a/front/src/components/library/Library.vue b/front/src/components/library/Library.vue
index 161d4519b2fab561022fc4a8b8f706e67dc3258c..507ecd269cadb7897299ee7ab015bf9f90d0a2b4 100644
--- a/front/src/components/library/Library.vue
+++ b/front/src/components/library/Library.vue
@@ -1,17 +1,20 @@
 <template>
   <div class="main library pusher">
     <div class="ui secondary pointing menu">
-      <router-link class="ui item" to="/library" exact>Browse</router-link>
-      <router-link class="ui item" to="/library/artists" exact>Artists</router-link>
-      <router-link class="ui item" to="/library/radios" exact>Radios</router-link>
-      <router-link class="ui item" to="/library/playlists" exact>Playlists</router-link>
+      <router-link class="ui item" to="/library" exact><i18next path="Browse"/></router-link>
+      <router-link class="ui item" to="/library/artists" exact><i18next path="Artists"/></router-link>
+      <router-link class="ui item" to="/library/radios" exact><i18next path="Radios"/></router-link>
+      <router-link class="ui item" to="/library/playlists" exact><i18next path="Playlists"/></router-link>
       <div class="ui secondary right menu">
         <router-link v-if="$store.state.auth.authenticated" class="ui item" to="/library/requests/" exact>
-          Requests
+          <i18next path="Requests"/>
           <div class="ui teal label">{{ requestsCount }}</div>
         </router-link>
-        <router-link v-if="$store.state.auth.availablePermissions['import.launch']" class="ui item" to="/library/import/launch" exact>Import</router-link>
-        <router-link v-if="$store.state.auth.availablePermissions['import.launch']" class="ui item" to="/library/import/batches">Import batches
+        <router-link v-if="$store.state.auth.availablePermissions['import.launch']" class="ui item" to="/library/import/launch" exact>
+          <i18next path="Import"/>
+        </router-link>
+        <router-link v-if="$store.state.auth.availablePermissions['import.launch']" class="ui item" to="/library/import/batches">
+          <i18next path="Import batches"/>
         </router-link>
       </div>
     </div>
diff --git a/front/src/components/library/Radios.vue b/front/src/components/library/Radios.vue
index 7ab14ab14f8d3dbc4fa02a52c34758d69b38b5e9..9fcadf0a6101c518a7f7ecf8b738f6a21ae2e0b0 100644
--- a/front/src/components/library/Radios.vue
+++ b/front/src/components/library/Radios.vue
@@ -1,17 +1,19 @@
 <template>
   <div v-title="'Radios'">
     <div class="ui vertical stripe segment">
-      <h2 class="ui header">Browsing radios</h2>
-      <router-link class="ui green basic button" to="/library/radios/build" exact>Create your own radio</router-link>
+      <h2 class="ui header"><i18next path="Browsing radios"/></h2>
+      <router-link class="ui green basic button" to="/library/radios/build" exact>
+        <i18next path="Create your own radio"/>
+      </router-link>
       <div class="ui hidden divider"></div>
       <div :class="['ui', {'loading': isLoading}, 'form']">
         <div class="fields">
           <div class="field">
-            <label>Search</label>
+            <i18next tag="label" path="Search"/>
             <input type="text" v-model="query" placeholder="Enter a radio name..."/>
           </div>
           <div class="field">
-            <label>Ordering</label>
+            <i18next tag="label" path="Ordering"/>
             <select class="ui dropdown" v-model="ordering">
               <option v-for="option in orderingOptions" :value="option[0]">
                 {{ option[1] }}
@@ -19,14 +21,14 @@
             </select>
           </div>
           <div class="field">
-            <label>Ordering direction</label>
+            <i18next tag="label" path="Ordering direction"/>
             <select class="ui dropdown" v-model="orderingDirection">
-              <option value="">Ascending</option>
-              <option value="-">Descending</option>
+              <option value=""><i18next path="Ascending"/></option>
+              <option value="-"><i18next path="Descending"/></option>
             </select>
           </div>
           <div class="field">
-            <label>Results per page</label>
+            <i18next tag="label" path="Results per page"/>
             <select class="ui dropdown" v-model="paginateBy">
               <option :value="parseInt(12)">12</option>
               <option :value="parseInt(25)">25</option>
diff --git a/front/src/components/library/Track.vue b/front/src/components/library/Track.vue
index e614635c9877ca315743d16cf0d4ebba47679597..940086e02aa9263bcab6924a75c161aacb5aa5dd 100644
--- a/front/src/components/library/Track.vue
+++ b/front/src/components/library/Track.vue
@@ -11,18 +11,19 @@
             <div class="content">
               {{ track.title }}
               <div class="sub header">
-                From album
-                <router-link :to="{name: 'library.albums.detail', params: {id: track.album.id }}">
-                  {{ track.album.title }}
-                </router-link>
-                by <router-link :to="{name: 'library.artists.detail', params: {id: track.artist.id }}">
-                  {{ track.artist.name }}
-                </router-link>
+                <i18next path="From album {%0%} by {%1%}">
+                  <router-link :to="{name: 'library.albums.detail', params: {id: track.album.id }}">
+                    {{ track.album.title }}
+                  </router-link>
+                  <router-link :to="{name: 'library.artists.detail', params: {id: track.artist.id }}">
+                    {{ track.artist.name }}
+                  </router-link>
+                </i18next>
               </div>
             </div>
           </h2>
 
-          <play-button class="orange" :track="track">Play</play-button>
+          <play-button class="orange" :track="track"><i18next path="Play"/></play-button>
           <track-favorite-icon :track="track" :button="true"></track-favorite-icon>
           <track-playlist-icon
             :button="true"
@@ -31,32 +32,30 @@
 
           <a :href="wikipediaUrl" target="_blank" class="ui button">
             <i class="wikipedia icon"></i>
-            Search on wikipedia
+            <i18next path="Search on Wikipedia"/>
           </a>
           <a :href="musicbrainzUrl" target="_blank" class="ui button">
             <i class="external icon"></i>
-            View on MusicBrainz
+            <i18next path="View on MusicBrainz"/>
           </a>
           <a v-if="downloadUrl" :href="downloadUrl" target="_blank" class="ui button">
             <i class="download icon"></i>
-            Download
+            <i18next path="Download"/>
           </a>
         </div>
       </div>
       <div class="ui vertical stripe center aligned segment">
-        <h2>Lyrics</h2>
+        <h2><i18next path="Lyrics"/></h2>
         <div v-if="isLoadingLyrics" class="ui vertical segment">
           <div :class="['ui', 'centered', 'active', 'inline', 'loader']"></div>
         </div>
         <div v-if="lyrics" v-html="lyrics.content_rendered">
         </div>
         <template v-if="!isLoadingLyrics & !lyrics">
-          <p>
-            No lyrics available for this track.
-          </p>
+          <i18next tag="p" path="No lyrics available for this track."/>
           <a class="ui button" target="_blank" :href="lyricsSearchUrl">
             <i class="search icon"></i>
-            Search on lyrics.wikia.com
+            <i18next path="Search on lyrics.wikia.com"/>
           </a>
         </template>
       </div>
diff --git a/po/funkwhale.pot b/po/funkwhale.pot
index 88ce3e676eccc00256ff387adc853c30c3d55cd3..17d6c996e08627afb8b0725072a2d7e2aa5ce598 100644
--- a/po/funkwhale.pot
+++ b/po/funkwhale.pot
@@ -495,3 +495,71 @@ msgstr "Search query"
 msgid "Imported URL"
 msgstr "Imported URL"
 
+msgid "Album containing {%0%} tracks, by {%1%}"
+msgstr "Album containing {%0%} tracks, by {%1%}"
+
+msgid "Search on Wikipedia"
+msgstr "Search on Wikipedia"
+
+msgid "View on MusicBrainz"
+msgstr "View on MusicBrainz"
+
+msgid "{%0%} tracks in {%1%} albums"
+msgstr "{%0%} tracks in {%1%} albums"
+
+msgid "Play all albums"
+msgstr "Play all albums"
+
+msgid "Albums by this artist"
+msgstr "Albums by this artist"
+
+msgid "Browsing artists"
+msgstr "Browsing artists"
+
+msgid "Search"
+msgstr "Search"
+
+msgid "Latest artists"
+msgstr "Latest artists"
+
+msgid "Radios"
+msgstr "Radios"
+
+msgid "Music requests"
+msgstr "Music requests"
+
+msgid "Browse"
+msgstr "Browse"
+
+msgid "Playlists"
+msgstr "Playlists"
+
+msgid "Requests"
+msgstr "Requests"
+
+msgid "Import"
+msgstr "Import"
+
+msgid "Import batches"
+msgstr "Import batches"
+
+msgid "Browsing radios"
+msgstr "Browsing radios"
+
+msgid "Create your own radio"
+msgstr "Create your own radio"
+
+msgid "From album {%0%} by {%1%}"
+msgstr "From album {%0%} by {%1%}"
+
+msgid "Download"
+msgstr "Download"
+
+msgid "Lyrics"
+msgstr "Lyrics"
+
+msgid "No lyrics available for this track."
+msgstr "No lyrics available for this track."
+
+msgid "Search on lyrics.wikia.com"
+msgstr "Search on lyrics.wikia.com"