diff --git a/src/library/library.cpp b/src/library/library.cpp
index f3fe25468..64855016c 100644
--- a/src/library/library.cpp
+++ b/src/library/library.cpp
@@ -15,16 +15,34 @@
    along with Clementine.  If not, see <http://www.gnu.org/licenses/>.
 */
 
-#include "core/database.h"
 #include "library.h"
 #include "librarymodel.h"
 #include "librarybackend.h"
+#include "core/database.h"
+#include "smartplaylists/generator.h"
+#include "smartplaylists/querygenerator.h"
+#include "smartplaylists/search.h"
 
 const char* Library::kSongsTable = "songs";
 const char* Library::kDirsTable = "directories";
 const char* Library::kSubdirsTable = "subdirectories";
 const char* Library::kFtsTable = "songs_fts";
 
+using smart_playlists::Generator;
+using smart_playlists::GeneratorPtr;
+using smart_playlists::QueryGenerator;
+using smart_playlists::Search;
+using smart_playlists::SearchTerm;
+
+static GeneratorPtr NewQuery(
+    const QString& name, const smart_playlists::Search& search, bool dynamic = false) {
+  boost::shared_ptr<QueryGenerator> gen(new QueryGenerator);
+  gen->Load(search);
+  gen->set_name(name);
+  gen->set_dynamic(dynamic);
+  return boost::static_pointer_cast<Generator>(gen);
+}
+
 Library::Library(BackgroundThread<Database>* db_thread, TaskManager* task_manager,
                  QObject *parent)
   : QObject(parent),
@@ -41,6 +59,46 @@ Library::Library(BackgroundThread<Database>* db_thread, TaskManager* task_manage
 
   model_ = new LibraryModel(backend_, this);
   model_->set_show_smart_playlists(true);
+  model_->set_default_smart_playlists(LibraryModel::DefaultGenerators()
+    << (LibraryModel::GeneratorList()
+      << NewQuery(tr("50 random tracks"), Search(
+                  Search::Type_All, Search::TermList(),
+                  Search::Sort_Random, SearchTerm::Field_Title, 50))
+      << NewQuery(tr("Ever played"), Search(
+                  Search::Type_And, Search::TermList()
+                    << SearchTerm(SearchTerm::Field_PlayCount, SearchTerm::Op_GreaterThan, 0),
+                  Search::Sort_Random, SearchTerm::Field_Title))
+      << NewQuery(tr("Never played"), Search(
+                  Search::Type_And, Search::TermList()
+                    << SearchTerm(SearchTerm::Field_PlayCount, SearchTerm::Op_Equals, 0),
+                  Search::Sort_Random, SearchTerm::Field_Title))
+      << NewQuery(tr("Last played"), Search(
+                  Search::Type_All, Search::TermList(),
+                  Search::Sort_FieldDesc, SearchTerm::Field_LastPlayed))
+      << NewQuery(tr("Most played"), Search(
+                  Search::Type_All, Search::TermList(),
+                  Search::Sort_FieldDesc, SearchTerm::Field_PlayCount))
+      << NewQuery(tr("Favourite tracks"), Search(
+                  Search::Type_All, Search::TermList(),
+                  Search::Sort_FieldDesc, SearchTerm::Field_Score))
+      << NewQuery(tr("Newest tracks"), Search(
+                  Search::Type_All, Search::TermList(),
+                  Search::Sort_FieldDesc, SearchTerm::Field_DateCreated))
+    ) << (LibraryModel::GeneratorList()
+      << NewQuery(tr("All tracks"), Search(
+                  Search::Type_All, Search::TermList(),
+                  Search::Sort_FieldAsc, SearchTerm::Field_Artist, -1))
+      << NewQuery(tr("Least favourite tracks"), Search(
+                  Search::Type_Or, Search::TermList()
+                    << SearchTerm(SearchTerm::Field_Rating, SearchTerm::Op_LessThan, 0.6)
+                    << SearchTerm(SearchTerm::Field_SkipCount, SearchTerm::Op_GreaterThan, 4),
+                  Search::Sort_FieldDesc, SearchTerm::Field_SkipCount))
+    ) << (LibraryModel::GeneratorList()
+      << NewQuery(tr("Dynamic random mix"), Search(
+                  Search::Type_All, Search::TermList(),
+                  Search::Sort_Random, SearchTerm::Field_Title), true)
+    )
+  );
 }
 
 void Library::set_watcher_factory(BackgroundThreadFactory<LibraryWatcher>* factory) {
diff --git a/src/library/librarybackend.cpp b/src/library/librarybackend.cpp
index 7c9d26f4e..4a4b30620 100644
--- a/src/library/librarybackend.cpp
+++ b/src/library/librarybackend.cpp
@@ -509,20 +509,23 @@ SongList LibraryBackend::GetSongsByForeignId(
 
   QString in = ids.join(",");
 
-  QSqlQuery q(QString("SELECT %2.ROWID, " + Song::kColumnSpec +
-                      " FROM %1, %2"
-                      " WHERE %1.ROWID = %2.ROWID AND %2.%3 IN (%4)")
+  QSqlQuery q(QString("SELECT %2.ROWID, " + Song::kColumnSpec + ", %2.%3"
+                      " FROM %2, %1"
+                      " WHERE %2.%3 IN (%4) AND %1.ROWID = %2.ROWID")
               .arg(songs_table_, table, column, in), db);
   q.exec();
   if (db_->CheckErrors(q.lastError())) return SongList();
 
-  SongList ret;
+  QVector<Song> ret(ids.count());
   while (q.next()) {
-    Song song;
-    song.InitFromQuery(q);
-    ret << song;
+    const QString foreign_id = q.value(Song::kColumns.count() + 1).toString();
+    const int index = ids.indexOf(foreign_id);
+    if (index == -1)
+      continue;
+
+    ret[index].InitFromQuery(q);
   }
-  return ret;
+  return ret.toList();
 }
 
 Song LibraryBackend::GetSongById(int id, QSqlDatabase& db) {
diff --git a/src/library/librarymodel.cpp b/src/library/librarymodel.cpp
index d7c7dff14..b98f29a43 100644
--- a/src/library/librarymodel.cpp
+++ b/src/library/librarymodel.cpp
@@ -41,7 +41,6 @@ using smart_playlists::QueryGenerator;
 
 const char* LibraryModel::kSmartPlaylistsMimeType = "application/x-clementine-smart-playlist-generator";
 const char* LibraryModel::kSmartPlaylistsSettingsGroup = "SerialisedSmartPlaylists";
-const char* LibraryModel::kSmartPlaylistsArray = "smart";
 const int LibraryModel::kSmartPlaylistsVersion = 3;
 
 LibraryModel::LibraryModel(LibraryBackend* backend, QObject* parent)
@@ -890,82 +889,33 @@ void LibraryModel::CreateSmartPlaylists() {
 
   QSettings s;
   s.beginGroup(kSmartPlaylistsSettingsGroup);
-  const int version = s.value("version", 0).toInt();
+  int version = s.value(backend_->songs_table() + "_version", 0).toInt();
 
-  using smart_playlists::Search;
-  using smart_playlists::SearchTerm;
+  // How many defaults do we have to write?
+  int unwritten_defaults = 0;
+  for (int i=version; i < default_smart_playlists_.count() ; ++i) {
+    unwritten_defaults += default_smart_playlists_[i].count();
+  }
 
-  if (version == 0) {
-    // No smart playlists existed in the settings, so create some defaults
-
-    s.beginWriteArray(kSmartPlaylistsArray);
-
-    int i = 0;
-    SaveDefaultGenerator(&s, i++, tr("50 random tracks"), Search(
-        Search::Type_All, Search::TermList(),
-        Search::Sort_Random, SearchTerm::Field_Title, 50));
-    SaveDefaultGenerator(&s, i++, tr("Ever played"), Search(
-        Search::Type_And, Search::TermList()
-          << SearchTerm(SearchTerm::Field_PlayCount, SearchTerm::Op_GreaterThan, 0),
-        Search::Sort_Random, SearchTerm::Field_Title));
-    SaveDefaultGenerator(&s, i++, tr("Never played"), Search(
-        Search::Type_And, Search::TermList()
-          << SearchTerm(SearchTerm::Field_PlayCount, SearchTerm::Op_Equals, 0),
-        Search::Sort_Random, SearchTerm::Field_Title));
-    SaveDefaultGenerator(&s, i++, tr("Last played"), Search(
-        Search::Type_All, Search::TermList(),
-        Search::Sort_FieldDesc, SearchTerm::Field_LastPlayed));
-    SaveDefaultGenerator(&s, i++, tr("Most played"), Search(
-        Search::Type_All, Search::TermList(),
-        Search::Sort_FieldDesc, SearchTerm::Field_PlayCount));
-    SaveDefaultGenerator(&s, i++, tr("Favourite tracks"), Search(
-        Search::Type_All, Search::TermList(),
-        Search::Sort_FieldDesc, SearchTerm::Field_Score));
-    SaveDefaultGenerator(&s, i++, tr("Newest tracks"), Search(
-        Search::Type_All, Search::TermList(),
-        Search::Sort_FieldDesc, SearchTerm::Field_DateCreated));
+  // Save the defaults if there are any unwritten ones
+  if (unwritten_defaults) {
+    // How many items are stored already?
+    int playlist_index = s.beginReadArray(backend_->songs_table());
+    s.endArray();
 
+    // Append the new ones
+    s.beginWriteArray(backend_->songs_table(), playlist_index + unwritten_defaults);
+    for (; version < default_smart_playlists_.count() ; ++version) {
+      foreach (smart_playlists::GeneratorPtr gen, default_smart_playlists_[version]) {
+        SaveGenerator(&s, playlist_index++, gen);
+      }
+    }
     s.endArray();
   }
 
-  if (version <= 1) {
-    // Some additional smart playlists
+  s.setValue(backend_->songs_table() + "_version", version);
 
-    const int count = s.beginReadArray(kSmartPlaylistsArray);
-    s.endArray();
-    s.beginWriteArray(kSmartPlaylistsArray);
-
-    int i = count;
-    SaveDefaultGenerator(&s, i++, tr("All tracks"), Search(
-        Search::Type_All, Search::TermList(),
-        Search::Sort_FieldAsc, SearchTerm::Field_Artist, -1));
-    SaveDefaultGenerator(&s, i++, tr("Least favourite tracks"), Search(
-        Search::Type_Or, Search::TermList()
-          << SearchTerm(SearchTerm::Field_Rating, SearchTerm::Op_LessThan, 0.6)
-          << SearchTerm(SearchTerm::Field_SkipCount, SearchTerm::Op_GreaterThan, 4),
-        Search::Sort_FieldDesc, SearchTerm::Field_SkipCount));
-
-    s.endArray();
-  }
-
-  if (version <= 2) {
-    // Dynamic playlists
-
-    const int count = s.beginReadArray(kSmartPlaylistsArray);
-    s.endArray();
-    s.beginWriteArray(kSmartPlaylistsArray);
-
-    int i = count;
-    SaveDefaultGenerator(&s, i++, tr("Dynamic random mix"), Search(
-        Search::Type_All, Search::TermList(),
-        Search::Sort_Random, SearchTerm::Field_Title), true);
-
-    s.endArray();
-  }
-
-  s.setValue("version", kSmartPlaylistsVersion);
-
-  const int count = s.beginReadArray(kSmartPlaylistsArray);
+  const int count = s.beginReadArray(backend_->songs_table());
   for (int i=0 ; i<count ; ++i) {
     s.setArrayIndex(i);
     ItemFromSmartPlaylist(s, false);
@@ -985,26 +935,16 @@ void LibraryModel::ItemFromSmartPlaylist(const QSettings& s, bool notify) const
     item->InsertNotify(smart_playlist_node_);
 }
 
-void LibraryModel::SaveDefaultGenerator(QSettings* s, int i, const QString& name,
-                                        const smart_playlists::Search& search,
-                                        bool dynamic) const {
-  boost::shared_ptr<QueryGenerator> gen(new QueryGenerator);
-  gen->Load(search);
-  gen->set_name(name);
-  gen->set_dynamic(dynamic);
-  SaveGenerator(s, i, boost::static_pointer_cast<Generator>(gen));
-}
-
 void LibraryModel::AddGenerator(GeneratorPtr gen) {
   QSettings s;
   s.beginGroup(kSmartPlaylistsSettingsGroup);
 
   // Count the existing items
-  const int count = s.beginReadArray(kSmartPlaylistsArray);
+  const int count = s.beginReadArray(backend_->songs_table());
   s.endArray();
 
   // Add this one to the end
-  s.beginWriteArray(kSmartPlaylistsArray, count + 1);
+  s.beginWriteArray(backend_->songs_table(), count + 1);
   SaveGenerator(&s, count, gen);
 
   // Add it to the model
@@ -1025,10 +965,10 @@ void LibraryModel::UpdateGenerator(const QModelIndex& index, GeneratorPtr gen) {
   s.beginGroup(kSmartPlaylistsSettingsGroup);
 
   // Count the existing items
-  const int count = s.beginReadArray(kSmartPlaylistsArray);
+  const int count = s.beginReadArray(backend_->songs_table());
   s.endArray();
 
-  s.beginWriteArray(kSmartPlaylistsArray, count);
+  s.beginWriteArray(backend_->songs_table(), count);
   SaveGenerator(&s, index.row(), gen);
 
   // Update the text of the item
@@ -1050,7 +990,7 @@ void LibraryModel::DeleteGenerator(const QModelIndex& index) {
   s.beginGroup(kSmartPlaylistsSettingsGroup);
 
   // Rewrite all the items to the settings
-  s.beginWriteArray(kSmartPlaylistsArray, smart_playlist_node_->children.count());
+  s.beginWriteArray(backend_->songs_table(), smart_playlist_node_->children.count());
   int i = 0;
   foreach (LibraryItem* item, smart_playlist_node_->children) {
     s.setArrayIndex(i++);
diff --git a/src/library/librarymodel.h b/src/library/librarymodel.h
index 1acde3971..b0b320863 100644
--- a/src/library/librarymodel.h
+++ b/src/library/librarymodel.h
@@ -97,8 +97,12 @@ class LibraryModel : public SimpleTreeModel<LibraryItem> {
   LibraryBackend* backend() const { return backend_; }
   LibraryDirectoryModel* directory_model() const { return dir_model_; }
 
+  typedef QList<smart_playlists::GeneratorPtr> GeneratorList;
+  typedef QList<GeneratorList> DefaultGenerators;
+
   // Call before Init()
   void set_show_smart_playlists(bool show_smart_playlists) { show_smart_playlists_ = show_smart_playlists; }
+  void set_default_smart_playlists(const DefaultGenerators& defaults) { default_smart_playlists_ = defaults; }
 
   // Get information about the library
   void GetChildSongs(LibraryItem* item, QList<QUrl>* urls, SongList* songs,
@@ -165,9 +169,6 @@ class LibraryModel : public SimpleTreeModel<LibraryItem> {
 
   // Smart playlists are shown in another top-level node
   void CreateSmartPlaylists();
-  void SaveDefaultGenerator(QSettings* s, int i, const QString& name,
-                            const smart_playlists::Search& search,
-                            bool dynamic = false) const;
   void SaveGenerator(QSettings* s, int i, smart_playlists::GeneratorPtr generator) const;
   void ItemFromSmartPlaylist(const QSettings& s, bool notify) const;
 
@@ -197,6 +198,7 @@ class LibraryModel : public SimpleTreeModel<LibraryItem> {
   LibraryBackend* backend_;
   LibraryDirectoryModel* dir_model_;
   bool show_smart_playlists_;
+  DefaultGenerators default_smart_playlists_;
 
   QueryOptions query_options_;
   Grouping group_by_;
diff --git a/src/radio/jamendodynamicplaylist.cpp b/src/radio/jamendodynamicplaylist.cpp
index 2333f1fd0..da0e9ef8a 100644
--- a/src/radio/jamendodynamicplaylist.cpp
+++ b/src/radio/jamendodynamicplaylist.cpp
@@ -17,7 +17,14 @@ JamendoDynamicPlaylist::JamendoDynamicPlaylist()
     order_direction_(Order_Descending),
     current_page_(0),
     current_index_(0) {
+}
 
+JamendoDynamicPlaylist::JamendoDynamicPlaylist(const QString& name, OrderBy order_by)
+  : order_by_(order_by),
+    order_direction_(Order_Descending),
+    current_page_(0),
+    current_index_(0) {
+  set_name(name);
 }
 
 void JamendoDynamicPlaylist::Load(const QByteArray& data) {
@@ -43,8 +50,10 @@ PlaylistItemList JamendoDynamicPlaylist::Generate() {
 }
 
 PlaylistItemList JamendoDynamicPlaylist::GenerateMore(int count) {
+  int tries = 0;
+
   PlaylistItemList items;
-  while (items.size() < count) {
+  while (items.size() < count && tries++ < kApiRetryLimit) {
     // Add items from current list.
     if (current_index_ < current_items_.size()) {
       PlaylistItemList more_items = current_items_.mid(current_index_, count);
@@ -79,12 +88,15 @@ void JamendoDynamicPlaylist::Fetch() {
   url.addQueryItem("pn", QString::number(current_page_++));
   url.addQueryItem("n", QString::number(kPageSize));
   url.addQueryItem("order", OrderSpec(order_by_, order_direction_));
-  qDebug() << url;
 
   // Have to make a new NetworkAccessManager here because we're in a different
   // thread.
   NetworkAccessManager network;
-  QNetworkReply* reply = network.get(QNetworkRequest(url));
+  QNetworkRequest req(url);
+  req.setAttribute(QNetworkRequest::CacheLoadControlAttribute,
+                   QNetworkRequest::AlwaysNetwork);
+
+  QNetworkReply* reply = network.get(req);
 
   // Blocking wait for reply.
   {
@@ -95,10 +107,12 @@ void JamendoDynamicPlaylist::Fetch() {
 
   // The reply will contain one track ID per line
   QStringList lines = QString::fromAscii(reply->readAll()).split('\n');
+  delete reply;
 
   // Get the songs from the database
   SongList songs = backend_->GetSongsByForeignId(
         lines, JamendoService::kTrackIdsTable, JamendoService::kTrackIdsColumn);
+
   if (songs.empty()) {
     qWarning() << "No songs returned from Jamendo:"
                << url.toString();
diff --git a/src/radio/jamendodynamicplaylist.h b/src/radio/jamendodynamicplaylist.h
index 164f49790..9a7bd0136 100644
--- a/src/radio/jamendodynamicplaylist.h
+++ b/src/radio/jamendodynamicplaylist.h
@@ -9,8 +9,6 @@ class JamendoDynamicPlaylist : public smart_playlists::Generator {
   friend QDataStream& operator >>(QDataStream& s, JamendoDynamicPlaylist& p);
 
 public:
-  JamendoDynamicPlaylist();
-
   // These values are persisted - only add to the end
   enum OrderBy {
     OrderBy_Rating = 0,
@@ -25,6 +23,9 @@ public:
     Order_Descending = 1,
   };
 
+  JamendoDynamicPlaylist();
+  JamendoDynamicPlaylist(const QString& name, OrderBy order_by);
+
   QString type() const { return "Jamendo"; }
 
   void Load(const QByteArray& data);
@@ -49,6 +50,7 @@ private:
   int current_index_;
 
   static const int kPageSize = 100;
+  static const int kApiRetryLimit = 5;
   static const char* kUrl;
 };
 
diff --git a/src/radio/jamendoservice.cpp b/src/radio/jamendoservice.cpp
index 003099b51..068cf2055 100644
--- a/src/radio/jamendoservice.cpp
+++ b/src/radio/jamendoservice.cpp
@@ -35,6 +35,7 @@
 #include "library/libraryfilterwidget.h"
 #include "library/librarymodel.h"
 #include "radio/radiomodel.h"
+#include "radio/jamendodynamicplaylist.h"
 #include "radio/jamendoplaylistitem.h"
 #include "smartplaylists/generator.h"
 #include "ui/iconloader.h"
@@ -62,6 +63,9 @@ const char* JamendoService::kSettingsGroup = "Jamendo";
 const int JamendoService::kBatchSize = 10000;
 const int JamendoService::kApproxDatabaseSize = 300000;
 
+using smart_playlists::Generator;
+using smart_playlists::GeneratorPtr;
+
 JamendoService::JamendoService(RadioModel* parent)
     : RadioService(kServiceName, parent),
       network_(new NetworkAccessManager(this)),
@@ -82,6 +86,18 @@ JamendoService::JamendoService(RadioModel* parent)
 
   library_model_ = new LibraryModel(library_backend_, this);
   library_model_->set_show_smart_playlists(true);
+  library_model_->set_default_smart_playlists(LibraryModel::DefaultGenerators()
+    << (LibraryModel::GeneratorList()
+      << GeneratorPtr(new JamendoDynamicPlaylist(tr("Jamendo Top Tracks of the Month"),
+                      JamendoDynamicPlaylist::OrderBy_RatingMonth))
+      << GeneratorPtr(new JamendoDynamicPlaylist(tr("Jamendo Top Tracks of the Week"),
+                      JamendoDynamicPlaylist::OrderBy_RatingWeek))
+      << GeneratorPtr(new JamendoDynamicPlaylist(tr("Jamendo Top Tracks"),
+                      JamendoDynamicPlaylist::OrderBy_Rating))
+      << GeneratorPtr(new JamendoDynamicPlaylist(tr("Jamendo Most Listened Tracks"),
+                      JamendoDynamicPlaylist::OrderBy_Listened))
+    )
+  );
 
   library_sort_model_->setSourceModel(library_model_);
   library_sort_model_->setSortRole(LibraryModel::Role_SortText);
@@ -102,10 +118,6 @@ void JamendoService::LazyPopulate(RadioItem* item) {
   switch (item->type) {
     case RadioItem::Type_Service: {
       library_model_->Init();
-      smart_playlists::GeneratorPtr generator =
-          smart_playlists::Generator::Create("Jamendo");
-      generator->set_name(tr("Jamendo Top Tracks of the Month"));
-      library_model_->AddGenerator(generator);
       model()->merged_model()->AddSubModel(
           model()->index(root_->row, 0, model()->ItemToIndex(item->parent)),
           library_sort_model_);
@@ -227,12 +239,14 @@ void JamendoService::InsertTrackIds(const TrackIdList& ids) const {
 
   ScopedTransaction t(&db);
 
-  QSqlQuery insert(QString("INSERT INTO jamendo.%1 (%2) VALUES (:id)")
+  QSqlQuery insert(QString("INSERT INTO %1 (%2) VALUES (:id)")
                    .arg(kTrackIdsTable, kTrackIdsColumn), db);
 
   foreach (int id, ids) {
     insert.bindValue(":id", id);
-    insert.exec();
+    if (!insert.exec()) {
+      qWarning() << "Query failed" << insert.lastQuery();
+    }
   }
 
   t.Commit();
diff --git a/src/translations/ar.po b/src/translations/ar.po
index c332601ed..295f76103 100644
--- a/src/translations/ar.po
+++ b/src/translations/ar.po
@@ -1096,9 +1096,18 @@ msgstr "خدمة غير متاحة"
 msgid "Invalid session key"
 msgstr ""
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr ""
 
diff --git a/src/translations/bg.po b/src/translations/bg.po
index 7afa3a193..d9658e0df 100644
--- a/src/translations/bg.po
+++ b/src/translations/bg.po
@@ -1100,9 +1100,18 @@ msgstr ""
 msgid "Invalid session key"
 msgstr ""
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr ""
 
diff --git a/src/translations/ca.po b/src/translations/ca.po
index c2f1748ef..8950d538c 100644
--- a/src/translations/ca.po
+++ b/src/translations/ca.po
@@ -1121,9 +1121,18 @@ msgstr "Servei invàlid"
 msgid "Invalid session key"
 msgstr "Sessió no vàlida"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr "Salta a la pista que s'esta reproduint"
 
diff --git a/src/translations/cs.po b/src/translations/cs.po
index e9bb6d40d..4836458a1 100644
--- a/src/translations/cs.po
+++ b/src/translations/cs.po
@@ -1100,9 +1100,18 @@ msgstr "Neplatná služba"
 msgid "Invalid session key"
 msgstr "Neplatný klíč relace"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr ""
 
diff --git a/src/translations/cy.po b/src/translations/cy.po
index 0594caeab..6abe9385d 100644
--- a/src/translations/cy.po
+++ b/src/translations/cy.po
@@ -1096,9 +1096,18 @@ msgstr ""
 msgid "Invalid session key"
 msgstr ""
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr ""
 
diff --git a/src/translations/da.po b/src/translations/da.po
index 2dc55880c..2de3a2330 100644
--- a/src/translations/da.po
+++ b/src/translations/da.po
@@ -1101,9 +1101,18 @@ msgstr "Ugyldig tjeneste"
 msgid "Invalid session key"
 msgstr "Ugyldig sessionsnøgle"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr ""
 
diff --git a/src/translations/de.po b/src/translations/de.po
index c3b0d484c..1b285a0a7 100644
--- a/src/translations/de.po
+++ b/src/translations/de.po
@@ -1124,9 +1124,18 @@ msgstr "Ungültiger Dienst"
 msgid "Invalid session key"
 msgstr "Ungültiger Sitzungsschlüssel"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr "Zum aktuellen Stück springen"
 
diff --git a/src/translations/el.po b/src/translations/el.po
index 7646ce136..3c21728f0 100644
--- a/src/translations/el.po
+++ b/src/translations/el.po
@@ -1135,9 +1135,18 @@ msgstr "Εσφαλμένη υπηρεσία"
 msgid "Invalid session key"
 msgstr "Εσφαλμένο κλειδί συνεδρίας"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr "Μετάβαση στο τρέχον κομμάτι που παίζει"
 
diff --git a/src/translations/en_CA.po b/src/translations/en_CA.po
index 986f1a747..d0fc79f57 100644
--- a/src/translations/en_CA.po
+++ b/src/translations/en_CA.po
@@ -1100,9 +1100,18 @@ msgstr "Invalid service"
 msgid "Invalid session key"
 msgstr "Invalid session key"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr "Jump to the currently playing track"
 
diff --git a/src/translations/en_GB.po b/src/translations/en_GB.po
index 171ef8a45..556a69582 100644
--- a/src/translations/en_GB.po
+++ b/src/translations/en_GB.po
@@ -1098,9 +1098,18 @@ msgstr "Invalid service"
 msgid "Invalid session key"
 msgstr "Invalid session key"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr ""
 
diff --git a/src/translations/eo.po b/src/translations/eo.po
index d25b989a3..322e0f6ba 100644
--- a/src/translations/eo.po
+++ b/src/translations/eo.po
@@ -1096,9 +1096,18 @@ msgstr ""
 msgid "Invalid session key"
 msgstr ""
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr ""
 
diff --git a/src/translations/es.po b/src/translations/es.po
index 940c5d760..c7e2f2d3b 100644
--- a/src/translations/es.po
+++ b/src/translations/es.po
@@ -1133,9 +1133,18 @@ msgstr "Servicio inválido"
 msgid "Invalid session key"
 msgstr "Clave de sesión inválida"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr "Ir a la pista actualmente reproduciéndose"
 
diff --git a/src/translations/et.po b/src/translations/et.po
index 9fd9507b2..832e110d9 100644
--- a/src/translations/et.po
+++ b/src/translations/et.po
@@ -1098,9 +1098,18 @@ msgstr ""
 msgid "Invalid session key"
 msgstr ""
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr ""
 
diff --git a/src/translations/fi.po b/src/translations/fi.po
index 39e3bc973..bf506c199 100644
--- a/src/translations/fi.po
+++ b/src/translations/fi.po
@@ -1097,9 +1097,18 @@ msgstr ""
 msgid "Invalid session key"
 msgstr ""
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr ""
 
diff --git a/src/translations/fr.po b/src/translations/fr.po
index 9657ce1c9..c5dac5ccd 100644
--- a/src/translations/fr.po
+++ b/src/translations/fr.po
@@ -1130,9 +1130,18 @@ msgstr "Service invalide"
 msgid "Invalid session key"
 msgstr "Clé de session invalide"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr "Aller à la piste jouée actuellement"
 
diff --git a/src/translations/gl.po b/src/translations/gl.po
index 6c41c2c0b..dc01556e3 100644
--- a/src/translations/gl.po
+++ b/src/translations/gl.po
@@ -1101,9 +1101,18 @@ msgstr "Servizo Inválido"
 msgid "Invalid session key"
 msgstr "Chave de sesón non válida"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr ""
 
diff --git a/src/translations/hu.po b/src/translations/hu.po
index cc940506f..82ee940c0 100644
--- a/src/translations/hu.po
+++ b/src/translations/hu.po
@@ -1127,9 +1127,18 @@ msgstr "Érvénytelen szolgáltatás"
 msgid "Invalid session key"
 msgstr "Érvénytelen munkafolyamat kulcs"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr "Ugrás a most lejátszott számra"
 
diff --git a/src/translations/it.po b/src/translations/it.po
index a30803cb3..1a4a528a1 100644
--- a/src/translations/it.po
+++ b/src/translations/it.po
@@ -1134,9 +1134,18 @@ msgstr "Servizio non valido"
 msgid "Invalid session key"
 msgstr "Chiave di sessione non valida"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr "Salta alla traccia in riproduzione"
 
diff --git a/src/translations/ja.po b/src/translations/ja.po
index c92a4065c..df605bb5a 100644
--- a/src/translations/ja.po
+++ b/src/translations/ja.po
@@ -1121,9 +1121,18 @@ msgstr "不正なサービスです"
 msgid "Invalid session key"
 msgstr "不正なセッション キーです"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr "現在再生中のトラックへジャンプする"
 
diff --git a/src/translations/kk.po b/src/translations/kk.po
index 1de97800a..f50cbad1b 100644
--- a/src/translations/kk.po
+++ b/src/translations/kk.po
@@ -1098,9 +1098,18 @@ msgstr ""
 msgid "Invalid session key"
 msgstr ""
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr ""
 
diff --git a/src/translations/lt.po b/src/translations/lt.po
index 47c1d6f56..95199f4e7 100644
--- a/src/translations/lt.po
+++ b/src/translations/lt.po
@@ -1096,9 +1096,18 @@ msgstr ""
 msgid "Invalid session key"
 msgstr ""
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr ""
 
diff --git a/src/translations/nb.po b/src/translations/nb.po
index 8c7f00dcf..eb58118c7 100644
--- a/src/translations/nb.po
+++ b/src/translations/nb.po
@@ -1110,9 +1110,18 @@ msgstr "Ukjent tjeneste"
 msgid "Invalid session key"
 msgstr "Ugyldig sesjonsnøkkel"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr ""
 
diff --git a/src/translations/nl.po b/src/translations/nl.po
index cf512872a..0a2770f3f 100644
--- a/src/translations/nl.po
+++ b/src/translations/nl.po
@@ -1124,9 +1124,18 @@ msgstr "Ongeldige service"
 msgid "Invalid session key"
 msgstr "Ongeldige sessiesleutel"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr "Spring naar de nu spelende track"
 
diff --git a/src/translations/oc.po b/src/translations/oc.po
index 3ffe5a1f2..e9ede7825 100644
--- a/src/translations/oc.po
+++ b/src/translations/oc.po
@@ -1096,9 +1096,18 @@ msgstr ""
 msgid "Invalid session key"
 msgstr "Clau de sesilha invalida"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr ""
 
diff --git a/src/translations/pl.po b/src/translations/pl.po
index 81b7ffaf6..529e20f7c 100644
--- a/src/translations/pl.po
+++ b/src/translations/pl.po
@@ -1121,9 +1121,18 @@ msgstr "Błędna usługa"
 msgid "Invalid session key"
 msgstr "Zły klucz sesji"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr "Przeskocz do teraz odtwarzanej ścieżki"
 
diff --git a/src/translations/pt.po b/src/translations/pt.po
index cfd134c7a..860234631 100644
--- a/src/translations/pt.po
+++ b/src/translations/pt.po
@@ -1130,9 +1130,18 @@ msgstr "Serviço inválido"
 msgid "Invalid session key"
 msgstr "Chave de sessão inválida"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr "Ir para a faixa de reprodução atual"
 
diff --git a/src/translations/pt_BR.po b/src/translations/pt_BR.po
index ee2f4668a..866badd8d 100644
--- a/src/translations/pt_BR.po
+++ b/src/translations/pt_BR.po
@@ -1110,9 +1110,18 @@ msgstr "Serviço inválido"
 msgid "Invalid session key"
 msgstr "chave de sessão inválida"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr "Pular para a faixa em execução"
 
diff --git a/src/translations/ro.po b/src/translations/ro.po
index 750a001ef..42b07f075 100644
--- a/src/translations/ro.po
+++ b/src/translations/ro.po
@@ -1097,9 +1097,18 @@ msgstr "Serviciu invalid"
 msgid "Invalid session key"
 msgstr "Cheie de sesiune invalidă"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr ""
 
diff --git a/src/translations/ru.po b/src/translations/ru.po
index 3970de5c1..66edef435 100644
--- a/src/translations/ru.po
+++ b/src/translations/ru.po
@@ -1117,9 +1117,18 @@ msgstr "Неправильная служба"
 msgid "Invalid session key"
 msgstr "Неправильный ключ сессии"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr "Перейти к текущей композиции"
 
diff --git a/src/translations/sk.po b/src/translations/sk.po
index 49b8cdb36..eb7ca2f03 100644
--- a/src/translations/sk.po
+++ b/src/translations/sk.po
@@ -1121,9 +1121,18 @@ msgstr "Nefunkčná služba"
 msgid "Invalid session key"
 msgstr "nefunkčný kľúč sedenia"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr "Skočiť na práve prehrávanú skladbu"
 
diff --git a/src/translations/sl.po b/src/translations/sl.po
index 3c70bf12c..7e4079b8e 100644
--- a/src/translations/sl.po
+++ b/src/translations/sl.po
@@ -1123,9 +1123,18 @@ msgstr "Neveljavna storitev"
 msgid "Invalid session key"
 msgstr "Neveljavni ključ seje"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr "Skoči na trenutno predvajano skladbo"
 
diff --git a/src/translations/sr.po b/src/translations/sr.po
index 800ae2566..bfe0681ee 100644
--- a/src/translations/sr.po
+++ b/src/translations/sr.po
@@ -1100,9 +1100,18 @@ msgstr ""
 msgid "Invalid session key"
 msgstr ""
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr "Скочи на нумеру која се тренутно пушта"
 
diff --git a/src/translations/sv.po b/src/translations/sv.po
index 9c677f463..d6792f7dd 100644
--- a/src/translations/sv.po
+++ b/src/translations/sv.po
@@ -1122,9 +1122,18 @@ msgstr "Ogiltig tjänst"
 msgid "Invalid session key"
 msgstr "Felaktig sessionsnyckel"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr "Hoppa till spåret som spelas för närvarande"
 
diff --git a/src/translations/tr.po b/src/translations/tr.po
index e1987286f..805780ce3 100644
--- a/src/translations/tr.po
+++ b/src/translations/tr.po
@@ -1118,9 +1118,18 @@ msgstr "Geçersiz servis"
 msgid "Invalid session key"
 msgstr "Geçersiz oturum anahtarı"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr "Şu anda çalınan parçaya atla"
 
diff --git a/src/translations/translations.pot b/src/translations/translations.pot
index 7601fc0c0..044c1e458 100644
--- a/src/translations/translations.pot
+++ b/src/translations/translations.pot
@@ -1086,9 +1086,18 @@ msgstr ""
 msgid "Invalid session key"
 msgstr ""
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr ""
 
diff --git a/src/translations/uk.po b/src/translations/uk.po
index 2e21aa3b5..bee106b4d 100644
--- a/src/translations/uk.po
+++ b/src/translations/uk.po
@@ -1122,9 +1122,18 @@ msgstr "Нечинна служба"
 msgid "Invalid session key"
 msgstr "Неправильний ключ сеансу"
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr "Перейти до відтворюваної доріжки"
 
diff --git a/src/translations/zh_CN.po b/src/translations/zh_CN.po
index eac633375..d33c72003 100644
--- a/src/translations/zh_CN.po
+++ b/src/translations/zh_CN.po
@@ -1098,9 +1098,18 @@ msgstr ""
 msgid "Invalid session key"
 msgstr ""
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr ""
 
diff --git a/src/translations/zh_TW.po b/src/translations/zh_TW.po
index 0f8ca83d6..380bfcc47 100644
--- a/src/translations/zh_TW.po
+++ b/src/translations/zh_TW.po
@@ -1101,9 +1101,18 @@ msgstr "無效的服務"
 msgid "Invalid session key"
 msgstr ""
 
+msgid "Jamendo Most Listened Tracks"
+msgstr ""
+
+msgid "Jamendo Top Tracks"
+msgstr ""
+
 msgid "Jamendo Top Tracks of the Month"
 msgstr ""
 
+msgid "Jamendo Top Tracks of the Week"
+msgstr ""
+
 msgid "Jump to the currently playing track"
 msgstr "跳轉到目前播放的歌曲"