Don't mount GIO devices automatically, instead put them in a "not mounted" state in the GUI and mount them when double-clicked on. Fixes issue #719. Probably fixes issue #723.
This commit is contained in:
parent
089159f009
commit
c2ac3f8f32
|
@ -0,0 +1,69 @@
|
|||
/* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef SCOPEDGOBJECT_H
|
||||
#define SCOPEDGOBJECT_H
|
||||
|
||||
#include <glib-object.h>
|
||||
|
||||
#include <QtDebug>
|
||||
|
||||
|
||||
template <typename T>
|
||||
class ScopedGObject {
|
||||
public:
|
||||
ScopedGObject() : object_(NULL) {}
|
||||
|
||||
explicit ScopedGObject(const ScopedGObject& other) : object_(NULL) {
|
||||
reset(other.object_);
|
||||
}
|
||||
|
||||
~ScopedGObject() {
|
||||
reset();
|
||||
}
|
||||
|
||||
ScopedGObject& operator =(const ScopedGObject& other) {
|
||||
reset(other.object_);
|
||||
return *this;
|
||||
}
|
||||
|
||||
void reset(T* new_object = NULL) {
|
||||
if (new_object)
|
||||
g_object_ref(new_object);
|
||||
reset_without_add(new_object);
|
||||
}
|
||||
|
||||
void reset_without_add(T* new_object = NULL) {
|
||||
if (object_)
|
||||
g_object_unref(object_);
|
||||
|
||||
object_ = new_object;
|
||||
}
|
||||
|
||||
T* get() const { return object_; }
|
||||
operator T*() const { return get(); }
|
||||
T* operator *() const { return get(); }
|
||||
operator bool() const { return get(); }
|
||||
|
||||
bool operator ==(const ScopedGObject& other) const {
|
||||
return object_ == other.object_;
|
||||
}
|
||||
|
||||
private:
|
||||
T* object_;
|
||||
};
|
||||
|
||||
#endif // SCOPEDGOBJECT_H
|
|
@ -207,10 +207,15 @@ QStringList DeviceLister::GuessIconForPath(const QString& path) {
|
|||
}
|
||||
|
||||
QStringList DeviceLister::GuessIconForModel(const QString& vendor, const QString& model) {
|
||||
qDebug() << vendor << ":" << model;
|
||||
QStringList ret;
|
||||
if (vendor.startsWith("Google") && model.contains("Nexus")) {
|
||||
ret << "phone-google-nexus-one";
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int DeviceLister::MountDevice(const QString& id) {
|
||||
const int ret = next_mount_request_id_ ++;
|
||||
emit DeviceMounted(id, ret, true);
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -48,10 +48,15 @@ public:
|
|||
virtual quint64 DeviceCapacity(const QString& id) = 0;
|
||||
virtual quint64 DeviceFreeSpace(const QString& id) = 0;
|
||||
virtual QVariantMap DeviceHardwareInfo(const QString& id) = 0;
|
||||
virtual bool DeviceNeedsMount(const QString& id) { return false; }
|
||||
|
||||
virtual QString MakeFriendlyName(const QString& id) = 0;
|
||||
virtual QList<QUrl> MakeDeviceUrls(const QString& id) = 0;
|
||||
|
||||
// Ensure the device is mounted. This should run asynchronously and emit
|
||||
// DeviceMounted when it's done.
|
||||
virtual int MountDevice(const QString& id);
|
||||
|
||||
// Do whatever needs to be done to safely remove the device.
|
||||
virtual void UnmountDevice(const QString& id) = 0;
|
||||
|
||||
|
@ -63,6 +68,7 @@ signals:
|
|||
void DeviceAdded(const QString& id);
|
||||
void DeviceRemoved(const QString& id);
|
||||
void DeviceChanged(const QString& id);
|
||||
void DeviceMounted(const QString& id, int request_id, bool success);
|
||||
|
||||
protected:
|
||||
virtual void Init() = 0;
|
||||
|
@ -73,6 +79,7 @@ protected:
|
|||
|
||||
protected:
|
||||
QThread* thread_;
|
||||
int next_mount_request_id_;
|
||||
|
||||
private slots:
|
||||
void ThreadStarted();
|
||||
|
|
|
@ -278,8 +278,11 @@ QVariant DeviceManager::data(const QModelIndex& index, int role) const {
|
|||
case Role_State:
|
||||
if (info.device_)
|
||||
return State_Connected;
|
||||
if (info.BestBackend()->lister_)
|
||||
if (info.BestBackend()->lister_) {
|
||||
if (info.BestBackend()->lister_->DeviceNeedsMount(info.BestBackend()->unique_id_))
|
||||
return State_NotMounted;
|
||||
return State_NotConnected;
|
||||
}
|
||||
return State_Remembered;
|
||||
|
||||
case Role_UpdatingPercentage:
|
||||
|
@ -296,7 +299,8 @@ QVariant DeviceManager::data(const QModelIndex& index, int role) const {
|
|||
|
||||
case MusicStorage::Role_StorageForceConnect:
|
||||
if (!info.device_) {
|
||||
if (info.database_id_ == -1) {
|
||||
if (info.database_id_ == -1 &&
|
||||
!info.BestBackend()->lister_->DeviceNeedsMount(info.BestBackend()->unique_id_)) {
|
||||
boost::scoped_ptr<QMessageBox> dialog(new QMessageBox(
|
||||
QMessageBox::Information, tr("Connect device"),
|
||||
tr("This is the first time you have connected this device. Clementine will now scan the device to find music files - this may take some time."),
|
||||
|
@ -507,6 +511,12 @@ boost::shared_ptr<ConnectedDevice> DeviceManager::Connect(int row) {
|
|||
if (!info.BestBackend()->lister_) // Not physically connected
|
||||
return ret;
|
||||
|
||||
if (info.BestBackend()->lister_->DeviceNeedsMount(info.BestBackend()->unique_id_)) {
|
||||
// Mount the device
|
||||
info.BestBackend()->lister_->MountDevice(info.BestBackend()->unique_id_);
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool first_time = (info.database_id_ == -1);
|
||||
if (first_time) {
|
||||
// We haven't stored this device in the database before
|
||||
|
|
|
@ -58,6 +58,7 @@ public:
|
|||
|
||||
enum State {
|
||||
State_Remembered,
|
||||
State_NotMounted,
|
||||
State_NotConnected,
|
||||
State_Connected,
|
||||
};
|
||||
|
|
|
@ -102,6 +102,10 @@ void DeviceItemDelegate::paint(QPainter* p, const QStyleOptionViewItem& opt, con
|
|||
status_text = tr("Not connected");
|
||||
break;
|
||||
|
||||
case DeviceManager::State_NotMounted:
|
||||
status_text = tr("Not mounted - double click to mount");
|
||||
break;
|
||||
|
||||
case DeviceManager::State_NotConnected:
|
||||
status_text = tr("Double click to open");
|
||||
break;
|
||||
|
|
|
@ -23,23 +23,29 @@
|
|||
|
||||
#include <boost/bind.hpp>
|
||||
|
||||
QString GioLister::MountInfo::unique_id() const {
|
||||
return QString("Gio/%1/%2/%3").arg(uuid, filesystem_type).arg(filesystem_size);
|
||||
QString GioLister::DeviceInfo::unique_id() const {
|
||||
if (mount)
|
||||
return QString("Gio/%1/%2/%3").arg(mount_uuid, filesystem_type).arg(filesystem_size);
|
||||
|
||||
return QString("Gio/unmounted/%1").arg((qulonglong)volume.get());
|
||||
}
|
||||
|
||||
bool GioLister::MountInfo::is_suitable() const {
|
||||
return !filesystem_type.isEmpty() &&
|
||||
filesystem_type != "udf" &&
|
||||
bool GioLister::DeviceInfo::is_suitable() const {
|
||||
if (!volume)
|
||||
return false; // This excludes smb or ssh mounts
|
||||
|
||||
if (drive && !drive_removable)
|
||||
return false; // This excludes internal drives
|
||||
|
||||
if (filesystem_type.isEmpty())
|
||||
return true;
|
||||
|
||||
return filesystem_type != "udf" &&
|
||||
filesystem_type != "smb" &&
|
||||
filesystem_type != "cifs" &&
|
||||
filesystem_type != "ssh";
|
||||
}
|
||||
|
||||
GioLister::GioLister()
|
||||
: monitor_(NULL)
|
||||
{
|
||||
}
|
||||
|
||||
template <typename T, typename F>
|
||||
void OperationFinished(F f, GObject *object, GAsyncResult *result) {
|
||||
T* obj = reinterpret_cast<T*>(object);
|
||||
|
@ -48,7 +54,7 @@ void OperationFinished(F f, GObject *object, GAsyncResult *result) {
|
|||
f(obj, result, &error);
|
||||
|
||||
if (error) {
|
||||
qDebug() << "Unmount error:" << error->message;
|
||||
qDebug() << "Mount/unmount error:" << error->message;
|
||||
g_error_free(error);
|
||||
}
|
||||
}
|
||||
|
@ -59,20 +65,19 @@ void GioLister::VolumeMountFinished(GObject* object, GAsyncResult* result, gpoin
|
|||
}
|
||||
|
||||
void GioLister::Init() {
|
||||
monitor_ = g_volume_monitor_get();
|
||||
monitor_.reset_without_add(g_volume_monitor_get());
|
||||
|
||||
// Mount any volumes that aren't already mounted
|
||||
// Get existing volumes
|
||||
GList* const volumes = g_volume_monitor_get_volumes(monitor_);
|
||||
for (GList* p=volumes; p; p=p->next) {
|
||||
GVolume* volume = static_cast<GVolume*>(p->data);
|
||||
if (g_volume_can_mount(volume) && !g_volume_get_mount(volume)) {
|
||||
g_volume_mount(volume, G_MOUNT_MOUNT_NONE, NULL, NULL,
|
||||
(GAsyncReadyCallback) VolumeMountFinished, NULL);
|
||||
}
|
||||
|
||||
VolumeAdded(volume);
|
||||
g_object_unref(volume);
|
||||
}
|
||||
g_list_free(volumes);
|
||||
|
||||
// Get things that are already mounted
|
||||
// Get existing mounts
|
||||
GList* const mounts = g_volume_monitor_get_mounts(monitor_);
|
||||
for (GList* p=mounts; p; p=p->next) {
|
||||
GMount* mount = static_cast<GMount*>(p->data);
|
||||
|
@ -84,27 +89,32 @@ void GioLister::Init() {
|
|||
|
||||
// Connect signals from the monitor
|
||||
g_signal_connect(monitor_, "volume-added", G_CALLBACK(VolumeAddedCallback), this);
|
||||
g_signal_connect(monitor_, "volume-removed", G_CALLBACK(VolumeRemovedCallback), this);
|
||||
g_signal_connect(monitor_, "mount-added", G_CALLBACK(MountAddedCallback), this);
|
||||
g_signal_connect(monitor_, "mount-changed", G_CALLBACK(MountChangedCallback), this);
|
||||
g_signal_connect(monitor_, "mount-removed", G_CALLBACK(MountRemovedCallback), this);
|
||||
}
|
||||
|
||||
GioLister::~GioLister() {
|
||||
if (monitor_)
|
||||
g_object_unref(monitor_);
|
||||
}
|
||||
|
||||
QStringList GioLister::DeviceUniqueIDs() {
|
||||
QMutexLocker l(&mutex_);
|
||||
return mounts_.keys();
|
||||
return devices_.keys();
|
||||
}
|
||||
|
||||
QVariantList GioLister::DeviceIcons(const QString &id) {
|
||||
QVariantList ret;
|
||||
QString path = LockAndGetMountInfo(id, &MountInfo::mount_path);
|
||||
ret << DeviceLister::GuessIconForPath(path)
|
||||
<< DeviceLister::GuessIconForModel(DeviceManufacturer(id), DeviceModel(id))
|
||||
<< LockAndGetMountInfo(id, &MountInfo::icon_names);
|
||||
QMutexLocker l(&mutex_);
|
||||
if (!devices_.contains(id))
|
||||
return ret;
|
||||
|
||||
const DeviceInfo& info = devices_[id];
|
||||
|
||||
if (info.mount) {
|
||||
ret << DeviceLister::GuessIconForPath(info.mount_path);
|
||||
ret << info.mount_icon_names;
|
||||
}
|
||||
|
||||
ret << DeviceLister::GuessIconForModel(QString(), info.mount_name);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -113,15 +123,20 @@ QString GioLister::DeviceManufacturer(const QString &id) {
|
|||
}
|
||||
|
||||
QString GioLister::DeviceModel(const QString &id) {
|
||||
return LockAndGetMountInfo(id, &MountInfo::name);
|
||||
QMutexLocker l(&mutex_);
|
||||
if (!devices_.contains(id))
|
||||
return QString();
|
||||
const DeviceInfo& info = devices_[id];
|
||||
|
||||
return info.drive_name.isEmpty() ? info.volume_name : info.drive_name;
|
||||
}
|
||||
|
||||
quint64 GioLister::DeviceCapacity(const QString &id) {
|
||||
return LockAndGetMountInfo(id, &MountInfo::filesystem_size);
|
||||
return LockAndGetDeviceInfo(id, &DeviceInfo::filesystem_size);
|
||||
}
|
||||
|
||||
quint64 GioLister::DeviceFreeSpace(const QString &id) {
|
||||
return LockAndGetMountInfo(id, &MountInfo::filesystem_free);
|
||||
return LockAndGetDeviceInfo(id, &DeviceInfo::filesystem_free);
|
||||
}
|
||||
|
||||
QString GioLister::MakeFriendlyName(const QString &id) {
|
||||
|
@ -132,23 +147,23 @@ QVariantMap GioLister::DeviceHardwareInfo(const QString &id) {
|
|||
QVariantMap ret;
|
||||
|
||||
QMutexLocker l(&mutex_);
|
||||
if (!mounts_.contains(id))
|
||||
if (!devices_.contains(id))
|
||||
return ret;
|
||||
const MountInfo& info = mounts_[id];
|
||||
const DeviceInfo& info = devices_[id];
|
||||
|
||||
ret[QT_TR_NOOP("Mount point")] = info.mount_path;
|
||||
ret[QT_TR_NOOP("Device")] = info.unix_device;
|
||||
ret[QT_TR_NOOP("URI")] = info.uri;
|
||||
ret[QT_TR_NOOP("Device")] = info.volume_unix_device;
|
||||
ret[QT_TR_NOOP("URI")] = info.mount_uri;
|
||||
return ret;
|
||||
}
|
||||
|
||||
QList<QUrl> GioLister::MakeDeviceUrls(const QString &id) {
|
||||
QList<QUrl> GioLister::MakeDeviceUrls(const QString& id) {
|
||||
QString mount_point;
|
||||
QString uri;
|
||||
{
|
||||
QMutexLocker l(&mutex_);
|
||||
mount_point = mounts_[id].mount_path;
|
||||
uri = mounts_[id].uri;
|
||||
mount_point = devices_[id].mount_path;
|
||||
uri = devices_[id].mount_uri;
|
||||
}
|
||||
|
||||
// gphoto2 gives invalid hostnames with []:, characters in
|
||||
|
@ -164,6 +179,10 @@ void GioLister::VolumeAddedCallback(GVolumeMonitor*, GVolume* v, gpointer d) {
|
|||
static_cast<GioLister*>(d)->VolumeAdded(v);
|
||||
}
|
||||
|
||||
void GioLister::VolumeRemovedCallback(GVolumeMonitor*, GVolume* v, gpointer d) {
|
||||
static_cast<GioLister*>(d)->VolumeRemoved(v);
|
||||
}
|
||||
|
||||
void GioLister::MountAddedCallback(GVolumeMonitor*, GMount* m, gpointer d) {
|
||||
static_cast<GioLister*>(d)->MountAdded(m);
|
||||
}
|
||||
|
@ -177,27 +196,81 @@ void GioLister::MountRemovedCallback(GVolumeMonitor*, GMount* m, gpointer d) {
|
|||
}
|
||||
|
||||
void GioLister::VolumeAdded(GVolume* volume) {
|
||||
if (g_volume_can_mount(volume) && !g_volume_get_mount(volume)) {
|
||||
g_volume_mount(volume, G_MOUNT_MOUNT_NONE, NULL, NULL,
|
||||
(GAsyncReadyCallback) VolumeMountFinished, NULL);
|
||||
}
|
||||
g_object_unref(volume);
|
||||
}
|
||||
g_object_ref(volume);
|
||||
|
||||
void GioLister::MountAdded(GMount *mount) {
|
||||
MountInfo info = ReadMountInfo(mount);
|
||||
DeviceInfo info;
|
||||
info.ReadVolumeInfo(volume);
|
||||
info.ReadDriveInfo(g_volume_get_drive(volume));
|
||||
info.ReadMountInfo(g_volume_get_mount(volume));
|
||||
if (!info.is_suitable())
|
||||
return;
|
||||
|
||||
{
|
||||
QMutexLocker l(&mutex_);
|
||||
mounts_[info.unique_id()] = info;
|
||||
devices_[info.unique_id()] = info;
|
||||
}
|
||||
|
||||
emit DeviceAdded(info.unique_id());
|
||||
}
|
||||
|
||||
void GioLister::MountChanged(GMount *mount) {
|
||||
void GioLister::VolumeRemoved(GVolume* volume) {
|
||||
QString id;
|
||||
{
|
||||
QMutexLocker l(&mutex_);
|
||||
id = FindUniqueIdByVolume(volume);
|
||||
if (id.isNull())
|
||||
return;
|
||||
|
||||
devices_.remove(id);
|
||||
}
|
||||
|
||||
emit DeviceRemoved(id);
|
||||
}
|
||||
|
||||
void GioLister::MountAdded(GMount* mount) {
|
||||
g_object_ref(mount);
|
||||
|
||||
DeviceInfo info;
|
||||
info.ReadMountInfo(mount);
|
||||
info.ReadVolumeInfo(g_mount_get_volume(mount));
|
||||
info.ReadDriveInfo(g_mount_get_drive(mount));
|
||||
if (!info.is_suitable())
|
||||
return;
|
||||
|
||||
QString old_id;
|
||||
{
|
||||
QMutexLocker l(&mutex_);
|
||||
|
||||
const DeviceInfo* old_info = NULL;
|
||||
|
||||
// The volume might already exist - either mounted or unmounted.
|
||||
foreach (const QString& id, devices_.keys()) {
|
||||
if (devices_[id].volume == info.volume) {
|
||||
old_id = id;
|
||||
old_info = &devices_[id];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!old_id.isEmpty() && old_id != info.unique_id()) {
|
||||
// If the ID has changed (for example, after it's been mounted), we need
|
||||
// to remove the old device.
|
||||
devices_.remove(old_id);
|
||||
emit DeviceRemoved(old_id);
|
||||
|
||||
old_info = NULL;
|
||||
old_id = QString();
|
||||
}
|
||||
devices_[info.unique_id()] = info;
|
||||
}
|
||||
|
||||
if (!old_id.isEmpty())
|
||||
emit DeviceChanged(old_id);
|
||||
else
|
||||
emit DeviceAdded(info.unique_id());
|
||||
}
|
||||
|
||||
void GioLister::MountChanged(GMount* mount) {
|
||||
QString id;
|
||||
{
|
||||
QMutexLocker l(&mutex_);
|
||||
|
@ -205,14 +278,19 @@ void GioLister::MountChanged(GMount *mount) {
|
|||
if (id.isNull())
|
||||
return;
|
||||
|
||||
MountInfo new_info = ReadMountInfo(mount);
|
||||
g_object_ref(mount);
|
||||
|
||||
DeviceInfo new_info;
|
||||
new_info.ReadMountInfo(mount);
|
||||
new_info.ReadVolumeInfo(g_mount_get_volume(mount));
|
||||
new_info.ReadDriveInfo(g_mount_get_drive(mount));
|
||||
|
||||
// Ignore the change if the new info is useless
|
||||
if ((mounts_[id].filesystem_size != 0 && new_info.filesystem_size == 0) ||
|
||||
(!mounts_[id].filesystem_type.isEmpty() && new_info.filesystem_type.isEmpty())) {
|
||||
if ((devices_[id].filesystem_size != 0 && new_info.filesystem_size == 0) ||
|
||||
(!devices_[id].filesystem_type.isEmpty() && new_info.filesystem_type.isEmpty()))
|
||||
return;
|
||||
}
|
||||
mounts_[id] = new_info;
|
||||
|
||||
devices_[id] = new_info;
|
||||
}
|
||||
|
||||
emit DeviceChanged(id);
|
||||
|
@ -226,31 +304,33 @@ void GioLister::MountRemoved(GMount *mount) {
|
|||
if (id.isNull())
|
||||
return;
|
||||
|
||||
mounts_.remove(id);
|
||||
devices_.remove(id);
|
||||
}
|
||||
|
||||
emit DeviceRemoved(id);
|
||||
}
|
||||
|
||||
QString GioLister::ConvertAndFree(char *str) {
|
||||
QString GioLister::DeviceInfo::ConvertAndFree(char *str) {
|
||||
QString ret = QString::fromUtf8(str);
|
||||
g_free(str);
|
||||
return ret;
|
||||
}
|
||||
|
||||
GioLister::MountInfo GioLister::ReadMountInfo(GMount* mount) {
|
||||
MountInfo ret;
|
||||
|
||||
void GioLister::DeviceInfo::ReadMountInfo(GMount* mount) {
|
||||
// Get basic information
|
||||
ret.mount = mount;
|
||||
ret.name = ConvertAndFree(g_mount_get_name(mount));
|
||||
this->mount.reset_without_add(mount);
|
||||
if (!mount)
|
||||
return;
|
||||
|
||||
mount_name = ConvertAndFree(g_mount_get_name(mount));
|
||||
|
||||
// Get the icon name(s)
|
||||
mount_icon_names.clear();
|
||||
GIcon* icon = g_mount_get_icon(mount);
|
||||
if (G_IS_THEMED_ICON(icon)) {
|
||||
const char* const * icons = g_themed_icon_get_names(G_THEMED_ICON(icon));
|
||||
for (const char* const * p = icons ; *p ; ++p) {
|
||||
ret.icon_names << QString::fromUtf8(*p);
|
||||
mount_icon_names << QString::fromUtf8(*p);
|
||||
}
|
||||
}
|
||||
g_object_unref(icon);
|
||||
|
@ -258,8 +338,8 @@ GioLister::MountInfo GioLister::ReadMountInfo(GMount* mount) {
|
|||
GFile* root = g_mount_get_root(mount);
|
||||
|
||||
// Get the mount path
|
||||
ret.mount_path = ConvertAndFree(g_file_get_path(root));
|
||||
ret.uri = ConvertAndFree(g_file_get_uri(root));
|
||||
mount_path = ConvertAndFree(g_file_get_path(root));
|
||||
mount_uri = ConvertAndFree(g_file_get_uri(root));
|
||||
|
||||
// Query the filesystem info for size, free space, and type
|
||||
GError* error = NULL;
|
||||
|
@ -270,18 +350,18 @@ GioLister::MountInfo GioLister::ReadMountInfo(GMount* mount) {
|
|||
qWarning() << error->message;
|
||||
g_error_free(error);
|
||||
} else {
|
||||
ret.filesystem_size = g_file_info_get_attribute_uint64(
|
||||
filesystem_size = g_file_info_get_attribute_uint64(
|
||||
info, G_FILE_ATTRIBUTE_FILESYSTEM_SIZE);
|
||||
ret.filesystem_free = g_file_info_get_attribute_uint64(
|
||||
filesystem_free = g_file_info_get_attribute_uint64(
|
||||
info, G_FILE_ATTRIBUTE_FILESYSTEM_FREE);
|
||||
ret.filesystem_type = QString::fromUtf8(g_file_info_get_attribute_string(
|
||||
filesystem_type = QString::fromUtf8(g_file_info_get_attribute_string(
|
||||
info, G_FILE_ATTRIBUTE_FILESYSTEM_TYPE));
|
||||
g_object_unref(info);
|
||||
}
|
||||
|
||||
// Query the file's info for a filesystem ID
|
||||
// Only afc devices (that I know of) give reliably unique IDs
|
||||
if (ret.filesystem_type == "afc") {
|
||||
if (filesystem_type == "afc") {
|
||||
error = NULL;
|
||||
info = g_file_query_info(root, G_FILE_ATTRIBUTE_ID_FILESYSTEM,
|
||||
G_FILE_QUERY_INFO_NONE, NULL, &error);
|
||||
|
@ -289,33 +369,57 @@ GioLister::MountInfo GioLister::ReadMountInfo(GMount* mount) {
|
|||
qWarning() << error->message;
|
||||
g_error_free(error);
|
||||
} else {
|
||||
ret.uuid = QString::fromUtf8(g_file_info_get_attribute_string(
|
||||
mount_uuid = QString::fromUtf8(g_file_info_get_attribute_string(
|
||||
info, G_FILE_ATTRIBUTE_ID_FILESYSTEM));
|
||||
g_object_unref(info);
|
||||
}
|
||||
}
|
||||
|
||||
g_object_unref(root);
|
||||
}
|
||||
|
||||
// Get information about the volume
|
||||
GVolume* volume = g_mount_get_volume(mount);
|
||||
if (volume) {
|
||||
ret.unix_device = ConvertAndFree(g_volume_get_identifier(
|
||||
volume, G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE));
|
||||
g_object_unref(volume);
|
||||
void GioLister::DeviceInfo::ReadVolumeInfo(GVolume* volume) {
|
||||
this->volume.reset_without_add(volume);
|
||||
if (!volume)
|
||||
return;
|
||||
|
||||
volume_name = ConvertAndFree(g_volume_get_name(volume));
|
||||
volume_uuid = ConvertAndFree(g_volume_get_uuid(volume));
|
||||
volume_unix_device = ConvertAndFree(g_volume_get_identifier(
|
||||
volume, G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE));
|
||||
|
||||
GFile* root = g_volume_get_activation_root(volume);
|
||||
if (root) {
|
||||
volume_root_uri = g_file_get_uri(root);
|
||||
g_object_unref(root);
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
void GioLister::DeviceInfo::ReadDriveInfo(GDrive* drive) {
|
||||
this->drive.reset_without_add(drive);
|
||||
if (!drive)
|
||||
return;
|
||||
|
||||
drive_name = ConvertAndFree(g_drive_get_name(drive));
|
||||
drive_removable = g_drive_is_media_removable(drive);
|
||||
}
|
||||
|
||||
QString GioLister::FindUniqueIdByMount(GMount *mount) const {
|
||||
foreach (const MountInfo& info, mounts_) {
|
||||
foreach (const DeviceInfo& info, devices_) {
|
||||
if (info.mount == mount)
|
||||
return info.unique_id();
|
||||
}
|
||||
return QString();
|
||||
}
|
||||
|
||||
QString GioLister::FindUniqueIdByVolume(GVolume* volume) const {
|
||||
foreach (const DeviceInfo& info, devices_) {
|
||||
if (info.volume == volume)
|
||||
return info.unique_id();
|
||||
}
|
||||
return QString();
|
||||
}
|
||||
|
||||
void GioLister::VolumeEjectFinished(GObject *object, GAsyncResult *result, gpointer) {
|
||||
OperationFinished<GVolume>(boost::bind(
|
||||
g_volume_eject_with_operation_finish, _1, _2, _3), object, result);
|
||||
|
@ -332,26 +436,29 @@ void GioLister::MountUnmountFinished(GObject *object, GAsyncResult *result, gpoi
|
|||
}
|
||||
|
||||
void GioLister::UnmountDevice(const QString &id) {
|
||||
GMount* mount = LockAndGetMountInfo(id, &MountInfo::mount);
|
||||
if (!mount)
|
||||
QMutexLocker l(&mutex_);
|
||||
if (!devices_.contains(id))
|
||||
return;
|
||||
|
||||
GVolume* volume = g_mount_get_volume(mount);
|
||||
if (volume) {
|
||||
if (g_volume_can_eject(volume)) {
|
||||
g_volume_eject(volume, G_MOUNT_UNMOUNT_NONE, NULL,
|
||||
const DeviceInfo& info = devices_[id];
|
||||
|
||||
if (!info.mount)
|
||||
return;
|
||||
|
||||
if (info.volume) {
|
||||
if (g_volume_can_eject(info.volume)) {
|
||||
g_volume_eject(info.volume, G_MOUNT_UNMOUNT_NONE, NULL,
|
||||
(GAsyncReadyCallback) VolumeEjectFinished, NULL);
|
||||
g_object_unref(volume);
|
||||
g_object_unref(info.volume);
|
||||
return;
|
||||
}
|
||||
g_object_unref(volume);
|
||||
}
|
||||
|
||||
if (g_mount_can_eject(mount)) {
|
||||
g_mount_eject(mount, G_MOUNT_UNMOUNT_NONE, NULL,
|
||||
if (g_mount_can_eject(info.mount)) {
|
||||
g_mount_eject(info.mount, G_MOUNT_UNMOUNT_NONE, NULL,
|
||||
(GAsyncReadyCallback) MountEjectFinished, NULL);
|
||||
} else if (g_mount_can_unmount(mount)) {
|
||||
g_mount_unmount(mount, G_MOUNT_UNMOUNT_NONE, NULL,
|
||||
} else if (g_mount_can_unmount(info.mount)) {
|
||||
g_mount_unmount(info.mount, G_MOUNT_UNMOUNT_NONE, NULL,
|
||||
(GAsyncReadyCallback) MountUnmountFinished, NULL);
|
||||
}
|
||||
}
|
||||
|
@ -359,12 +466,12 @@ void GioLister::UnmountDevice(const QString &id) {
|
|||
void GioLister::UpdateDeviceFreeSpace(const QString& id) {
|
||||
{
|
||||
QMutexLocker l(&mutex_);
|
||||
if (!mounts_.contains(id))
|
||||
if (!devices_.contains(id))
|
||||
return;
|
||||
|
||||
MountInfo& mount_info = mounts_[id];
|
||||
DeviceInfo& device_info = devices_[id];
|
||||
|
||||
GFile* root = g_mount_get_root(mount_info.mount);
|
||||
GFile* root = g_mount_get_root(device_info.mount);
|
||||
|
||||
GError* error = NULL;
|
||||
GFileInfo* info = g_file_query_filesystem_info(
|
||||
|
@ -373,7 +480,7 @@ void GioLister::UpdateDeviceFreeSpace(const QString& id) {
|
|||
qWarning() << error->message;
|
||||
g_error_free(error);
|
||||
} else {
|
||||
mount_info.filesystem_free = g_file_info_get_attribute_uint64(
|
||||
device_info.filesystem_free = g_file_info_get_attribute_uint64(
|
||||
info, G_FILE_ATTRIBUTE_FILESYSTEM_FREE);
|
||||
g_object_unref(info);
|
||||
}
|
||||
|
@ -383,3 +490,36 @@ void GioLister::UpdateDeviceFreeSpace(const QString& id) {
|
|||
|
||||
emit DeviceChanged(id);
|
||||
}
|
||||
|
||||
bool GioLister::DeviceNeedsMount(const QString& id) {
|
||||
QMutexLocker l(&mutex_);
|
||||
return devices_.contains(id) && !devices_[id].mount;
|
||||
}
|
||||
|
||||
int GioLister::MountDevice(const QString& id) {
|
||||
const int request_id = next_mount_request_id_ ++;
|
||||
metaObject()->invokeMethod(this, "DoMountDevice", Qt::QueuedConnection,
|
||||
Q_ARG(QString, id), Q_ARG(int, request_id));
|
||||
return request_id;
|
||||
}
|
||||
|
||||
void GioLister::DoMountDevice(const QString& id, int request_id) {
|
||||
QMutexLocker l(&mutex_);
|
||||
if (!devices_.contains(id)) {
|
||||
emit DeviceMounted(id, request_id, false);
|
||||
return;
|
||||
}
|
||||
|
||||
const DeviceInfo& info = devices_[id];
|
||||
if (info.mount) {
|
||||
// Already mounted
|
||||
emit DeviceMounted(id, request_id, true);
|
||||
return;
|
||||
}
|
||||
|
||||
g_volume_mount(info.volume, G_MOUNT_MOUNT_NONE, NULL, NULL,
|
||||
VolumeMountFinished, NULL);
|
||||
emit DeviceMounted(id, request_id, true);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
#define GIOLISTER_H
|
||||
|
||||
#include "devicelister.h"
|
||||
#include "core/scopedgobject.h"
|
||||
|
||||
// Work around compile issue with glib >= 2.25
|
||||
#ifdef signals
|
||||
|
@ -33,8 +34,7 @@ class GioLister : public DeviceLister {
|
|||
Q_OBJECT
|
||||
|
||||
public:
|
||||
GioLister();
|
||||
~GioLister();
|
||||
GioLister() {}
|
||||
|
||||
int priority() const { return 50; }
|
||||
|
||||
|
@ -45,10 +45,12 @@ public:
|
|||
quint64 DeviceCapacity(const QString& id);
|
||||
quint64 DeviceFreeSpace(const QString& id);
|
||||
QVariantMap DeviceHardwareInfo(const QString& id);
|
||||
bool DeviceNeedsMount(const QString& id);
|
||||
|
||||
QString MakeFriendlyName(const QString &id);
|
||||
QList<QUrl> MakeDeviceUrls(const QString &id);
|
||||
|
||||
int MountDevice(const QString& id);
|
||||
void UnmountDevice(const QString &id);
|
||||
|
||||
public slots:
|
||||
|
@ -58,30 +60,51 @@ protected:
|
|||
void Init();
|
||||
|
||||
private:
|
||||
struct MountInfo {
|
||||
MountInfo() : filesystem_size(0), filesystem_free(0) {}
|
||||
struct DeviceInfo {
|
||||
DeviceInfo() : drive_removable(false), filesystem_size(0), filesystem_free(0) {}
|
||||
|
||||
QString unique_id() const;
|
||||
bool is_suitable() const;
|
||||
|
||||
GMount* mount;
|
||||
QString unix_device;
|
||||
static QString ConvertAndFree(char* str);
|
||||
void ReadDriveInfo(GDrive* drive);
|
||||
void ReadVolumeInfo(GVolume* volume);
|
||||
void ReadMountInfo(GMount* mount);
|
||||
|
||||
// Only available if it's a physical drive
|
||||
ScopedGObject<GVolume> volume;
|
||||
QString volume_name;
|
||||
QString volume_unix_device;
|
||||
QString volume_root_uri;
|
||||
QString volume_uuid;
|
||||
|
||||
// Only available if it's a physical drive
|
||||
ScopedGObject<GDrive> drive;
|
||||
QString drive_name;
|
||||
bool drive_removable;
|
||||
|
||||
// Only available if it's mounted
|
||||
ScopedGObject<GMount> mount;
|
||||
QString mount_path;
|
||||
QString uri;
|
||||
QString name;
|
||||
QStringList icon_names;
|
||||
QString uuid;
|
||||
QString mount_uri;
|
||||
QString mount_name;
|
||||
QStringList mount_icon_names;
|
||||
QString mount_uuid;
|
||||
quint64 filesystem_size;
|
||||
quint64 filesystem_free;
|
||||
QString filesystem_type;
|
||||
};
|
||||
|
||||
void VolumeAdded(GVolume* volume);
|
||||
void VolumeRemoved(GVolume* volume);
|
||||
|
||||
void MountAdded(GMount* mount);
|
||||
void MountChanged(GMount* mount);
|
||||
void MountRemoved(GMount* mount);
|
||||
|
||||
static void VolumeAddedCallback(GVolumeMonitor*, GVolume*, gpointer);
|
||||
static void VolumeRemovedCallback(GVolumeMonitor*, GVolume*, gpointer);
|
||||
|
||||
static void MountAddedCallback(GVolumeMonitor*, GMount*, gpointer);
|
||||
static void MountChangedCallback(GVolumeMonitor*, GMount*, gpointer);
|
||||
static void MountRemovedCallback(GVolumeMonitor*, GMount*, gpointer);
|
||||
|
@ -91,29 +114,30 @@ private:
|
|||
static void MountEjectFinished(GObject* object, GAsyncResult* result, gpointer);
|
||||
static void MountUnmountFinished(GObject* object, GAsyncResult* result, gpointer);
|
||||
|
||||
static QString ConvertAndFree(char* str);
|
||||
static MountInfo ReadMountInfo(GMount* mount);
|
||||
|
||||
// You MUST hold the mutex while calling this function
|
||||
QString FindUniqueIdByMount(GMount* mount) const;
|
||||
QString FindUniqueIdByVolume(GVolume* volume) const;
|
||||
|
||||
template <typename T>
|
||||
T LockAndGetMountInfo(const QString& id, T MountInfo::*field);
|
||||
T LockAndGetDeviceInfo(const QString& id, T DeviceInfo::*field);
|
||||
|
||||
private slots:
|
||||
void DoMountDevice(const QString& id, int request_id);
|
||||
|
||||
private:
|
||||
GVolumeMonitor* monitor_;
|
||||
ScopedGObject<GVolumeMonitor> monitor_;
|
||||
|
||||
QMutex mutex_;
|
||||
QMap<QString, MountInfo> mounts_;
|
||||
QMap<QString, DeviceInfo> devices_;
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
T GioLister::LockAndGetMountInfo(const QString& id, T MountInfo::*field) {
|
||||
T GioLister::LockAndGetDeviceInfo(const QString& id, T DeviceInfo::*field) {
|
||||
QMutexLocker l(&mutex_);
|
||||
if (!mounts_.contains(id))
|
||||
if (!devices_.contains(id))
|
||||
return T();
|
||||
|
||||
return mounts_[id].*field;
|
||||
return devices_[id].*field;
|
||||
}
|
||||
|
||||
#endif // GIOLISTER_H
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-05-21 01:02+0000\n"
|
||||
"Last-Translator: EL7R <the-ghost@live.com>\n"
|
||||
"Language-Team: Arabic <ar@li.org>\n"
|
||||
"Language: ar\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ar\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-22 04:09+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
|
@ -56,15 +56,15 @@ msgstr ""
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr ""
|
||||
|
||||
|
@ -665,7 +665,7 @@ msgstr ""
|
|||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1202,6 +1202,9 @@ msgstr ""
|
|||
msgid "Not enough neighbors"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2000,7 +2003,7 @@ msgstr ""
|
|||
msgid "[click to edit]"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr "أضِف %n أغاني\\أغنية"
|
||||
|
||||
|
@ -2020,7 +2023,7 @@ msgstr "انقل الأغاني"
|
|||
msgid "options"
|
||||
msgstr "الخيارات"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr "أزِل %n أغاني\\أغنية"
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-07-24 15:58+0000\n"
|
||||
"Last-Translator: David Sansome <me@davidsansome.com>\n"
|
||||
"Language-Team: Bulgarian <bg@li.org>\n"
|
||||
"Language: bg\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: bg\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-25 04:25+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
|
@ -56,15 +56,15 @@ msgstr ""
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr ""
|
||||
|
||||
|
@ -665,7 +665,7 @@ msgstr ""
|
|||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1202,6 +1202,9 @@ msgstr ""
|
|||
msgid "Not enough neighbors"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2000,7 +2003,7 @@ msgstr ""
|
|||
msgid "[click to edit]"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2020,7 +2023,7 @@ msgstr ""
|
|||
msgid "options"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-09-04 20:21+0000\n"
|
||||
"Last-Translator: David Sansome <me@davidsansome.com>\n"
|
||||
"Language-Team: Catalan <ca@li.org>\n"
|
||||
"Language: ca\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ca\n"
|
||||
|
||||
msgid " ms"
|
||||
msgstr " ms"
|
||||
|
@ -54,15 +54,15 @@ msgstr "%1 temes"
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr "%n han fallat"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr "%n han acabat"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr "%n restants"
|
||||
|
||||
|
@ -99,8 +99,8 @@ msgid ""
|
|||
"<p>If you surround sections of text that contain a token with curly-braces, "
|
||||
"that section will be hidden if the token is empty.</p>"
|
||||
msgstr ""
|
||||
"<p>Les fitxes de reemplaçament comencen amb %, per exemple: %artist %album "
|
||||
"%title </p>\n"
|
||||
"<p>Les fitxes de reemplaçament comencen amb %, per exemple: %artist %album %"
|
||||
"title </p>\n"
|
||||
"\n"
|
||||
"<p>Si demarques entre claus una secció de text que contingui una fitxa de "
|
||||
"remplaçament, aquesta secció no es mostrarà si la fitxa de remplaçament es "
|
||||
|
@ -677,7 +677,7 @@ msgstr "Editar la informació de la pista..."
|
|||
msgid "Edit..."
|
||||
msgstr "Edita..."
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr "Editant %n pistes"
|
||||
|
||||
|
@ -1225,6 +1225,9 @@ msgstr "No hi ha prous membres"
|
|||
msgid "Not enough neighbors"
|
||||
msgstr "No hi ha prous veïns"
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr "Tipus de notificació"
|
||||
|
||||
|
@ -2034,7 +2037,7 @@ msgstr "Zero"
|
|||
msgid "[click to edit]"
|
||||
msgstr "[clickar per editar]"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr "afegeix %n cançons"
|
||||
|
||||
|
@ -2054,7 +2057,7 @@ msgstr "moure cançons"
|
|||
msgid "options"
|
||||
msgstr "opcions"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr "elimina %n cançons"
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-09-04 20:15+0000\n"
|
||||
"Last-Translator: David Sansome <me@davidsansome.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: \n"
|
||||
"X-Language: cs_CZ\n"
|
||||
|
||||
msgid " ms"
|
||||
|
@ -55,15 +55,15 @@ msgstr ""
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr ""
|
||||
|
||||
|
@ -664,7 +664,7 @@ msgstr "Upravit informaci o skladbách..."
|
|||
msgid "Edit..."
|
||||
msgstr "Upravit..."
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr "Úprava %n stop"
|
||||
|
||||
|
@ -1204,6 +1204,9 @@ msgstr "Nedostatek členů"
|
|||
msgid "Not enough neighbors"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr "Typ poznámy"
|
||||
|
||||
|
@ -2002,7 +2005,7 @@ msgstr "Vynulovat"
|
|||
msgid "[click to edit]"
|
||||
msgstr "[pro úpravy klikněte]"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr "Přidej %n skladby"
|
||||
|
||||
|
@ -2022,7 +2025,7 @@ msgstr "Přesuň skladby"
|
|||
msgid "options"
|
||||
msgstr "Možnosti"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr "Odeber %n skladeb"
|
||||
|
||||
|
|
|
@ -12,10 +12,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-07-24 15:57+0000\n"
|
||||
"Last-Translator: Kabel <CaptainKabel@gmail.com>\n"
|
||||
"Language-Team: Danish <kde-i18n-doc@kde.org>\n"
|
||||
"Language: da\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: da\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-25 04:25+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
|
@ -57,15 +57,15 @@ msgstr ""
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr ""
|
||||
|
||||
|
@ -666,7 +666,7 @@ msgstr "Redigér sporinformation..."
|
|||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr "Redigerer %n spor"
|
||||
|
||||
|
@ -1207,6 +1207,9 @@ msgstr "Ikke nok medlemmer"
|
|||
msgid "Not enough neighbors"
|
||||
msgstr "Ikke nok naboer"
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr "Bekendtgørelsestype"
|
||||
|
||||
|
@ -2007,7 +2010,7 @@ msgstr "Nul"
|
|||
msgid "[click to edit]"
|
||||
msgstr "[Klik for at redigere]"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr "tilføj %n sange"
|
||||
|
||||
|
@ -2027,7 +2030,7 @@ msgstr "flyt sange"
|
|||
msgid "options"
|
||||
msgstr "indstillinger"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr "fjern %n sange"
|
||||
|
||||
|
|
|
@ -12,10 +12,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-09-02 19:33+0000\n"
|
||||
"Last-Translator: Markus Fuchs <Unknown>\n"
|
||||
"Language-Team: German <de@li.org>\n"
|
||||
"Language: de\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: de\n"
|
||||
|
||||
msgid " ms"
|
||||
msgstr " ms"
|
||||
|
@ -55,15 +55,15 @@ msgstr "%1 Stücke"
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr "%n fehlgeschlagen"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr "%n konvertiert"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr "%n verbleibend"
|
||||
|
||||
|
@ -680,7 +680,7 @@ msgstr "Metadaten bearbeiten..."
|
|||
msgid "Edit..."
|
||||
msgstr "Bearbeiten..."
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr "%n Stücke bearbeiten"
|
||||
|
||||
|
@ -1227,6 +1227,9 @@ msgstr "Nicht genügend Mitglieder"
|
|||
msgid "Not enough neighbors"
|
||||
msgstr "Nicht genug Nachbarn"
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr "Art der Benachrichtigung"
|
||||
|
||||
|
@ -2045,7 +2048,7 @@ msgstr "Null"
|
|||
msgid "[click to edit]"
|
||||
msgstr "[zum Bearbeiten klicken]"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr "%n Stücke hinzufügen"
|
||||
|
||||
|
@ -2065,7 +2068,7 @@ msgstr "Stücke verschieben"
|
|||
msgid "options"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr "%n Stücke entfernen"
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-09-04 12:27+0000\n"
|
||||
"Last-Translator: firewalker <Unknown>\n"
|
||||
"Language-Team: <en@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: \n"
|
||||
"X-Language: el_GR\n"
|
||||
"X-Source-Language: en\n"
|
||||
|
||||
|
@ -56,15 +56,15 @@ msgstr "%1 κομμάτια"
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr "%1: Άρθρωμα Wiimotedev"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr "%n απέτυχε"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr "%n ολοκληρώθηκε"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr "%n απομένει"
|
||||
|
||||
|
@ -682,7 +682,7 @@ msgstr "Τροποποίηση πληροφοριών κομματιού..."
|
|||
msgid "Edit..."
|
||||
msgstr "Επεξεργασία..."
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr "Τροποποίηση %n κομματιών"
|
||||
|
||||
|
@ -1228,6 +1228,9 @@ msgstr "Δεν υπάρχουν αρκετά μέλη"
|
|||
msgid "Not enough neighbors"
|
||||
msgstr "Δεν υπάρχουν αρκετοί γείτονες"
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr "Τύπος ειδοποίησης"
|
||||
|
||||
|
@ -2050,7 +2053,7 @@ msgstr "Zero"
|
|||
msgid "[click to edit]"
|
||||
msgstr "[κλικ για τροποποίηση]"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr "προσθήκη %n τραγουδιών"
|
||||
|
||||
|
@ -2070,7 +2073,7 @@ msgstr "μετακίνηση τραγουδιών"
|
|||
msgid "options"
|
||||
msgstr "επιλογές"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr "αφαίρεση %n τραγουδιών"
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-06-17 01:37+0000\n"
|
||||
"Last-Translator: David Sansome <me@davidsansome.com>\n"
|
||||
"Language-Team: English (Canada) <en_CA@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: \n"
|
||||
"X-Launchpad-Export-Date: 2010-06-18 03:42+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
|
@ -56,15 +56,15 @@ msgstr ""
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr "%n failed"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr "%n finished"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr "%n remaining"
|
||||
|
||||
|
@ -667,7 +667,7 @@ msgstr "Edit track information..."
|
|||
msgid "Edit..."
|
||||
msgstr "Edit..."
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr "Editing %n tracks"
|
||||
|
||||
|
@ -1207,6 +1207,9 @@ msgstr "Not enough members"
|
|||
msgid "Not enough neighbors"
|
||||
msgstr "Not enough neighbours"
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr "Notification type"
|
||||
|
||||
|
@ -2005,7 +2008,7 @@ msgstr "Zero"
|
|||
msgid "[click to edit]"
|
||||
msgstr "[click to edit]"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr "add %n songs"
|
||||
|
||||
|
@ -2025,7 +2028,7 @@ msgstr "move songs"
|
|||
msgid "options"
|
||||
msgstr "options"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr "remove %n songs"
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-06-17 01:38+0000\n"
|
||||
"Last-Translator: David Sansome <me@davidsansome.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: \n"
|
||||
"X-Launchpad-Export-Date: 2010-06-18 03:42+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
|
@ -56,15 +56,15 @@ msgstr ""
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr ""
|
||||
|
||||
|
@ -665,7 +665,7 @@ msgstr "Edit track information..."
|
|||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr "Editing %n tracks"
|
||||
|
||||
|
@ -1204,6 +1204,9 @@ msgstr "Not enough members"
|
|||
msgid "Not enough neighbors"
|
||||
msgstr "Not enough neighbours"
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr "Notification type"
|
||||
|
||||
|
@ -2002,7 +2005,7 @@ msgstr "Zero"
|
|||
msgid "[click to edit]"
|
||||
msgstr "[click to edit]"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2022,7 +2025,7 @@ msgstr ""
|
|||
msgid "options"
|
||||
msgstr "options"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-09-04 20:23+0000\n"
|
||||
"Last-Translator: David Sansome <me@davidsansome.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: \n"
|
||||
"X-Language: es_ES\n"
|
||||
|
||||
msgid " ms"
|
||||
|
@ -55,15 +55,15 @@ msgstr "%1 pistas"
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr "%n falló"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr "%n completado(s)"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr "%n pendiente(s)"
|
||||
|
||||
|
@ -681,7 +681,7 @@ msgstr "Editar información de la pista..."
|
|||
msgid "Edit..."
|
||||
msgstr "Editar..."
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr "Editando %n pistas"
|
||||
|
||||
|
@ -1230,6 +1230,9 @@ msgstr "No hay suficientes miembros"
|
|||
msgid "Not enough neighbors"
|
||||
msgstr "No hay suficientes vecinos"
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr "Tipo de notificación"
|
||||
|
||||
|
@ -2048,7 +2051,7 @@ msgstr "Zero"
|
|||
msgid "[click to edit]"
|
||||
msgstr "[click para editar]"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr "agregar %n pistas"
|
||||
|
||||
|
@ -2068,7 +2071,7 @@ msgstr "mover pistas"
|
|||
msgid "options"
|
||||
msgstr "opciones"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr "remover %n pistas"
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-08-11 22:43+0000\n"
|
||||
"Last-Translator: David Sansome <me@davidsansome.com>\n"
|
||||
"Language-Team: Finnish <fi@li.org>\n"
|
||||
"Language: fi\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fi\n"
|
||||
|
||||
msgid " ms"
|
||||
msgstr " ms"
|
||||
|
@ -54,15 +54,15 @@ msgstr "%1 kappaletta"
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr "%n epäonnistui"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr "%n valmistui"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr "%n jäljellä"
|
||||
|
||||
|
@ -663,7 +663,7 @@ msgstr "Muokkaa kappaleen tietoja..."
|
|||
msgid "Edit..."
|
||||
msgstr "Muokkaa..."
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1202,6 +1202,9 @@ msgstr ""
|
|||
msgid "Not enough neighbors"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2000,7 +2003,7 @@ msgstr ""
|
|||
msgid "[click to edit]"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2020,7 +2023,7 @@ msgstr ""
|
|||
msgid "options"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-09-04 22:38+0000\n"
|
||||
"Last-Translator: Alexis B. <Unknown>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: \n"
|
||||
"X-Language: fr_FR\n"
|
||||
|
||||
msgid " ms"
|
||||
|
@ -55,15 +55,15 @@ msgstr "%1 pistes"
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr "%1: Module wiimotedev"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr "%n échoué"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr "%n terminé"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr "%n manquant"
|
||||
|
||||
|
@ -678,7 +678,7 @@ msgstr "Modifier la description de la piste..."
|
|||
msgid "Edit..."
|
||||
msgstr "Éditer..."
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr "Éditer %n pistes"
|
||||
|
||||
|
@ -1229,6 +1229,9 @@ msgstr "Pas assez de membres"
|
|||
msgid "Not enough neighbors"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr "Notifications"
|
||||
|
||||
|
@ -2043,7 +2046,7 @@ msgstr "Zéro"
|
|||
msgid "[click to edit]"
|
||||
msgstr "[cliquer pour modifier]"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2063,7 +2066,7 @@ msgstr "déplacer les chansons"
|
|||
msgid "options"
|
||||
msgstr "options"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-04-27 16:34+0000\n"
|
||||
"Last-Translator: andreout <andre@outeiro.com>\n"
|
||||
"Language-Team: Galician <gl@li.org>\n"
|
||||
"Language: gl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: gl\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-28 03:53+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
|
@ -56,15 +56,15 @@ msgstr ""
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr ""
|
||||
|
||||
|
@ -665,7 +665,7 @@ msgstr ""
|
|||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr "Editando %n faixas"
|
||||
|
||||
|
@ -1204,6 +1204,9 @@ msgstr "Membros insuficientes"
|
|||
msgid "Not enough neighbors"
|
||||
msgstr "Viciños insuficientes"
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2002,7 +2005,7 @@ msgstr ""
|
|||
msgid "[click to edit]"
|
||||
msgstr "[clique para editar]"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2022,7 +2025,7 @@ msgstr ""
|
|||
msgid "options"
|
||||
msgstr "Opzóns"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-09-04 19:52+0000\n"
|
||||
"Last-Translator: ntomka <Unknown>\n"
|
||||
"Language-Team: Hungarian <hu@li.org>\n"
|
||||
"Language: hu\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: hu\n"
|
||||
|
||||
msgid " ms"
|
||||
msgstr " ms"
|
||||
|
@ -54,15 +54,15 @@ msgstr "%1 szám"
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr "%1: Wiimotedev modul"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr "%n meghiúsult"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr "%n befejezve"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr "%n hátralévő"
|
||||
|
||||
|
@ -678,7 +678,7 @@ msgstr "Száminformációk szerkesztése..."
|
|||
msgid "Edit..."
|
||||
msgstr "Szerkesztés..."
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr "%n szám szerkesztése"
|
||||
|
||||
|
@ -1225,6 +1225,9 @@ msgstr "Nincs elég tag"
|
|||
msgid "Not enough neighbors"
|
||||
msgstr "Nincs elég szomszédja"
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr "Értesítés módja"
|
||||
|
||||
|
@ -2045,7 +2048,7 @@ msgstr "Nulla"
|
|||
msgid "[click to edit]"
|
||||
msgstr "[kattintson a szerkesztéshez]"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr "%n szám felvétele"
|
||||
|
||||
|
@ -2065,7 +2068,7 @@ msgstr "számok mozgatása"
|
|||
msgid "options"
|
||||
msgstr "beállítások"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr "%n szám eltávolítása"
|
||||
|
||||
|
|
|
@ -12,10 +12,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-09-03 15:02+0000\n"
|
||||
"Last-Translator: Vincenzo Reale <smart2128@baslug.org>\n"
|
||||
"Language-Team: Italian <kde-i18n-it@kde.org>\n"
|
||||
"Language: it\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: it\n"
|
||||
|
||||
msgid " ms"
|
||||
msgstr " ms"
|
||||
|
@ -55,15 +55,15 @@ msgstr "%1 tracce"
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr "%1: modulo Wiimotedev"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr "%n non riusciti"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr "%n completati"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr "%n rimanenti"
|
||||
|
||||
|
@ -685,7 +685,7 @@ msgstr "Modifica informazioni traccia..."
|
|||
msgid "Edit..."
|
||||
msgstr "Modifica..."
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr "Modifica di %n tracce"
|
||||
|
||||
|
@ -1235,6 +1235,9 @@ msgstr "Membri non sufficienti"
|
|||
msgid "Not enough neighbors"
|
||||
msgstr "Vicini non sufficienti"
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr "Tipo di notifica"
|
||||
|
||||
|
@ -2058,7 +2061,7 @@ msgstr "Zero"
|
|||
msgid "[click to edit]"
|
||||
msgstr "[clic per modificare]"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr "aggiungi %n brani"
|
||||
|
||||
|
@ -2078,7 +2081,7 @@ msgstr "sposta brani"
|
|||
msgid "options"
|
||||
msgstr "opzioni"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr "rimuovi %n brani"
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-04-27 16:33+0000\n"
|
||||
"Last-Translator: David Sansome <me@davidsansome.com>\n"
|
||||
"Language-Team: Kazakh <kk@li.org>\n"
|
||||
"Language: kk\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: kk\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-28 03:53+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
|
@ -56,15 +56,15 @@ msgstr ""
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr ""
|
||||
|
||||
|
@ -665,7 +665,7 @@ msgstr ""
|
|||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1204,6 +1204,9 @@ msgstr ""
|
|||
msgid "Not enough neighbors"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2002,7 +2005,7 @@ msgstr "Нөл"
|
|||
msgid "[click to edit]"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2022,7 +2025,7 @@ msgstr ""
|
|||
msgid "options"
|
||||
msgstr "опциялар"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-07-24 16:03+0000\n"
|
||||
"Last-Translator: David Sansome <me@davidsansome.com>\n"
|
||||
"Language-Team: Lithuanian <lt@li.org>\n"
|
||||
"Language: lt\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: lt\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-25 04:26+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
|
@ -56,15 +56,15 @@ msgstr "%1 takeliai"
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr ""
|
||||
|
||||
|
@ -665,7 +665,7 @@ msgstr ""
|
|||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1202,6 +1202,9 @@ msgstr ""
|
|||
msgid "Not enough neighbors"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2000,7 +2003,7 @@ msgstr ""
|
|||
msgid "[click to edit]"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2020,7 +2023,7 @@ msgstr ""
|
|||
msgid "options"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-08-11 22:42+0000\n"
|
||||
"Last-Translator: Simen Heggestøyl <simenheg@gmail.com>\n"
|
||||
"Language-Team: Norwegian Bokmal <nb@li.org>\n"
|
||||
"Language: nb\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: nb\n"
|
||||
|
||||
msgid " ms"
|
||||
msgstr " ms"
|
||||
|
@ -54,15 +54,15 @@ msgstr "%1 spor"
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr "%n gjenstående"
|
||||
|
||||
|
@ -663,7 +663,7 @@ msgstr "Rediger informasjon om sporet..."
|
|||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr "Endrer %n spor"
|
||||
|
||||
|
@ -1203,6 +1203,9 @@ msgstr "Ikke nok medlemmer"
|
|||
msgid "Not enough neighbors"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr "Meldingstype"
|
||||
|
||||
|
@ -2002,7 +2005,7 @@ msgstr "Null"
|
|||
msgid "[click to edit]"
|
||||
msgstr "[klikk for å endre]"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2022,7 +2025,7 @@ msgstr ""
|
|||
msgid "options"
|
||||
msgstr "innstillinger"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-08-15 07:44+0000\n"
|
||||
"Last-Translator: A.J. Baudrez <a.baudrez@gmail.com>\n"
|
||||
"Language-Team: Dutch <nl@li.org>\n"
|
||||
"Language: nl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: nl\n"
|
||||
|
||||
msgid " ms"
|
||||
msgstr " ms"
|
||||
|
@ -54,15 +54,15 @@ msgstr "%1 tracks"
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr "%n mislukt"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr "%n voltooid"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr "%n te gaan"
|
||||
|
||||
|
@ -675,7 +675,7 @@ msgstr "Trackinformatie bewerken..."
|
|||
msgid "Edit..."
|
||||
msgstr "Bewerken..."
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr "%n tracks bewerken"
|
||||
|
||||
|
@ -1223,6 +1223,9 @@ msgstr "Onvoldoende leden"
|
|||
msgid "Not enough neighbors"
|
||||
msgstr "Onvoldoende buren"
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr "Notificatietype"
|
||||
|
||||
|
@ -2042,7 +2045,7 @@ msgstr "Nul"
|
|||
msgid "[click to edit]"
|
||||
msgstr "[klik om te bewerken:]"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr "%n nummers toevoegen"
|
||||
|
||||
|
@ -2062,7 +2065,7 @@ msgstr "nummers verplaatsen"
|
|||
msgid "options"
|
||||
msgstr "opties"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr "%n nummers verwijderen"
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-05-21 01:01+0000\n"
|
||||
"Last-Translator: Cédric VALMARY (Tot en òc) <cvalmary@yahoo.fr>\n"
|
||||
"Language-Team: Occitan (post 1500) <oc@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: \n"
|
||||
"X-Launchpad-Export-Date: 2010-05-22 04:09+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
|
@ -56,15 +56,15 @@ msgstr ""
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr ""
|
||||
|
||||
|
@ -665,7 +665,7 @@ msgstr ""
|
|||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1202,6 +1202,9 @@ msgstr ""
|
|||
msgid "Not enough neighbors"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr "Notificacions"
|
||||
|
||||
|
@ -2000,7 +2003,7 @@ msgstr "Zèro"
|
|||
msgid "[click to edit]"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2020,7 +2023,7 @@ msgstr ""
|
|||
msgid "options"
|
||||
msgstr "opcions"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-09-04 20:14+0000\n"
|
||||
"Last-Translator: David Sansome <me@davidsansome.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: \n"
|
||||
"X-Language: pl_PL\n"
|
||||
|
||||
msgid " ms"
|
||||
|
@ -55,15 +55,15 @@ msgstr "%1 ścieżek"
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr "%1: moduł Wiimotedev"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr "%n zawiodło"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr "%n zakończone"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr "pozostało %n"
|
||||
|
||||
|
@ -675,7 +675,7 @@ msgstr "Edytuj informacje o utworze..."
|
|||
msgid "Edit..."
|
||||
msgstr "Edytuj..."
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr "Edytowanie %n ścieżek"
|
||||
|
||||
|
@ -1222,6 +1222,9 @@ msgstr "Za mało użytkowników"
|
|||
msgid "Not enough neighbors"
|
||||
msgstr "Za mało sąsiadów"
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr "Typ powiadomień"
|
||||
|
||||
|
@ -1764,8 +1767,7 @@ msgid ""
|
|||
"These files will be deleted from the device, are you sure you want to "
|
||||
"continue?"
|
||||
msgstr ""
|
||||
"Te pliki zostaną usunięte z dysku, czy jesteś pewnień że chcesz "
|
||||
"kontynłować?"
|
||||
"Te pliki zostaną usunięte z dysku, czy jesteś pewnień że chcesz kontynłować?"
|
||||
|
||||
msgid "These folders will be scanned for music to make up your library"
|
||||
msgstr "Te katalogi będą skanowane w poszukiwaniu muzyki"
|
||||
|
@ -2009,8 +2011,8 @@ msgid ""
|
|||
"wiki</a> for more information.\n"
|
||||
msgstr ""
|
||||
"Możesz użyć kontrolerów Wii Remote jako zdalny pilot w Clementine. <a href="
|
||||
"\"http://www.clementine-player.org/wiimote\"> Zobacz strone wiki dla Clementine"
|
||||
"</a> w celu uzyskania wiekszej ilości informacji.\n"
|
||||
"\"http://www.clementine-player.org/wiimote\"> Zobacz strone wiki dla "
|
||||
"Clementine</a> w celu uzyskania wiekszej ilości informacji.\n"
|
||||
|
||||
msgid ""
|
||||
"You need to launch System Preferences and turn on \"<span style=\" font-"
|
||||
|
@ -2037,7 +2039,7 @@ msgstr "Zero"
|
|||
msgid "[click to edit]"
|
||||
msgstr "[kliknij aby edytować]"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr "dodaj %n utworów"
|
||||
|
||||
|
@ -2057,7 +2059,7 @@ msgstr "przenieś utwory"
|
|||
msgid "options"
|
||||
msgstr "opcje"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr "usuń %n utworów"
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-09-01 23:28+0000\n"
|
||||
"Last-Translator: Sérgio Marques <Unknown>\n"
|
||||
"Language-Team: Portuguese <pt@li.org>\n"
|
||||
"Language: pt\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pt\n"
|
||||
|
||||
msgid " ms"
|
||||
msgstr " ms"
|
||||
|
@ -54,15 +54,15 @@ msgstr "%1 faixas"
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr "%1: Módulo Wiimotedev"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr "%n falha(s)"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr "%n concluída(s)"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr "%n restante(s)"
|
||||
|
||||
|
@ -679,7 +679,7 @@ msgstr "Editar a informação da faixa..."
|
|||
msgid "Edit..."
|
||||
msgstr "Editar..."
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr "Editando %n faixas"
|
||||
|
||||
|
@ -1223,6 +1223,9 @@ msgstr "Membros insuficientes"
|
|||
msgid "Not enough neighbors"
|
||||
msgstr "Vizinhos insuficientes"
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr "Tipo de notificação"
|
||||
|
||||
|
@ -2040,7 +2043,7 @@ msgstr "Zero"
|
|||
msgid "[click to edit]"
|
||||
msgstr "[clique para editar]"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr "adicionar %n músicas"
|
||||
|
||||
|
@ -2060,7 +2063,7 @@ msgstr "mover músicas"
|
|||
msgid "options"
|
||||
msgstr "opções"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr "remover %n músicas"
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-09-02 14:57+0000\n"
|
||||
"Last-Translator: jorgelar <Unknown>\n"
|
||||
"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
|
||||
"Language: pt_BR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pt_BR\n"
|
||||
|
||||
msgid " ms"
|
||||
msgstr " ms"
|
||||
|
@ -54,15 +54,15 @@ msgstr "%1 faixas"
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr "%1: Módulo de dispositivo Wiimote"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr "%n falhou"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr "%n fizalizado"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr "%n faltando"
|
||||
|
||||
|
@ -674,7 +674,7 @@ msgstr "Editar informações da faixa..."
|
|||
msgid "Edit..."
|
||||
msgstr "Editar..."
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr "Editando %n faixas"
|
||||
|
||||
|
@ -1218,6 +1218,9 @@ msgstr "Sem membros o bastante"
|
|||
msgid "Not enough neighbors"
|
||||
msgstr "Sem vizinhos o bastante"
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr "Tipo de notificação"
|
||||
|
||||
|
@ -2024,7 +2027,7 @@ msgstr "Zero"
|
|||
msgid "[click to edit]"
|
||||
msgstr "[clique para editar]"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr "Adicionar %n músicas"
|
||||
|
||||
|
@ -2044,7 +2047,7 @@ msgstr "mover músicas"
|
|||
msgid "options"
|
||||
msgstr "opções"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr "Remover %n músicas"
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-05-03 21:09+0000\n"
|
||||
"Last-Translator: David Sansome <me@davidsansome.com>\n"
|
||||
"Language-Team: Romanian <ro@li.org>\n"
|
||||
"Language: ro\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ro\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-04 03:52+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
|
@ -56,15 +56,15 @@ msgstr ""
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr ""
|
||||
|
||||
|
@ -665,7 +665,7 @@ msgstr ""
|
|||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1203,6 +1203,9 @@ msgstr "Nu sunt destui membri"
|
|||
msgid "Not enough neighbors"
|
||||
msgstr "Nu sunt destui vecini"
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2001,7 +2004,7 @@ msgstr "Zero"
|
|||
msgid "[click to edit]"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2021,7 +2024,7 @@ msgstr ""
|
|||
msgid "options"
|
||||
msgstr "opțiuni"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -10,10 +10,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-09-04 20:22+0000\n"
|
||||
"Last-Translator: David Sansome <me@davidsansome.com>\n"
|
||||
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ru\n"
|
||||
|
||||
msgid " ms"
|
||||
msgstr " мс"
|
||||
|
@ -53,15 +53,15 @@ msgstr "%1 композиций"
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr "%n с ошибкой"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr "%n завершено"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr "%n осталось"
|
||||
|
||||
|
@ -672,7 +672,7 @@ msgstr "Изменить информацию о композиции..."
|
|||
msgid "Edit..."
|
||||
msgstr "Изменить..."
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr "Редактирую %n треков"
|
||||
|
||||
|
@ -1216,6 +1216,9 @@ msgstr "Не достаточно участников"
|
|||
msgid "Not enough neighbors"
|
||||
msgstr "Недостаточно соседей"
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr "Тип уведомления"
|
||||
|
||||
|
@ -2032,7 +2035,7 @@ msgstr "По-умолчанию"
|
|||
msgid "[click to edit]"
|
||||
msgstr "[щелкните, чтобы изменить]"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr "добавить %n композиций"
|
||||
|
||||
|
@ -2052,7 +2055,7 @@ msgstr "переместить композиции"
|
|||
msgid "options"
|
||||
msgstr "настройки"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr "удалить %n композиций"
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-08-31 08:55+0000\n"
|
||||
"Last-Translator: DAG Software <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: \n"
|
||||
"X-Language: sk_SK\n"
|
||||
|
||||
msgid " ms"
|
||||
|
@ -55,15 +55,15 @@ msgstr "%1 skladieb"
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr "%n zlyhalo"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr "%n dokončených"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr "%n zostávajúcich"
|
||||
|
||||
|
@ -678,7 +678,7 @@ msgstr "Upravť informácie o skladbe..."
|
|||
msgid "Edit..."
|
||||
msgstr "Upraviť..."
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr "Upravovanie %n skladieb"
|
||||
|
||||
|
@ -1221,6 +1221,9 @@ msgstr "Nedostatok členov"
|
|||
msgid "Not enough neighbors"
|
||||
msgstr "Nedostatok susedov"
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr "Typ notifikácií"
|
||||
|
||||
|
@ -2037,7 +2040,7 @@ msgstr "Vynulovať"
|
|||
msgid "[click to edit]"
|
||||
msgstr "[kliknite pre úpravu]"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr "pridať %n piesní"
|
||||
|
||||
|
@ -2057,7 +2060,7 @@ msgstr "presunúť piesne"
|
|||
msgid "options"
|
||||
msgstr "možnosti"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr "odstrániť %n piesní"
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-09-04 12:07+0000\n"
|
||||
"Last-Translator: R33D3M33R <Unknown>\n"
|
||||
"Language-Team: Slovenian <sl@li.org>\n"
|
||||
"Language: sl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: sl\n"
|
||||
|
||||
msgid " ms"
|
||||
msgstr " ms"
|
||||
|
@ -54,15 +54,15 @@ msgstr "%1 skladb"
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr "%1: Wimotedev modul"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr "%n spodletelih"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr "%n končanih"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr "%n preostaja"
|
||||
|
||||
|
@ -677,7 +677,7 @@ msgstr "Uredi podatke o skladbi ..."
|
|||
msgid "Edit..."
|
||||
msgstr "Uredi ..."
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr "Urejanje %n skladb"
|
||||
|
||||
|
@ -1221,6 +1221,9 @@ msgstr "Ni dovolj članov"
|
|||
msgid "Not enough neighbors"
|
||||
msgstr "Ni dovolj sosedov"
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr "Vrsta obvestila"
|
||||
|
||||
|
@ -2039,7 +2042,7 @@ msgstr "Brez"
|
|||
msgid "[click to edit]"
|
||||
msgstr "[kliknite za urejanje]"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr "dodaj %n skladb"
|
||||
|
||||
|
@ -2059,7 +2062,7 @@ msgstr "premakni skladbe"
|
|||
msgid "options"
|
||||
msgstr "možnosti"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr "odstrani %n skladb"
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-07-24 16:03+0000\n"
|
||||
"Last-Translator: David Sansome <me@davidsansome.com>\n"
|
||||
"Language-Team: Serbian <sr@li.org>\n"
|
||||
"Language: sr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: sr\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-25 04:26+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
|
@ -56,15 +56,15 @@ msgstr "%1 нумера"
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr "%n завршено"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr "%n преостало"
|
||||
|
||||
|
@ -667,7 +667,7 @@ msgstr "Уреди податке о нумери..."
|
|||
msgid "Edit..."
|
||||
msgstr "Уреди..."
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr "Уређивање %n нумера"
|
||||
|
||||
|
@ -1207,6 +1207,9 @@ msgstr ""
|
|||
msgid "Not enough neighbors"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr "Врста обавештења"
|
||||
|
||||
|
@ -2007,7 +2010,7 @@ msgstr "Нулто"
|
|||
msgid "[click to edit]"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr "додај %n песама"
|
||||
|
||||
|
@ -2027,7 +2030,7 @@ msgstr ""
|
|||
msgid "options"
|
||||
msgstr "Опције"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr "remove %n песама"
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-08-11 22:48+0000\n"
|
||||
"Last-Translator: David Sansome <me@davidsansome.com>\n"
|
||||
"Language-Team: Swedish <sv@li.org>\n"
|
||||
"Language: sv\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: sv\n"
|
||||
|
||||
msgid " ms"
|
||||
msgstr " ms"
|
||||
|
@ -54,15 +54,15 @@ msgstr "%1 spår"
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr "%n misslyckades"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr "%n färdig"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr "%n återstår"
|
||||
|
||||
|
@ -667,7 +667,7 @@ msgstr "Redigera spårinformation..."
|
|||
msgid "Edit..."
|
||||
msgstr "Redigera..."
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr "Redigerar %n spår"
|
||||
|
||||
|
@ -1209,6 +1209,9 @@ msgstr "Inte tillräckligt många medlemmar"
|
|||
msgid "Not enough neighbors"
|
||||
msgstr "Inte tillräckligt med grannar"
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr "Underrättelsetyp"
|
||||
|
||||
|
@ -2020,7 +2023,7 @@ msgstr "Noll"
|
|||
msgid "[click to edit]"
|
||||
msgstr "[klicka för att redigera]"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr "Lägg till %n songer"
|
||||
|
||||
|
@ -2040,7 +2043,7 @@ msgstr "Flytta songer"
|
|||
msgid "options"
|
||||
msgstr "alternativ"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr "Ta bort %n songer"
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-08-31 07:52+0000\n"
|
||||
"Last-Translator: Cihan Ersoy <Unknown>\n"
|
||||
"Language-Team: Turkish <tr@li.org>\n"
|
||||
"Language: tr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: tr\n"
|
||||
|
||||
msgid " ms"
|
||||
msgstr " ms"
|
||||
|
@ -54,15 +54,15 @@ msgstr "%1 parça"
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr "%n başarısız"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr "%n tamamlandı"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr "%n kalan"
|
||||
|
||||
|
@ -663,7 +663,7 @@ msgstr "Parça bilgisini düzenle..."
|
|||
msgid "Edit..."
|
||||
msgstr "Düzenle..."
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1206,6 +1206,9 @@ msgstr "Yeterli üye yok"
|
|||
msgid "Not enough neighbors"
|
||||
msgstr "Yeterli komşu yok"
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr "Bildirim türü"
|
||||
|
||||
|
@ -2004,7 +2007,7 @@ msgstr ""
|
|||
msgid "[click to edit]"
|
||||
msgstr "[düzenlemek için tıklayın]"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr "%n şakıyı ekle"
|
||||
|
||||
|
@ -2024,7 +2027,7 @@ msgstr "Parçaları taşı"
|
|||
msgid "options"
|
||||
msgstr "seçenekler"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr "%n şakıyı çıkart"
|
||||
|
||||
|
|
|
@ -46,15 +46,15 @@ msgstr ""
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr ""
|
||||
|
||||
|
@ -655,7 +655,7 @@ msgstr ""
|
|||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1192,6 +1192,9 @@ msgstr ""
|
|||
msgid "Not enough neighbors"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1990,7 +1993,7 @@ msgstr ""
|
|||
msgid "[click to edit]"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2010,7 +2013,7 @@ msgstr ""
|
|||
msgid "options"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-09-04 07:57+0000\n"
|
||||
"Last-Translator: Sergiy Gavrylov <sergiovana@bigmir.net>\n"
|
||||
"Language-Team: Ukrainian <uk@li.org>\n"
|
||||
"Language: uk\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: uk\n"
|
||||
|
||||
msgid " ms"
|
||||
msgstr " мс"
|
||||
|
@ -54,15 +54,15 @@ msgstr "%1 доріжок"
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr "%1: Модуль Wiimotedev"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr "%n з помилкою"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr "%n завершено"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr "%n залишилось"
|
||||
|
||||
|
@ -677,7 +677,7 @@ msgstr "Редагувати дані про доріжку..."
|
|||
msgid "Edit..."
|
||||
msgstr "Змінити..."
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr "Редагування %n доріжок"
|
||||
|
||||
|
@ -1221,6 +1221,9 @@ msgstr "Не достатньо учасників"
|
|||
msgid "Not enough neighbors"
|
||||
msgstr "Недостатньо сусідів"
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr "Тип повідомлення"
|
||||
|
||||
|
@ -2033,7 +2036,7 @@ msgstr "Zero"
|
|||
msgid "[click to edit]"
|
||||
msgstr "[клацніть, щоб змінити]"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr "додати %n композицій"
|
||||
|
||||
|
@ -2053,7 +2056,7 @@ msgstr "перемістити композиції"
|
|||
msgid "options"
|
||||
msgstr "параметри"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr "вилучити %n композицій"
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-06-07 01:43+0000\n"
|
||||
"Last-Translator: David Sansome <me@davidsansome.com>\n"
|
||||
"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: \n"
|
||||
"X-Launchpad-Export-Date: 2010-06-08 03:51+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
|
@ -56,15 +56,15 @@ msgstr ""
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr ""
|
||||
|
||||
|
@ -665,7 +665,7 @@ msgstr ""
|
|||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1202,6 +1202,9 @@ msgstr ""
|
|||
msgid "Not enough neighbors"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2000,7 +2003,7 @@ msgstr ""
|
|||
msgid "[click to edit]"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2020,7 +2023,7 @@ msgstr ""
|
|||
msgid "options"
|
||||
msgstr "选项"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2010-09-04 20:24+0000\n"
|
||||
"Last-Translator: David Sansome <me@davidsansome.com>\n"
|
||||
"Language-Team: Chinese (Traditional) <zh_TW@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: \n"
|
||||
|
||||
msgid " ms"
|
||||
msgstr " 毫秒"
|
||||
|
@ -54,15 +54,15 @@ msgstr "%1 歌曲"
|
|||
msgid "%1: Wiimotedev module"
|
||||
msgstr ""
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n failed"
|
||||
msgstr "%n 失敗的"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n finished"
|
||||
msgstr "%n 完成的"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "%n remaining"
|
||||
msgstr "%n 剩餘的"
|
||||
|
||||
|
@ -667,7 +667,7 @@ msgstr "編輯歌曲資訊..."
|
|||
msgid "Edit..."
|
||||
msgstr "編輯..."
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "Editing %n tracks"
|
||||
msgstr "編輯 %n 歌曲"
|
||||
|
||||
|
@ -1205,6 +1205,9 @@ msgstr "沒有足夠的成員"
|
|||
msgid "Not enough neighbors"
|
||||
msgstr "沒有足夠的鄰居"
|
||||
|
||||
msgid "Not mounted - double click to mount"
|
||||
msgstr ""
|
||||
|
||||
msgid "Notification type"
|
||||
msgstr "通知型式"
|
||||
|
||||
|
@ -2005,7 +2008,7 @@ msgstr ""
|
|||
msgid "[click to edit]"
|
||||
msgstr "[點擊以編輯]"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "add %n songs"
|
||||
msgstr "加入 %n 歌"
|
||||
|
||||
|
@ -2025,7 +2028,7 @@ msgstr "移動歌曲"
|
|||
msgid "options"
|
||||
msgstr "選項"
|
||||
|
||||
#, c-format, qt-plural-format
|
||||
#, c-format
|
||||
msgid "remove %n songs"
|
||||
msgstr "移除 %n 歌"
|
||||
|
||||
|
|
Loading…
Reference in New Issue