diff --git a/CMakeLists.txt b/CMakeLists.txt index 65c3233f6..0251d65d0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -58,6 +58,7 @@ else(WIN32) pkg_check_modules(IMOBILEDEVICE libimobiledevice-1.0) pkg_check_modules(PLIST libplist) pkg_check_modules(USBMUXD libusbmuxd) + pkg_check_modules(LIBMTP libmtp) endif(WIN32) find_library(LASTFM_LIBRARIES lastfm) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 85ed02326..cdf67e534 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -520,6 +520,18 @@ if(IMOBILEDEVICE_FOUND AND PLIST_FOUND) list(APPEND HEADERS devices/ilister.h) endif(IMOBILEDEVICE_FOUND AND PLIST_FOUND) +# mtp device +if(LIBMTP_FOUND) + set(HAVE_LIBMTP ON) + include_directories(${LIBMTP_INCLUDE_DIRS}) + + list(APPEND SOURCES devices/mtpdevice.cpp) + list(APPEND SOURCES devices/mtploader.cpp) + + list(APPEND HEADERS devices/mtpdevice.h) + list(APPEND HEADERS devices/mtploader.h) +endif(LIBMTP_FOUND) + # Mac specific startup stuff if(APPLE) list(APPEND SOURCES core/mac_startup.mm) @@ -547,6 +559,10 @@ list(APPEND OTHER_SOURCES devices/ilister.h devices/imobiledeviceconnection.cpp devices/imobiledeviceconnection.h + devices/mtpdevice.cpp + devices/mtpdevice.h + devices/mtploader.cpp + devices/mtploader.h ui/macsystemtrayicon.h ui/macsystemtrayicon.mm widgets/osd_mac.mm @@ -617,6 +633,9 @@ if(HAVE_IMOBILEDEVICE) link_directories(${USBMUXD_LIBRARY_DIRS}) endif(HAVE_IMOBILEDEVICE) +if(LIBMTP_FOUND) + target_link_libraries(clementine_lib ${LIBMTP_LIBRARIES}) +endif(LIBMTP_FOUND) if (APPLE) target_link_libraries(clementine_lib diff --git a/src/config.h.in b/src/config.h.in index ea58c247c..a3f1a2d44 100644 --- a/src/config.h.in +++ b/src/config.h.in @@ -42,5 +42,6 @@ #cmakedefine HAVE_LIBGPOD #cmakedefine HAVE_GIO #cmakedefine HAVE_IMOBILEDEVICE +#cmakedefine HAVE_LIBMTP #endif // CONFIG_H_IN diff --git a/src/core/song.cpp b/src/core/song.cpp index 1d01e876a..ccef235ae 100644 --- a/src/core/song.cpp +++ b/src/core/song.cpp @@ -476,6 +476,40 @@ void Song::InitFromLastFM(const lastfm::Track& track) { } #endif +#ifdef HAVE_LIBMTP + void Song::InitFromMTP(const LIBMTP_track_t* track) { + d->valid_ = true; + + d->title_ = QString::fromUtf8(track->title); + d->artist_ = QString::fromUtf8(track->artist); + d->album_ = QString::fromUtf8(track->album); + d->composer_ = QString::fromUtf8(track->composer); + d->genre_ = QString::fromUtf8(track->genre); + d->filename_ = QString::fromUtf8(track->filename); + + d->track_ = track->tracknumber; + d->length_ = track->duration / 1000; + d->samplerate_ = track->samplerate; + d->bitrate_ = track->bitrate; + d->filesize_ = track->filesize; + d->mtime_ = track->modificationdate; + d->ctime_ = track->modificationdate; + + switch (track->filetype) { + case LIBMTP_FILETYPE_WAV: d->filetype_ = Type_Wav; break; + case LIBMTP_FILETYPE_MP3: d->filetype_ = Type_Mpeg; break; + case LIBMTP_FILETYPE_WMA: d->filetype_ = Type_Asf; break; + case LIBMTP_FILETYPE_OGG: d->filetype_ = Type_OggVorbis; break; + case LIBMTP_FILETYPE_MP4: d->filetype_ = Type_Mp4; break; + case LIBMTP_FILETYPE_AAC: d->filetype_ = Type_Mp4; break; + case LIBMTP_FILETYPE_FLAC: d->filetype_ = Type_OggFlac; break; + case LIBMTP_FILETYPE_MP2: d->filetype_ = Type_Mpeg; break; + case LIBMTP_FILETYPE_M4A: d->filetype_ = Type_Mp4; break; + default: d->filetype_ = Type_Unknown; break; + } + } +#endif + void Song::MergeFromSimpleMetaBundle(const Engine::SimpleMetaBundle &bundle) { d->valid_ = true; diff --git a/src/core/song.h b/src/core/song.h index 94355f98b..644d7ac70 100644 --- a/src/core/song.h +++ b/src/core/song.h @@ -33,6 +33,10 @@ # include #endif +#ifdef HAVE_LIBMTP +# include +#endif + class SqlRow; namespace lastfm { @@ -110,6 +114,10 @@ class Song { void ToItdb(Itdb_Track* track) const; #endif +#ifdef HAVE_LIBMTP + void InitFromMTP(const LIBMTP_track_t* track); +#endif + static QString Decode(const TagLib::String& tag, const QTextCodec* codec); static QString Decode(const QString& tag, const QTextCodec* codec); diff --git a/src/devices/connecteddevice.h b/src/devices/connecteddevice.h index 3c98cca3c..37428f291 100644 --- a/src/devices/connecteddevice.h +++ b/src/devices/connecteddevice.h @@ -51,7 +51,7 @@ public: virtual void FinishCopy(bool success); virtual void FinishDelete(bool success); - void Eject(); + virtual void Eject(); signals: void TaskStarted(int id); diff --git a/src/devices/devicemanager.cpp b/src/devices/devicemanager.cpp index 3f1e71b74..7fc33a696 100644 --- a/src/devices/devicemanager.cpp +++ b/src/devices/devicemanager.cpp @@ -38,6 +38,9 @@ # include "afcdevice.h" # include "ilister.h" #endif +#ifdef HAVE_LIBMTP +# include "mtpdevice.h" +#endif #include #include @@ -173,6 +176,10 @@ DeviceManager::DeviceManager(BackgroundThread* database, #ifdef HAVE_LIBGPOD AddDeviceClass(); #endif + +#ifdef HAVE_LIBMTP + AddDeviceClass(); +#endif } DeviceManager::~DeviceManager() { @@ -470,6 +477,7 @@ boost::shared_ptr DeviceManager::Connect(int row) { // Find a device class for this URL's scheme if (device_classes_.contains(url.scheme())) { device_url = url; + break; } } diff --git a/src/devices/giolister.cpp b/src/devices/giolister.cpp index 0656c15db..4e13f5bab 100644 --- a/src/devices/giolister.cpp +++ b/src/devices/giolister.cpp @@ -121,9 +121,12 @@ QList GioLister::MakeDeviceUrls(const QString &id) { uri = mounts_[id].uri; } + // gphoto2 gives invalid hostnames with []:, characters in + uri.replace(QRegExp("//\\[usb:(\\d+),(\\d+)\\]"), "//usb-\\1-\\2"); + QList ret; - ret << MakeUrlFromLocalPath(mount_point); ret << uri; + ret << MakeUrlFromLocalPath(mount_point); return ret; } diff --git a/src/devices/gpoddevice.cpp b/src/devices/gpoddevice.cpp index 4acf186c3..177f09816 100644 --- a/src/devices/gpoddevice.cpp +++ b/src/devices/gpoddevice.cpp @@ -31,7 +31,7 @@ GPodDevice::GPodDevice( int database_id, bool first_time) : ConnectedDevice(url, lister, unique_id, manager, database_id, first_time), loader_thread_(new QThread(this)), - loader_(), + loader_(NULL), db_(NULL) { } diff --git a/src/devices/mtpdevice.cpp b/src/devices/mtpdevice.cpp new file mode 100644 index 000000000..997553ba2 --- /dev/null +++ b/src/devices/mtpdevice.cpp @@ -0,0 +1,72 @@ +/* This file is part of Clementine. + + Clementine is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Clementine is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Clementine. If not, see . +*/ + +#include "devicemanager.h" +#include "mtpdevice.h" +#include "mtploader.h" +#include "library/librarybackend.h" +#include "library/librarymodel.h" + +#include + +bool MtpDevice::sInitialisedLibMTP = false; + +MtpDevice::MtpDevice(const QUrl& url, DeviceLister* lister, + const QString& unique_id, DeviceManager* manager, + int database_id, bool first_time) + : ConnectedDevice(url, lister, unique_id, manager, database_id, first_time), + loader_thread_(new QThread(this)), + loader_(NULL) +{ + if (!sInitialisedLibMTP) { + LIBMTP_Init(); + sInitialisedLibMTP = true; + } +} + +void MtpDevice::Init() { + InitBackendDirectory("/", first_time_, false); + model_->Init(); + + loader_ = new MtpLoader(url_.host(), manager_->task_manager(), backend_, + shared_from_this()); + loader_->moveToThread(loader_thread_); + + connect(loader_, SIGNAL(Error(QString)), SIGNAL(Error(QString))); + connect(loader_, SIGNAL(TaskStarted(int)), SIGNAL(TaskStarted(int))); + connect(loader_, SIGNAL(LoadFinished()), SLOT(LoadFinished())); + connect(loader_thread_, SIGNAL(started()), loader_, SLOT(LoadDatabase())); + loader_thread_->start(); +} + +void MtpDevice::LoadFinished() { + QMutexLocker l(&db_mutex_); + db_wait_cond_.wakeAll(); + + loader_->deleteLater(); + loader_ = NULL; +} + +bool MtpDevice::CopyToStorage( + const QString& source, const QString& destination, const Song& metadata, + bool overwrite, bool remove_original) +{ + return false; +} + +bool MtpDevice::DeleteFromStorage(const Song& metadata) { + return false; +} diff --git a/src/devices/mtpdevice.h b/src/devices/mtpdevice.h new file mode 100644 index 000000000..8c1aefb2c --- /dev/null +++ b/src/devices/mtpdevice.h @@ -0,0 +1,56 @@ +/* This file is part of Clementine. + + Clementine is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Clementine is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Clementine. If not, see . +*/ + +#ifndef MTPDEVICE_H +#define MTPDEVICE_H + +#include "connecteddevice.h" + +#include +#include + +class MtpLoader; + +class MtpDevice : public ConnectedDevice { + Q_OBJECT + +public: + Q_INVOKABLE MtpDevice(const QUrl& url, DeviceLister* lister, + const QString& unique_id, DeviceManager* manager, + int database_id, bool first_time); + + static QStringList url_schemes() { return QStringList() << "mtp" << "gphoto2"; } + + void Init(); + + bool CopyToStorage(const QString& source, const QString& destination, + const Song& metadata, bool overwrite, bool remove_original); + bool DeleteFromStorage(const Song& metadata); + +private slots: + void LoadFinished(); + +private: + static bool sInitialisedLibMTP; + + QThread* loader_thread_; + MtpLoader* loader_; + + QWaitCondition db_wait_cond_; + QMutex db_mutex_; +}; + +#endif // MTPDEVICE_H diff --git a/src/devices/mtploader.cpp b/src/devices/mtploader.cpp new file mode 100644 index 000000000..ebd2391b7 --- /dev/null +++ b/src/devices/mtploader.cpp @@ -0,0 +1,114 @@ +/* This file is part of Clementine. + + Clementine is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Clementine is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Clementine. If not, see . +*/ + +#include "connecteddevice.h" +#include "mtploader.h" +#include "core/song.h" +#include "core/taskmanager.h" +#include "library/librarybackend.h" + +#include + +MtpLoader::MtpLoader(const QString& hostname, TaskManager* task_manager, + LibraryBackend* backend, boost::shared_ptr device) + : QObject(NULL), + device_(device), + hostname_(hostname), + task_manager_(task_manager), + backend_(backend) +{ + original_thread_ = thread(); +} + +MtpLoader::~MtpLoader() { +} + +void MtpLoader::LoadDatabase() { + int task_id = task_manager_->StartTask(tr("Loading MTP device")); + emit TaskStarted(task_id); + + TryLoad(); + + moveToThread(original_thread_); + + task_manager_->SetTaskFinished(task_id); + emit LoadFinished(); +} + +bool MtpLoader::TryLoad() { + // Parse the URL + QRegExp host_re("^usb-(\\d+)-(\\d+)$"); + + if (host_re.indexIn(hostname_) == -1) { + emit Error(tr("Invalid MTP device: %1").arg(hostname_)); + return false; + } + + const unsigned int bus_location = host_re.cap(1).toInt(); + const unsigned int device_num = host_re.cap(2).toInt(); + + // Get a list of devices from libmtp and figure out which one is ours + int count = 0; + LIBMTP_raw_device_t* raw_devices = NULL; + LIBMTP_error_number_t err = LIBMTP_Detect_Raw_Devices(&raw_devices, &count); + if (err != LIBMTP_ERROR_NONE) { + emit Error(tr("Error connecting MTP device")); + qWarning() << "MTP error:" << err; + return false; + } + + LIBMTP_raw_device_t* raw_device = NULL; + for (int i=0 ; inext; + LIBMTP_destroy_track_t(track); + } + + // Need to remove all the existing songs in the database first + backend_->DeleteSongs(backend_->FindSongsInDirectory(1)); + + // Add the songs we've just loaded + backend_->AddOrUpdateSongs(songs); + + free(raw_devices); + return true; +} diff --git a/src/devices/mtploader.h b/src/devices/mtploader.h new file mode 100644 index 000000000..40dc599f0 --- /dev/null +++ b/src/devices/mtploader.h @@ -0,0 +1,56 @@ +/* This file is part of Clementine. + + Clementine is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Clementine is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Clementine. If not, see . +*/ + +#ifndef MTPLOADER_H +#define MTPLOADER_H + +#include + +#include + +class ConnectedDevice; +class LibraryBackend; +class TaskManager; + +class MtpLoader : public QObject { + Q_OBJECT + +public: + MtpLoader(const QString& hostname, TaskManager* task_manager, + LibraryBackend* backend, boost::shared_ptr device); + ~MtpLoader(); + +public slots: + void LoadDatabase(); + +signals: + void Error(const QString& message); + void TaskStarted(int task_id); + void LoadFinished(); + +private: + bool TryLoad(); + +private: + boost::shared_ptr device_; + QThread* original_thread_; + + QString hostname_; + TaskManager* task_manager_; + LibraryBackend* backend_; +}; + +#endif // MTPLOADER_H diff --git a/src/translations/ar.po b/src/translations/ar.po index 273f11f99..3baefc217 100644 --- a/src/translations/ar.po +++ b/src/translations/ar.po @@ -634,6 +634,9 @@ msgstr "" msgid "Error" msgstr "" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -842,6 +845,10 @@ msgstr "" msgid "Invalid API key" msgstr "" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "صيغة غير متاحة" @@ -948,6 +955,9 @@ msgstr "" msgid "Loading Last.fm radio" msgstr "" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "" @@ -978,6 +988,9 @@ msgstr "" msgid "MPC" msgstr "" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "" diff --git a/src/translations/bg.po b/src/translations/bg.po index 21994c2c7..3001c0cdc 100644 --- a/src/translations/bg.po +++ b/src/translations/bg.po @@ -635,6 +635,9 @@ msgstr "" msgid "Error" msgstr "" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -843,6 +846,10 @@ msgstr "Интернет" msgid "Invalid API key" msgstr "" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "" @@ -949,6 +956,9 @@ msgstr "" msgid "Loading Last.fm radio" msgstr "" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "" @@ -979,6 +989,9 @@ msgstr "MP4" msgid "MPC" msgstr "" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "" diff --git a/src/translations/ca.po b/src/translations/ca.po index ee37b69fe..901e1609d 100644 --- a/src/translations/ca.po +++ b/src/translations/ca.po @@ -648,6 +648,9 @@ msgstr "Equalitzador" msgid "Error" msgstr "Error" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -861,6 +864,10 @@ msgstr "Internet" msgid "Invalid API key" msgstr "Clau de l'API no vàlida" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Format invàlid" @@ -969,6 +976,9 @@ msgstr "Carrega la llista de reproducció..." msgid "Loading Last.fm radio" msgstr "Carregant la radio de Last.fm" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "Carregant la base de dades de l'iPod" @@ -999,6 +1009,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "Magnatune" diff --git a/src/translations/cs.po b/src/translations/cs.po index 9439d6307..5c27f260d 100644 --- a/src/translations/cs.po +++ b/src/translations/cs.po @@ -638,6 +638,9 @@ msgstr "Ekvalizér" msgid "Error" msgstr "Chyba" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -847,6 +850,10 @@ msgstr "Internet" msgid "Invalid API key" msgstr "Neplatný klíč API" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Neplatný formát" @@ -953,6 +960,9 @@ msgstr "" msgid "Loading Last.fm radio" msgstr "Načítám rádio Last.fm" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "" @@ -983,6 +993,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "Magnatune" diff --git a/src/translations/da.po b/src/translations/da.po index bc5713c3c..d8314db02 100644 --- a/src/translations/da.po +++ b/src/translations/da.po @@ -638,6 +638,9 @@ msgstr "Equalizer" msgid "Error" msgstr "" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -848,6 +851,10 @@ msgstr "" msgid "Invalid API key" msgstr "Ugyldig API-nøgle" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Ugyldig format" @@ -954,6 +961,9 @@ msgstr "" msgid "Loading Last.fm radio" msgstr "Indlæser Last.fm-radio" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "" @@ -984,6 +994,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "" diff --git a/src/translations/de.po b/src/translations/de.po index 1d7d52874..ca97619b8 100644 --- a/src/translations/de.po +++ b/src/translations/de.po @@ -648,6 +648,9 @@ msgstr "Equalizer" msgid "Error" msgstr "Fehler" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -861,6 +864,10 @@ msgstr "Internet" msgid "Invalid API key" msgstr "Ungültiger API-Schlüssel" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Ungültiges Format" @@ -969,6 +976,9 @@ msgstr "Wiedergabeliste laden..." msgid "Loading Last.fm radio" msgstr "Last.fm Radio wird geladen" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "iPod-Datenbank wird geladen" @@ -999,6 +1009,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "Magnatune" diff --git a/src/translations/el.po b/src/translations/el.po index e67768707..61fa4ceb0 100644 --- a/src/translations/el.po +++ b/src/translations/el.po @@ -650,6 +650,9 @@ msgstr "Ισοσταθμιστής" msgid "Error" msgstr "Σφάλμα" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -863,6 +866,10 @@ msgstr "Διαδίκτυο" msgid "Invalid API key" msgstr "Εσφαλμένο κλειδί API" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Εσφαλμένη διαμόρφωση" @@ -969,6 +976,9 @@ msgstr "Φόρτωση λίστας αναπαραγωγής..." msgid "Loading Last.fm radio" msgstr "Φόρτωμα Last.fm" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "Φόρτωση της βάσης δεδομένων iPod" @@ -999,6 +1009,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "Magnatune" diff --git a/src/translations/en_CA.po b/src/translations/en_CA.po index 29203bc37..d6158b292 100644 --- a/src/translations/en_CA.po +++ b/src/translations/en_CA.po @@ -637,6 +637,9 @@ msgstr "Equalizer" msgid "Error" msgstr "" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -846,6 +849,10 @@ msgstr "Internet" msgid "Invalid API key" msgstr "Invalid API key" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Invalid format" @@ -952,6 +959,9 @@ msgstr "Load playlist..." msgid "Loading Last.fm radio" msgstr "Loading Last.fm radio" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "" @@ -982,6 +992,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "" diff --git a/src/translations/en_GB.po b/src/translations/en_GB.po index 2ea387ea8..ec9a469a3 100644 --- a/src/translations/en_GB.po +++ b/src/translations/en_GB.po @@ -635,6 +635,9 @@ msgstr "Equalizer" msgid "Error" msgstr "" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -844,6 +847,10 @@ msgstr "" msgid "Invalid API key" msgstr "Invalid API key" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Invalid format" @@ -950,6 +957,9 @@ msgstr "" msgid "Loading Last.fm radio" msgstr "Loading Last.fm radio" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "" @@ -980,6 +990,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "" diff --git a/src/translations/es.po b/src/translations/es.po index 5b21e69d4..084a4ecad 100644 --- a/src/translations/es.po +++ b/src/translations/es.po @@ -650,6 +650,9 @@ msgstr "Ecualizador" msgid "Error" msgstr "Error" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -864,6 +867,10 @@ msgstr "Internet" msgid "Invalid API key" msgstr "Clave API inválida" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Formato inválido" @@ -972,6 +979,9 @@ msgstr "Cargar lista de reproducción" msgid "Loading Last.fm radio" msgstr "Cargando radio de Last.fm" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "Cargando base de datos del iPod" @@ -1002,6 +1012,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "Magnatune" diff --git a/src/translations/fi.po b/src/translations/fi.po index c65163ed5..91d539f38 100644 --- a/src/translations/fi.po +++ b/src/translations/fi.po @@ -635,6 +635,9 @@ msgstr "" msgid "Error" msgstr "Virhe" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -844,6 +847,10 @@ msgstr "Internet" msgid "Invalid API key" msgstr "" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "" @@ -950,6 +957,9 @@ msgstr "Lataa soittolista..." msgid "Loading Last.fm radio" msgstr "" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "" @@ -980,6 +990,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "Magnatune" diff --git a/src/translations/fr.po b/src/translations/fr.po index 0b373b0ff..6eee0e943 100644 --- a/src/translations/fr.po +++ b/src/translations/fr.po @@ -642,6 +642,9 @@ msgstr "Égaliseur" msgid "Error" msgstr "Erreur" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -853,6 +856,10 @@ msgstr "Internet" msgid "Invalid API key" msgstr "API key invalide" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Format invalide" @@ -963,6 +970,9 @@ msgstr "" msgid "Loading Last.fm radio" msgstr "Chargement de la radio Last.fm" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "" @@ -993,6 +1003,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "Magnatune" diff --git a/src/translations/gl.po b/src/translations/gl.po index 8e01c7ff6..0de5af464 100644 --- a/src/translations/gl.po +++ b/src/translations/gl.po @@ -634,6 +634,9 @@ msgstr "" msgid "Error" msgstr "" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -843,6 +846,10 @@ msgstr "" msgid "Invalid API key" msgstr "Chave non válida da API" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Formato inválido" @@ -950,6 +957,9 @@ msgstr "" msgid "Loading Last.fm radio" msgstr "Carregando a rádio da Last.fm" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "" @@ -980,6 +990,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "" diff --git a/src/translations/hu.po b/src/translations/hu.po index 5a77c2063..0905ac13a 100644 --- a/src/translations/hu.po +++ b/src/translations/hu.po @@ -645,6 +645,9 @@ msgstr "Hangszínszabályzó" msgid "Error" msgstr "Hiba" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -856,6 +859,10 @@ msgstr "Internet" msgid "Invalid API key" msgstr "Érvénytelen API kulcs" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Érvénytelen formátum" @@ -963,6 +970,9 @@ msgstr "Lejátszási lista betöltése..." msgid "Loading Last.fm radio" msgstr "Last.fm rádió betöltése" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "iPod adatbázis betöltése" @@ -993,6 +1003,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "Magnatune" diff --git a/src/translations/it.po b/src/translations/it.po index 1500b4376..f52cc9acb 100644 --- a/src/translations/it.po +++ b/src/translations/it.po @@ -653,6 +653,9 @@ msgstr "Equalizzatore" msgid "Error" msgstr "Errore" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -868,6 +871,10 @@ msgstr "Internet" msgid "Invalid API key" msgstr "Chiave API non valida" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Formato non valido" @@ -976,6 +983,9 @@ msgstr "Carica la scaletta..." msgid "Loading Last.fm radio" msgstr "Caricamento radio Last.fm" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "Caricamento database dell'iPod" @@ -1006,6 +1016,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "Magnatune" diff --git a/src/translations/kk.po b/src/translations/kk.po index bb1753d8b..4b9706e5a 100644 --- a/src/translations/kk.po +++ b/src/translations/kk.po @@ -634,6 +634,9 @@ msgstr "" msgid "Error" msgstr "" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -844,6 +847,10 @@ msgstr "" msgid "Invalid API key" msgstr "" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "" @@ -950,6 +957,9 @@ msgstr "" msgid "Loading Last.fm radio" msgstr "" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "" @@ -980,6 +990,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "" diff --git a/src/translations/lt.po b/src/translations/lt.po index 9394f445f..4e8e7ad04 100644 --- a/src/translations/lt.po +++ b/src/translations/lt.po @@ -635,6 +635,9 @@ msgstr "" msgid "Error" msgstr "" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -843,6 +846,10 @@ msgstr "" msgid "Invalid API key" msgstr "" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "" @@ -949,6 +956,9 @@ msgstr "" msgid "Loading Last.fm radio" msgstr "" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "" @@ -979,6 +989,9 @@ msgstr "" msgid "MPC" msgstr "" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "" diff --git a/src/translations/nb.po b/src/translations/nb.po index ee98dc83e..e7666ccca 100644 --- a/src/translations/nb.po +++ b/src/translations/nb.po @@ -636,6 +636,9 @@ msgstr "Lydbalanse" msgid "Error" msgstr "Feil" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -846,6 +849,10 @@ msgstr "Internett" msgid "Invalid API key" msgstr "Ugyldig API-nøkkel" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Ugyldig format" @@ -952,6 +959,9 @@ msgstr "" msgid "Loading Last.fm radio" msgstr "Laster inn Last.fm radio" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "" @@ -982,6 +992,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "Magnatune" diff --git a/src/translations/nl.po b/src/translations/nl.po index 0d262259c..0da53e8e2 100644 --- a/src/translations/nl.po +++ b/src/translations/nl.po @@ -645,6 +645,9 @@ msgstr "Equalizer" msgid "Error" msgstr "Fout" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -859,6 +862,10 @@ msgstr "Internet" msgid "Invalid API key" msgstr "Ongeldige API-sleutel" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Ongeldig formaat" @@ -966,6 +973,9 @@ msgstr "Afspeellijst laden..." msgid "Loading Last.fm radio" msgstr "Last.fm radio laden" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "iPod database laden" @@ -996,6 +1006,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "Magnatune" diff --git a/src/translations/oc.po b/src/translations/oc.po index fdc03fb93..c209afe48 100644 --- a/src/translations/oc.po +++ b/src/translations/oc.po @@ -634,6 +634,9 @@ msgstr "Egalizador" msgid "Error" msgstr "" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -842,6 +845,10 @@ msgstr "Sus Internet" msgid "Invalid API key" msgstr "Clau API pas valabla" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Format incorrècte" @@ -948,6 +955,9 @@ msgstr "" msgid "Loading Last.fm radio" msgstr "Cargament de la ràdio Last.fm" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "" @@ -978,6 +988,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "" diff --git a/src/translations/pl.po b/src/translations/pl.po index 045610126..d3426efd8 100644 --- a/src/translations/pl.po +++ b/src/translations/pl.po @@ -641,6 +641,9 @@ msgstr "Korektor dźwięku" msgid "Error" msgstr "Błąd" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -850,6 +853,10 @@ msgstr "Internet" msgid "Invalid API key" msgstr "Zły klucz API" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Błędny format" @@ -958,6 +965,9 @@ msgstr "Wczytaj listę odtwarzania" msgid "Loading Last.fm radio" msgstr "Ładowanie radia Last.fm" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "Wczytywanie bazy danych iPod-a" @@ -988,6 +998,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "Magnatune" diff --git a/src/translations/pt.po b/src/translations/pt.po index a10320257..5b5e12188 100644 --- a/src/translations/pt.po +++ b/src/translations/pt.po @@ -646,6 +646,9 @@ msgstr "Equalizador" msgid "Error" msgstr "Erro" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -857,6 +860,10 @@ msgstr "Internet" msgid "Invalid API key" msgstr "Chave API inválida" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Formato inválido" @@ -964,6 +971,9 @@ msgstr "Carregar lista..." msgid "Loading Last.fm radio" msgstr "Carregando a rádio Last.fm" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "Carregando base de dados iPod" @@ -994,6 +1004,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "Magnatune" diff --git a/src/translations/pt_BR.po b/src/translations/pt_BR.po index 1667fe1cc..02b16c03c 100644 --- a/src/translations/pt_BR.po +++ b/src/translations/pt_BR.po @@ -641,6 +641,9 @@ msgstr "Equalizador" msgid "Error" msgstr "Erro" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -850,6 +853,10 @@ msgstr "Internet" msgid "Invalid API key" msgstr "Chave API inválida" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Formato inválido" @@ -958,6 +965,9 @@ msgstr "Carregar lista de reprodução..." msgid "Loading Last.fm radio" msgstr "Carregando rádio Last.fm" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "" @@ -988,6 +998,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "Magnatune" diff --git a/src/translations/ro.po b/src/translations/ro.po index c68f65def..218da69ac 100644 --- a/src/translations/ro.po +++ b/src/translations/ro.po @@ -634,6 +634,9 @@ msgstr "Egalizator" msgid "Error" msgstr "" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -843,6 +846,10 @@ msgstr "" msgid "Invalid API key" msgstr "Cheie API invalidă" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Format invalid" @@ -949,6 +956,9 @@ msgstr "" msgid "Loading Last.fm radio" msgstr "Se încarcă radio Last.fm" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "" @@ -979,6 +989,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "" diff --git a/src/translations/ru.po b/src/translations/ru.po index 90bb0ca2e..0aa4d015a 100644 --- a/src/translations/ru.po +++ b/src/translations/ru.po @@ -642,6 +642,9 @@ msgstr "Эквалайзер" msgid "Error" msgstr "Ошибка" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -854,6 +857,10 @@ msgstr "Интернет" msgid "Invalid API key" msgstr "Неправильный ключ API" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Неверный формат" @@ -961,6 +968,9 @@ msgstr "Загрузить список воспроизведения..." msgid "Loading Last.fm radio" msgstr "Загрузка радио Last.fm" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "Загружается база данных iPod" @@ -991,6 +1001,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "Magnatune" diff --git a/src/translations/sk.po b/src/translations/sk.po index ad665178a..760aa3832 100644 --- a/src/translations/sk.po +++ b/src/translations/sk.po @@ -646,6 +646,9 @@ msgstr "Ekvalizér" msgid "Error" msgstr "Chyba" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -857,6 +860,10 @@ msgstr "Internet" msgid "Invalid API key" msgstr "Nefiunkčný API kľúč" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Nefunkčný formát" @@ -963,6 +970,9 @@ msgstr "Načítať playlist..." msgid "Loading Last.fm radio" msgstr "Načítava sa Last.fm rádio" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "Načítava sa iPod databáza" @@ -993,6 +1003,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "Magnatune" diff --git a/src/translations/sl.po b/src/translations/sl.po index 5a0891aef..b9ed62e06 100644 --- a/src/translations/sl.po +++ b/src/translations/sl.po @@ -644,6 +644,9 @@ msgstr "Izenačevalnik" msgid "Error" msgstr "Napaka" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -856,6 +859,10 @@ msgstr "Splet" msgid "Invalid API key" msgstr "Neveljaven API ključ" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Neveljavna vrsta" @@ -962,6 +969,9 @@ msgstr "Naloži predvajalni seznam..." msgid "Loading Last.fm radio" msgstr "Nalaganje Last.fm radia" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "Nalagam iPod podatkovno bazo" @@ -992,6 +1002,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "Magnatune" diff --git a/src/translations/sr.po b/src/translations/sr.po index 903feecf1..a66ed3588 100644 --- a/src/translations/sr.po +++ b/src/translations/sr.po @@ -638,6 +638,9 @@ msgstr "Еквилајзер" msgid "Error" msgstr "Грешка" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -847,6 +850,10 @@ msgstr "Интернет" msgid "Invalid API key" msgstr "Неисправан АПИ кључ" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Неисправан формат" @@ -954,6 +961,9 @@ msgstr "Учитај листу нумера" msgid "Loading Last.fm radio" msgstr "Учитавам ЛастФМ радио" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "Учитавам Ајподову базу података" @@ -984,6 +994,9 @@ msgstr "MП4" msgid "MPC" msgstr "МПЦ" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "Магнатјун" diff --git a/src/translations/sv.po b/src/translations/sv.po index fcbcafc0a..43e0ac858 100644 --- a/src/translations/sv.po +++ b/src/translations/sv.po @@ -641,6 +641,9 @@ msgstr "Equalizer" msgid "Error" msgstr "Fel" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -852,6 +855,10 @@ msgstr "Internet" msgid "Invalid API key" msgstr "Felaktig API-nyckel" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Ogiltigt format" @@ -958,6 +965,9 @@ msgstr "Läs in spellista..." msgid "Loading Last.fm radio" msgstr "Laddar Last.fm radio" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "Läser in iPod-databas" @@ -988,6 +998,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "Magnatune" diff --git a/src/translations/tr.po b/src/translations/tr.po index c73354238..bf528b01e 100644 --- a/src/translations/tr.po +++ b/src/translations/tr.po @@ -635,6 +635,9 @@ msgstr "Ekolayzır" msgid "Error" msgstr "Hata" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -845,6 +848,10 @@ msgstr "İnternet" msgid "Invalid API key" msgstr "Geçersiz API anahtarı" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Geçersiz biçim" @@ -953,6 +960,9 @@ msgstr "Çalma listesi yükle..." msgid "Loading Last.fm radio" msgstr "Last.fm radyosu yükleniyor" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "iPod veritabanı yükleniyor" @@ -983,6 +993,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "Magnatune" diff --git a/src/translations/translations.pot b/src/translations/translations.pot index 17a10b5a6..3bd6385e6 100644 --- a/src/translations/translations.pot +++ b/src/translations/translations.pot @@ -625,6 +625,9 @@ msgstr "" msgid "Error" msgstr "" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -833,6 +836,10 @@ msgstr "" msgid "Invalid API key" msgstr "" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "" @@ -939,6 +946,9 @@ msgstr "" msgid "Loading Last.fm radio" msgstr "" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "" @@ -969,6 +979,9 @@ msgstr "" msgid "MPC" msgstr "" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "" diff --git a/src/translations/uk.po b/src/translations/uk.po index c63d811c3..aab7994aa 100644 --- a/src/translations/uk.po +++ b/src/translations/uk.po @@ -644,6 +644,9 @@ msgstr "Еквалайзер" msgid "Error" msgstr "Помилка" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -856,6 +859,10 @@ msgstr "Інтернет" msgid "Invalid API key" msgstr "Неправильний ключ API" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "Не чинний формат" @@ -962,6 +969,9 @@ msgstr "Завантажити список відтворення..." msgid "Loading Last.fm radio" msgstr "Завантаження радіо Last.fm" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "Завантаження бази даних iPod" @@ -992,6 +1002,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "Magnatune" diff --git a/src/translations/zh_CN.po b/src/translations/zh_CN.po index 6e617cd7b..442801a72 100644 --- a/src/translations/zh_CN.po +++ b/src/translations/zh_CN.po @@ -634,6 +634,9 @@ msgstr "" msgid "Error" msgstr "" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -842,6 +845,10 @@ msgstr "" msgid "Invalid API key" msgstr "" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "" @@ -948,6 +955,9 @@ msgstr "" msgid "Loading Last.fm radio" msgstr "" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "" @@ -978,6 +988,9 @@ msgstr "" msgid "MPC" msgstr "" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "" diff --git a/src/translations/zh_TW.po b/src/translations/zh_TW.po index 6ee4f30b5..68560bd20 100644 --- a/src/translations/zh_TW.po +++ b/src/translations/zh_TW.po @@ -639,6 +639,9 @@ msgstr "等化器" msgid "Error" msgstr "" +msgid "Error connecting MTP device" +msgstr "" + msgid "Error copying songs" msgstr "" @@ -848,6 +851,10 @@ msgstr "網際網路" msgid "Invalid API key" msgstr "無效的 API key" +#, qt-format +msgid "Invalid MTP device: %1" +msgstr "" + msgid "Invalid format" msgstr "無效的格式" @@ -954,6 +961,9 @@ msgstr "載入播放清單..." msgid "Loading Last.fm radio" msgstr "載入 Last.fm電台" +msgid "Loading MTP device" +msgstr "" + msgid "Loading iPod database" msgstr "" @@ -984,6 +994,9 @@ msgstr "MP4" msgid "MPC" msgstr "MPC" +msgid "MTP device not found" +msgstr "" + msgid "Magnatune" msgstr "Magnatune"