From fe0e51d9b3e6f750b7f0a83900323a654598e6c0 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Mon, 28 Jan 2013 16:56:11 +0000 Subject: improved last.fm registration git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3188 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/General/scrobbler/lastfmscrobbler.cpp | 236 ++++++++++++++++++--- src/plugins/General/scrobbler/lastfmscrobbler.h | 40 +++- src/plugins/General/scrobbler/settingsdialog.cpp | 77 +++++-- src/plugins/General/scrobbler/settingsdialog.h | 17 +- src/plugins/General/scrobbler/settingsdialog.ui | 48 +++-- .../scrobbler/translations/scrobbler_plugin_cs.ts | 61 +++++- .../scrobbler/translations/scrobbler_plugin_de.ts | 61 +++++- .../scrobbler/translations/scrobbler_plugin_es.ts | 61 +++++- .../scrobbler/translations/scrobbler_plugin_fr.ts | 61 +++++- .../scrobbler/translations/scrobbler_plugin_he.ts | 61 +++++- .../scrobbler/translations/scrobbler_plugin_hu.ts | 61 +++++- .../scrobbler/translations/scrobbler_plugin_it.ts | 61 +++++- .../scrobbler/translations/scrobbler_plugin_ja.ts | 61 +++++- .../scrobbler/translations/scrobbler_plugin_kk.ts | 61 +++++- .../scrobbler/translations/scrobbler_plugin_lt.ts | 61 +++++- .../scrobbler/translations/scrobbler_plugin_nl.ts | 61 +++++- .../translations/scrobbler_plugin_pl_PL.ts | 61 +++++- .../translations/scrobbler_plugin_pt_BR.ts | 61 +++++- .../scrobbler/translations/scrobbler_plugin_ru.ts | 61 +++++- .../scrobbler/translations/scrobbler_plugin_sk.ts | 61 +++++- .../scrobbler/translations/scrobbler_plugin_tr.ts | 61 +++++- .../translations/scrobbler_plugin_uk_UA.ts | 61 +++++- .../translations/scrobbler_plugin_zh_CN.ts | 61 +++++- .../translations/scrobbler_plugin_zh_TW.ts | 61 +++++- 24 files changed, 1414 insertions(+), 163 deletions(-) (limited to 'src') diff --git a/src/plugins/General/scrobbler/lastfmscrobbler.cpp b/src/plugins/General/scrobbler/lastfmscrobbler.cpp index be1086a8d..fe4ae2ff4 100644 --- a/src/plugins/General/scrobbler/lastfmscrobbler.cpp +++ b/src/plugins/General/scrobbler/lastfmscrobbler.cpp @@ -42,6 +42,44 @@ #define SECRET "32d47bc0010473d40e1d38bdcff20968" +void LastfmResponse::parse(QIODevice *device) +{ + QXmlStreamReader reader(device); + QStringList tags; + while(!reader.atEnd()) + { + reader.readNext(); + if(reader.isStartElement()) + { + tags << reader.name().toString(); + if(tags.last() == "lfm") + status = reader.attributes().value("status").toString(); + else if(tags.last() == "error") + code = reader.attributes().value("code").toString(); + } + else if(reader.isCharacters() && !reader.isWhitespace()) + { + if(tags.last() == "token") + token = reader.text().toString(); + else if(tags.last() == "error") + error = reader.text().toString(); + if(tags.count() >= 2 && tags.at(tags.count() - 2) == "session") + { + if(tags.last() == "key") + key = reader.text().toString(); + else if(tags.last() == "name") + name = reader.text().toString(); + else if(tags.last() == "subscriber") + subscriber = reader.text().toString(); + } + } + else if(reader.isEndElement()) + { + tags.takeLast(); + } + } +} + LastfmScrobbler::LastfmScrobbler(QObject *parent) : QObject(parent) { m_getTokenReply = 0; @@ -140,40 +178,7 @@ void LastfmScrobbler::processResponse(QNetworkReply *reply) } LastfmResponse response; - QStringList tags; - QXmlStreamReader reader(reply); - while(!reader.atEnd()) - { - reader.readNext(); - if(reader.isStartElement()) - { - tags << reader.name().toString(); - if(tags.last() == "lfm") - response.status = reader.attributes().value("status").toString(); - else if(tags.last() == "error") - response.code = reader.attributes().value("code").toString(); - } - else if(reader.isCharacters() && !reader.isWhitespace()) - { - if(tags.last() == "token") - response.token = reader.text().toString(); - else if(tags.last() == "error") - response.error = reader.text().toString(); - if(tags.count() >= 2 && tags.at(tags.count() - 2) == "session") - { - if(tags.last() == "key") - response.key = reader.text().toString(); - else if(tags.last() == "name") - response.name = reader.text().toString(); - else if(tags.last() == "subscriber") - response.subscriber = reader.text().toString(); - } - } - else if(reader.isEndElement()) - { - tags.takeLast(); - } - } + response.parse(reply); QString error_code; if(response.status != "ok" && !response.status.isEmpty()) @@ -462,3 +467,166 @@ void LastfmScrobbler::sendNotification(const SongInfo &info) request.setHeader(QNetworkRequest::ContentLengthHeader, bodyData.size()); m_notificationReply = m_http->post(request, bodyData); } + +LastfmAuth::LastfmAuth(QObject *parent) : QObject(parent) +{ + m_getTokenReply = 0; + m_getSessionReply = 0; + m_ua = QString("qmmp-plugins/%1").arg(Qmmp::strVersion().toLower()).toAscii(); + m_http = new QNetworkAccessManager(this); + connect(m_http, SIGNAL(finished (QNetworkReply *)), SLOT(processResponse(QNetworkReply *))); + + QmmpSettings *gs = QmmpSettings::instance(); + if (gs->isProxyEnabled()) + { + QNetworkProxy proxy(QNetworkProxy::HttpProxy, gs->proxy().host(), gs->proxy().port()); + if(gs->useProxyAuth()) + { + proxy.setUser(gs->proxy().userName()); + proxy.setPassword(gs->proxy().password()); + } + m_http->setProxy(proxy); + } + else + m_http->setProxy(QNetworkProxy::NoProxy); +} + +void LastfmAuth::getToken() +{ + qDebug("LastfmAuth: new token request"); + m_session.clear(); + QUrl url(QString(SCROBBLER_LASTFM_URL) + "?"); + url.setPort(80); + url.addQueryItem("method", "auth.getToken"); + url.addQueryItem("api_key", API_KEY); + + QByteArray data; + data.append("api_key"API_KEY); + data.append("methodauth.getToken"); + data.append(SECRET); + url.addQueryItem("api_sig", QCryptographicHash::hash(data,QCryptographicHash::Md5).toHex()); + + QNetworkRequest request(url); + request.setRawHeader("User-Agent", m_ua); + request.setRawHeader("Host",url.host().toAscii()); + request.setRawHeader("Accept", "*/*"); + m_getTokenReply = m_http->get(request); +} + +void LastfmAuth::getSession() +{ + qDebug("LastfmAuth: new session request"); + QUrl url(QString(SCROBBLER_LASTFM_URL) + "?"); + url.setPort(80); + url.addQueryItem("api_key", API_KEY); + url.addQueryItem("method", "auth.getSession"); + url.addQueryItem("token", m_token); + + QByteArray data; + data.append("api_key"API_KEY); + data.append("methodauth.getSession"); + data.append("token" + m_token.toUtf8()); + data.append(SECRET); + url.addQueryItem("api_sig", QCryptographicHash::hash(data, QCryptographicHash::Md5).toHex()); + + QNetworkRequest request(url); + request.setRawHeader("User-Agent", m_ua); + request.setRawHeader("Host",url.host().toAscii()); + request.setRawHeader("Accept", "*/*"); + m_getSessionReply = m_http->get(request); +} + +QString LastfmAuth::session() const +{ + return m_session; +} + +void LastfmAuth::processResponse(QNetworkReply *reply) +{ + if (reply->error() != QNetworkReply::NoError) + { + qWarning("LastfmAuth: http error: %s", qPrintable(reply->errorString())); + } + + LastfmResponse response; + response.parse(reply); + + QString error_code; + if(response.status != "ok" && !response.status.isEmpty()) + { + if(!response.error.isEmpty()) + { + qWarning("LastfmAuth: status=%s, %s-%s", qPrintable(response.status), + qPrintable(response.code), qPrintable(response.error)); + error_code = response.code; + } + else + qWarning("LastfmAuth: invalid content"); + } + + if (reply == m_getTokenReply) + { + m_getTokenReply = 0; + if(response.status == "ok") + { + m_token = response.token; + qDebug("LastfmAuth: token: %s", qPrintable(m_token)); + QDesktopServices::openUrl("http://www.last.fm/api/auth/?api_key="API_KEY"&token="+m_token); + emit(tokenRequestFinished(NO_ERROR)); + } + else if(error_code.isEmpty()) + { + m_token.clear(); + emit tokenRequestFinished(NETWORK_ERROR); + } + else if(error_code == "8" || error_code == "7" || error_code == "11" || error_code.isEmpty()) + { + m_token.clear(); + emit tokenRequestFinished(LASTFM_ERROR); + } + else + { + m_token.clear(); + emit tokenRequestFinished(LASTFM_ERROR); + } + } + else if(reply == m_getSessionReply) + { + m_getSessionReply = 0; + m_session.clear(); + if(response.status == "ok") + { + m_session = response.key; + qDebug("LastfmAuth: name: %s", qPrintable(response.name)); + qDebug("LastfmAuth: key: %s", qPrintable(m_session)); + qDebug("LastfmAuth: subscriber: %s", qPrintable(response.subscriber)); + emit sessionRequestFinished(NO_ERROR); + } + else if(error_code == "4" || error_code == "15") //invalid token + { + m_token.clear(); + emit sessionRequestFinished(LASTFM_ERROR); + } + else if(error_code == "11") //service offline + { + m_token.clear(); + emit sessionRequestFinished(LASTFM_ERROR); + } + else if(error_code == "14") // unauthorized token + { + m_token.clear(); + emit sessionRequestFinished(LASTFM_ERROR); + } + else if (error_code.isEmpty()) //network error + { + m_token.clear(); + emit sessionRequestFinished(NETWORK_ERROR); + } + else + { + m_token.clear(); + emit sessionRequestFinished(LASTFM_ERROR); + } + } + reply->deleteLater(); +} diff --git a/src/plugins/General/scrobbler/lastfmscrobbler.h b/src/plugins/General/scrobbler/lastfmscrobbler.h index 313661e8b..d6e97c8c0 100644 --- a/src/plugins/General/scrobbler/lastfmscrobbler.h +++ b/src/plugins/General/scrobbler/lastfmscrobbler.h @@ -27,14 +27,17 @@ class QNetworkAccessManager; class QNetworkReply; +class QIODevice; class QTime; class SoundCore; + /** @author Ilya Kotov */ -struct LastfmResponse +class LastfmResponse { +public: QString status; QString token; QString code; @@ -42,6 +45,8 @@ struct LastfmResponse QString key; QString name; QString subscriber; + + void parse(QIODevice *device); }; /** @@ -82,4 +87,37 @@ private: ScrobblerCache *m_cache; }; +/** + @author Ilya Kotov +*/ +class LastfmAuth : public QObject +{ + Q_OBJECT +public: + explicit LastfmAuth(QObject *parent = 0); + void getToken(); + void getSession(); + QString session() const; + + enum ErrorType + { + NO_ERROR = 0, + NETWORK_ERROR, + LASTFM_ERROR + }; + +signals: + void tokenRequestFinished(int error); + void sessionRequestFinished(int error); + +private slots: + void processResponse(QNetworkReply *reply); + +private: + QString m_token, m_session; + QByteArray m_ua; + QNetworkAccessManager *m_http; + QNetworkReply *m_getTokenReply, *m_getSessionReply; +}; + #endif diff --git a/src/plugins/General/scrobbler/settingsdialog.cpp b/src/plugins/General/scrobbler/settingsdialog.cpp index d0d33eaa4..38d832af4 100644 --- a/src/plugins/General/scrobbler/settingsdialog.cpp +++ b/src/plugins/General/scrobbler/settingsdialog.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2012 by Ilya Kotov * + * Copyright (C) 2008-2013 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -19,23 +19,27 @@ ***************************************************************************/ #include +#include #include +#include "lastfmscrobbler.h" #include "settingsdialog.h" SettingsDialog::SettingsDialog(QWidget *parent) : QDialog(parent) { - ui.setupUi(this); + m_ui.setupUi(this); + m_lastfmAuth = new LastfmAuth(this); + connect(m_lastfmAuth, SIGNAL(tokenRequestFinished(int)), SLOT(processTokenResponse(int))); + connect(m_lastfmAuth, SIGNAL(sessionRequestFinished(int)), SLOT(processSessionResponse(int))); QSettings settings(Qmmp::configFile(), QSettings::IniFormat); settings.beginGroup("Scrobbler"); - ui.lastfmGroupBox->setChecked(settings.value("use_lastfm", false).toBool()); - ui.sessionLineEdit_lastfm->setText(settings.value("lastfm_session").toString()); - ui.librefmGroupBox->setChecked(settings.value("use_librefm", false).toBool()); - ui.userLineEdit_libre->setText(settings.value("librefm_login").toString()); - ui.passwordLineEdit_libre->setText(settings.value("librefm_password").toString()); + m_ui.lastfmGroupBox->setChecked(settings.value("use_lastfm", false).toBool()); + m_ui.sessionLineEdit_lastfm->setText(settings.value("lastfm_session").toString()); + m_ui.librefmGroupBox->setChecked(settings.value("use_librefm", false).toBool()); + m_ui.userLineEdit_libre->setText(settings.value("librefm_login").toString()); + m_ui.passwordLineEdit_libre->setText(settings.value("librefm_password").toString()); settings.endGroup(); } - SettingsDialog::~SettingsDialog() {} @@ -43,13 +47,56 @@ void SettingsDialog::accept() { QSettings settings(Qmmp::configFile(), QSettings::IniFormat); settings.beginGroup("Scrobbler"); - settings.setValue("use_lastfm", ui.lastfmGroupBox->isChecked()); - if(ui.newSessionCheckBox_lastfm->isChecked()) - ui.sessionLineEdit_lastfm->clear(); - settings.setValue("lastfm_session",ui.sessionLineEdit_lastfm->text()); - settings.setValue("use_librefm", ui.librefmGroupBox->isChecked()); - settings.setValue("librefm_login",ui.userLineEdit_libre->text()); - settings.setValue("librefm_password", ui.passwordLineEdit_libre->text()); + settings.setValue("use_lastfm", m_ui.lastfmGroupBox->isChecked()); + settings.setValue("lastfm_session",m_ui.sessionLineEdit_lastfm->text()); + settings.setValue("use_librefm", m_ui.librefmGroupBox->isChecked()); + settings.setValue("librefm_login",m_ui.userLineEdit_libre->text()); + settings.setValue("librefm_password", m_ui.passwordLineEdit_libre->text()); settings.endGroup(); QDialog::accept(); } + +void SettingsDialog::on_newSessionButton_lastfm_clicked() +{ + m_lastfmAuth->getToken(); +} + +void SettingsDialog::processTokenResponse(int error) +{ + switch(error) + { + case LastfmAuth::NO_ERROR: + QMessageBox::information(this, + tr("Message"), + tr("1. Wait for browser startup.") + "\n" + + tr("2. Allow Qmmp to scrobble tracks to your Last.fm account.") + "\n" + + tr("3. Press \"OK\".")); + m_lastfmAuth->getSession(); + break; + case LastfmAuth::NETWORK_ERROR: + QMessageBox::warning(this, tr("Error"), tr("Network error.")); + break; + case LastfmAuth::LASTFM_ERROR: + default: + QMessageBox::warning(this, tr("Error"), tr("Unable to register new session.")); + } +} + +void SettingsDialog::processSessionResponse(int error) +{ + switch(error) + { + case LastfmAuth::NO_ERROR: + QMessageBox::information(this, tr("Message"), tr("New session has been received successfully.")); + m_ui.sessionLineEdit_lastfm->setText(m_lastfmAuth->session()); + QSettings settings(Qmmp::configFile(), QSettings::IniFormat); + settings.setValue("lastfm_session",m_ui.sessionLineEdit_lastfm->text()); + break; + case LastfmAuth::NETWORK_ERROR: + QMessageBox::warning(this, tr("Error"), tr("Network error.")); + break; + case LastfmAuth::LASTFM_ERROR: + default: + QMessageBox::warning(this, tr("Error"), tr("Unable to register new session.")); + } +} diff --git a/src/plugins/General/scrobbler/settingsdialog.h b/src/plugins/General/scrobbler/settingsdialog.h index 63b36a566..182ef1cfe 100644 --- a/src/plugins/General/scrobbler/settingsdialog.h +++ b/src/plugins/General/scrobbler/settingsdialog.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008 by Ilya Kotov * + * Copyright (C) 2008-2013 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -21,12 +21,12 @@ #define SETTINGSDIALOG_H #include - - #include "ui_settingsdialog.h" +class LastfmAuth; + /** - @author Ilya Kotov + @author Ilya Kotov */ class SettingsDialog : public QDialog { @@ -36,12 +36,17 @@ public: ~SettingsDialog(); - public slots: virtual void accept(); +private slots: + void on_newSessionButton_lastfm_clicked(); + void processTokenResponse(int error); + void processSessionResponse(int error); + private: - Ui::SettingsDialog ui; + Ui::SettingsDialog m_ui; + LastfmAuth *m_lastfmAuth; }; diff --git a/src/plugins/General/scrobbler/settingsdialog.ui b/src/plugins/General/scrobbler/settingsdialog.ui index 528074cc4..dd111a948 100644 --- a/src/plugins/General/scrobbler/settingsdialog.ui +++ b/src/plugins/General/scrobbler/settingsdialog.ui @@ -6,8 +6,8 @@ 0 0 - 322 - 215 + 337 + 227 @@ -35,18 +35,42 @@ true - - - - Session: - - + + + + + + Session: + + + + + + + + + + Check + + + + - - + + + + Qt::Horizontal + + + + 162 + 20 + + + - - + + Register new session diff --git a/src/plugins/General/scrobbler/translations/scrobbler_plugin_cs.ts b/src/plugins/General/scrobbler/translations/scrobbler_plugin_cs.ts index d5eb0b647..a53d12660 100644 --- a/src/plugins/General/scrobbler/translations/scrobbler_plugin_cs.ts +++ b/src/plugins/General/scrobbler/translations/scrobbler_plugin_cs.ts @@ -37,29 +37,80 @@ Last.fm - + Session: - + + Check + + + + Register new session - + User name: Uživatelské jméno: - + Password: Heslo: - + Libre.fm Libre.fm + + + + Message + + + + + 1. Wait for browser startup. + + + + + 2. Allow Qmmp to scrobble tracks to your Last.fm account. + + + + + 3. Press "OK". + + + + + + + + Error + + + + + + Network error. + + + + + + Unable to register new session. + + + + + New session has been received successfully. + + diff --git a/src/plugins/General/scrobbler/translations/scrobbler_plugin_de.ts b/src/plugins/General/scrobbler/translations/scrobbler_plugin_de.ts index 85b253ae0..569c07383 100644 --- a/src/plugins/General/scrobbler/translations/scrobbler_plugin_de.ts +++ b/src/plugins/General/scrobbler/translations/scrobbler_plugin_de.ts @@ -37,29 +37,80 @@ Last.fm - + Session: Sitzung: - + + Check + + + + Register new session Neue Sitzung registrieren - + User name: Benutzername: - + Password: Passwort: - + Libre.fm Libre.fm + + + + Message + + + + + 1. Wait for browser startup. + + + + + 2. Allow Qmmp to scrobble tracks to your Last.fm account. + + + + + 3. Press "OK". + + + + + + + + Error + + + + + + Network error. + + + + + + Unable to register new session. + + + + + New session has been received successfully. + + diff --git a/src/plugins/General/scrobbler/translations/scrobbler_plugin_es.ts b/src/plugins/General/scrobbler/translations/scrobbler_plugin_es.ts index c9dde1786..a1d266b6f 100644 --- a/src/plugins/General/scrobbler/translations/scrobbler_plugin_es.ts +++ b/src/plugins/General/scrobbler/translations/scrobbler_plugin_es.ts @@ -37,29 +37,80 @@ Last.fm - + Session: Sesión: - + + Check + + + + Register new session Registrar una sesión nueva - + User name: Usuario: - + Password: Contraseña: - + Libre.fm Libre.fm + + + + Message + + + + + 1. Wait for browser startup. + + + + + 2. Allow Qmmp to scrobble tracks to your Last.fm account. + + + + + 3. Press "OK". + + + + + + + + Error + + + + + + Network error. + + + + + + Unable to register new session. + + + + + New session has been received successfully. + + diff --git a/src/plugins/General/scrobbler/translations/scrobbler_plugin_fr.ts b/src/plugins/General/scrobbler/translations/scrobbler_plugin_fr.ts index ba57440a2..67464fcfc 100644 --- a/src/plugins/General/scrobbler/translations/scrobbler_plugin_fr.ts +++ b/src/plugins/General/scrobbler/translations/scrobbler_plugin_fr.ts @@ -37,29 +37,80 @@ - + Session: - + + Check + + + + Register new session - + Libre.fm - + User name: - + Password: + + + + Message + + + + + 1. Wait for browser startup. + + + + + 2. Allow Qmmp to scrobble tracks to your Last.fm account. + + + + + 3. Press "OK". + + + + + + + + Error + + + + + + Network error. + + + + + + Unable to register new session. + + + + + New session has been received successfully. + + diff --git a/src/plugins/General/scrobbler/translations/scrobbler_plugin_he.ts b/src/plugins/General/scrobbler/translations/scrobbler_plugin_he.ts index 81422e2c5..1e0faf77f 100644 --- a/src/plugins/General/scrobbler/translations/scrobbler_plugin_he.ts +++ b/src/plugins/General/scrobbler/translations/scrobbler_plugin_he.ts @@ -37,29 +37,80 @@ - + Session: סשן: - + + Check + + + + Register new session רישום סשן חדש - + Libre.fm - + User name: שם משתמש: - + Password: סיסמה: + + + + Message + + + + + 1. Wait for browser startup. + + + + + 2. Allow Qmmp to scrobble tracks to your Last.fm account. + + + + + 3. Press "OK". + + + + + + + + Error + + + + + + Network error. + + + + + + Unable to register new session. + + + + + New session has been received successfully. + + diff --git a/src/plugins/General/scrobbler/translations/scrobbler_plugin_hu.ts b/src/plugins/General/scrobbler/translations/scrobbler_plugin_hu.ts index 141f157e0..49608c89d 100644 --- a/src/plugins/General/scrobbler/translations/scrobbler_plugin_hu.ts +++ b/src/plugins/General/scrobbler/translations/scrobbler_plugin_hu.ts @@ -37,29 +37,80 @@ - + Session: - + + Check + + + + Register new session - + Libre.fm - + User name: - + Password: + + + + Message + + + + + 1. Wait for browser startup. + + + + + 2. Allow Qmmp to scrobble tracks to your Last.fm account. + + + + + 3. Press "OK". + + + + + + + + Error + + + + + + Network error. + + + + + + Unable to register new session. + + + + + New session has been received successfully. + + diff --git a/src/plugins/General/scrobbler/translations/scrobbler_plugin_it.ts b/src/plugins/General/scrobbler/translations/scrobbler_plugin_it.ts index 4fbd1908a..573a4fc50 100644 --- a/src/plugins/General/scrobbler/translations/scrobbler_plugin_it.ts +++ b/src/plugins/General/scrobbler/translations/scrobbler_plugin_it.ts @@ -37,29 +37,80 @@ Last.fm - + Session: - + + Check + + + + Register new session - + User name: Utente: - + Password: Password: - + Libre.fm Libre.fm + + + + Message + + + + + 1. Wait for browser startup. + + + + + 2. Allow Qmmp to scrobble tracks to your Last.fm account. + + + + + 3. Press "OK". + + + + + + + + Error + + + + + + Network error. + + + + + + Unable to register new session. + + + + + New session has been received successfully. + + diff --git a/src/plugins/General/scrobbler/translations/scrobbler_plugin_ja.ts b/src/plugins/General/scrobbler/translations/scrobbler_plugin_ja.ts index d8919f182..e8e47274f 100644 --- a/src/plugins/General/scrobbler/translations/scrobbler_plugin_ja.ts +++ b/src/plugins/General/scrobbler/translations/scrobbler_plugin_ja.ts @@ -37,29 +37,80 @@ Lastfm.jp - + Session: セッション: - + + Check + + + + Register new session 新しいセッションを登録 - + User name: ユーザー名: - + Password: パスワード: - + Libre.fm Libre.fm + + + + Message + + + + + 1. Wait for browser startup. + + + + + 2. Allow Qmmp to scrobble tracks to your Last.fm account. + + + + + 3. Press "OK". + + + + + + + + Error + + + + + + Network error. + + + + + + Unable to register new session. + + + + + New session has been received successfully. + + diff --git a/src/plugins/General/scrobbler/translations/scrobbler_plugin_kk.ts b/src/plugins/General/scrobbler/translations/scrobbler_plugin_kk.ts index 6fbaaa295..306d7503a 100644 --- a/src/plugins/General/scrobbler/translations/scrobbler_plugin_kk.ts +++ b/src/plugins/General/scrobbler/translations/scrobbler_plugin_kk.ts @@ -37,29 +37,80 @@ - + Session: - + + Check + + + + Register new session - + Libre.fm - + User name: - + Password: + + + + Message + + + + + 1. Wait for browser startup. + + + + + 2. Allow Qmmp to scrobble tracks to your Last.fm account. + + + + + 3. Press "OK". + + + + + + + + Error + + + + + + Network error. + + + + + + Unable to register new session. + + + + + New session has been received successfully. + + diff --git a/src/plugins/General/scrobbler/translations/scrobbler_plugin_lt.ts b/src/plugins/General/scrobbler/translations/scrobbler_plugin_lt.ts index 91585cbc9..0b387bc19 100644 --- a/src/plugins/General/scrobbler/translations/scrobbler_plugin_lt.ts +++ b/src/plugins/General/scrobbler/translations/scrobbler_plugin_lt.ts @@ -37,29 +37,80 @@ Last.fm - + Session: Sesija: - + + Check + + + + Register new session Registruoti naują sesiją - + User name: Vartotojo vardas: - + Password: Slaptažodis: - + Libre.fm Libre.fm + + + + Message + + + + + 1. Wait for browser startup. + + + + + 2. Allow Qmmp to scrobble tracks to your Last.fm account. + + + + + 3. Press "OK". + + + + + + + + Error + + + + + + Network error. + + + + + + Unable to register new session. + + + + + New session has been received successfully. + + diff --git a/src/plugins/General/scrobbler/translations/scrobbler_plugin_nl.ts b/src/plugins/General/scrobbler/translations/scrobbler_plugin_nl.ts index 0368c2a90..0fca1d001 100644 --- a/src/plugins/General/scrobbler/translations/scrobbler_plugin_nl.ts +++ b/src/plugins/General/scrobbler/translations/scrobbler_plugin_nl.ts @@ -37,29 +37,80 @@ - + Session: Sessie: - + + Check + + + + Register new session Registreer nieuwe sessie - + User name: Gebruikersnaam: - + Password: Wachtwoord: - + Libre.fm + + + + Message + + + + + 1. Wait for browser startup. + + + + + 2. Allow Qmmp to scrobble tracks to your Last.fm account. + + + + + 3. Press "OK". + + + + + + + + Error + + + + + + Network error. + + + + + + Unable to register new session. + + + + + New session has been received successfully. + + diff --git a/src/plugins/General/scrobbler/translations/scrobbler_plugin_pl_PL.ts b/src/plugins/General/scrobbler/translations/scrobbler_plugin_pl_PL.ts index 098faa8a2..5f9407c96 100644 --- a/src/plugins/General/scrobbler/translations/scrobbler_plugin_pl_PL.ts +++ b/src/plugins/General/scrobbler/translations/scrobbler_plugin_pl_PL.ts @@ -37,29 +37,80 @@ - + Session: Sesja: - + + Check + + + + Register new session Zarejestruj nową sesję - + User name: Nazwa użytkownika: - + Password: Hasło: - + Libre.fm + + + + Message + + + + + 1. Wait for browser startup. + + + + + 2. Allow Qmmp to scrobble tracks to your Last.fm account. + + + + + 3. Press "OK". + + + + + + + + Error + + + + + + Network error. + + + + + + Unable to register new session. + + + + + New session has been received successfully. + + diff --git a/src/plugins/General/scrobbler/translations/scrobbler_plugin_pt_BR.ts b/src/plugins/General/scrobbler/translations/scrobbler_plugin_pt_BR.ts index 96a4e13d5..25d7f8702 100644 --- a/src/plugins/General/scrobbler/translations/scrobbler_plugin_pt_BR.ts +++ b/src/plugins/General/scrobbler/translations/scrobbler_plugin_pt_BR.ts @@ -37,29 +37,80 @@ - + Session: - + + Check + + + + Register new session - + Libre.fm - + User name: - + Password: + + + + Message + + + + + 1. Wait for browser startup. + + + + + 2. Allow Qmmp to scrobble tracks to your Last.fm account. + + + + + 3. Press "OK". + + + + + + + + Error + + + + + + Network error. + + + + + + Unable to register new session. + + + + + New session has been received successfully. + + diff --git a/src/plugins/General/scrobbler/translations/scrobbler_plugin_ru.ts b/src/plugins/General/scrobbler/translations/scrobbler_plugin_ru.ts index 7478c67db..4b3f6a44c 100644 --- a/src/plugins/General/scrobbler/translations/scrobbler_plugin_ru.ts +++ b/src/plugins/General/scrobbler/translations/scrobbler_plugin_ru.ts @@ -37,29 +37,80 @@ - + Session: Сессия: - + + Check + + + + Register new session Зарегистрировать новую сессию - + User name: Имя пользователя: - + Password: Пароль: - + Libre.fm + + + + Message + + + + + 1. Wait for browser startup. + + + + + 2. Allow Qmmp to scrobble tracks to your Last.fm account. + + + + + 3. Press "OK". + + + + + + + + Error + + + + + + Network error. + + + + + + Unable to register new session. + + + + + New session has been received successfully. + + diff --git a/src/plugins/General/scrobbler/translations/scrobbler_plugin_sk.ts b/src/plugins/General/scrobbler/translations/scrobbler_plugin_sk.ts index 2e4ba641b..c137c0474 100644 --- a/src/plugins/General/scrobbler/translations/scrobbler_plugin_sk.ts +++ b/src/plugins/General/scrobbler/translations/scrobbler_plugin_sk.ts @@ -37,29 +37,80 @@ - + Session: - + + Check + + + + Register new session - + Libre.fm - + User name: - + Password: + + + + Message + + + + + 1. Wait for browser startup. + + + + + 2. Allow Qmmp to scrobble tracks to your Last.fm account. + + + + + 3. Press "OK". + + + + + + + + Error + + + + + + Network error. + + + + + + Unable to register new session. + + + + + New session has been received successfully. + + diff --git a/src/plugins/General/scrobbler/translations/scrobbler_plugin_tr.ts b/src/plugins/General/scrobbler/translations/scrobbler_plugin_tr.ts index c9e1c2309..4a650cb50 100644 --- a/src/plugins/General/scrobbler/translations/scrobbler_plugin_tr.ts +++ b/src/plugins/General/scrobbler/translations/scrobbler_plugin_tr.ts @@ -37,29 +37,80 @@ Last.fm - + Session: - + + Check + + + + Register new session - + User name: Kullanıcı adı: - + Password: Parola: - + Libre.fm Libre.fm + + + + Message + + + + + 1. Wait for browser startup. + + + + + 2. Allow Qmmp to scrobble tracks to your Last.fm account. + + + + + 3. Press "OK". + + + + + + + + Error + + + + + + Network error. + + + + + + Unable to register new session. + + + + + New session has been received successfully. + + diff --git a/src/plugins/General/scrobbler/translations/scrobbler_plugin_uk_UA.ts b/src/plugins/General/scrobbler/translations/scrobbler_plugin_uk_UA.ts index 0581130fd..f42f7d407 100644 --- a/src/plugins/General/scrobbler/translations/scrobbler_plugin_uk_UA.ts +++ b/src/plugins/General/scrobbler/translations/scrobbler_plugin_uk_UA.ts @@ -37,29 +37,80 @@ Last.fm - + Session: Сесія: - + + Check + + + + Register new session Зареєструвати нову сесію - + User name: Ім'я користувача: - + Password: Пароль: - + Libre.fm Libre.fm + + + + Message + + + + + 1. Wait for browser startup. + + + + + 2. Allow Qmmp to scrobble tracks to your Last.fm account. + + + + + 3. Press "OK". + + + + + + + + Error + + + + + + Network error. + + + + + + Unable to register new session. + + + + + New session has been received successfully. + + diff --git a/src/plugins/General/scrobbler/translations/scrobbler_plugin_zh_CN.ts b/src/plugins/General/scrobbler/translations/scrobbler_plugin_zh_CN.ts index f33997c5c..3938d7623 100644 --- a/src/plugins/General/scrobbler/translations/scrobbler_plugin_zh_CN.ts +++ b/src/plugins/General/scrobbler/translations/scrobbler_plugin_zh_CN.ts @@ -37,29 +37,80 @@ Last.fm - + Session: 会议: - + + Check + + + + Register new session 注册新会议 - + User name: 用户名: - + Password: 密码: - + Libre.fm Libre.fm + + + + Message + + + + + 1. Wait for browser startup. + + + + + 2. Allow Qmmp to scrobble tracks to your Last.fm account. + + + + + 3. Press "OK". + + + + + + + + Error + + + + + + Network error. + + + + + + Unable to register new session. + + + + + New session has been received successfully. + + diff --git a/src/plugins/General/scrobbler/translations/scrobbler_plugin_zh_TW.ts b/src/plugins/General/scrobbler/translations/scrobbler_plugin_zh_TW.ts index 0738d87f4..f171a8ebb 100644 --- a/src/plugins/General/scrobbler/translations/scrobbler_plugin_zh_TW.ts +++ b/src/plugins/General/scrobbler/translations/scrobbler_plugin_zh_TW.ts @@ -37,29 +37,80 @@ Last.fm - + Session: 會議: - + + Check + + + + Register new session 註冊新會議 - + User name: 用戶名: - + Password: 密碼: - + Libre.fm Libre.fm + + + + Message + + + + + 1. Wait for browser startup. + + + + + 2. Allow Qmmp to scrobble tracks to your Last.fm account. + + + + + 3. Press "OK". + + + + + + + + Error + + + + + + Network error. + + + + + + Unable to register new session. + + + + + New session has been received successfully. + + -- cgit v1.2.3-13-gbd6f