diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2013-02-10 17:12:37 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2013-02-10 17:12:37 +0000 |
| commit | ecd8a389412e4d4a2e03150c220e1e7ead5ab2a4 (patch) | |
| tree | 8b7d30463436db99dd3e789f91e9f7819d86fd1d /src/plugins/Input | |
| parent | 1551cfa8e50ed10bf1c6fb8465ac3b6387316737 (diff) | |
| download | qmmp-ecd8a389412e4d4a2e03150c220e1e7ead5ab2a4.tar.gz qmmp-ecd8a389412e4d4a2e03150c220e1e7ead5ab2a4.tar.bz2 qmmp-ecd8a389412e4d4a2e03150c220e1e7ead5ab2a4.zip | |
added ffmpeg_legacy plugin
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3216 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input')
31 files changed, 4373 insertions, 0 deletions
diff --git a/src/plugins/Input/ffmpeg_legacy/decoder_ffmpeg.cpp b/src/plugins/Input/ffmpeg_legacy/decoder_ffmpeg.cpp new file mode 100644 index 000000000..c9845bbef --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/decoder_ffmpeg.cpp @@ -0,0 +1,401 @@ +/*************************************************************************** + * Copyright (C) 2006-2013 by Ilya Kotov * + * forkotov02@hotmail.ru * + * * + * This program 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 2 of the License, or * + * (at your option) any later version. * + * * + * This program 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 this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +#include <QObject> +#include <QFile> +#include "decoder_ffmpeg.h" + +// callbacks + +static int ffmpeg_read(void *data, uint8_t *buf, int size) +{ + DecoderFFmpeg *d = (DecoderFFmpeg*)data; + return (int)d->input()->read((char*)buf, size); +} + +static int64_t ffmpeg_seek(void *data, int64_t offset, int whence) +{ + DecoderFFmpeg *d = (DecoderFFmpeg*)data; + int64_t absolute_pos = 0; + /*if(d->input()->isSequential()) + return -1;*/ + switch( whence ) + { + case AVSEEK_SIZE: + return d->input()->size(); + case SEEK_SET: + absolute_pos = offset; + break; + case SEEK_CUR: + absolute_pos = d->input()->pos() + offset; + break; + case SEEK_END: + absolute_pos = d->input()->size() - offset; + default: + return -1; + } + if(absolute_pos < 0 || absolute_pos > d->input()->size()) + return -1; + return d->input()->seek(absolute_pos); +} + +// Decoder class +//legacy ffmpeg support +DecoderFFmpeg::DecoderFFmpeg(const QString &path, QIODevice *i) + : Decoder(i) +{ + m_bitrate = 0; + m_skip = false; + m_totalTime = 0; + ic = 0; + m_path = path; + m_temp_pkt.size = 0; + m_pkt.size = 0; + m_pkt.data = 0; + m_output_buf = 0; + m_output_at = 0; + m_skipBytes = 0; + m_stream = 0; + av_init_packet(&m_pkt); + av_init_packet(&m_temp_pkt); +} + + +DecoderFFmpeg::~DecoderFFmpeg() +{ + m_bitrate = 0; + m_temp_pkt.size = 0; + if (ic) + av_close_input_stream(ic); + if(m_pkt.data) + av_free_packet(&m_pkt); + if(m_output_buf) + av_free(m_output_buf); + if(m_stream) + av_free(m_stream); +} + +bool DecoderFFmpeg::initialize() +{ + m_bitrate = 0; + m_skip = false; + m_totalTime = 0; + m_seekTime = -1; + av_register_all(); + + AVProbeData pd; + uint8_t buf[PROBE_BUFFER_SIZE + AVPROBE_PADDING_SIZE]; + pd.filename = m_path.toLocal8Bit().constData(); + pd.buf_size = input()->peek((char*)buf, sizeof(buf) - AVPROBE_PADDING_SIZE); + pd.buf = buf; + if(pd.buf_size < PROBE_BUFFER_SIZE) + { + qWarning("DecoderFFmpeg: too small buffer size: %d bytes", pd.buf_size); + return false; + } + AVInputFormat *fmt = av_probe_input_format(&pd, 1); + if(!fmt) + { + qWarning("DecoderFFmpeg: usupported format"); + return false; + } + qDebug("DecoderFFmpeg: detected format: %s", fmt->long_name); + qDebug("=%s=", fmt->name); + +#if (LIBAVFORMAT_VERSION_INT >= ((52<<16)+(105<<8)+0)) + m_stream = avio_alloc_context(m_input_buf, INPUT_BUFFER_SIZE, 0, this, ffmpeg_read, NULL, ffmpeg_seek); + if(!m_stream) + { + qWarning("DecoderFFmpeg: unable to initialize I/O callbacks"); + return false; + } + m_stream->seekable = !input()->isSequential(); +#else + m_stream = (ByteIOContext *)av_malloc(sizeof(ByteIOContext)); + init_put_byte(m_stream, m_input_buf, INPUT_BUFFER_SIZE, 0, this, ffmpeg_read, NULL, ffmpeg_seek); + m_stream->is_streamed = input()->isSequential(); +#endif + m_stream->max_packet_size = INPUT_BUFFER_SIZE; + + AVFormatParameters ap; + memset(&ap, 0, sizeof(ap)); + + if(av_open_input_stream(&ic, m_stream, m_path.toLocal8Bit(), fmt, &ap) != 0) + { + qDebug("DecoderFFmpeg: av_open_input_stream() failed"); + return false; + } + av_find_stream_info(ic); + if(ic->pb) + ic->pb->eof_reached = 0; + + if (input()->isSequential()) + { + QMap<Qmmp::MetaData, QString> metaData; + AVMetadataTag *album = av_metadata_get(ic->metadata,"album",0,0); + if(!album) + album = av_metadata_get(ic->metadata,"WM/AlbumTitle",0,0); + AVMetadataTag *artist = av_metadata_get(ic->metadata,"artist",0,0); + if(!artist) + artist = av_metadata_get(ic->metadata,"author",0,0); + AVMetadataTag *comment = av_metadata_get(ic->metadata,"comment",0,0); + AVMetadataTag *genre = av_metadata_get(ic->metadata,"genre",0,0); + AVMetadataTag *title = av_metadata_get(ic->metadata,"title",0,0); + AVMetadataTag *year = av_metadata_get(ic->metadata,"WM/Year",0,0); + if(!year) + year = av_metadata_get(ic->metadata,"year",0,0); + if(!year) + year = av_metadata_get(ic->metadata,"date",0,0); + AVMetadataTag *track = av_metadata_get(ic->metadata,"track",0,0); + if(!track) + track = av_metadata_get(ic->metadata,"WM/Track",0,0); + if(!track) + track = av_metadata_get(ic->metadata,"WM/TrackNumber",0,0); + + if(album) + metaData.insert(Qmmp::ALBUM, QString::fromUtf8(album->value).trimmed()); + if(artist) + metaData.insert(Qmmp::ARTIST, QString::fromUtf8(artist->value).trimmed()); + if(comment) + metaData.insert(Qmmp::COMMENT, QString::fromUtf8(comment->value).trimmed()); + if(genre) + metaData.insert(Qmmp::GENRE, QString::fromUtf8(genre->value).trimmed()); + if(title) + metaData.insert(Qmmp::TITLE, QString::fromUtf8(title->value).trimmed()); + if(year) + metaData.insert(Qmmp::YEAR, year->value); + if(track) + metaData.insert(Qmmp::TRACK, track->value); + metaData.insert(Qmmp::URL, m_path); + addMetaData(metaData); + } + + ic->flags |= AVFMT_FLAG_GENPTS; + av_read_play(ic); + for (wma_idx = 0; wma_idx < (int)ic->nb_streams; wma_idx++) + { + c = ic->streams[wma_idx]->codec; +#if LIBAVCODEC_VERSION_MAJOR < 53 + if (c->codec_type == CODEC_TYPE_AUDIO) +#else + if (c->codec_type == AVMEDIA_TYPE_AUDIO) +#endif + break; + } + + if (c->channels > 0) + c->request_channels = qMin(2, c->channels); + else + c->request_channels = 2; + +#if (LIBAVCODEC_VERSION_INT >= ((52<<16)+(101<<8)+0)) + av_dump_format(ic,0,0,0); +#else + dump_format(ic,0,0,0); +#endif + AVCodec *codec = avcodec_find_decoder(c->codec_id); + + if (!codec) + { + qWarning("DecoderFFmpeg: unsupported codec for output stream"); + return false; + } + + if (avcodec_open(c, codec) < 0) + { + qWarning("DecoderFFmpeg: error while opening codec for output stream"); + return false; + } + + m_totalTime = input()->isSequential() ? 0 : ic->duration * 1000 / AV_TIME_BASE; + m_output_buf = (uint8_t *)av_malloc(AVCODEC_MAX_AUDIO_FRAME_SIZE*2); + +#if (LIBAVCODEC_VERSION_INT >= ((52<<16)+(20<<8)+0)) + if(c->codec_id == CODEC_ID_SHORTEN) //ffmpeg bug workaround + m_totalTime = 0; +#endif + +#if (LIBAVUTIL_VERSION_INT >= ((50<<16)+(38<<8)+0)) + if(c->sample_fmt == AV_SAMPLE_FMT_S32) + configure(c->sample_rate, c->request_channels, Qmmp::PCM_S32LE); + else + configure(c->sample_rate, c->request_channels, Qmmp::PCM_S16LE); +#else + if(c->sample_fmt == SAMPLE_FMT_S32) + configure(c->sample_rate, c->request_channels, Qmmp::PCM_S32LE); + else + configure(c->sample_rate, c->request_channels, Qmmp::PCM_S16LE); +#endif + if(ic->bit_rate) + m_bitrate = ic->bit_rate/1000; + if(c->bit_rate) + m_bitrate = c->bit_rate/1000; + qDebug("DecoderFFmpeg: initialize succes"); + return true; +} + + +qint64 DecoderFFmpeg::totalTime() +{ + return m_totalTime; +} + +int DecoderFFmpeg::bitrate() +{ + return m_bitrate; +} + +qint64 DecoderFFmpeg::read(char *audio, qint64 maxSize) +{ + m_skipBytes = 0; + if (m_skip) + { + while(m_temp_pkt.size) + ffmpeg_decode(m_output_buf); + m_output_at = 0; + m_skip = false; + } + if(!m_output_at) + fillBuffer(); + if(!m_output_at) + return 0; + qint64 len = qMin(m_output_at, maxSize); + memcpy(audio, m_output_buf, len); + m_output_at -= len; + memmove(m_output_buf, m_output_buf + len, m_output_at); + return len; +} + +qint64 DecoderFFmpeg::ffmpeg_decode(uint8_t *audio) +{ + int out_size = AVCODEC_MAX_AUDIO_FRAME_SIZE * 2; + if((m_pkt.stream_index == wma_idx)) + { +#if (LIBAVCODEC_VERSION_INT >= ((52<<16)+(23<<8)+0)) + int l = avcodec_decode_audio3(c, (int16_t *)(audio), &out_size, &m_temp_pkt); +#else + int l = avcodec_decode_audio2(c, (int16_t *)(audio), &out_size, m_temp_pkt.data, m_temp_pkt.size); +#endif + if(c->bit_rate) + m_bitrate = c->bit_rate/1000; + if(l < 0) + return l; + m_temp_pkt.data += l; + m_temp_pkt.size -= l; + } + if (!m_temp_pkt.size && m_pkt.data) + av_free_packet(&m_pkt); + + return out_size; +} + +void DecoderFFmpeg::seek(qint64 pos) +{ + int64_t timestamp = int64_t(pos)*AV_TIME_BASE/1000; + if (ic->start_time != (qint64)AV_NOPTS_VALUE) + timestamp += ic->start_time; + m_seekTime = timestamp; + av_seek_frame(ic, -1, timestamp, AVSEEK_FLAG_BACKWARD); + if(m_pkt.size) + m_skip = true; +} + +void DecoderFFmpeg::fillBuffer() +{ + while(!m_output_at) + { + if(!m_temp_pkt.size) + { + if (av_read_frame(ic, &m_pkt) < 0) + { + m_temp_pkt.size = 0; + break; + } + m_temp_pkt.size = m_pkt.size; + m_temp_pkt.data = m_pkt.data; + + if(m_pkt.stream_index != wma_idx) + { + if(m_pkt.data) + av_free_packet(&m_pkt); + m_temp_pkt.size = 0; + continue; + } + if(m_seekTime && c->codec_id == CODEC_ID_APE) + { + int64_t rescaledPts = av_rescale(m_pkt.pts, + AV_TIME_BASE * (int64_t) + ic->streams[m_pkt.stream_index]->time_base.num, + ic->streams[m_pkt.stream_index]->time_base.den); + m_skipBytes = (m_seekTime - rescaledPts) * c->sample_rate * 4 / AV_TIME_BASE; + } + else + m_skipBytes = 0; + m_seekTime = 0; + } + + if(m_skipBytes > 0 && c->codec_id == CODEC_ID_APE) + { + while (m_skipBytes > 0) + { + m_output_at = ffmpeg_decode(m_output_buf); + if(m_output_at < 0) + break; + m_skipBytes -= m_output_at; + } + + if(m_skipBytes < 0) + { + qint64 size = m_output_at; + m_output_at = - m_skipBytes; + m_output_at = m_output_at/4*4; + memmove(m_output_buf, (m_output_buf + size - m_output_at), m_output_at); + m_skipBytes = 0; + } + } + else + m_output_at = ffmpeg_decode(m_output_buf); + + if(m_output_at < 0) + { + m_output_at = 0; + m_temp_pkt.size = 0; + + if(c->codec_id == CODEC_ID_SHORTEN) + { + if(m_pkt.data) + av_free_packet(&m_pkt); + m_pkt.data = 0; + break; + } + continue; + } + else if(m_output_at == 0) + { + if(c->codec_id == CODEC_ID_SHORTEN) + continue; + + if(m_pkt.data) + av_free_packet(&m_pkt); + m_pkt.data = 0; + break; + } + } +} diff --git a/src/plugins/Input/ffmpeg_legacy/decoder_ffmpeg.h b/src/plugins/Input/ffmpeg_legacy/decoder_ffmpeg.h new file mode 100644 index 000000000..f8de1aea3 --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/decoder_ffmpeg.h @@ -0,0 +1,84 @@ +/*************************************************************************** + * Copyright (C) 2006-2013 by Ilya Kotov * + * forkotov02@hotmail.ru * + * * + * This program 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 2 of the License, or * + * (at your option) any later version. * + * * + * This program 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 this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +#ifndef __decoder_ffmeg_h +#define __decoder_ffmeg_h + +extern "C"{ +#include <libavformat/avformat.h> +#include <libavcodec/avcodec.h> +#include <libavutil/mathematics.h> +#if (LIBAVUTIL_VERSION_INT >= ((51<<16)+(32<<8)+0)) +#include <libavutil/dict.h> +#endif +} + + +#include <qmmp/decoder.h> + +#define PROBE_BUFFER_SIZE 8192 +#define INPUT_BUFFER_SIZE 16384 + +class DecoderFFmpeg : public Decoder +{ +public: + DecoderFFmpeg(const QString &, QIODevice *i); + virtual ~DecoderFFmpeg(); + + // Standard Decoder API + bool initialize(); + qint64 totalTime(); + int bitrate(); + qint64 read(char *audio, qint64 maxSize); + void seek(qint64 time); + +private: + //helper functions + void fillBuffer(); + + AVFormatContext *ic; + AVCodecContext *c; + + uint wma_st_buff, wma_idx2; + int m_bitrate, wma_idx; + + QString m_path; + qint64 m_totalTime; + AVPacket m_pkt; + AVPacket m_temp_pkt; + qint64 m_output_at; + uchar m_input_buf[INPUT_BUFFER_SIZE + FF_INPUT_BUFFER_PADDING_SIZE]; + int64_t m_seekTime; + qint64 m_skipBytes; + + qint64 ffmpeg_decode(uint8_t *audio); + bool m_skip; + +#if (LIBAVCODEC_VERSION_INT >= ((52<<16)+(102<<8)+0)) + AVIOContext *m_stream; +#else + ByteIOContext *m_stream; +#endif + + uint8_t *m_output_buf; +}; + + +#endif // __decoder_ffmpeg_h diff --git a/src/plugins/Input/ffmpeg_legacy/decoderffmpegfactory.cpp b/src/plugins/Input/ffmpeg_legacy/decoderffmpegfactory.cpp new file mode 100644 index 000000000..db98b3521 --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/decoderffmpegfactory.cpp @@ -0,0 +1,230 @@ +/*************************************************************************** + * Copyright (C) 2008-2013 by Ilya Kotov * + * forkotov02@hotmail.ru * + * * + * This program 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 2 of the License, or * + * (at your option) any later version. * + * * + * This program 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 this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +#include <QtGui> +#include <QSettings> + +extern "C"{ +#include <libavformat/avformat.h> +#include <libavcodec/avcodec.h> +#if (LIBAVUTIL_VERSION_INT >= ((51<<16)+(32<<8)+0)) +#include <libavutil/dict.h> +#endif +} + +#include "ffmpegmetadatamodel.h" +#include "settingsdialog.h" +#include "decoder_ffmpeg.h" +#include "decoderffmpegfactory.h" + + +// DecoderFFmpegFactory + +bool DecoderFFmpegFactory::supports(const QString &source) const +{ + foreach(QString filter, properties().filters) + { + QRegExp regexp(filter, Qt::CaseInsensitive, QRegExp::Wildcard); + if (regexp.exactMatch(source)) + return true; + } + return false; +} + +bool DecoderFFmpegFactory::canDecode(QIODevice *i) const +{ + av_register_all(); + QStringList filters = properties().filters; + + AVProbeData pd; + uint8_t buf[PROBE_BUFFER_SIZE + AVPROBE_PADDING_SIZE]; + pd.filename = 0; + pd.buf_size = i->peek((char*)buf, sizeof(buf) - AVPROBE_PADDING_SIZE); + pd.buf = buf; + if(pd.buf_size < PROBE_BUFFER_SIZE) + return false; + AVInputFormat *fmt = av_probe_input_format(&pd, 1); + if(!fmt) + { + qWarning("DecoderFFmpegFactory: usupported format"); + return false; + } + if(filters.contains("*.wma") && !memcmp(fmt->name, "asf", 3)) + return true; + else if(filters.contains("*.mp3") && !memcmp(fmt->name, "mp3", 3)) + return true; + else if(filters.contains("*.aac") && !memcmp(fmt->name, "aac", 3)) + return true; + else if(filters.contains("*.ac3") && !memcmp(fmt->name, "eac3", 4)) + return true; + else if(filters.contains("*.dts") && !memcmp(fmt->name, "dts", 3)) + return true; + else if(filters.contains("*.mka") && !memcmp(fmt->name, "mka", 3)) + return true; + else if(filters.contains("*.vqf") && !memcmp(fmt->name, "vqf", 3)) + return true; + return false; +} + +const DecoderProperties DecoderFFmpegFactory::properties() const +{ + av_register_all(); + QSettings settings(Qmmp::configFile(), QSettings::IniFormat); + QStringList filters; + filters << "*.wma" << "*.ape"; + filters = settings.value("FFMPEG_legacy/filters", filters).toStringList(); + + if(!avcodec_find_decoder(CODEC_ID_AAC)) + { + filters.removeAll("*.aac"); + filters.removeAll("*.m4a"); + } + DecoderProperties properties; + properties.name = tr("FFmpeg Plugin"); + properties.filters = filters; + properties.description = tr("FFmpeg Formats"); + if(filters.contains("*.wma")) + properties.contentTypes << "audio/x-ms-wma"; + if(filters.contains("*.mp3")) + properties.contentTypes << "audio/mpeg"; + if(filters.contains("*.aac")) + properties.contentTypes << "audio/aac" << "audio/aacp"; + if(filters.contains("*.shn")) + properties.contentTypes << "audio/x-ffmpeg-shorten"; + if(filters.contains("*.m4a")) + { + properties.contentTypes << "audio/3gpp" << "audio/3gpp2" << "audio/mp4"; + properties.contentTypes << "audio/MP4A-LATM" << "audio/mpeg4-generic"; + properties.contentTypes << "audio/m4a"; + } + if(filters.contains("*.ac3")) + properties.contentTypes << "audio/ac3" << "audio/eac3"; + if(filters.contains("*.dts")) + properties.contentTypes << "audio/dts"; + if(filters.contains("*.mka")) + properties.contentTypes << "audio/true-hd" << "audio/x-matroska"; + properties.shortName = "ffmpeg_legacy"; + properties.hasAbout = true; + properties.hasSettings = true; + properties.noInput = false; + properties.priority = 10; + return properties; +} + +Decoder *DecoderFFmpegFactory::create(const QString &path, QIODevice *input) +{ + return new DecoderFFmpeg(path, input); +} + +QList<FileInfo *> DecoderFFmpegFactory::createPlayList(const QString &fileName, bool useMetaData) +{ + + QList <FileInfo*> list; + avcodec_init(); + avcodec_register_all(); + av_register_all(); + AVFormatContext *in = 0; + + if (av_open_input_file(&in, fileName.toLocal8Bit(), 0, 0, 0) < 0) + { + qDebug("DecoderFFmpegFactory: unable to open file"); + return list; + } + FileInfo *info = new FileInfo(fileName); + av_find_stream_info(in); + + if (useMetaData) + { + AVMetadataTag *album = av_metadata_get(in->metadata,"album",0,0); + if(!album) + album = av_metadata_get(in->metadata,"WM/AlbumTitle",0,0); + AVMetadataTag *artist = av_metadata_get(in->metadata,"artist",0,0); + if(!artist) + artist = av_metadata_get(in->metadata,"author",0,0); + AVMetadataTag *comment = av_metadata_get(in->metadata,"comment",0,0); + AVMetadataTag *genre = av_metadata_get(in->metadata,"genre",0,0); + AVMetadataTag *title = av_metadata_get(in->metadata,"title",0,0); + AVMetadataTag *year = av_metadata_get(in->metadata,"WM/Year",0,0); + if(!year) + year = av_metadata_get(in->metadata,"year",0,0); + if(!year) + year = av_metadata_get(in->metadata,"date",0,0); + AVMetadataTag *track = av_metadata_get(in->metadata,"track",0,0); + if(!track) + track = av_metadata_get(in->metadata,"WM/Track",0,0); + if(!track) + track = av_metadata_get(in->metadata,"WM/TrackNumber",0,0); + + if(album) + info->setMetaData(Qmmp::ALBUM, QString::fromUtf8(album->value).trimmed()); + if(artist) + info->setMetaData(Qmmp::ARTIST, QString::fromUtf8(artist->value).trimmed()); + if(comment) + info->setMetaData(Qmmp::COMMENT, QString::fromUtf8(comment->value).trimmed()); + if(genre) + info->setMetaData(Qmmp::GENRE, QString::fromUtf8(genre->value).trimmed()); + if(title) + info->setMetaData(Qmmp::TITLE, QString::fromUtf8(title->value).trimmed()); + if(year) + info->setMetaData(Qmmp::YEAR, year->value); + if(track) + info->setMetaData(Qmmp::TRACK, track->value); + } + info->setLength(in->duration/AV_TIME_BASE); + av_close_input_file(in); + list << info; + return list; +} + +MetaDataModel* DecoderFFmpegFactory::createMetaDataModel(const QString &path, QObject *parent) +{ + return new FFmpegMetaDataModel(path,parent); +} + +void DecoderFFmpegFactory::showSettings(QWidget *parent) +{ + SettingsDialog *s = new SettingsDialog(parent); + s->show(); +} + +void DecoderFFmpegFactory::showAbout(QWidget *parent) +{ + QMessageBox::about (parent, tr("About FFmpeg Audio Plugin"), + + tr("Qmmp FFmpeg Audio Plugin")+"\n"+ + QString(tr("Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6")) + .arg(LIBAVFORMAT_VERSION_MAJOR) + .arg(LIBAVFORMAT_VERSION_MINOR) + .arg(LIBAVFORMAT_VERSION_MICRO) + .arg(LIBAVCODEC_VERSION_MAJOR) + .arg(LIBAVCODEC_VERSION_MINOR) + .arg(LIBAVCODEC_VERSION_MICRO)+"\n"+ + tr("Written by: Ilya Kotov <forkotov02@hotmail.ru>")); +} + +QTranslator *DecoderFFmpegFactory::createTranslator(QObject *parent) +{ + QTranslator *translator = new QTranslator(parent); + QString locale = Qmmp::systemLanguageID(); + translator->load(QString(":/ffmpeg_legacy_plugin_") + locale); + return translator; +} + +Q_EXPORT_PLUGIN2(ffmpeg,DecoderFFmpegFactory) diff --git a/src/plugins/Input/ffmpeg_legacy/decoderffmpegfactory.h b/src/plugins/Input/ffmpeg_legacy/decoderffmpegfactory.h new file mode 100644 index 000000000..a668c8608 --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/decoderffmpegfactory.h @@ -0,0 +1,51 @@ +/*************************************************************************** + * Copyright (C) 2006-2013 by Ilya Kotov * + * forkotov02@hotmail.ru * + * * + * This program 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 2 of the License, or * + * (at your option) any later version. * + * * + * This program 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 this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ +#ifndef DECODERFFMPEGFACTORY_H +#define DECODERFFMPEGFACTORY_H + +#include <QObject> +#include <QString> +#include <QIODevice> +#include <QWidget> + +#include <qmmp/decoder.h> +#include <qmmp/output.h> +#include <qmmp/decoderfactory.h> +#include <qmmp/fileinfo.h> + +class DecoderFFmpegFactory : public QObject, + DecoderFactory +{ +Q_OBJECT +Q_INTERFACES(DecoderFactory) + +public: + bool supports(const QString &source) const; + bool canDecode(QIODevice *input) const; + const DecoderProperties properties() const; + Decoder *create(const QString &, QIODevice *); + QList<FileInfo *> createPlayList(const QString &fileName, bool useMetaData); + MetaDataModel* createMetaDataModel(const QString &path, QObject *parent = 0); + void showSettings(QWidget *parent); + void showAbout(QWidget *parent); + QTranslator *createTranslator(QObject *parent); +}; + +#endif diff --git a/src/plugins/Input/ffmpeg_legacy/ffmpeg_legacy.pro b/src/plugins/Input/ffmpeg_legacy/ffmpeg_legacy.pro new file mode 100644 index 000000000..54099d44a --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/ffmpeg_legacy.pro @@ -0,0 +1,59 @@ +include(../../plugins.pri) +FORMS += settingsdialog.ui +HEADERS += decoderffmpegfactory.h \ + decoder_ffmpeg.h \ + settingsdialog.h \ + ffmpegmetadatamodel.h +SOURCES += decoder_ffmpeg.cpp \ + decoderffmpegfactory.cpp \ + settingsdialog.cpp \ + ffmpegmetadatamodel.cpp + +INCLUDEPATH += ../../../ + + + +CONFIG += release \ + warn_on \ + plugin \ + link_pkgconfig +TEMPLATE = lib + +TARGET = $$PLUGINS_PREFIX/Input/ffmpeg_legacy + +unix { + isEmpty(LIB_DIR):LIB_DIR = /lib + target.path = $$LIB_DIR/qmmp/Input + INSTALLS += target + QMAKE_CLEAN = $$PLUGINS_PREFIX/Input/libffmpeg_legacy.so + LIBS += -lqmmp + QMAKE_LIBDIR += ../../../../lib + PKGCONFIG += libavcodec libavformat libavutil +} + + +win32 { + HEADERS += ../../../../src/qmmp/metadatamodel.h \ + ../../../../src/qmmp/decoderfactory.h + QMAKE_LIBDIR += ../../../../bin + LIBS += -lqmmp0 -lavcodec.dll -lavformat.dll -lavutil.dll +} + +DEFINES += __STDC_CONSTANT_MACROS + +TRANSLATIONS = translations/ffmpeg_plugin_legacy_ru.ts \ + translations/ffmpeg_plugin_legacy_uk_UA.ts \ + translations/ffmpeg_plugin_legacy_zh_CN.ts \ + translations/ffmpeg_plugin_legacy_zh_TW.ts \ + translations/ffmpeg_plugin_legacy_cs.ts \ + translations/ffmpeg_plugin_legacy_pl.ts \ + translations/ffmpeg_plugin_legacy_de.ts \ + translations/ffmpeg_plugin_legacy_it.ts \ + translations/ffmpeg_plugin_legacy_tr.ts \ + translations/ffmpeg_plugin_legacy_lt.ts \ + translations/ffmpeg_plugin_legacy_nl.ts \ + translations/ffmpeg_plugin_legacy_ja.ts \ + translations/ffmpeg_plugin_legacy_es.ts + +RESOURCES = translations/translations.qrc + diff --git a/src/plugins/Input/ffmpeg_legacy/ffmpegmetadatamodel.cpp b/src/plugins/Input/ffmpeg_legacy/ffmpegmetadatamodel.cpp new file mode 100644 index 000000000..412b139f8 --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/ffmpegmetadatamodel.cpp @@ -0,0 +1,70 @@ +/*************************************************************************** + * Copyright (C) 2009-2013 by Ilya Kotov * + * forkotov02@hotmail.ru * + * * + * This program 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 2 of the License, or * + * (at your option) any later version. * + * * + * This program 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 this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +#include "ffmpegmetadatamodel.h" + +FFmpegMetaDataModel::FFmpegMetaDataModel(const QString &path, QObject *parent) : MetaDataModel(parent) +{ + m_in = 0; + avcodec_init(); + avcodec_register_all(); + av_register_all(); + if (av_open_input_file(&m_in, path.toLocal8Bit(), NULL,0, NULL) < 0) + return; + av_find_stream_info(m_in); + av_read_play(m_in); +} + +FFmpegMetaDataModel::~FFmpegMetaDataModel() +{ + if(m_in) + av_close_input_file(m_in); +} + +QHash<QString, QString> FFmpegMetaDataModel::audioProperties() +{ + QHash<QString, QString> ap; + if(!m_in) + return ap; + QString text = QString("%1").arg(int(m_in->duration/AV_TIME_BASE)/60); + text +=":"+QString("%1").arg(int(m_in->duration/AV_TIME_BASE)%60,2,10,QChar('0')); + ap.insert(tr("Length"), text); + ap.insert(tr("File size"), QString("%1 ").arg(m_in->file_size/1024)+" "+tr("KB")); + ap.insert(tr("Bitrate"), QString("%1 "+tr("kbps")).arg(m_in->bit_rate/1000)); + + AVCodecContext *c = 0; + uint wma_idx; + for (wma_idx = 0; wma_idx < m_in->nb_streams; wma_idx++) + { + c = m_in->streams[wma_idx]->codec; +#if LIBAVCODEC_VERSION_MAJOR < 53 + if (c->codec_type == CODEC_TYPE_AUDIO) +#else + if (c->codec_type == AVMEDIA_TYPE_AUDIO) +#endif + break; + } + if (c) + { + ap.insert(tr("Sample rate"), QString("%1 " + tr("Hz")).arg(c->sample_rate)); + ap.insert(tr("Channels"), QString("%1").arg(c->channels)); + } + return ap; +} diff --git a/src/plugins/Input/ffmpeg_legacy/ffmpegmetadatamodel.h b/src/plugins/Input/ffmpeg_legacy/ffmpegmetadatamodel.h new file mode 100644 index 000000000..d2e3e4e87 --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/ffmpegmetadatamodel.h @@ -0,0 +1,46 @@ +/*************************************************************************** + * Copyright (C) 2009-2013 by Ilya Kotov * + * forkotov02@hotmail.ru * + * * + * This program 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 2 of the License, or * + * (at your option) any later version. * + * * + * This program 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 this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +#ifndef FFMPEGMETADATAMODEL_H +#define FFMPEGMETADATAMODEL_H + +extern "C"{ +#include <libavformat/avformat.h> +#include <libavcodec/avcodec.h> +#if (LIBAVUTIL_VERSION_INT >= ((51<<16)+(32<<8)+0)) +#include <libavutil/dict.h> +#endif +} + +#include <qmmp/metadatamodel.h> + +class FFmpegMetaDataModel : public MetaDataModel +{ +Q_OBJECT +public: + FFmpegMetaDataModel(const QString &path, QObject *parent); + ~FFmpegMetaDataModel(); + QHash<QString, QString> audioProperties(); + +private: + AVFormatContext *m_in; +}; + +#endif // FFMPEGMETADATAMODEL_H diff --git a/src/plugins/Input/ffmpeg_legacy/settingsdialog.cpp b/src/plugins/Input/ffmpeg_legacy/settingsdialog.cpp new file mode 100644 index 000000000..f0a518276 --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/settingsdialog.cpp @@ -0,0 +1,111 @@ +/*************************************************************************** + * Copyright (C) 2008-2013 by Ilya Kotov * + * forkotov02@hotmail.ru * + * * + * This program 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 2 of the License, or * + * (at your option) any later version. * + * * + * This program 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 this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +#include <QSettings> +#include <QStringList> + +#include <qmmp/qmmp.h> + +extern "C"{ +#include <libavformat/avformat.h> +#include <libavcodec/avcodec.h> +#if (LIBAVUTIL_VERSION_INT >= ((51<<16)+(32<<8)+0)) +#include <libavutil/dict.h> +#endif +} +#include "settingsdialog.h" + +SettingsDialog::SettingsDialog(QWidget *parent) + : QDialog(parent) +{ + ui.setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + QSettings settings(Qmmp::configFile(), QSettings::IniFormat); + QStringList filters; + filters << "*.wma"; + filters << "*.ape"; + filters = settings.value("FFMPEG_legacy/filters", filters).toStringList(); + avcodec_register_all(); + av_register_all(); + ui.wmaCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_WMAV1)); + ui.wmaCheckBox->setChecked(filters.contains("*.wma") && avcodec_find_decoder(CODEC_ID_WMAV1)); + ui.apeCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_APE)); + ui.apeCheckBox->setChecked(filters.contains("*.ape") && avcodec_find_decoder(CODEC_ID_APE)); + ui.ttaCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_TTA)); + ui.ttaCheckBox->setChecked(filters.contains("*.tta") && avcodec_find_decoder(CODEC_ID_TTA)); + ui.aacCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_AAC)); + ui.aacCheckBox->setChecked(filters.contains("*.aac") && avcodec_find_decoder(CODEC_ID_AAC)); + ui.mp3CheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_MP3)); + ui.mp3CheckBox->setChecked(filters.contains("*.mp3") && avcodec_find_decoder(CODEC_ID_MP3)); + ui.mp4CheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_AAC)); + ui.mp4CheckBox->setChecked(filters.contains("*.m4a") && (avcodec_find_decoder(CODEC_ID_AAC) + || avcodec_find_decoder(CODEC_ID_ALAC))); + ui.raCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_RA_288)); + ui.raCheckBox->setChecked(filters.contains("*.ra") && avcodec_find_decoder(CODEC_ID_RA_288)); + ui.shCheckBox->setChecked(filters.contains("*.shn") && avcodec_find_decoder(CODEC_ID_SHORTEN)); + ui.ac3CheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_EAC3)); + ui.ac3CheckBox->setChecked(filters.contains("*.ac3") && avcodec_find_decoder(CODEC_ID_EAC3)); + ui.dtsCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_DTS)); + ui.dtsCheckBox->setChecked(filters.contains("*.dts") && avcodec_find_decoder(CODEC_ID_DTS)); + ui.mkaCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_TRUEHD)); + ui.mkaCheckBox->setChecked(filters.contains("*.mka") && avcodec_find_decoder(CODEC_ID_TRUEHD)); + ui.vqfCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_TWINVQ)); +#if (LIBAVCODEC_VERSION_INT >= ((53<<16)+(42<<8)+4)) + ui.vqfCheckBox->setChecked(filters.contains("*.vqf") && avcodec_find_decoder(CODEC_ID_TWINVQ)); +#else + ui.vqfCheckBox->hide(); +#endif +} + +SettingsDialog::~SettingsDialog() +{ +} + +void SettingsDialog::accept() +{ + QStringList filters; + if (ui.mp3CheckBox->isChecked()) + filters << "*.mp3"; + if (ui.wmaCheckBox->isChecked()) + filters << "*.wma"; + if (ui.apeCheckBox->isChecked()) + filters << "*.ape"; + if (ui.ttaCheckBox->isChecked()) + filters << "*.tta"; + if (ui.aacCheckBox->isChecked()) + filters << "*.aac"; + if (ui.mp4CheckBox->isChecked()) + filters << "*.m4a"; + if (ui.raCheckBox->isChecked()) + filters << "*.ra"; + if (ui.shCheckBox->isChecked()) + filters << "*.shn"; + if (ui.ac3CheckBox->isChecked()) + filters << "*.ac3"; + if (ui.dtsCheckBox->isChecked()) + filters << "*.dts"; + if (ui.mkaCheckBox->isChecked()) + filters << "*.mka"; + if (ui.vqfCheckBox->isChecked()) + filters << "*.vqf"; + QSettings settings(Qmmp::configFile(), QSettings::IniFormat); + settings.setValue("FFMPEG_legacy/filters", filters); + QDialog::accept(); +} diff --git a/src/plugins/Input/ffmpeg_legacy/settingsdialog.h b/src/plugins/Input/ffmpeg_legacy/settingsdialog.h new file mode 100644 index 000000000..9721dfcb0 --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/settingsdialog.h @@ -0,0 +1,46 @@ +/*************************************************************************** + * Copyright (C) 2008-2013 by Ilya Kotov * + * forkotov02@hotmail.ru * + * * + * This program 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 2 of the License, or * + * (at your option) any later version. * + * * + * This program 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 this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ +#ifndef SETTINGSDIALOG_H +#define SETTINGSDIALOG_H + +#include <QDialog> + +#include "ui_settingsdialog.h" + +/** + @author Ilya Kotov <forkotov02@hotmail.ru> +*/ +class SettingsDialog : public QDialog +{ + Q_OBJECT +public: + SettingsDialog(QWidget *parent = 0); + + ~SettingsDialog(); + +public slots: + virtual void accept(); + +private: + Ui::SettingsDialog ui; + +}; + +#endif diff --git a/src/plugins/Input/ffmpeg_legacy/settingsdialog.ui b/src/plugins/Input/ffmpeg_legacy/settingsdialog.ui new file mode 100644 index 000000000..cdeac3529 --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/settingsdialog.ui @@ -0,0 +1,182 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>SettingsDialog</class> + <widget class="QDialog" name="SettingsDialog"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>308</width> + <height>328</height> + </rect> + </property> + <property name="windowTitle"> + <string>FFmpeg Plugin Settings</string> + </property> + <layout class="QGridLayout" name="gridLayout"> + <property name="leftMargin"> + <number>6</number> + </property> + <property name="rightMargin"> + <number>6</number> + </property> + <property name="bottomMargin"> + <number>6</number> + </property> + <item row="1" column="0"> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>178</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item row="1" column="1"> + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Maximum" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="standardButtons"> + <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> + </property> + </widget> + </item> + <item row="0" column="0" colspan="2"> + <widget class="QGroupBox" name="groupBox"> + <property name="title"> + <string>Formats</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QCheckBox" name="wmaCheckBox"> + <property name="text"> + <string>Windows Media Audio</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="apeCheckBox"> + <property name="text"> + <string>Monkey's Audio (APE)</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="ttaCheckBox"> + <property name="text"> + <string>True Audio</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="aacCheckBox"> + <property name="text"> + <string>ADTS AAC</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="mp3CheckBox"> + <property name="text"> + <string>MP3 (MPEG audio layer 3)</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="mp4CheckBox"> + <property name="text"> + <string>MPEG-4 AAC/ALAC</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="raCheckBox"> + <property name="text"> + <string>RealAudio 1.0/2.0</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="shCheckBox"> + <property name="text"> + <string>Shorten</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="ac3CheckBox"> + <property name="text"> + <string>AC3/EAC</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="dtsCheckBox"> + <property name="text"> + <string>DTS/DTS-Core</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="mkaCheckBox"> + <property name="text"> + <string>Matroska Audio (Dolby TrueHD Lossless)</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="vqfCheckBox"> + <property name="text"> + <string>VQF</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + </layout> + </widget> + <resources/> + <connections> + <connection> + <sender>buttonBox</sender> + <signal>accepted()</signal> + <receiver>SettingsDialog</receiver> + <slot>accept()</slot> + <hints> + <hint type="sourcelabel"> + <x>214</x> + <y>167</y> + </hint> + <hint type="destinationlabel"> + <x>103</x> + <y>160</y> + </hint> + </hints> + </connection> + <connection> + <sender>buttonBox</sender> + <signal>rejected()</signal> + <receiver>SettingsDialog</receiver> + <slot>reject()</slot> + <hints> + <hint type="sourcelabel"> + <x>269</x> + <y>174</y> + </hint> + <hint type="destinationlabel"> + <x>148</x> + <y>169</y> + </hint> + </hints> + </connection> + </connections> +</ui> diff --git a/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_cs.ts b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_cs.ts new file mode 100644 index 000000000..833d5e24d --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_cs.ts @@ -0,0 +1,153 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="cs"> +<context> + <name>DecoderFFmpegFactory</name> + <message> + <location filename="../decoderffmpegfactory.cpp" line="209"/> + <source>About FFmpeg Audio Plugin</source> + <translation>O modulu FFmpeg</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="211"/> + <source>Qmmp FFmpeg Audio Plugin</source> + <translation>Vstupní modul Qmmp FFmpeg</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="219"/> + <source>Written by: Ilya Kotov <forkotov02@hotmail.ru></source> + <translation>Autor: Ilja Kotov <forkotov02@hotmail.ru></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="100"/> + <source>FFmpeg Plugin</source> + <translation>Modul FFmpeg</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="102"/> + <source>FFmpeg Formats</source> + <translation>Formáty FFmpeg</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="212"/> + <source>Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6</source> + <translation>Přeloženo s libavformat-%1.%2.%3 a libavcodec-%4.%5.%6</translation> + </message> +</context> +<context> + <name>FFmpegMetaDataModel</name> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="48"/> + <source>Length</source> + <translation>Délka</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>File size</source> + <translation>Velikost souboru</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>KB</source> + <translation>KiB</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>Bitrate</source> + <translation>Datový tok</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>kbps</source> + <translation>kbps</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Sample rate</source> + <translation>Vzorkovací frekvence</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Hz</source> + <translation>Hz</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="67"/> + <source>Channels</source> + <translation>Počet kanálů</translation> + </message> +</context> +<context> + <name>SettingsDialog</name> + <message> + <location filename="../settingsdialog.ui" line="55"/> + <source>Formats</source> + <translation>Formáty</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="61"/> + <source>Windows Media Audio</source> + <translation>Windows Media Audio</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="75"/> + <source>True Audio</source> + <translation>True Audio</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="82"/> + <source>ADTS AAC</source> + <translation>ADTS AAC</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="96"/> + <source>MPEG-4 AAC/ALAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="103"/> + <source>RealAudio 1.0/2.0</source> + <translation>RealAudio 1.0/2.0</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="110"/> + <source>Shorten</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="117"/> + <source>AC3/EAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="124"/> + <source>DTS/DTS-Core</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="131"/> + <source>Matroska Audio (Dolby TrueHD Lossless)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="138"/> + <source>VQF</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="14"/> + <source>FFmpeg Plugin Settings</source> + <translation>Nastavení modulu FFmpeg</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="68"/> + <source>Monkey's Audio (APE)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="89"/> + <source>MP3 (MPEG audio layer 3)</source> + <translation>MP3 (MPEG audio layer 3)</translation> + </message> +</context> +</TS> diff --git a/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_de.ts b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_de.ts new file mode 100644 index 000000000..021c9c3d6 --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_de.ts @@ -0,0 +1,154 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="de_DE"> +<context> + <name>DecoderFFmpegFactory</name> + <message> + <location filename="../decoderffmpegfactory.cpp" line="209"/> + <source>About FFmpeg Audio Plugin</source> + <translation>Über FFmpeg-Audio-Modul</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="211"/> + <source>Qmmp FFmpeg Audio Plugin</source> + <translation>Qmmp FFmpeg-Audio-Modul</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="219"/> + <source>Written by: Ilya Kotov <forkotov02@hotmail.ru></source> + <translation>Autor: Ilya Kotov <forkotov02@hotmail.ru></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="100"/> + <source>FFmpeg Plugin</source> + <translation>FFmpeg-Modul</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="102"/> + <source>FFmpeg Formats</source> + <translation>FFmpeg-Formate</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="212"/> + <source>Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6</source> + <translation>Kompiliert gegen libavformat-%1.%2.%3 und libavcodec-%4.%5.%6</translation> + </message> +</context> +<context> + <name>FFmpegMetaDataModel</name> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="48"/> + <source>Length</source> + <translation>Länge</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>File size</source> + <translation>Dateigröße</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>KB</source> + <translation>KB</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>Bitrate</source> + <translation>Bitrate</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>kbps</source> + <translation>kbps</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Sample rate</source> + <translation>Abtastrate</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Hz</source> + <translation>Hz</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="67"/> + <source>Channels</source> + <translation>Kanäle</translation> + </message> +</context> +<context> + <name>SettingsDialog</name> + <message> + <location filename="../settingsdialog.ui" line="55"/> + <source>Formats</source> + <translation>Formate</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="61"/> + <source>Windows Media Audio</source> + <translation>Windows Media Audio</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="75"/> + <source>True Audio</source> + <translation>True Audio</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="82"/> + <source>ADTS AAC</source> + <translation>ADTS AAC</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="96"/> + <source>MPEG-4 AAC/ALAC</source> + <translation>MPEG-4 AAC/ALAC</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="103"/> + <source>RealAudio 1.0/2.0</source> + <translation>RealAudio 1.0/2.0</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="110"/> + <source>Shorten</source> + <translatorcomment>Name eines Dateiformats</translatorcomment> + <translation>Shorten</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="117"/> + <source>AC3/EAC</source> + <translation>AC3/EAC</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="124"/> + <source>DTS/DTS-Core</source> + <translation>DTS/DTS-Core</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="131"/> + <source>Matroska Audio (Dolby TrueHD Lossless)</source> + <translation>Matroska Audio (Dolby TrueHD, verlustfrei)</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="138"/> + <source>VQF</source> + <translation>VQF</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="14"/> + <source>FFmpeg Plugin Settings</source> + <translation>Einstellungen FFmpeg-Modul</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="68"/> + <source>Monkey's Audio (APE)</source> + <translation>Monkey’s Audio (APE)</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="89"/> + <source>MP3 (MPEG audio layer 3)</source> + <translation>MP3 (MPEG Audio Layer 3)</translation> + </message> +</context> +</TS> diff --git a/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_es.ts b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_es.ts new file mode 100644 index 000000000..9ef0d215d --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_es.ts @@ -0,0 +1,153 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="es"> +<context> + <name>DecoderFFmpegFactory</name> + <message> + <location filename="../decoderffmpegfactory.cpp" line="209"/> + <source>About FFmpeg Audio Plugin</source> + <translation>Acerca del módulo de audio FFmpeg</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="211"/> + <source>Qmmp FFmpeg Audio Plugin</source> + <translation>Módulo de audio FFmpeg para Qmmp</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="219"/> + <source>Written by: Ilya Kotov <forkotov02@hotmail.ru></source> + <translation>Escrito por: Ilya Kotov <forkotov02@hotmail.ru></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="100"/> + <source>FFmpeg Plugin</source> + <translation>Módulo FFmpeg</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="102"/> + <source>FFmpeg Formats</source> + <translation>Formatos FFmpeg</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="212"/> + <source>Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6</source> + <translation>Compilado con libavformat-%1.%2.%3 y libavcodec-%4.%5.%6</translation> + </message> +</context> +<context> + <name>FFmpegMetaDataModel</name> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="48"/> + <source>Length</source> + <translation>Duración</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>File size</source> + <translation>Tamaño del archivo</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>KB</source> + <translation>KB</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>Bitrate</source> + <translation>Tasa de bits</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>kbps</source> + <translation>kbps</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Sample rate</source> + <translation>Frecuencia</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Hz</source> + <translation>Hz</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="67"/> + <source>Channels</source> + <translation>Canales</translation> + </message> +</context> +<context> + <name>SettingsDialog</name> + <message> + <location filename="../settingsdialog.ui" line="55"/> + <source>Formats</source> + <translation>Formatos</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="61"/> + <source>Windows Media Audio</source> + <translation>Windows Media Audio</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="75"/> + <source>True Audio</source> + <translation>True Audio</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="82"/> + <source>ADTS AAC</source> + <translation>ADTS AAC</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="96"/> + <source>MPEG-4 AAC/ALAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="103"/> + <source>RealAudio 1.0/2.0</source> + <translation>RealAudio 1.0/2.0</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="110"/> + <source>Shorten</source> + <translation>Shorten</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="117"/> + <source>AC3/EAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="124"/> + <source>DTS/DTS-Core</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="131"/> + <source>Matroska Audio (Dolby TrueHD Lossless)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="138"/> + <source>VQF</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="14"/> + <source>FFmpeg Plugin Settings</source> + <translation>Configuración del módulo FFmpeg</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="68"/> + <source>Monkey's Audio (APE)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="89"/> + <source>MP3 (MPEG audio layer 3)</source> + <translation>MP3 (MPEG Audio Layer 3)</translation> + </message> +</context> +</TS> diff --git a/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_fr.ts b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_fr.ts new file mode 100644 index 000000000..51f445581 --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_fr.ts @@ -0,0 +1,153 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="fr_FR"> +<context> + <name>DecoderFFmpegFactory</name> + <message> + <location filename="../decoderffmpegfactory.cpp" line="100"/> + <source>FFmpeg Plugin</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="102"/> + <source>FFmpeg Formats</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="209"/> + <source>About FFmpeg Audio Plugin</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="211"/> + <source>Qmmp FFmpeg Audio Plugin</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="212"/> + <source>Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="219"/> + <source>Written by: Ilya Kotov <forkotov02@hotmail.ru></source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>FFmpegMetaDataModel</name> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="48"/> + <source>Length</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>File size</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>Bitrate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>kbps</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Sample rate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Hz</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="67"/> + <source>Channels</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SettingsDialog</name> + <message> + <location filename="../settingsdialog.ui" line="14"/> + <source>FFmpeg Plugin Settings</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="55"/> + <source>Formats</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="61"/> + <source>Windows Media Audio</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="68"/> + <source>Monkey's Audio (APE)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="75"/> + <source>True Audio</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="82"/> + <source>ADTS AAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="89"/> + <source>MP3 (MPEG audio layer 3)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="96"/> + <source>MPEG-4 AAC/ALAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="103"/> + <source>RealAudio 1.0/2.0</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="110"/> + <source>Shorten</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="117"/> + <source>AC3/EAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="124"/> + <source>DTS/DTS-Core</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="131"/> + <source>Matroska Audio (Dolby TrueHD Lossless)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="138"/> + <source>VQF</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_he.ts b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_he.ts new file mode 100644 index 000000000..6aa37403a --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_he.ts @@ -0,0 +1,153 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="he_IL"> +<context> + <name>DecoderFFmpegFactory</name> + <message> + <location filename="../decoderffmpegfactory.cpp" line="100"/> + <source>FFmpeg Plugin</source> + <translation>תוספת FFmpeg</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="102"/> + <source>FFmpeg Formats</source> + <translation>פורמטים של FFmpeg</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="209"/> + <source>About FFmpeg Audio Plugin</source> + <translation>אודות תוספת שמע FFmpeg</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="211"/> + <source>Qmmp FFmpeg Audio Plugin</source> + <translation>תוספת שמע FFmpeg Qmmp</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="212"/> + <source>Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6</source> + <translation>הודרה כנגד libavformat-%1.%2.%3 וכנגד libavcodec-%4.%5.%6</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="219"/> + <source>Written by: Ilya Kotov <forkotov02@hotmail.ru></source> + <translation>חוברה על ידי: Ilya Kotov <forkotov02@hotmail.ru></translation> + </message> +</context> +<context> + <name>FFmpegMetaDataModel</name> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="48"/> + <source>Length</source> + <translation>אריכות</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>File size</source> + <translation>גודל קובץ</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>KB</source> + <translation>ק״ב</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>Bitrate</source> + <translation>שיעור סיביות</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>kbps</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Sample rate</source> + <translation>שיעור דגימה</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Hz</source> + <translation>הרץ</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="67"/> + <source>Channels</source> + <translation>ערוצים</translation> + </message> +</context> +<context> + <name>SettingsDialog</name> + <message> + <location filename="../settingsdialog.ui" line="14"/> + <source>FFmpeg Plugin Settings</source> + <translation>הגדרות תוספת FFmpeg</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="55"/> + <source>Formats</source> + <translation>פורמטים</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="61"/> + <source>Windows Media Audio</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="68"/> + <source>Monkey's Audio (APE)</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="75"/> + <source>True Audio</source> + <translation>שמע אמיתי</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="82"/> + <source>ADTS AAC</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="89"/> + <source>MP3 (MPEG audio layer 3)</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="96"/> + <source>MPEG-4 AAC/ALAC</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="103"/> + <source>RealAudio 1.0/2.0</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="110"/> + <source>Shorten</source> + <translation>מקוצר</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="117"/> + <source>AC3/EAC</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="124"/> + <source>DTS/DTS-Core</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="131"/> + <source>Matroska Audio (Dolby TrueHD Lossless)</source> + <translation>שמע Matroska (Dolby TrueHD נטול אובדן)</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="138"/> + <source>VQF</source> + <translation></translation> + </message> +</context> +</TS> diff --git a/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_hu.ts b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_hu.ts new file mode 100644 index 000000000..176f64142 --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_hu.ts @@ -0,0 +1,153 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="hu_HU"> +<context> + <name>DecoderFFmpegFactory</name> + <message> + <location filename="../decoderffmpegfactory.cpp" line="100"/> + <source>FFmpeg Plugin</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="102"/> + <source>FFmpeg Formats</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="209"/> + <source>About FFmpeg Audio Plugin</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="211"/> + <source>Qmmp FFmpeg Audio Plugin</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="212"/> + <source>Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="219"/> + <source>Written by: Ilya Kotov <forkotov02@hotmail.ru></source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>FFmpegMetaDataModel</name> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="48"/> + <source>Length</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>File size</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>Bitrate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>kbps</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Sample rate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Hz</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="67"/> + <source>Channels</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SettingsDialog</name> + <message> + <location filename="../settingsdialog.ui" line="14"/> + <source>FFmpeg Plugin Settings</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="55"/> + <source>Formats</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="61"/> + <source>Windows Media Audio</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="68"/> + <source>Monkey's Audio (APE)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="75"/> + <source>True Audio</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="82"/> + <source>ADTS AAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="89"/> + <source>MP3 (MPEG audio layer 3)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="96"/> + <source>MPEG-4 AAC/ALAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="103"/> + <source>RealAudio 1.0/2.0</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="110"/> + <source>Shorten</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="117"/> + <source>AC3/EAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="124"/> + <source>DTS/DTS-Core</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="131"/> + <source>Matroska Audio (Dolby TrueHD Lossless)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="138"/> + <source>VQF</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_it.ts b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_it.ts new file mode 100644 index 000000000..75ed8b763 --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_it.ts @@ -0,0 +1,153 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="it"> +<context> + <name>DecoderFFmpegFactory</name> + <message> + <location filename="../decoderffmpegfactory.cpp" line="209"/> + <source>About FFmpeg Audio Plugin</source> + <translation>Info sul modulo audi FFmpeg</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="211"/> + <source>Qmmp FFmpeg Audio Plugin</source> + <translation>Modulo audio FFmpeg per Qmmp</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="219"/> + <source>Written by: Ilya Kotov <forkotov02@hotmail.ru></source> + <translation>Autore: Ilya Kotov <forkotov02@hotmail.ru></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="100"/> + <source>FFmpeg Plugin</source> + <translation>Modulo FFmpeg</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="102"/> + <source>FFmpeg Formats</source> + <translation>Formati FFmpeg</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="212"/> + <source>Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6</source> + <translation>Compilato con libavformat-%1.%2.%3 e libavcodec-%4.%5.%6</translation> + </message> +</context> +<context> + <name>FFmpegMetaDataModel</name> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="48"/> + <source>Length</source> + <translation>Durata</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>File size</source> + <translation>Dimensione file</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>KB</source> + <translation>KB</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>Bitrate</source> + <translation>Bit/secondo</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>kbps</source> + <translation>kbps</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Sample rate</source> + <translation>Campionamento</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Hz</source> + <translation>Hz</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="67"/> + <source>Channels</source> + <translation>Canali</translation> + </message> +</context> +<context> + <name>SettingsDialog</name> + <message> + <location filename="../settingsdialog.ui" line="55"/> + <source>Formats</source> + <translation>Formati</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="61"/> + <source>Windows Media Audio</source> + <translation>Windows Media Audio</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="75"/> + <source>True Audio</source> + <translation>True Audio</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="82"/> + <source>ADTS AAC</source> + <translation>ADTS AAC</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="96"/> + <source>MPEG-4 AAC/ALAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="103"/> + <source>RealAudio 1.0/2.0</source> + <translation>RealAudio 1.0/2.0</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="110"/> + <source>Shorten</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="117"/> + <source>AC3/EAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="124"/> + <source>DTS/DTS-Core</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="131"/> + <source>Matroska Audio (Dolby TrueHD Lossless)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="138"/> + <source>VQF</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="14"/> + <source>FFmpeg Plugin Settings</source> + <translation>Impostazioni del modulo FFmpeg</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="68"/> + <source>Monkey's Audio (APE)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="89"/> + <source>MP3 (MPEG audio layer 3)</source> + <translation>MP3 (MPEG Audio Layer 3)</translation> + </message> +</context> +</TS> diff --git a/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_ja.ts b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_ja.ts new file mode 100644 index 000000000..3404cf8f9 --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_ja.ts @@ -0,0 +1,153 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="ja_JP"> +<context> + <name>DecoderFFmpegFactory</name> + <message> + <location filename="../decoderffmpegfactory.cpp" line="100"/> + <source>FFmpeg Plugin</source> + <translation>FFmpeg プラグイン</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="102"/> + <source>FFmpeg Formats</source> + <translation>FFmpeg 用の形式</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="209"/> + <source>About FFmpeg Audio Plugin</source> + <translation>FFmpeg 音響プラグインについて</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="211"/> + <source>Qmmp FFmpeg Audio Plugin</source> + <translation>QMMP FFmpeg 音響プラグイン</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="212"/> + <source>Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6</source> + <translation>libavformat-%1.%2.%3 と libavcodec-%4.%5.%6 対応でコンパイル</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="219"/> + <source>Written by: Ilya Kotov <forkotov02@hotmail.ru></source> + <translation>制作: Илья Котов (Ilya Kotov) <forkotov02@hotmail.ru></translation> + </message> +</context> +<context> + <name>FFmpegMetaDataModel</name> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="48"/> + <source>Length</source> + <translation>長さ</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>File size</source> + <translation>ファイルの大きさ</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>KB</source> + <translation>KiB</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>Bitrate</source> + <translation>ビットレート</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>kbps</source> + <translation>キロビット毎秒</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Sample rate</source> + <translation>サンプルレート</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Hz</source> + <translation>Hz</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="67"/> + <source>Channels</source> + <translation>チャンネル</translation> + </message> +</context> +<context> + <name>SettingsDialog</name> + <message> + <location filename="../settingsdialog.ui" line="14"/> + <source>FFmpeg Plugin Settings</source> + <translation>FFmpeg プラグイン設定</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="55"/> + <source>Formats</source> + <translation>形式</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="61"/> + <source>Windows Media Audio</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="68"/> + <source>Monkey's Audio (APE)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="75"/> + <source>True Audio</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="82"/> + <source>ADTS AAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="89"/> + <source>MP3 (MPEG audio layer 3)</source> + <translation>MP3 (MPEG オーディオ レイヤー3)</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="96"/> + <source>MPEG-4 AAC/ALAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="103"/> + <source>RealAudio 1.0/2.0</source> + <translation>RealAudio 1.0/2.0</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="110"/> + <source>Shorten</source> + <translation>短縮</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="117"/> + <source>AC3/EAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="124"/> + <source>DTS/DTS-Core</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="131"/> + <source>Matroska Audio (Dolby TrueHD Lossless)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="138"/> + <source>VQF</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_kk.ts b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_kk.ts new file mode 100644 index 000000000..e25f1c514 --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_kk.ts @@ -0,0 +1,153 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="kk_KZ"> +<context> + <name>DecoderFFmpegFactory</name> + <message> + <location filename="../decoderffmpegfactory.cpp" line="100"/> + <source>FFmpeg Plugin</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="102"/> + <source>FFmpeg Formats</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="209"/> + <source>About FFmpeg Audio Plugin</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="211"/> + <source>Qmmp FFmpeg Audio Plugin</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="212"/> + <source>Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="219"/> + <source>Written by: Ilya Kotov <forkotov02@hotmail.ru></source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>FFmpegMetaDataModel</name> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="48"/> + <source>Length</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>File size</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>Bitrate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>kbps</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Sample rate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Hz</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="67"/> + <source>Channels</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SettingsDialog</name> + <message> + <location filename="../settingsdialog.ui" line="14"/> + <source>FFmpeg Plugin Settings</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="55"/> + <source>Formats</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="61"/> + <source>Windows Media Audio</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="68"/> + <source>Monkey's Audio (APE)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="75"/> + <source>True Audio</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="82"/> + <source>ADTS AAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="89"/> + <source>MP3 (MPEG audio layer 3)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="96"/> + <source>MPEG-4 AAC/ALAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="103"/> + <source>RealAudio 1.0/2.0</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="110"/> + <source>Shorten</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="117"/> + <source>AC3/EAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="124"/> + <source>DTS/DTS-Core</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="131"/> + <source>Matroska Audio (Dolby TrueHD Lossless)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="138"/> + <source>VQF</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_lt.ts b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_lt.ts new file mode 100644 index 000000000..8f2a6283d --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_lt.ts @@ -0,0 +1,153 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="lt"> +<context> + <name>DecoderFFmpegFactory</name> + <message> + <location filename="../decoderffmpegfactory.cpp" line="209"/> + <source>About FFmpeg Audio Plugin</source> + <translation>Apie FFmpeg įskiepį</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="211"/> + <source>Qmmp FFmpeg Audio Plugin</source> + <translation>FFmpeg Qmmp audio įskiepis</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="219"/> + <source>Written by: Ilya Kotov <forkotov02@hotmail.ru></source> + <translation>Sukūrė: Ilya Kotov <forkotov02@hotmail.ru></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="100"/> + <source>FFmpeg Plugin</source> + <translation>FFmpeg įskiepis</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="102"/> + <source>FFmpeg Formats</source> + <translation>FFmpeg bylų tipai</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="212"/> + <source>Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6</source> + <translation>Surinkta iš libavformat-%1.%2.%3 ir libavcodec-%4.%5.%6</translation> + </message> +</context> +<context> + <name>FFmpegMetaDataModel</name> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="48"/> + <source>Length</source> + <translation>Trukmė</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>File size</source> + <translation>Bylos dydis</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>KB</source> + <translation>КB</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>Bitrate</source> + <translation>Kokybė</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>kbps</source> + <translation>kbps</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Sample rate</source> + <translation>Dažnis</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Hz</source> + <translation>Hz</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="67"/> + <source>Channels</source> + <translation>Kanalai</translation> + </message> +</context> +<context> + <name>SettingsDialog</name> + <message> + <location filename="../settingsdialog.ui" line="55"/> + <source>Formats</source> + <translation>Tipai</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="61"/> + <source>Windows Media Audio</source> + <translation>Windows Media Audio</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="75"/> + <source>True Audio</source> + <translation>True Audio</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="82"/> + <source>ADTS AAC</source> + <translation>ADTS AAC</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="96"/> + <source>MPEG-4 AAC/ALAC</source> + <translation>MPEG-4 AAC/ALAC</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="103"/> + <source>RealAudio 1.0/2.0</source> + <translation>RealAudio 1.0/2.0</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="110"/> + <source>Shorten</source> + <translation>Shorten</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="117"/> + <source>AC3/EAC</source> + <translation>AC3/EAC</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="124"/> + <source>DTS/DTS-Core</source> + <translation>DTS/DTS-Core</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="131"/> + <source>Matroska Audio (Dolby TrueHD Lossless)</source> + <translation>Matroska Audio (Dolby TrueHD Lossless)</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="138"/> + <source>VQF</source> + <translation>VQF</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="14"/> + <source>FFmpeg Plugin Settings</source> + <translation>FFmpeg įskiepio nustatymai</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="68"/> + <source>Monkey's Audio (APE)</source> + <translation>Monkey's Audio (APE)</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="89"/> + <source>MP3 (MPEG audio layer 3)</source> + <translation>MP3 (MPEG audio layer 3)</translation> + </message> +</context> +</TS> diff --git a/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_nl.ts b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_nl.ts new file mode 100644 index 000000000..221b9562e --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_nl.ts @@ -0,0 +1,153 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="nl"> +<context> + <name>DecoderFFmpegFactory</name> + <message> + <location filename="../decoderffmpegfactory.cpp" line="209"/> + <source>About FFmpeg Audio Plugin</source> + <translation>Over de FFmpeg Audio Module</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="211"/> + <source>Qmmp FFmpeg Audio Plugin</source> + <translation>FFmpeg Audio Module voor Qmmp</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="219"/> + <source>Written by: Ilya Kotov <forkotov02@hotmail.ru></source> + <translation>Auteur: Ilya Kotov <forkotov02@hotmail.ru></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="100"/> + <source>FFmpeg Plugin</source> + <translation>FFmpeg Module</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="102"/> + <source>FFmpeg Formats</source> + <translation>FFmpeg Formaat</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="212"/> + <source>Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6</source> + <translation>Gecompileerd tegen libavformat-%1.%2.%3 en libavcodec-%4.%5.%6</translation> + </message> +</context> +<context> + <name>FFmpegMetaDataModel</name> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="48"/> + <source>Length</source> + <translation>Duur</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>File size</source> + <translation>Bestandsgrootte</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>KB</source> + <translation></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>Bitrate</source> + <translation>Bitsnelheid</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>kbps</source> + <translation></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Sample rate</source> + <translation>Sample frequentie</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Hz</source> + <translation></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="67"/> + <source>Channels</source> + <translation>Kanalen</translation> + </message> +</context> +<context> + <name>SettingsDialog</name> + <message> + <location filename="../settingsdialog.ui" line="55"/> + <source>Formats</source> + <translation>Formaten</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="61"/> + <source>Windows Media Audio</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="75"/> + <source>True Audio</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="82"/> + <source>ADTS AAC</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="96"/> + <source>MPEG-4 AAC/ALAC</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="103"/> + <source>RealAudio 1.0/2.0</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="110"/> + <source>Shorten</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="117"/> + <source>AC3/EAC</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="124"/> + <source>DTS/DTS-Core</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="131"/> + <source>Matroska Audio (Dolby TrueHD Lossless)</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="138"/> + <source>VQF</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="14"/> + <source>FFmpeg Plugin Settings</source> + <translation>FFmpeg Module Instellingen</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="68"/> + <source>Monkey's Audio (APE)</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="89"/> + <source>MP3 (MPEG audio layer 3)</source> + <translation></translation> + </message> +</context> +</TS> diff --git a/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_pl.ts b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_pl.ts new file mode 100644 index 000000000..f445778dd --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_pl.ts @@ -0,0 +1,161 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="pl"> +<context> + <name>DecoderFFmpegFactory</name> + <message> + <location filename="../decoderffmpegfactory.cpp" line="93"/> + <source>FFmpeg Plugin</source> + <translation>Wtyczka FFMPEG</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="95"/> + <source>FFmpeg Formats</source> + <translation>Formaty FFmpeg</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="257"/> + <source>About FFmpeg Audio Plugin</source> + <translation>O wtyczce FFmpeg Audio</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="259"/> + <source>Qmmp FFmpeg Audio Plugin</source> + <translation>Wtyczka FFmpeg Audio dla Qmmp</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="260"/> + <source>Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6</source> + <translation>Skompilowane przy użyciu libavformat-%1.%2.%3 i libavcodec-%4.%5.%6</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="267"/> + <source>Written by: Ilya Kotov <forkotov02@hotmail.ru></source> + <translation>Autor: Ilja Kotov <forkotov02@hotmail.ru></translation> + </message> +</context> +<context> + <name>FFmpegMetaDataModel</name> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="52"/> + <location filename="../ffmpegmetadatamodel.cpp" line="99"/> + <source>Length</source> + <translation>Długość</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="53"/> + <location filename="../ffmpegmetadatamodel.cpp" line="100"/> + <source>File size</source> + <translation>Wielkość pliku</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="53"/> + <location filename="../ffmpegmetadatamodel.cpp" line="100"/> + <source>KB</source> + <translation></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="54"/> + <location filename="../ffmpegmetadatamodel.cpp" line="101"/> + <source>Bitrate</source> + <translation>Szybkość transmisji</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="54"/> + <location filename="../ffmpegmetadatamodel.cpp" line="101"/> + <source>kbps</source> + <translation></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <location filename="../ffmpegmetadatamodel.cpp" line="117"/> + <source>Sample rate</source> + <translation>Próbkowanie</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <location filename="../ffmpegmetadatamodel.cpp" line="117"/> + <source>Hz</source> + <translation></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="67"/> + <location filename="../ffmpegmetadatamodel.cpp" line="118"/> + <source>Channels</source> + <translation>Kanały</translation> + </message> +</context> +<context> + <name>SettingsDialog</name> + <message> + <location filename="../settingsdialog.ui" line="14"/> + <source>FFmpeg Plugin Settings</source> + <translation>Ustawienia wtyczki FFMPEG</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="55"/> + <source>Formats</source> + <translation>Formaty</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="61"/> + <source>Windows Media Audio</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="68"/> + <source>Monkey's Audio (APE)</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="75"/> + <source>True Audio</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="82"/> + <source>ADTS AAC</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="89"/> + <source>MP3 (MPEG audio layer 3)</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="96"/> + <source>MPEG-4 AAC/ALAC</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="103"/> + <source>RealAudio 1.0/2.0</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="110"/> + <source>Shorten</source> + <translation>Shorten (SHN)</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="117"/> + <source>AC3/EAC</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="124"/> + <source>DTS/DTS-Core</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="131"/> + <source>Matroska Audio (Dolby TrueHD Lossless)</source> + <translation>Matroska Audio (Dolby TrueHD Bezstratny)</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="138"/> + <source>VQF</source> + <translation></translation> + </message> +</context> +</TS> diff --git a/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_pl_PL.ts b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_pl_PL.ts new file mode 100644 index 000000000..3770dc05d --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_pl_PL.ts @@ -0,0 +1,153 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="pl"> +<context> + <name>DecoderFFmpegFactory</name> + <message> + <location filename="../decoderffmpegfactory.cpp" line="100"/> + <source>FFmpeg Plugin</source> + <translation>Wtyczka FFMPEG</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="102"/> + <source>FFmpeg Formats</source> + <translation>Formaty FFmpeg</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="209"/> + <source>About FFmpeg Audio Plugin</source> + <translation>O wtyczce FFmpeg Audio</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="211"/> + <source>Qmmp FFmpeg Audio Plugin</source> + <translation>Wtyczka FFmpeg Audio dla Qmmp</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="212"/> + <source>Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6</source> + <translation>Skompilowane przy użyciu libavformat-%1.%2.%3 i libavcodec-%4.%5.%6</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="219"/> + <source>Written by: Ilya Kotov <forkotov02@hotmail.ru></source> + <translation>Autor: Ilja Kotov <forkotov02@hotmail.ru></translation> + </message> +</context> +<context> + <name>FFmpegMetaDataModel</name> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="48"/> + <source>Length</source> + <translation>Długość</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>File size</source> + <translation>Wielkość pliku</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>KB</source> + <translation></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>Bitrate</source> + <translation>Szybkość transmisji</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>kbps</source> + <translation></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Sample rate</source> + <translation>Próbkowanie</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Hz</source> + <translation></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="67"/> + <source>Channels</source> + <translation>Kanały</translation> + </message> +</context> +<context> + <name>SettingsDialog</name> + <message> + <location filename="../settingsdialog.ui" line="14"/> + <source>FFmpeg Plugin Settings</source> + <translation>Ustawienia wtyczki FFMPEG</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="55"/> + <source>Formats</source> + <translation>Formaty</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="61"/> + <source>Windows Media Audio</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="68"/> + <source>Monkey's Audio (APE)</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="75"/> + <source>True Audio</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="82"/> + <source>ADTS AAC</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="89"/> + <source>MP3 (MPEG audio layer 3)</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="96"/> + <source>MPEG-4 AAC/ALAC</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="103"/> + <source>RealAudio 1.0/2.0</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="110"/> + <source>Shorten</source> + <translation>Shorten (SHN)</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="117"/> + <source>AC3/EAC</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="124"/> + <source>DTS/DTS-Core</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="131"/> + <source>Matroska Audio (Dolby TrueHD Lossless)</source> + <translation>Matroska Audio (Dolby TrueHD Bezstratny)</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="138"/> + <source>VQF</source> + <translation></translation> + </message> +</context> +</TS> diff --git a/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_pt_BR.ts b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_pt_BR.ts new file mode 100644 index 000000000..8eb7e2e6f --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_pt_BR.ts @@ -0,0 +1,153 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="pt_BR"> +<context> + <name>DecoderFFmpegFactory</name> + <message> + <location filename="../decoderffmpegfactory.cpp" line="100"/> + <source>FFmpeg Plugin</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="102"/> + <source>FFmpeg Formats</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="209"/> + <source>About FFmpeg Audio Plugin</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="211"/> + <source>Qmmp FFmpeg Audio Plugin</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="212"/> + <source>Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="219"/> + <source>Written by: Ilya Kotov <forkotov02@hotmail.ru></source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>FFmpegMetaDataModel</name> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="48"/> + <source>Length</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>File size</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>Bitrate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>kbps</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Sample rate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Hz</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="67"/> + <source>Channels</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SettingsDialog</name> + <message> + <location filename="../settingsdialog.ui" line="14"/> + <source>FFmpeg Plugin Settings</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="55"/> + <source>Formats</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="61"/> + <source>Windows Media Audio</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="68"/> + <source>Monkey's Audio (APE)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="75"/> + <source>True Audio</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="82"/> + <source>ADTS AAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="89"/> + <source>MP3 (MPEG audio layer 3)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="96"/> + <source>MPEG-4 AAC/ALAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="103"/> + <source>RealAudio 1.0/2.0</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="110"/> + <source>Shorten</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="117"/> + <source>AC3/EAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="124"/> + <source>DTS/DTS-Core</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="131"/> + <source>Matroska Audio (Dolby TrueHD Lossless)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="138"/> + <source>VQF</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_ru.ts b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_ru.ts new file mode 100644 index 000000000..6288768bf --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_ru.ts @@ -0,0 +1,153 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="ru"> +<context> + <name>DecoderFFmpegFactory</name> + <message> + <location filename="../decoderffmpegfactory.cpp" line="209"/> + <source>About FFmpeg Audio Plugin</source> + <translation>Об аудио-модуле FFmpeg</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="211"/> + <source>Qmmp FFmpeg Audio Plugin</source> + <translation>Аудио-модуль FFmpeg для Qmmp</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="219"/> + <source>Written by: Ilya Kotov <forkotov02@hotmail.ru></source> + <translation>Разработчик: Илья Котов <forkotov02@hotmail.ru></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="100"/> + <source>FFmpeg Plugin</source> + <translation>Модуль FFmpeg</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="102"/> + <source>FFmpeg Formats</source> + <translation>Форматы FFmpeg</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="212"/> + <source>Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6</source> + <translation>Собрано с libavformat-%1.%2.%3 и libavcodec-%4.%5.%6</translation> + </message> +</context> +<context> + <name>FFmpegMetaDataModel</name> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="48"/> + <source>Length</source> + <translation>Длительность</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>File size</source> + <translation>Размер файла</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>KB</source> + <translation>КБ</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>Bitrate</source> + <translation>Битовая частота</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>kbps</source> + <translation>Кб/с</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Sample rate</source> + <translation>Дискретизация</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Hz</source> + <translation>Гц</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="67"/> + <source>Channels</source> + <translation>Каналов</translation> + </message> +</context> +<context> + <name>SettingsDialog</name> + <message> + <location filename="../settingsdialog.ui" line="55"/> + <source>Formats</source> + <translation>Форматы</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="61"/> + <source>Windows Media Audio</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="75"/> + <source>True Audio</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="82"/> + <source>ADTS AAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="96"/> + <source>MPEG-4 AAC/ALAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="103"/> + <source>RealAudio 1.0/2.0</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="110"/> + <source>Shorten</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="117"/> + <source>AC3/EAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="124"/> + <source>DTS/DTS-Core</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="131"/> + <source>Matroska Audio (Dolby TrueHD Lossless)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="138"/> + <source>VQF</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="14"/> + <source>FFmpeg Plugin Settings</source> + <translation>Настройки модуля FFmpeg</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="68"/> + <source>Monkey's Audio (APE)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="89"/> + <source>MP3 (MPEG audio layer 3)</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_sk.ts b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_sk.ts new file mode 100644 index 000000000..8a783fb40 --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_sk.ts @@ -0,0 +1,153 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="sk_SK"> +<context> + <name>DecoderFFmpegFactory</name> + <message> + <location filename="../decoderffmpegfactory.cpp" line="100"/> + <source>FFmpeg Plugin</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="102"/> + <source>FFmpeg Formats</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="209"/> + <source>About FFmpeg Audio Plugin</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="211"/> + <source>Qmmp FFmpeg Audio Plugin</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="212"/> + <source>Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="219"/> + <source>Written by: Ilya Kotov <forkotov02@hotmail.ru></source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>FFmpegMetaDataModel</name> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="48"/> + <source>Length</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>File size</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>Bitrate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>kbps</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Sample rate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Hz</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="67"/> + <source>Channels</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SettingsDialog</name> + <message> + <location filename="../settingsdialog.ui" line="14"/> + <source>FFmpeg Plugin Settings</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="55"/> + <source>Formats</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="61"/> + <source>Windows Media Audio</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="68"/> + <source>Monkey's Audio (APE)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="75"/> + <source>True Audio</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="82"/> + <source>ADTS AAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="89"/> + <source>MP3 (MPEG audio layer 3)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="96"/> + <source>MPEG-4 AAC/ALAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="103"/> + <source>RealAudio 1.0/2.0</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="110"/> + <source>Shorten</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="117"/> + <source>AC3/EAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="124"/> + <source>DTS/DTS-Core</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="131"/> + <source>Matroska Audio (Dolby TrueHD Lossless)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="138"/> + <source>VQF</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_tr.ts b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_tr.ts new file mode 100644 index 000000000..19a8cd036 --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_tr.ts @@ -0,0 +1,153 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="tr_TR"> +<context> + <name>DecoderFFmpegFactory</name> + <message> + <location filename="../decoderffmpegfactory.cpp" line="100"/> + <source>FFmpeg Plugin</source> + <translation>FFmpeg Eklentisi</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="102"/> + <source>FFmpeg Formats</source> + <translation>FFmpeg Biçimleri</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="209"/> + <source>About FFmpeg Audio Plugin</source> + <translation>FFmpeg Ses Eklentisi Hakkında</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="211"/> + <source>Qmmp FFmpeg Audio Plugin</source> + <translation>Qmmp FFmpeg Ses Eklentisi</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="212"/> + <source>Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6</source> + <translation>libavformat-%1.%2.%3 ve libavcodec-%4.%5.%6 ile derlenmiştir</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="219"/> + <source>Written by: Ilya Kotov <forkotov02@hotmail.ru></source> + <translation>Yazan: Ilya Kotov <forkotov02@hotmail.ru></translation> + </message> +</context> +<context> + <name>FFmpegMetaDataModel</name> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="48"/> + <source>Length</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>File size</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>KB</source> + <translation type="unfinished">KB</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>Bitrate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>kbps</source> + <translation type="unfinished">kbps</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Sample rate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Hz</source> + <translation type="unfinished">Hz</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="67"/> + <source>Channels</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SettingsDialog</name> + <message> + <location filename="../settingsdialog.ui" line="14"/> + <source>FFmpeg Plugin Settings</source> + <translation>FFmpeg Eklenti Ayarları</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="55"/> + <source>Formats</source> + <translation>Biçimler</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="61"/> + <source>Windows Media Audio</source> + <translation>Windows Media Audio</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="68"/> + <source>Monkey's Audio (APE)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="75"/> + <source>True Audio</source> + <translation>True Audio</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="82"/> + <source>ADTS AAC</source> + <translation>ADTS AAC</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="89"/> + <source>MP3 (MPEG audio layer 3)</source> + <translation>MP3 (MPEG audio layer 3)</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="96"/> + <source>MPEG-4 AAC/ALAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="103"/> + <source>RealAudio 1.0/2.0</source> + <translation>RealAudio 1.0/2.0</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="110"/> + <source>Shorten</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="117"/> + <source>AC3/EAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="124"/> + <source>DTS/DTS-Core</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="131"/> + <source>Matroska Audio (Dolby TrueHD Lossless)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="138"/> + <source>VQF</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_uk_UA.ts b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_uk_UA.ts new file mode 100644 index 000000000..5d86ac6f8 --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_uk_UA.ts @@ -0,0 +1,153 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="uk"> +<context> + <name>DecoderFFmpegFactory</name> + <message> + <location filename="../decoderffmpegfactory.cpp" line="209"/> + <source>About FFmpeg Audio Plugin</source> + <translation>Про аудіо-модуль FFmpeg</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="211"/> + <source>Qmmp FFmpeg Audio Plugin</source> + <translation>Аудіо-модуль FFmpeg для Qmmp</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="219"/> + <source>Written by: Ilya Kotov <forkotov02@hotmail.ru></source> + <translation>Розробник: Ілля Котов <forkotov02@hotmail.ru></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="100"/> + <source>FFmpeg Plugin</source> + <translation>Модуль FFmpeg</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="102"/> + <source>FFmpeg Formats</source> + <translation>Формати FFmpeg</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="212"/> + <source>Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6</source> + <translation>Зібрано з libavformat-%1.%2.%3 та libavcodec-%4.%5.%6</translation> + </message> +</context> +<context> + <name>FFmpegMetaDataModel</name> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="48"/> + <source>Length</source> + <translation>Тривалість</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>File size</source> + <translation>Розмір файлу</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>KB</source> + <translation>Кб</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>Bitrate</source> + <translation>Бітрейт</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>kbps</source> + <translation>Кб/с</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Sample rate</source> + <translation>Частота</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Hz</source> + <translation>Гц</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="67"/> + <source>Channels</source> + <translation>Канали</translation> + </message> +</context> +<context> + <name>SettingsDialog</name> + <message> + <location filename="../settingsdialog.ui" line="55"/> + <source>Formats</source> + <translation>Формати</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="61"/> + <source>Windows Media Audio</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="75"/> + <source>True Audio</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="82"/> + <source>ADTS AAC</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="96"/> + <source>MPEG-4 AAC/ALAC</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="103"/> + <source>RealAudio 1.0/2.0</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="110"/> + <source>Shorten</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="117"/> + <source>AC3/EAC</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="124"/> + <source>DTS/DTS-Core</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="131"/> + <source>Matroska Audio (Dolby TrueHD Lossless)</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="138"/> + <source>VQF</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="14"/> + <source>FFmpeg Plugin Settings</source> + <translation>Налаштування модуля FFmpeg</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="68"/> + <source>Monkey's Audio (APE)</source> + <translation></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="89"/> + <source>MP3 (MPEG audio layer 3)</source> + <translation></translation> + </message> +</context> +</TS> diff --git a/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_zh_CN.ts b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_zh_CN.ts new file mode 100644 index 000000000..2c95328d2 --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_zh_CN.ts @@ -0,0 +1,153 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="zh_CN"> +<context> + <name>DecoderFFmpegFactory</name> + <message> + <location filename="../decoderffmpegfactory.cpp" line="209"/> + <source>About FFmpeg Audio Plugin</source> + <translation>关于 FFmpeg 音频插件</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="211"/> + <source>Qmmp FFmpeg Audio Plugin</source> + <translation>Qmmp FFmpeg 音频插件</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="219"/> + <source>Written by: Ilya Kotov <forkotov02@hotmail.ru></source> + <translation>作者:Ilya Kotov <forkotov02@hotmail.ru></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="100"/> + <source>FFmpeg Plugin</source> + <translation>FFmpeg 插件</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="102"/> + <source>FFmpeg Formats</source> + <translation>FFmpeg 格式</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="212"/> + <source>Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6</source> + <translation>编译依赖 libavformat-%1.%2.%3 和 libavcodec-%4.%5.%6</translation> + </message> +</context> +<context> + <name>FFmpegMetaDataModel</name> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="48"/> + <source>Length</source> + <translation>长度</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>File size</source> + <translation>文件大小</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>Bitrate</source> + <translation>比特率</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>kbps</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Sample rate</source> + <translation>取样率</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Hz</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="67"/> + <source>Channels</source> + <translation>声音通道</translation> + </message> +</context> +<context> + <name>SettingsDialog</name> + <message> + <location filename="../settingsdialog.ui" line="55"/> + <source>Formats</source> + <translation>格式</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="61"/> + <source>Windows Media Audio</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="75"/> + <source>True Audio</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="82"/> + <source>ADTS AAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="96"/> + <source>MPEG-4 AAC/ALAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="103"/> + <source>RealAudio 1.0/2.0</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="110"/> + <source>Shorten</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="117"/> + <source>AC3/EAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="124"/> + <source>DTS/DTS-Core</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="131"/> + <source>Matroska Audio (Dolby TrueHD Lossless)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="138"/> + <source>VQF</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="14"/> + <source>FFmpeg Plugin Settings</source> + <translation>FFmpeg 插件设置</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="68"/> + <source>Monkey's Audio (APE)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="89"/> + <source>MP3 (MPEG audio layer 3)</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_zh_TW.ts b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_zh_TW.ts new file mode 100644 index 000000000..40bba9dda --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/translations/ffmpeg_legacy_plugin_zh_TW.ts @@ -0,0 +1,153 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="zh_TW"> +<context> + <name>DecoderFFmpegFactory</name> + <message> + <location filename="../decoderffmpegfactory.cpp" line="209"/> + <source>About FFmpeg Audio Plugin</source> + <translation>關於 FFmpeg 聲訊插件</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="211"/> + <source>Qmmp FFmpeg Audio Plugin</source> + <translation>Qmmp FFmpeg 聲訊插件</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="219"/> + <source>Written by: Ilya Kotov <forkotov02@hotmail.ru></source> + <translation>作者:Ilya Kotov <forkotov02@hotmail.ru></translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="100"/> + <source>FFmpeg Plugin</source> + <translation>FFmpeg 插件</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="102"/> + <source>FFmpeg Formats</source> + <translation>FFmpeg 格式</translation> + </message> + <message> + <location filename="../decoderffmpegfactory.cpp" line="212"/> + <source>Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6</source> + <translation>編譯依賴 libavformat-%1.%2.%3 與 libavcodec-%4.%5.%6</translation> + </message> +</context> +<context> + <name>FFmpegMetaDataModel</name> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="48"/> + <source>Length</source> + <translation>長度</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>File size</source> + <translation>文件大小</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="49"/> + <source>KB</source> + <translation>KB</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>Bitrate</source> + <translation>比特率</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="50"/> + <source>kbps</source> + <translation>kbps</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Sample rate</source> + <translation>取樣率</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="66"/> + <source>Hz</source> + <translation>Hz</translation> + </message> + <message> + <location filename="../ffmpegmetadatamodel.cpp" line="67"/> + <source>Channels</source> + <translation>聲音通道</translation> + </message> +</context> +<context> + <name>SettingsDialog</name> + <message> + <location filename="../settingsdialog.ui" line="55"/> + <source>Formats</source> + <translation>格式</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="61"/> + <source>Windows Media Audio</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="75"/> + <source>True Audio</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="82"/> + <source>ADTS AAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="96"/> + <source>MPEG-4 AAC/ALAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="103"/> + <source>RealAudio 1.0/2.0</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="110"/> + <source>Shorten</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="117"/> + <source>AC3/EAC</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="124"/> + <source>DTS/DTS-Core</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="131"/> + <source>Matroska Audio (Dolby TrueHD Lossless)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="138"/> + <source>VQF</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="14"/> + <source>FFmpeg Plugin Settings</source> + <translation>FFmpeg 插件設置</translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="68"/> + <source>Monkey's Audio (APE)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../settingsdialog.ui" line="89"/> + <source>MP3 (MPEG audio layer 3)</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/src/plugins/Input/ffmpeg_legacy/translations/translations.qrc b/src/plugins/Input/ffmpeg_legacy/translations/translations.qrc new file mode 100644 index 000000000..49a792f75 --- /dev/null +++ b/src/plugins/Input/ffmpeg_legacy/translations/translations.qrc @@ -0,0 +1,24 @@ +<!DOCTYPE RCC> +<RCC version="1.0"> + <qresource> + <file>ffmpeg_legacy_plugin_ru.qm</file> + <file>ffmpeg_legacy_plugin_uk_UA.qm</file> + <file>ffmpeg_legacy_plugin_zh_CN.qm</file> + <file>ffmpeg_legacy_plugin_zh_TW.qm</file> + <file>ffmpeg_legacy_plugin_tr.qm</file> + <file>ffmpeg_legacy_plugin_cs.qm</file> + <file>ffmpeg_legacy_plugin_pt_BR.qm</file> + <file>ffmpeg_legacy_plugin_de.qm</file> + <file>ffmpeg_legacy_plugin_pl_PL.qm</file> + <file>ffmpeg_legacy_plugin_fr.qm</file> + <file>ffmpeg_legacy_plugin_it.qm</file> + <file>ffmpeg_legacy_plugin_kk.qm</file> + <file>ffmpeg_legacy_plugin_lt.qm</file> + <file>ffmpeg_legacy_plugin_hu.qm</file> + <file>ffmpeg_legacy_plugin_nl.qm</file> + <file>ffmpeg_legacy_plugin_ja.qm</file> + <file>ffmpeg_legacy_plugin_sk.qm</file> + <file>ffmpeg_legacy_plugin_es.qm</file> + <file>ffmpeg_legacy_plugin_he.qm</file> + </qresource> +</RCC> |
