aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2011-10-01 12:33:51 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2011-10-01 12:33:51 +0000
commite3ab83869f4b74e485964720f941fed22ce035ea (patch)
tree770ed571f9fc0c83cce2addb75148f60fd39c4dd
parent041067950f9a2f01ebb1a27db2e811a1167e508d (diff)
downloadqmmp-e3ab83869f4b74e485964720f941fed22ce035ea.tar.gz
qmmp-e3ab83869f4b74e485964720f941fed22ce035ea.tar.bz2
qmmp-e3ab83869f4b74e485964720f941fed22ce035ea.zip
implemented converter settings, fixed build
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2364 90c681e8-e032-0410-971d-27865f9a5e38
-rw-r--r--src/plugins/General/General.pro3
-rw-r--r--src/plugins/General/converter/CMakeLists.txt67
-rw-r--r--src/plugins/General/converter/converter.cpp25
-rw-r--r--src/plugins/General/converter/converter.pro28
-rw-r--r--src/plugins/General/converter/converterdialog.cpp61
-rw-r--r--src/plugins/General/converter/converterdialog.h10
-rw-r--r--src/plugins/General/converter/converterdialog.ui17
-rw-r--r--src/plugins/General/converter/converterfactory.cpp6
-rw-r--r--src/plugins/General/converter/translations/converter_plugin_cs.ts165
-rw-r--r--src/plugins/General/converter/translations/converter_plugin_de.ts165
-rw-r--r--src/plugins/General/converter/translations/converter_plugin_es.ts165
-rw-r--r--src/plugins/General/converter/translations/converter_plugin_it.ts165
-rw-r--r--src/plugins/General/converter/translations/converter_plugin_ja.ts165
-rw-r--r--src/plugins/General/converter/translations/converter_plugin_lt.ts165
-rw-r--r--src/plugins/General/converter/translations/converter_plugin_nl.ts165
-rw-r--r--src/plugins/General/converter/translations/converter_plugin_pl.ts165
-rw-r--r--src/plugins/General/converter/translations/converter_plugin_ru.ts165
-rw-r--r--src/plugins/General/converter/translations/converter_plugin_tr.ts165
-rw-r--r--src/plugins/General/converter/translations/converter_plugin_uk_UA.ts165
-rw-r--r--src/plugins/General/converter/translations/converter_plugin_zh_CN.ts165
-rw-r--r--src/plugins/General/converter/translations/converter_plugin_zh_TW.ts165
-rw-r--r--src/plugins/General/converter/translations/translations.qrc18
22 files changed, 2354 insertions, 26 deletions
diff --git a/src/plugins/General/General.pro b/src/plugins/General/General.pro
index 4fb1e2f19..de28bea17 100644
--- a/src/plugins/General/General.pro
+++ b/src/plugins/General/General.pro
@@ -8,5 +8,6 @@ unix:SUBDIRS += mpris \
udisks \
hotkey \
covermanager \
- kdenotify
+ kdenotify \
+ converter
TEMPLATE = subdirs
diff --git a/src/plugins/General/converter/CMakeLists.txt b/src/plugins/General/converter/CMakeLists.txt
new file mode 100644
index 000000000..e3f28412c
--- /dev/null
+++ b/src/plugins/General/converter/CMakeLists.txt
@@ -0,0 +1,67 @@
+project(libconverter)
+
+cmake_minimum_required(VERSION 2.4.7)
+
+include(${QT_USE_FILE})
+
+if(COMMAND cmake_policy)
+cmake_policy(SET CMP0003 NEW)
+endif(COMMAND cmake_policy)
+
+
+# qt plugin
+ADD_DEFINITIONS( -Wall )
+ADD_DEFINITIONS(${QT_DEFINITIONS})
+ADD_DEFINITIONS(-DQT_PLUGIN)
+ADD_DEFINITIONS(-DQT_NO_DEBUG)
+ADD_DEFINITIONS(-DQT_SHARED)
+ADD_DEFINITIONS(-DQT_THREAD)
+
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+SET(QT_INCLUDES
+ ${QT_INCLUDES}
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../
+)
+
+# libqmmpui & libqmmp
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../)
+link_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../qmmpui)
+link_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../qmmp)
+
+SET(libconverter_SRCS
+ converterfactory.cpp
+ converter.cpp
+ converterhelper.cpp
+ converterdialog.cpp
+)
+
+SET(libconverter_MOC_HDRS
+ converterfactory.h
+ converter.h
+ converterhelper.h
+ converterdialog.h
+)
+
+SET(libconverter_RCCS
+ translations/translations.qrc)
+
+QT4_ADD_RESOURCES(libconverter_RCC_SRCS ${libconverter_RCCS})
+
+QT4_WRAP_CPP(libconverter_MOC_SRCS ${libconverter_MOC_HDRS})
+
+# user interface
+
+SET(libconverter_UIS
+ converterdialog.ui
+)
+
+QT4_WRAP_UI(libconverter_UIS_H ${libconverter_UIS})
+# Don't forget to include output directory, otherwise
+# the UI file won't be wrapped!
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+ADD_LIBRARY(converter MODULE ${libconverter_SRCS} ${libconverter_MOC_SRCS} ${libconverter_UIS_H} ${libconverter_RCC_SRCS})
+add_dependencies(converter qmmpui)
+target_link_libraries(converter ${QT_LIBRARIES} -lqmmpui -lqmmp)
+install(TARGETS converter DESTINATION ${LIB_DIR}/qmmp/General)
diff --git a/src/plugins/General/converter/converter.cpp b/src/plugins/General/converter/converter.cpp
index 23ce7599f..3a205472f 100644
--- a/src/plugins/General/converter/converter.cpp
+++ b/src/plugins/General/converter/converter.cpp
@@ -22,7 +22,11 @@
#include <QStringList>
#include <qmmp/inputsourcefactory.h>
#include <qmmp/decoderfactory.h>
+#include <qmmp/metadatamanager.h>
+#include <qmmpui/metadataformatter.h>
#include <QtEndian>
+#include <QSettings>
+#include <QDesktopServices>
#include <math.h>
#include "converter.h"
@@ -85,10 +89,29 @@ void Converter::add(const QString &url)
void Converter::run()
{
+ QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
+ QString music_path = QDesktopServices::storageLocation(QDesktopServices::MusicLocation);
+ QString path = settings.value("Converter/out_dir", music_path).toString();
+ QString pattern = settings.value("Converter/file_name","%p - %t").toString();
+ MetaDataFormatter formatter(pattern);
+
while(!m_decoders.isEmpty())
{
Decoder *decoder = m_decoders.dequeue();
AudioParameters ap = decoder->audioParameters();
+ QString url = m_inputs[decoder]->url();
+
+ QList <FileInfo *> list = MetaDataManager::instance()->createPlayList(url);
+
+ if(list.isEmpty())
+ {
+ //ignore
+ }
+
+ QString name = formatter.parse(list[0]->metaData(), list[0]->length());
+ QString full_path = path + "/" + name + ".ogg";
+ QString command = "oggenc -q 1 -o %f -";
+ command.replace("%f", "\"" + full_path + "\"");
char wave_header[] = { 0x52, 0x49, 0x46, 0x46, //"RIFF"
0x00, 0x00, 0x00, 0x00, //(file size) - 8
@@ -116,7 +139,7 @@ void Converter::run()
memcpy(&wave_header[40], &size, 4);
//FILE *enc_pipe = fopen("/mnt/win_e/out.wav", "w");
- FILE *enc_pipe = popen("oggenc -q 1 -o \"/mnt/win_e/out 55.ogg\" -", "w");
+ FILE *enc_pipe = popen(qPrintable(command), "w");
if(!enc_pipe)
{
qWarning("Converter: unable to open pipe");
diff --git a/src/plugins/General/converter/converter.pro b/src/plugins/General/converter/converter.pro
index 24fcf00ce..32a60eb82 100644
--- a/src/plugins/General/converter/converter.pro
+++ b/src/plugins/General/converter/converter.pro
@@ -16,20 +16,20 @@ unix:LIBS += -lqmmpui -lqmmp
win32:QMAKE_LIBDIR += ../../../../bin
win32:LIBS += -lqmmpui0 -lqmmp0
-#TRANSLATIONS = translations/converter_plugin_cs.ts \
-# translations/converter_plugin_de.ts \
-# translations/converter_plugin_zh_CN.ts \
-# translations/converter_plugin_zh_TW.ts \
-# translations/converter_plugin_ru.ts \
-# translations/converter_plugin_pl.ts \
-# translations/converter_plugin_uk_UA.ts \
-# translations/converter_plugin_it.ts \
-# translations/converter_plugin_tr.ts \
-# translations/converter_plugin_lt.ts \
-# translations/converter_plugin_nl.ts \
-# translations/converter_plugin_ja.ts \
-# translations/converter_plugin_es.ts
-#RESOURCES = translations/translations.qrc
+TRANSLATIONS = translations/converter_plugin_cs.ts \
+ translations/converter_plugin_de.ts \
+ translations/converter_plugin_zh_CN.ts \
+ translations/converter_plugin_zh_TW.ts \
+ translations/converter_plugin_ru.ts \
+ translations/converter_plugin_pl.ts \
+ translations/converter_plugin_uk_UA.ts \
+ translations/converter_plugin_it.ts \
+ translations/converter_plugin_tr.ts \
+ translations/converter_plugin_lt.ts \
+ translations/converter_plugin_nl.ts \
+ translations/converter_plugin_ja.ts \
+ translations/converter_plugin_es.ts
+RESOURCES = translations/translations.qrc
unix{
isEmpty(LIB_DIR){
LIB_DIR = /lib
diff --git a/src/plugins/General/converter/converterdialog.cpp b/src/plugins/General/converter/converterdialog.cpp
index 501d92ead..d2950961c 100644
--- a/src/plugins/General/converter/converterdialog.cpp
+++ b/src/plugins/General/converter/converterdialog.cpp
@@ -18,16 +18,18 @@
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
+#include <QSettings>
+#include <QDesktopServices>
+#include <QMenu>
#include <qmmpui/playlistitem.h>
#include <qmmpui/metadataformatter.h>
+#include <qmmpui/filedialog.h>
#include "converterdialog.h"
ConverterDialog::ConverterDialog(QList <PlayListItem *> items, QWidget *parent) : QDialog(parent)
{
ui.setupUi(this);
-
MetaDataFormatter formatter("%p%if(%p&%t, - ,)%t - %l");
-
foreach(PlayListItem *item , items)
{
QString text = formatter.parse(item);
@@ -36,6 +38,13 @@ ConverterDialog::ConverterDialog(QList <PlayListItem *> items, QWidget *parent)
listItem->setCheckState(Qt::Checked);
ui.itemsListWidget->addItem(listItem);
}
+ QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
+ settings.beginGroup("Converter");
+ QString music_path = QDesktopServices::storageLocation(QDesktopServices::MusicLocation);
+ ui.outDirEdit->setText(settings.value("out_dir", music_path).toString());
+ ui.outFileEdit->setText(settings.value("file_name","%p - %t").toString());
+ settings.endGroup();
+ createMenus();
}
QStringList ConverterDialog::selectedUrls() const
@@ -48,3 +57,51 @@ QStringList ConverterDialog::selectedUrls() const
}
return out;
}
+
+void ConverterDialog::on_dirButton_clicked()
+{
+ QString dir = FileDialog::getExistingDirectory(this, tr("Choose a directory"),
+ ui.outDirEdit->text());
+ if(!dir.isEmpty())
+ ui.outDirEdit->setText(dir);
+}
+
+void ConverterDialog::accept()
+{
+ QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
+ settings.beginGroup("Converter");
+ settings.setValue("out_dir", ui.outDirEdit->text());
+ settings.value("file_name", ui.outFileEdit->text());
+ settings.endGroup();
+ QDialog::accept();
+}
+
+void ConverterDialog::createMenus()
+{
+ QMenu *menu = new QMenu(this);
+ menu->addAction(tr("Artist"))->setData("%p");
+ menu->addAction(tr("Album"))->setData("%a");
+ menu->addAction(tr("Title"))->setData("%t");
+ menu->addAction(tr("Track number"))->setData("%n");
+ menu->addAction(tr("Two-digit track number"))->setData("%NN");
+ menu->addAction(tr("Genre"))->setData("%g");
+ menu->addAction(tr("Comment"))->setData("%c");
+ menu->addAction(tr("Composer"))->setData("%C");
+ menu->addAction(tr("Duration"))->setData("%l");
+ menu->addAction(tr("Disc number"))->setData("%D");
+ menu->addAction(tr("File name"))->setData("%f");
+ menu->addAction(tr("File path"))->setData("%F");
+ menu->addAction(tr("Year"))->setData("%y");
+ menu->addAction(tr("Condition"))->setData("%if(%p&%t,%p - %t,%f)");
+ ui.fileNameButton->setMenu(menu);
+ ui.fileNameButton->setPopupMode(QToolButton::InstantPopup);
+ connect(menu, SIGNAL(triggered(QAction *)), SLOT(addTitleString(QAction *)));
+}
+
+void ConverterDialog::addTitleString(QAction *a)
+{
+ if (ui.outFileEdit->cursorPosition () < 1)
+ ui.outFileEdit->insert(a->data().toString());
+ else
+ ui.outFileEdit->insert(" - "+a->data().toString());
+}
diff --git a/src/plugins/General/converter/converterdialog.h b/src/plugins/General/converter/converterdialog.h
index 154357176..025b209e8 100644
--- a/src/plugins/General/converter/converterdialog.h
+++ b/src/plugins/General/converter/converterdialog.h
@@ -25,6 +25,7 @@
#include <QStringList>
#include "ui_converterdialog.h"
+class QAction;
class PlayListItem;
/**
@@ -37,7 +38,16 @@ public:
explicit ConverterDialog(QList <PlayListItem *> items, QWidget *parent = 0);
QStringList selectedUrls() const;
+public slots:
+ virtual void accept();
+
+private slots:
+ void on_dirButton_clicked();
+ void addTitleString(QAction *a);
+
private:
+ void createMenus();
+
Ui::ConverterDialog ui;
};
diff --git a/src/plugins/General/converter/converterdialog.ui b/src/plugins/General/converter/converterdialog.ui
index b93390499..c2a593c47 100644
--- a/src/plugins/General/converter/converterdialog.ui
+++ b/src/plugins/General/converter/converterdialog.ui
@@ -11,7 +11,7 @@
</rect>
</property>
<property name="windowTitle">
- <string>Dialog</string>
+ <string>Converter Settings</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<property name="leftMargin">
@@ -60,17 +60,17 @@
<item row="4" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
- <string>Preseed:</string>
+ <string>Preset:</string>
</property>
</widget>
</item>
- <item row="4" column="1" colspan="2">
+ <item row="4" column="1">
<widget class="QComboBox" name="comboBox"/>
</item>
- <item row="5" column="0" colspan="2">
+ <item row="5" column="0" colspan="3">
<widget class="QCheckBox" name="checkBox">
<property name="text">
- <string>CheckBox</string>
+ <string>Overwrite existing files</string>
</property>
</widget>
</item>
@@ -95,6 +95,13 @@
</property>
</widget>
</item>
+ <item row="4" column="2">
+ <widget class="QToolButton" name="toolButton">
+ <property name="text">
+ <string>...</string>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
<resources/>
diff --git a/src/plugins/General/converter/converterfactory.cpp b/src/plugins/General/converter/converterfactory.cpp
index a452d32b9..9dac2a1b7 100644
--- a/src/plugins/General/converter/converterfactory.cpp
+++ b/src/plugins/General/converter/converterfactory.cpp
@@ -27,7 +27,7 @@ const GeneralProperties ConverterFactory::properties() const
GeneralProperties properties;
properties.name = tr("Converter Plugin");
properties.shortName = "converter";
- properties.hasAbout = true;
+ properties.hasAbout = false;
properties.hasSettings = false;
properties.visibilityControl = false;
return properties;
@@ -46,10 +46,10 @@ QDialog *ConverterFactory::createConfigDialog(QWidget *parent)
void ConverterFactory::showAbout(QWidget *parent)
{
- /*QMessageBox::about (parent, tr("About Converter Plugin"),
+ QMessageBox::about (parent, tr("About Converter Plugin"),
tr("Qmmp Converter Plugin")+"\n"+
tr("")+"\n"+
- tr("Written by: Ilya Kotov <forkotov02@hotmail.ru>"));*/
+ tr("Written by: Ilya Kotov <forkotov02@hotmail.ru>"));
}
QTranslator *ConverterFactory::createTranslator(QObject *parent)
diff --git a/src/plugins/General/converter/translations/converter_plugin_cs.ts b/src/plugins/General/converter/translations/converter_plugin_cs.ts
new file mode 100644
index 000000000..6fb78b176
--- /dev/null
+++ b/src/plugins/General/converter/translations/converter_plugin_cs.ts
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="cs">
+<context>
+ <name>ConverterDialog</name>
+ <message>
+ <location filename="../converterdialog.ui" line="14"/>
+ <source>Converter Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="29"/>
+ <source>Select files to convert:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="43"/>
+ <source>Output file directory:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="53"/>
+ <source>Output file name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="63"/>
+ <source>Preset:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="73"/>
+ <source>Overwrite existing files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="87"/>
+ <location filename="../converterdialog.ui" line="94"/>
+ <location filename="../converterdialog.ui" line="101"/>
+ <source>...</source>
+ <translation type="unfinished">…</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="63"/>
+ <source>Choose a directory</source>
+ <translation type="unfinished">Vyberte adresář</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="82"/>
+ <source>Artist</source>
+ <translation type="unfinished">Umělec</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="83"/>
+ <source>Album</source>
+ <translation type="unfinished">Album</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="84"/>
+ <source>Title</source>
+ <translation type="unfinished">Název</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="85"/>
+ <source>Track number</source>
+ <translation type="unfinished">Číslo stopy</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="86"/>
+ <source>Two-digit track number</source>
+ <translation type="unfinished">Dvoumístné číslo stopy</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="87"/>
+ <source>Genre</source>
+ <translation type="unfinished">Žánr</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="88"/>
+ <source>Comment</source>
+ <translation type="unfinished">Poznámka</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="89"/>
+ <source>Composer</source>
+ <translation type="unfinished">Skladatel</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="90"/>
+ <source>Duration</source>
+ <translation type="unfinished">Délka</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="91"/>
+ <source>Disc number</source>
+ <translation type="unfinished">Číslo disku</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="92"/>
+ <source>File name</source>
+ <translation type="unfinished">Název souboru</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="93"/>
+ <source>File path</source>
+ <translation type="unfinished">Cesta k souboru</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="94"/>
+ <source>Year</source>
+ <translation type="unfinished">Rok</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="95"/>
+ <source>Condition</source>
+ <translation type="unfinished">Stav</translation>
+ </message>
+</context>
+<context>
+ <name>ConverterFactory</name>
+ <message>
+ <location filename="../converterfactory.cpp" line="28"/>
+ <source>Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="49"/>
+ <source>About Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="50"/>
+ <source>Qmmp Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="52"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Autor: Ilja Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>ConverterHelper</name>
+ <message>
+ <location filename="../converterhelper.cpp" line="35"/>
+ <source>Convert</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="36"/>
+ <source>Meta+C</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="42"/>
+ <source>Converting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="43"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/General/converter/translations/converter_plugin_de.ts b/src/plugins/General/converter/translations/converter_plugin_de.ts
new file mode 100644
index 000000000..a501923e5
--- /dev/null
+++ b/src/plugins/General/converter/translations/converter_plugin_de.ts
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="de_DE">
+<context>
+ <name>ConverterDialog</name>
+ <message>
+ <location filename="../converterdialog.ui" line="14"/>
+ <source>Converter Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="29"/>
+ <source>Select files to convert:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="43"/>
+ <source>Output file directory:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="53"/>
+ <source>Output file name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="63"/>
+ <source>Preset:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="73"/>
+ <source>Overwrite existing files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="87"/>
+ <location filename="../converterdialog.ui" line="94"/>
+ <location filename="../converterdialog.ui" line="101"/>
+ <source>...</source>
+ <translation type="unfinished">…</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="63"/>
+ <source>Choose a directory</source>
+ <translation type="unfinished">Ein Verzeichnis wählen</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="82"/>
+ <source>Artist</source>
+ <translation type="unfinished">Interpret</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="83"/>
+ <source>Album</source>
+ <translation type="unfinished">Album</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="84"/>
+ <source>Title</source>
+ <translation type="unfinished">Titel</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="85"/>
+ <source>Track number</source>
+ <translation type="unfinished">Stücknummer</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="86"/>
+ <source>Two-digit track number</source>
+ <translation type="unfinished">Zweistellige Stücknummer</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="87"/>
+ <source>Genre</source>
+ <translation type="unfinished">Genre</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="88"/>
+ <source>Comment</source>
+ <translation type="unfinished">Kommentar</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="89"/>
+ <source>Composer</source>
+ <translation type="unfinished">Komponist</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="90"/>
+ <source>Duration</source>
+ <translation type="unfinished">Abspieldauer</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="91"/>
+ <source>Disc number</source>
+ <translation type="unfinished">CD-Nummer</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="92"/>
+ <source>File name</source>
+ <translation type="unfinished">Dateiname</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="93"/>
+ <source>File path</source>
+ <translation type="unfinished">Dateipfad</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="94"/>
+ <source>Year</source>
+ <translation type="unfinished">Jahr</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="95"/>
+ <source>Condition</source>
+ <translation type="unfinished">Zustand</translation>
+ </message>
+</context>
+<context>
+ <name>ConverterFactory</name>
+ <message>
+ <location filename="../converterfactory.cpp" line="28"/>
+ <source>Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="49"/>
+ <source>About Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="50"/>
+ <source>Qmmp Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="52"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Autor: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>ConverterHelper</name>
+ <message>
+ <location filename="../converterhelper.cpp" line="35"/>
+ <source>Convert</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="36"/>
+ <source>Meta+C</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="42"/>
+ <source>Converting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="43"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/General/converter/translations/converter_plugin_es.ts b/src/plugins/General/converter/translations/converter_plugin_es.ts
new file mode 100644
index 000000000..1aeb826bd
--- /dev/null
+++ b/src/plugins/General/converter/translations/converter_plugin_es.ts
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="es">
+<context>
+ <name>ConverterDialog</name>
+ <message>
+ <location filename="../converterdialog.ui" line="14"/>
+ <source>Converter Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="29"/>
+ <source>Select files to convert:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="43"/>
+ <source>Output file directory:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="53"/>
+ <source>Output file name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="63"/>
+ <source>Preset:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="73"/>
+ <source>Overwrite existing files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="87"/>
+ <location filename="../converterdialog.ui" line="94"/>
+ <location filename="../converterdialog.ui" line="101"/>
+ <source>...</source>
+ <translation type="unfinished">...</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="63"/>
+ <source>Choose a directory</source>
+ <translation type="unfinished">Elija un directorio</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="82"/>
+ <source>Artist</source>
+ <translation type="unfinished">Intérprete</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="83"/>
+ <source>Album</source>
+ <translation type="unfinished">Album</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="84"/>
+ <source>Title</source>
+ <translation type="unfinished">Título</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="85"/>
+ <source>Track number</source>
+ <translation type="unfinished">Número de pista</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="86"/>
+ <source>Two-digit track number</source>
+ <translation type="unfinished">Número de pista con dos cifras</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="87"/>
+ <source>Genre</source>
+ <translation type="unfinished">Género</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="88"/>
+ <source>Comment</source>
+ <translation type="unfinished">Comentario</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="89"/>
+ <source>Composer</source>
+ <translation type="unfinished">Compositor</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="90"/>
+ <source>Duration</source>
+ <translation type="unfinished">Duración</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="91"/>
+ <source>Disc number</source>
+ <translation type="unfinished">Número de disco</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="92"/>
+ <source>File name</source>
+ <translation type="unfinished">Nombre del archivo</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="93"/>
+ <source>File path</source>
+ <translation type="unfinished">Ruta del archivo</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="94"/>
+ <source>Year</source>
+ <translation type="unfinished">Año</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="95"/>
+ <source>Condition</source>
+ <translation type="unfinished">Condición</translation>
+ </message>
+</context>
+<context>
+ <name>ConverterFactory</name>
+ <message>
+ <location filename="../converterfactory.cpp" line="28"/>
+ <source>Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="49"/>
+ <source>About Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="50"/>
+ <source>Qmmp Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="52"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Escrito por: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>ConverterHelper</name>
+ <message>
+ <location filename="../converterhelper.cpp" line="35"/>
+ <source>Convert</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="36"/>
+ <source>Meta+C</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="42"/>
+ <source>Converting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="43"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/General/converter/translations/converter_plugin_it.ts b/src/plugins/General/converter/translations/converter_plugin_it.ts
new file mode 100644
index 000000000..55d6b742f
--- /dev/null
+++ b/src/plugins/General/converter/translations/converter_plugin_it.ts
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>ConverterDialog</name>
+ <message>
+ <location filename="../converterdialog.ui" line="14"/>
+ <source>Converter Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="29"/>
+ <source>Select files to convert:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="43"/>
+ <source>Output file directory:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="53"/>
+ <source>Output file name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="63"/>
+ <source>Preset:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="73"/>
+ <source>Overwrite existing files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="87"/>
+ <location filename="../converterdialog.ui" line="94"/>
+ <location filename="../converterdialog.ui" line="101"/>
+ <source>...</source>
+ <translation type="unfinished">...</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="63"/>
+ <source>Choose a directory</source>
+ <translation type="unfinished">Scegli una cartella</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="82"/>
+ <source>Artist</source>
+ <translation type="unfinished">Interprete</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="83"/>
+ <source>Album</source>
+ <translation type="unfinished">Album</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="84"/>
+ <source>Title</source>
+ <translation type="unfinished">Titolo</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="85"/>
+ <source>Track number</source>
+ <translation type="unfinished">Numero traccia</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="86"/>
+ <source>Two-digit track number</source>
+ <translation type="unfinished">Numero traccia su due cifre</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="87"/>
+ <source>Genre</source>
+ <translation type="unfinished">Genere</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="88"/>
+ <source>Comment</source>
+ <translation type="unfinished">Commento</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="89"/>
+ <source>Composer</source>
+ <translation type="unfinished">Compositore</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="90"/>
+ <source>Duration</source>
+ <translation type="unfinished">Durata</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="91"/>
+ <source>Disc number</source>
+ <translation type="unfinished">Disco num.</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="92"/>
+ <source>File name</source>
+ <translation type="unfinished">Nome documento</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="93"/>
+ <source>File path</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="94"/>
+ <source>Year</source>
+ <translation type="unfinished">Anno</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="95"/>
+ <source>Condition</source>
+ <translation type="unfinished">PErcorso documento</translation>
+ </message>
+</context>
+<context>
+ <name>ConverterFactory</name>
+ <message>
+ <location filename="../converterfactory.cpp" line="28"/>
+ <source>Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="49"/>
+ <source>About Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="50"/>
+ <source>Qmmp Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="52"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Autore: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>ConverterHelper</name>
+ <message>
+ <location filename="../converterhelper.cpp" line="35"/>
+ <source>Convert</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="36"/>
+ <source>Meta+C</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="42"/>
+ <source>Converting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="43"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/General/converter/translations/converter_plugin_ja.ts b/src/plugins/General/converter/translations/converter_plugin_ja.ts
new file mode 100644
index 000000000..a72951862
--- /dev/null
+++ b/src/plugins/General/converter/translations/converter_plugin_ja.ts
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="ja_JP">
+<context>
+ <name>ConverterDialog</name>
+ <message>
+ <location filename="../converterdialog.ui" line="14"/>
+ <source>Converter Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="29"/>
+ <source>Select files to convert:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="43"/>
+ <source>Output file directory:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="53"/>
+ <source>Output file name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="63"/>
+ <source>Preset:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="73"/>
+ <source>Overwrite existing files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="87"/>
+ <location filename="../converterdialog.ui" line="94"/>
+ <location filename="../converterdialog.ui" line="101"/>
+ <source>...</source>
+ <translation type="unfinished">...</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="63"/>
+ <source>Choose a directory</source>
+ <translation type="unfinished">ディレクトリを選択</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="82"/>
+ <source>Artist</source>
+ <translation type="unfinished">アーティスト</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="83"/>
+ <source>Album</source>
+ <translation type="unfinished">アルバム</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="84"/>
+ <source>Title</source>
+ <translation type="unfinished">タイトル</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="85"/>
+ <source>Track number</source>
+ <translation type="unfinished">トラック番号</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="86"/>
+ <source>Two-digit track number</source>
+ <translation type="unfinished">トラック番号 数字2桁</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="87"/>
+ <source>Genre</source>
+ <translation type="unfinished">ジャンル</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="88"/>
+ <source>Comment</source>
+ <translation type="unfinished">コメント</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="89"/>
+ <source>Composer</source>
+ <translation type="unfinished">作曲者</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="90"/>
+ <source>Duration</source>
+ <translation type="unfinished">演奏時間</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="91"/>
+ <source>Disc number</source>
+ <translation type="unfinished">ディスク番号</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="92"/>
+ <source>File name</source>
+ <translation type="unfinished">ファイル名</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="93"/>
+ <source>File path</source>
+ <translation type="unfinished">ファイルパス</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="94"/>
+ <source>Year</source>
+ <translation type="unfinished">年</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="95"/>
+ <source>Condition</source>
+ <translation type="unfinished">定番</translation>
+ </message>
+</context>
+<context>
+ <name>ConverterFactory</name>
+ <message>
+ <location filename="../converterfactory.cpp" line="28"/>
+ <source>Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="49"/>
+ <source>About Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="50"/>
+ <source>Qmmp Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="52"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">制作: Илья Котов (Ilya Kotov) &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>ConverterHelper</name>
+ <message>
+ <location filename="../converterhelper.cpp" line="35"/>
+ <source>Convert</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="36"/>
+ <source>Meta+C</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="42"/>
+ <source>Converting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="43"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/General/converter/translations/converter_plugin_lt.ts b/src/plugins/General/converter/translations/converter_plugin_lt.ts
new file mode 100644
index 000000000..9f673ed54
--- /dev/null
+++ b/src/plugins/General/converter/translations/converter_plugin_lt.ts
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="lt">
+<context>
+ <name>ConverterDialog</name>
+ <message>
+ <location filename="../converterdialog.ui" line="14"/>
+ <source>Converter Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="29"/>
+ <source>Select files to convert:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="43"/>
+ <source>Output file directory:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="53"/>
+ <source>Output file name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="63"/>
+ <source>Preset:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="73"/>
+ <source>Overwrite existing files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="87"/>
+ <location filename="../converterdialog.ui" line="94"/>
+ <location filename="../converterdialog.ui" line="101"/>
+ <source>...</source>
+ <translation type="unfinished">...</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="63"/>
+ <source>Choose a directory</source>
+ <translation type="unfinished">Pasirinkite aplanką</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="82"/>
+ <source>Artist</source>
+ <translation type="unfinished">Atlikėjas</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="83"/>
+ <source>Album</source>
+ <translation type="unfinished">Albumas</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="84"/>
+ <source>Title</source>
+ <translation type="unfinished">Pavadinimas</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="85"/>
+ <source>Track number</source>
+ <translation type="unfinished">Takelio numeris</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="86"/>
+ <source>Two-digit track number</source>
+ <translation type="unfinished">Dviejų skaitmenų takelio numeris</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="87"/>
+ <source>Genre</source>
+ <translation type="unfinished">Žanras</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="88"/>
+ <source>Comment</source>
+ <translation type="unfinished">Komentaras</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="89"/>
+ <source>Composer</source>
+ <translation type="unfinished">Autorius</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="90"/>
+ <source>Duration</source>
+ <translation type="unfinished">Trukmė</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="91"/>
+ <source>Disc number</source>
+ <translation type="unfinished">Disko numeris</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="92"/>
+ <source>File name</source>
+ <translation type="unfinished">Bylos pavadinimas</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="93"/>
+ <source>File path</source>
+ <translation type="unfinished">Bylos kelias</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="94"/>
+ <source>Year</source>
+ <translation type="unfinished">Metai</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="95"/>
+ <source>Condition</source>
+ <translation type="unfinished">Būklė</translation>
+ </message>
+</context>
+<context>
+ <name>ConverterFactory</name>
+ <message>
+ <location filename="../converterfactory.cpp" line="28"/>
+ <source>Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="49"/>
+ <source>About Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="50"/>
+ <source>Qmmp Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="52"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Sukūrė: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>ConverterHelper</name>
+ <message>
+ <location filename="../converterhelper.cpp" line="35"/>
+ <source>Convert</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="36"/>
+ <source>Meta+C</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="42"/>
+ <source>Converting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="43"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/General/converter/translations/converter_plugin_nl.ts b/src/plugins/General/converter/translations/converter_plugin_nl.ts
new file mode 100644
index 000000000..507a196c5
--- /dev/null
+++ b/src/plugins/General/converter/translations/converter_plugin_nl.ts
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="nl">
+<context>
+ <name>ConverterDialog</name>
+ <message>
+ <location filename="../converterdialog.ui" line="14"/>
+ <source>Converter Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="29"/>
+ <source>Select files to convert:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="43"/>
+ <source>Output file directory:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="53"/>
+ <source>Output file name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="63"/>
+ <source>Preset:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="73"/>
+ <source>Overwrite existing files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="87"/>
+ <location filename="../converterdialog.ui" line="94"/>
+ <location filename="../converterdialog.ui" line="101"/>
+ <source>...</source>
+ <translation type="unfinished">…</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="63"/>
+ <source>Choose a directory</source>
+ <translation type="unfinished">Kies een map</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="82"/>
+ <source>Artist</source>
+ <translation type="unfinished">Artiest</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="83"/>
+ <source>Album</source>
+ <translation type="unfinished">Album</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="84"/>
+ <source>Title</source>
+ <translation type="unfinished">Naam</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="85"/>
+ <source>Track number</source>
+ <translation type="unfinished">Liednummer</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="86"/>
+ <source>Two-digit track number</source>
+ <translation type="unfinished">Twee-getal liednummer</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="87"/>
+ <source>Genre</source>
+ <translation type="unfinished">Genre</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="88"/>
+ <source>Comment</source>
+ <translation type="unfinished">Commentaar</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="89"/>
+ <source>Composer</source>
+ <translation type="unfinished">Componist</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="90"/>
+ <source>Duration</source>
+ <translation type="unfinished">Duur</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="91"/>
+ <source>Disc number</source>
+ <translation type="unfinished">CD nummer</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="92"/>
+ <source>File name</source>
+ <translation type="unfinished">Bestandsnaam</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="93"/>
+ <source>File path</source>
+ <translation type="unfinished">Pad</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="94"/>
+ <source>Year</source>
+ <translation type="unfinished">Jaar</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="95"/>
+ <source>Condition</source>
+ <translation type="unfinished">Staat</translation>
+ </message>
+</context>
+<context>
+ <name>ConverterFactory</name>
+ <message>
+ <location filename="../converterfactory.cpp" line="28"/>
+ <source>Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="49"/>
+ <source>About Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="50"/>
+ <source>Qmmp Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="52"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Auteur: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>ConverterHelper</name>
+ <message>
+ <location filename="../converterhelper.cpp" line="35"/>
+ <source>Convert</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="36"/>
+ <source>Meta+C</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="42"/>
+ <source>Converting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="43"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/General/converter/translations/converter_plugin_pl.ts b/src/plugins/General/converter/translations/converter_plugin_pl.ts
new file mode 100644
index 000000000..160f37541
--- /dev/null
+++ b/src/plugins/General/converter/translations/converter_plugin_pl.ts
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="pl_PL">
+<context>
+ <name>ConverterDialog</name>
+ <message>
+ <location filename="../converterdialog.ui" line="14"/>
+ <source>Converter Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="29"/>
+ <source>Select files to convert:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="43"/>
+ <source>Output file directory:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="53"/>
+ <source>Output file name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="63"/>
+ <source>Preset:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="73"/>
+ <source>Overwrite existing files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="87"/>
+ <location filename="../converterdialog.ui" line="94"/>
+ <location filename="../converterdialog.ui" line="101"/>
+ <source>...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="63"/>
+ <source>Choose a directory</source>
+ <translation type="unfinished">Wybierz katalog</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="82"/>
+ <source>Artist</source>
+ <translation type="unfinished">Artysta</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="83"/>
+ <source>Album</source>
+ <translation type="unfinished">Album</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="84"/>
+ <source>Title</source>
+ <translation type="unfinished">Tytuł</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="85"/>
+ <source>Track number</source>
+ <translation type="unfinished">Numer utworu</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="86"/>
+ <source>Two-digit track number</source>
+ <translation type="unfinished">Dwucyfrowy numer utworu</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="87"/>
+ <source>Genre</source>
+ <translation type="unfinished">Gatunek</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="88"/>
+ <source>Comment</source>
+ <translation type="unfinished">Komentarz</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="89"/>
+ <source>Composer</source>
+ <translation type="unfinished">Kompozytor</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="90"/>
+ <source>Duration</source>
+ <translation type="unfinished">Długość</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="91"/>
+ <source>Disc number</source>
+ <translation type="unfinished">Numer płyty</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="92"/>
+ <source>File name</source>
+ <translation type="unfinished">Nazwa pliku</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="93"/>
+ <source>File path</source>
+ <translation type="unfinished">Ścieżka pliku</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="94"/>
+ <source>Year</source>
+ <translation type="unfinished">Rok</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="95"/>
+ <source>Condition</source>
+ <translation type="unfinished">Warunek</translation>
+ </message>
+</context>
+<context>
+ <name>ConverterFactory</name>
+ <message>
+ <location filename="../converterfactory.cpp" line="28"/>
+ <source>Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="49"/>
+ <source>About Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="50"/>
+ <source>Qmmp Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="52"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Autor: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>ConverterHelper</name>
+ <message>
+ <location filename="../converterhelper.cpp" line="35"/>
+ <source>Convert</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="36"/>
+ <source>Meta+C</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="42"/>
+ <source>Converting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="43"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/General/converter/translations/converter_plugin_ru.ts b/src/plugins/General/converter/translations/converter_plugin_ru.ts
new file mode 100644
index 000000000..bda9c85b9
--- /dev/null
+++ b/src/plugins/General/converter/translations/converter_plugin_ru.ts
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="ru_RU">
+<context>
+ <name>ConverterDialog</name>
+ <message>
+ <location filename="../converterdialog.ui" line="14"/>
+ <source>Converter Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="29"/>
+ <source>Select files to convert:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="43"/>
+ <source>Output file directory:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="53"/>
+ <source>Output file name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="63"/>
+ <source>Preset:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="73"/>
+ <source>Overwrite existing files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="87"/>
+ <location filename="../converterdialog.ui" line="94"/>
+ <location filename="../converterdialog.ui" line="101"/>
+ <source>...</source>
+ <translation type="unfinished">...</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="63"/>
+ <source>Choose a directory</source>
+ <translation type="unfinished">Выберите директорию</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="82"/>
+ <source>Artist</source>
+ <translation type="unfinished">Исполнитель</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="83"/>
+ <source>Album</source>
+ <translation type="unfinished">Альбом</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="84"/>
+ <source>Title</source>
+ <translation type="unfinished">Название</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="85"/>
+ <source>Track number</source>
+ <translation type="unfinished">Номер трека</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="86"/>
+ <source>Two-digit track number</source>
+ <translation type="unfinished">2-х разрядный номер трека</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="87"/>
+ <source>Genre</source>
+ <translation type="unfinished">Жанр</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="88"/>
+ <source>Comment</source>
+ <translation type="unfinished">Комментарий</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="89"/>
+ <source>Composer</source>
+ <translation type="unfinished">Композитор</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="90"/>
+ <source>Duration</source>
+ <translation type="unfinished">Длительность</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="91"/>
+ <source>Disc number</source>
+ <translation type="unfinished">Номер диска</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="92"/>
+ <source>File name</source>
+ <translation type="unfinished">Имя файла</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="93"/>
+ <source>File path</source>
+ <translation type="unfinished">Путь к файлу</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="94"/>
+ <source>Year</source>
+ <translation type="unfinished">Год</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="95"/>
+ <source>Condition</source>
+ <translation type="unfinished">Условие</translation>
+ </message>
+</context>
+<context>
+ <name>ConverterFactory</name>
+ <message>
+ <location filename="../converterfactory.cpp" line="28"/>
+ <source>Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="49"/>
+ <source>About Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="50"/>
+ <source>Qmmp Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="52"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Разработчик: Илья Котов &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>ConverterHelper</name>
+ <message>
+ <location filename="../converterhelper.cpp" line="35"/>
+ <source>Convert</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="36"/>
+ <source>Meta+C</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="42"/>
+ <source>Converting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="43"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/General/converter/translations/converter_plugin_tr.ts b/src/plugins/General/converter/translations/converter_plugin_tr.ts
new file mode 100644
index 000000000..1d3ef6997
--- /dev/null
+++ b/src/plugins/General/converter/translations/converter_plugin_tr.ts
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="tr_TR">
+<context>
+ <name>ConverterDialog</name>
+ <message>
+ <location filename="../converterdialog.ui" line="14"/>
+ <source>Converter Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="29"/>
+ <source>Select files to convert:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="43"/>
+ <source>Output file directory:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="53"/>
+ <source>Output file name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="63"/>
+ <source>Preset:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="73"/>
+ <source>Overwrite existing files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="87"/>
+ <location filename="../converterdialog.ui" line="94"/>
+ <location filename="../converterdialog.ui" line="101"/>
+ <source>...</source>
+ <translation type="unfinished">...</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="63"/>
+ <source>Choose a directory</source>
+ <translation type="unfinished">Dizin seç</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="82"/>
+ <source>Artist</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="83"/>
+ <source>Album</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="84"/>
+ <source>Title</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="85"/>
+ <source>Track number</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="86"/>
+ <source>Two-digit track number</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="87"/>
+ <source>Genre</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="88"/>
+ <source>Comment</source>
+ <translation type="unfinished">Yorum</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="89"/>
+ <source>Composer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="90"/>
+ <source>Duration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="91"/>
+ <source>Disc number</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="92"/>
+ <source>File name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="93"/>
+ <source>File path</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="94"/>
+ <source>Year</source>
+ <translation type="unfinished">Yıl</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="95"/>
+ <source>Condition</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ConverterFactory</name>
+ <message>
+ <location filename="../converterfactory.cpp" line="28"/>
+ <source>Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="49"/>
+ <source>About Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="50"/>
+ <source>Qmmp Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="52"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Yazan: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>ConverterHelper</name>
+ <message>
+ <location filename="../converterhelper.cpp" line="35"/>
+ <source>Convert</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="36"/>
+ <source>Meta+C</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="42"/>
+ <source>Converting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="43"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/General/converter/translations/converter_plugin_uk_UA.ts b/src/plugins/General/converter/translations/converter_plugin_uk_UA.ts
new file mode 100644
index 000000000..7b832652c
--- /dev/null
+++ b/src/plugins/General/converter/translations/converter_plugin_uk_UA.ts
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="uk">
+<context>
+ <name>ConverterDialog</name>
+ <message>
+ <location filename="../converterdialog.ui" line="14"/>
+ <source>Converter Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="29"/>
+ <source>Select files to convert:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="43"/>
+ <source>Output file directory:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="53"/>
+ <source>Output file name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="63"/>
+ <source>Preset:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="73"/>
+ <source>Overwrite existing files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="87"/>
+ <location filename="../converterdialog.ui" line="94"/>
+ <location filename="../converterdialog.ui" line="101"/>
+ <source>...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="63"/>
+ <source>Choose a directory</source>
+ <translation type="unfinished">Виберіть теку</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="82"/>
+ <source>Artist</source>
+ <translation type="unfinished">Виконавець</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="83"/>
+ <source>Album</source>
+ <translation type="unfinished">Альбом</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="84"/>
+ <source>Title</source>
+ <translation type="unfinished">Назва</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="85"/>
+ <source>Track number</source>
+ <translation type="unfinished">Номер трека</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="86"/>
+ <source>Two-digit track number</source>
+ <translation type="unfinished">2-розрядний номер трека</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="87"/>
+ <source>Genre</source>
+ <translation type="unfinished">Жанр</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="88"/>
+ <source>Comment</source>
+ <translation type="unfinished">Коментар</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="89"/>
+ <source>Composer</source>
+ <translation type="unfinished">Композитор</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="90"/>
+ <source>Duration</source>
+ <translation type="unfinished">Тривалість</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="91"/>
+ <source>Disc number</source>
+ <translation type="unfinished">Номер диска</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="92"/>
+ <source>File name</source>
+ <translation type="unfinished">Ім&apos;я файла</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="93"/>
+ <source>File path</source>
+ <translation type="unfinished">Шлях до файла</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="94"/>
+ <source>Year</source>
+ <translation type="unfinished">Рік</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="95"/>
+ <source>Condition</source>
+ <translation type="unfinished">Умова</translation>
+ </message>
+</context>
+<context>
+ <name>ConverterFactory</name>
+ <message>
+ <location filename="../converterfactory.cpp" line="28"/>
+ <source>Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="49"/>
+ <source>About Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="50"/>
+ <source>Qmmp Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="52"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Розробник: Ілля Котов &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>ConverterHelper</name>
+ <message>
+ <location filename="../converterhelper.cpp" line="35"/>
+ <source>Convert</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="36"/>
+ <source>Meta+C</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="42"/>
+ <source>Converting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="43"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/General/converter/translations/converter_plugin_zh_CN.ts b/src/plugins/General/converter/translations/converter_plugin_zh_CN.ts
new file mode 100644
index 000000000..186505f95
--- /dev/null
+++ b/src/plugins/General/converter/translations/converter_plugin_zh_CN.ts
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="zh_CN">
+<context>
+ <name>ConverterDialog</name>
+ <message>
+ <location filename="../converterdialog.ui" line="14"/>
+ <source>Converter Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="29"/>
+ <source>Select files to convert:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="43"/>
+ <source>Output file directory:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="53"/>
+ <source>Output file name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="63"/>
+ <source>Preset:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="73"/>
+ <source>Overwrite existing files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="87"/>
+ <location filename="../converterdialog.ui" line="94"/>
+ <location filename="../converterdialog.ui" line="101"/>
+ <source>...</source>
+ <translation type="unfinished">...</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="63"/>
+ <source>Choose a directory</source>
+ <translation type="unfinished">选择一个目录</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="82"/>
+ <source>Artist</source>
+ <translation type="unfinished">艺术家</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="83"/>
+ <source>Album</source>
+ <translation type="unfinished">专辑</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="84"/>
+ <source>Title</source>
+ <translation type="unfinished">标题</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="85"/>
+ <source>Track number</source>
+ <translation type="unfinished">音轨编号</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="86"/>
+ <source>Two-digit track number</source>
+ <translation type="unfinished">两位数音轨编号</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="87"/>
+ <source>Genre</source>
+ <translation type="unfinished">流派</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="88"/>
+ <source>Comment</source>
+ <translation type="unfinished">备注</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="89"/>
+ <source>Composer</source>
+ <translation type="unfinished">作曲</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="90"/>
+ <source>Duration</source>
+ <translation type="unfinished">持续时间</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="91"/>
+ <source>Disc number</source>
+ <translation type="unfinished">光盘编号</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="92"/>
+ <source>File name</source>
+ <translation type="unfinished">文件名</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="93"/>
+ <source>File path</source>
+ <translation type="unfinished">文件路径</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="94"/>
+ <source>Year</source>
+ <translation type="unfinished">年代</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="95"/>
+ <source>Condition</source>
+ <translation type="unfinished">条件</translation>
+ </message>
+</context>
+<context>
+ <name>ConverterFactory</name>
+ <message>
+ <location filename="../converterfactory.cpp" line="28"/>
+ <source>Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="49"/>
+ <source>About Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="50"/>
+ <source>Qmmp Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="52"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">作者:Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>ConverterHelper</name>
+ <message>
+ <location filename="../converterhelper.cpp" line="35"/>
+ <source>Convert</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="36"/>
+ <source>Meta+C</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="42"/>
+ <source>Converting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="43"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/General/converter/translations/converter_plugin_zh_TW.ts b/src/plugins/General/converter/translations/converter_plugin_zh_TW.ts
new file mode 100644
index 000000000..ed45b8334
--- /dev/null
+++ b/src/plugins/General/converter/translations/converter_plugin_zh_TW.ts
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="zh_TW">
+<context>
+ <name>ConverterDialog</name>
+ <message>
+ <location filename="../converterdialog.ui" line="14"/>
+ <source>Converter Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="29"/>
+ <source>Select files to convert:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="43"/>
+ <source>Output file directory:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="53"/>
+ <source>Output file name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="63"/>
+ <source>Preset:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="73"/>
+ <source>Overwrite existing files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.ui" line="87"/>
+ <location filename="../converterdialog.ui" line="94"/>
+ <location filename="../converterdialog.ui" line="101"/>
+ <source>...</source>
+ <translation type="unfinished">...</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="63"/>
+ <source>Choose a directory</source>
+ <translation type="unfinished">選取一個目錄</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="82"/>
+ <source>Artist</source>
+ <translation type="unfinished">藝術家</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="83"/>
+ <source>Album</source>
+ <translation type="unfinished">專輯</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="84"/>
+ <source>Title</source>
+ <translation type="unfinished">標題</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="85"/>
+ <source>Track number</source>
+ <translation type="unfinished">音軌編號</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="86"/>
+ <source>Two-digit track number</source>
+ <translation type="unfinished">兩位數音軌編號</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="87"/>
+ <source>Genre</source>
+ <translation type="unfinished">流派</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="88"/>
+ <source>Comment</source>
+ <translation type="unfinished">備註</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="89"/>
+ <source>Composer</source>
+ <translation type="unfinished">作曲</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="90"/>
+ <source>Duration</source>
+ <translation type="unfinished">持續時間</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="91"/>
+ <source>Disc number</source>
+ <translation type="unfinished">光槃編號</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="92"/>
+ <source>File name</source>
+ <translation type="unfinished">文件名</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="93"/>
+ <source>File path</source>
+ <translation type="unfinished">文件路徑</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="94"/>
+ <source>Year</source>
+ <translation type="unfinished">年代</translation>
+ </message>
+ <message>
+ <location filename="../converterdialog.cpp" line="95"/>
+ <source>Condition</source>
+ <translation type="unfinished">條件</translation>
+ </message>
+</context>
+<context>
+ <name>ConverterFactory</name>
+ <message>
+ <location filename="../converterfactory.cpp" line="28"/>
+ <source>Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="49"/>
+ <source>About Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="50"/>
+ <source>Qmmp Converter Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterfactory.cpp" line="52"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">作者:Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>ConverterHelper</name>
+ <message>
+ <location filename="../converterhelper.cpp" line="35"/>
+ <source>Convert</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="36"/>
+ <source>Meta+C</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="42"/>
+ <source>Converting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../converterhelper.cpp" line="43"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/General/converter/translations/translations.qrc b/src/plugins/General/converter/translations/translations.qrc
new file mode 100644
index 000000000..755b3419c
--- /dev/null
+++ b/src/plugins/General/converter/translations/translations.qrc
@@ -0,0 +1,18 @@
+<!DOCTYPE RCC>
+<RCC version="1.0">
+ <qresource>
+ <file>converter_plugin_it.qm</file>
+ <file>converter_plugin_ru.qm</file>
+ <file>converter_plugin_uk_UA.qm</file>
+ <file>converter_plugin_zh_CN.qm</file>
+ <file>converter_plugin_zh_TW.qm</file>
+ <file>converter_plugin_cs.qm</file>
+ <file>converter_plugin_de.qm</file>
+ <file>converter_plugin_pl.qm</file>
+ <file>converter_plugin_tr.qm</file>
+ <file>converter_plugin_lt.qm</file>
+ <file>converter_plugin_nl.qm</file>
+ <file>converter_plugin_ja.qm</file>
+ <file>converter_plugin_es.qm</file>
+ </qresource>
+</RCC>