Add support for FLAC in Ogg

This commit is contained in:
Martchus 2016-05-14 23:23:47 +02:00
parent 5d72024d79
commit b5f26228ff
5 changed files with 160 additions and 154 deletions

View File

@ -6,7 +6,7 @@ The tag editor can read and write the following tag formats:
- iTunes-style MP4 tags (MP4-DASH is supported) - iTunes-style MP4 tags (MP4-DASH is supported)
- ID3v1 and ID3v2 tags - ID3v1 and ID3v2 tags
- conversion between ID3v1 and different versions of ID3v2 - conversion between ID3v1 and different versions of ID3v2
- Vorbis and Opus comments in Ogg streams - Vorbis, Opus and FLAC comments in Ogg streams
- cover art via "METADATA_BLOCK_PICTURE" is supported - cover art via "METADATA_BLOCK_PICTURE" is supported
- Matroska/WebM tags and attachments - Matroska/WebM tags and attachments

View File

@ -327,7 +327,7 @@ void PicturePreviewSelection::addOfSelectedType(const QString &path)
emit pictureChanged(); emit pictureChanged();
} }
} }
} catch (ios_base::failure &) { } catch (const ios_base::failure &) {
QMessageBox::critical(this, QApplication::applicationName(), tr("An IO error occured when parsing the specified cover file.")); QMessageBox::critical(this, QApplication::applicationName(), tr("An IO error occured when parsing the specified cover file."));
} catch (Media::Failure &) { } catch (Media::Failure &) {
QMessageBox::critical(this, QApplication::applicationName(), tr("Unable to parse specified cover file.")); QMessageBox::critical(this, QApplication::applicationName(), tr("Unable to parse specified cover file."));

View File

@ -13,14 +13,12 @@
#include <tagparser/exceptions.h> #include <tagparser/exceptions.h>
#include <tagparser/signature.h> #include <tagparser/signature.h>
#include <tagparser/abstractcontainer.h>
#include <tagparser/tag.h>
#include <tagparser/id3/id3v1tag.h> #include <tagparser/id3/id3v1tag.h>
#include <tagparser/id3/id3v2tag.h> #include <tagparser/id3/id3v2tag.h>
#include <tagparser/mp4/mp4container.h> #include <tagparser/mp4/mp4container.h>
#include <tagparser/mp4/mp4tag.h> #include <tagparser/mp4/mp4tag.h>
#include <tagparser/matroska/matroskatag.h> #include <tagparser/matroska/matroskatag.h>
#include <tagparser/vorbis/vorbiscomment.h> #include <tagparser/ogg/oggcontainer.h>
#include <qtutilities/misc/dialogutils.h> #include <qtutilities/misc/dialogutils.h>
#include <qtutilities/misc/trylocker.h> #include <qtutilities/misc/trylocker.h>
@ -517,13 +515,21 @@ void TagEditorWidget::updateTagManagementMenu()
} }
// add "Remove tag" and "Change target" actions // add "Remove tag" and "Change target" actions
for(Tag *tag : m_tags) { for(Tag *tag : m_tags) {
// check whether the tag is not from a Vorbis stream because in this case removing the tag seems to cause problems and hence shouldn't be proposed // don't propose removal for Vorbis comments from Voribs or FLAC streams (removing from Opus streams should be ok)
if(tag->type() != TagType::VorbisComment || static_cast<VorbisComment *>(tag)->oggParams().streamFormat != GeneralMediaFormat::Vorbis) { if(tag->type() == TagType::OggVorbisComment) {
connect(m_removeTagMenu->addAction(QString::fromLocal8Bit(tag->toString().c_str())), &QAction::triggered, std::bind(&TagEditorWidget::removeTag, this, tag)); switch(static_cast<OggVorbisComment *>(tag)->oggParams().streamFormat) {
if(tag->supportsTarget()) { case GeneralMediaFormat::Vorbis:
connect(m_changeTargetMenu->addAction(QString::fromLocal8Bit(tag->toString().c_str())), &QAction::triggered, std::bind(&TagEditorWidget::changeTarget, this, tag)); case GeneralMediaFormat::Flac:
continue;
default:
;
} }
} }
connect(m_removeTagMenu->addAction(QString::fromLocal8Bit(tag->toString().c_str())), &QAction::triggered, std::bind(&TagEditorWidget::removeTag, this, tag));
if(tag->supportsTarget()) {
connect(m_changeTargetMenu->addAction(QString::fromLocal8Bit(tag->toString().c_str())), &QAction::triggered, std::bind(&TagEditorWidget::changeTarget, this, tag));
}
} }
} }
m_addTagMenu->setEnabled(!m_addTagMenu->actions().empty()); m_addTagMenu->setEnabled(!m_addTagMenu->actions().empty());

View File

@ -1535,22 +1535,22 @@ another position would prevent rewriting the entire file</source>
<context> <context>
<name>QtGui::HttpResultsModel</name> <name>QtGui::HttpResultsModel</name>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="261"/> <location filename="../dbquery/dbquery.cpp" line="264"/>
<source>&lt;p&gt;Do you want to redirect form &lt;i&gt;%1&lt;/i&gt; to &lt;i&gt;%2&lt;/i&gt;?&lt;/p&gt;</source> <source>&lt;p&gt;Do you want to redirect form &lt;i&gt;%1&lt;/i&gt; to &lt;i&gt;%2&lt;/i&gt;?&lt;/p&gt;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="263"/> <location filename="../dbquery/dbquery.cpp" line="266"/>
<source>Search</source> <source>Search</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="274"/> <location filename="../dbquery/dbquery.cpp" line="277"/>
<source>Redirection to: </source> <source>Redirection to: </source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="311"/> <location filename="../dbquery/dbquery.cpp" line="314"/>
<source>Aborted by user.</source> <source>Aborted by user.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1928,12 +1928,12 @@ another position would prevent rewriting the entire file</source>
<context> <context>
<name>QtGui::MusicBrainzResultsModel</name> <name>QtGui::MusicBrainzResultsModel</name>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="367"/> <location filename="../dbquery/dbquery.cpp" line="370"/>
<source>Unable to fetch cover: Album ID is unknown.</source> <source>Unable to fetch cover: Album ID is unknown.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="386"/> <location filename="../dbquery/dbquery.cpp" line="389"/>
<source>Cover reply is invalid (internal error).</source> <source>Cover reply is invalid (internal error).</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -2250,42 +2250,42 @@ another position would prevent rewriting the entire file</source>
<context> <context>
<name>QtGui::QueryResultsModel</name> <name>QtGui::QueryResultsModel</name>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="151"/> <location filename="../dbquery/dbquery.cpp" line="154"/>
<source>Song title</source> <source>Song title</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="153"/> <location filename="../dbquery/dbquery.cpp" line="156"/>
<source>Album</source> <source>Album</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="155"/> <location filename="../dbquery/dbquery.cpp" line="158"/>
<source>Artist</source> <source>Artist</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="157"/> <location filename="../dbquery/dbquery.cpp" line="160"/>
<source>Year</source> <source>Year</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="159"/> <location filename="../dbquery/dbquery.cpp" line="162"/>
<source>Track</source> <source>Track</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="161"/> <location filename="../dbquery/dbquery.cpp" line="164"/>
<source>Total tracks</source> <source>Total tracks</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="163"/> <location filename="../dbquery/dbquery.cpp" line="166"/>
<source>Genre</source> <source>Genre</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="210"/> <location filename="../dbquery/dbquery.cpp" line="213"/>
<source>Fetching the cover is not implemented for the selected provider.</source> <source>Fetching the cover is not implemented for the selected provider.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -2638,7 +2638,7 @@ the file reverting all unsaved changings.</source>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.ui" line="212"/> <location filename="../gui/tageditorwidget.ui" line="212"/>
<location filename="../gui/tageditorwidget.cpp" line="1143"/> <location filename="../gui/tageditorwidget.cpp" line="1149"/>
<source>Abort</source> <source>Abort</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -2703,203 +2703,203 @@ the file reverting all unsaved changings.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="119"/> <location filename="../gui/tageditorwidget.cpp" line="117"/>
<source>Add tag</source> <source>Add tag</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="123"/> <location filename="../gui/tageditorwidget.cpp" line="121"/>
<source>Remove tag</source> <source>Remove tag</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="127"/> <location filename="../gui/tageditorwidget.cpp" line="125"/>
<source>Change target</source> <source>Change target</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="267"/> <location filename="../gui/tageditorwidget.cpp" line="265"/>
<source>Segment %1</source> <source>Segment %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="405"/> <location filename="../gui/tageditorwidget.cpp" line="403"/>
<source>Attachments</source> <source>Attachments</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="476"/> <location filename="../gui/tageditorwidget.cpp" line="474"/>
<source>Matroska tag</source> <source>Matroska tag</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="492"/> <location filename="../gui/tageditorwidget.cpp" line="490"/>
<source>MP4/iTunes tag</source> <source>MP4/iTunes tag</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="498"/> <location filename="../gui/tageditorwidget.cpp" line="496"/>
<source>Tag</source> <source>Tag</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="508"/> <location filename="../gui/tageditorwidget.cpp" line="506"/>
<source>ID3v1 tag</source> <source>ID3v1 tag</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="513"/> <location filename="../gui/tageditorwidget.cpp" line="511"/>
<source>ID3v2 tag</source> <source>ID3v2 tag</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="616"/> <location filename="../gui/tageditorwidget.cpp" line="622"/>
<location filename="../gui/tageditorwidget.cpp" line="648"/> <location filename="../gui/tageditorwidget.cpp" line="654"/>
<source>Copy</source> <source>Copy</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="757"/> <location filename="../gui/tageditorwidget.cpp" line="763"/>
<source>Unable to load the selected file &quot;%1&quot; because the current process hasn&apos;t finished yet.</source> <source>Unable to load the selected file &quot;%1&quot; because the current process hasn&apos;t finished yet.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="750"/> <location filename="../gui/tageditorwidget.cpp" line="756"/>
<source>The file is beeing parsed ...</source> <source>The file is beeing parsed ...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="775"/> <location filename="../gui/tageditorwidget.cpp" line="781"/>
<source>Unable to reload the file because the current process hasn&apos;t finished yet.</source> <source>Unable to reload the file because the current process hasn&apos;t finished yet.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="771"/> <location filename="../gui/tageditorwidget.cpp" line="777"/>
<source>Currently is not file opened.</source> <source>Currently is not file opened.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="795"/> <location filename="../gui/tageditorwidget.cpp" line="801"/>
<source>The file could not be opened because an IO error occurred.</source> <source>The file could not be opened because an IO error occurred.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="811"/> <location filename="../gui/tageditorwidget.cpp" line="817"/>
<source>File could be parsed correctly.</source> <source>File could be parsed correctly.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="815"/> <location filename="../gui/tageditorwidget.cpp" line="821"/>
<source>File couldn&apos;t be parsed correctly.</source> <source>File couldn&apos;t be parsed correctly.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="820"/> <location filename="../gui/tageditorwidget.cpp" line="826"/>
<source>There are critical parsing notifications.</source> <source>There are critical parsing notifications.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="824"/> <location filename="../gui/tageditorwidget.cpp" line="830"/>
<source>There are warnings.</source> <source>There are warnings.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="841"/> <location filename="../gui/tageditorwidget.cpp" line="847"/>
<source>There is no (supported) tag assigned.</source> <source>There is no (supported) tag assigned.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="831"/> <location filename="../gui/tageditorwidget.cpp" line="837"/>
<source>File format is not supported (an ID3 tag can be added anyways).</source> <source>File format is not supported (an ID3 tag can be added anyways).</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="866"/> <location filename="../gui/tageditorwidget.cpp" line="872"/>
<source>The file %1 has been opened.</source> <source>The file %1 has been opened.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="917"/> <location filename="../gui/tageditorwidget.cpp" line="923"/>
<source>Unable to apply the entered tags to the file because the current process hasn&apos;t finished yet.</source> <source>Unable to apply the entered tags to the file because the current process hasn&apos;t finished yet.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="905"/> <location filename="../gui/tageditorwidget.cpp" line="911"/>
<source>Saving tags ...</source> <source>Saving tags ...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="911"/> <location filename="../gui/tageditorwidget.cpp" line="917"/>
<source>No file has been opened.</source> <source>No file has been opened.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="978"/> <location filename="../gui/tageditorwidget.cpp" line="984"/>
<source>Unable to delete all tags from the file because the current process hasn&apos;t been finished yet.</source> <source>Unable to delete all tags from the file because the current process hasn&apos;t been finished yet.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="937"/> <location filename="../gui/tageditorwidget.cpp" line="943"/>
<source>Do you really want to delete all tags from the file?</source> <source>Do you really want to delete all tags from the file?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="943"/> <location filename="../gui/tageditorwidget.cpp" line="949"/>
<source>don&apos;t show this message again</source> <source>don&apos;t show this message again</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="966"/> <location filename="../gui/tageditorwidget.cpp" line="972"/>
<source>Deleting all tags ...</source> <source>Deleting all tags ...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="970"/> <location filename="../gui/tageditorwidget.cpp" line="976"/>
<source>The selected file stores no tag (at least no supported), so there is nothing to delete.</source> <source>The selected file stores no tag (at least no supported), so there is nothing to delete.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="974"/> <location filename="../gui/tageditorwidget.cpp" line="980"/>
<source>No file has been opened, so no tags can be deleted.</source> <source>No file has been opened, so no tags can be deleted.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1048"/> <location filename="../gui/tageditorwidget.cpp" line="1054"/>
<source>Unable to start saving process because there an other process hasn&apos;t finished yet.</source> <source>Unable to start saving process because there an other process hasn&apos;t finished yet.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1022"/> <location filename="../gui/tageditorwidget.cpp" line="1028"/>
<source>Cancelling ...</source> <source>Cancelling ...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="495"/> <location filename="../gui/tageditorwidget.cpp" line="493"/>
<source>Vorbis/Opus comment</source> <source>Vorbis/Opus comment</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="630"/> <location filename="../gui/tageditorwidget.cpp" line="636"/>
<source>Expand all</source> <source>Expand all</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="632"/> <location filename="../gui/tageditorwidget.cpp" line="638"/>
<source>Collapse all</source> <source>Collapse all</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="828"/> <location filename="../gui/tageditorwidget.cpp" line="834"/>
<source>No write access; the file has been opened in read-only mode.</source> <source>No write access; the file has been opened in read-only mode.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="834"/> <location filename="../gui/tageditorwidget.cpp" line="840"/>
<source>The file is composed of multiple segments. Dealing with such files has not been tested yet and might be broken.</source> <source>The file is composed of multiple segments. Dealing with such files has not been tested yet and might be broken.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../gui/tageditorwidget.cpp" line="1089"/> <location filename="../gui/tageditorwidget.cpp" line="1095"/>
<source>The tags have been saved, but there is/are %1 warning(s) </source> <source>The tags have been saved, but there is/are %1 warning(s) </source>
<translation type="unfinished"> <translation type="unfinished">
<numerusform></numerusform> <numerusform></numerusform>
@ -2907,7 +2907,7 @@ the file reverting all unsaved changings.</source>
</translation> </translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../gui/tageditorwidget.cpp" line="1090"/> <location filename="../gui/tageditorwidget.cpp" line="1096"/>
<source>and %1 error(s).</source> <source>and %1 error(s).</source>
<translation type="unfinished"> <translation type="unfinished">
<numerusform></numerusform> <numerusform></numerusform>
@ -2915,7 +2915,7 @@ the file reverting all unsaved changings.</source>
</translation> </translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../gui/tageditorwidget.cpp" line="1092"/> <location filename="../gui/tageditorwidget.cpp" line="1098"/>
<source>The tags have been saved, but there is/are %1 warning(s).</source> <source>The tags have been saved, but there is/are %1 warning(s).</source>
<translation type="unfinished"> <translation type="unfinished">
<numerusform></numerusform> <numerusform></numerusform>
@ -2923,72 +2923,72 @@ the file reverting all unsaved changings.</source>
</translation> </translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1097"/> <location filename="../gui/tageditorwidget.cpp" line="1103"/>
<source>The tags have been saved.</source> <source>The tags have been saved.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1117"/> <location filename="../gui/tageditorwidget.cpp" line="1123"/>
<source>The tags couldn&apos;t be saved. See the info box for detail.</source> <source>The tags couldn&apos;t be saved. See the info box for detail.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1118"/> <location filename="../gui/tageditorwidget.cpp" line="1124"/>
<source>The tags couldn&apos;t be saved because an IO error occured.</source> <source>The tags couldn&apos;t be saved because an IO error occured.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1139"/> <location filename="../gui/tageditorwidget.cpp" line="1145"/>
<source>Automatic tag management</source> <source>Automatic tag management</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1140"/> <location filename="../gui/tageditorwidget.cpp" line="1146"/>
<source>The container format of the selected file is not supported. The file can be treated as MP3 file (an ID3 tag according to the settings will be created). This might break the file. Do you want to continue?</source> <source>The container format of the selected file is not supported. The file can be treated as MP3 file (an ID3 tag according to the settings will be created). This might break the file. Do you want to continue?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1142"/> <location filename="../gui/tageditorwidget.cpp" line="1148"/>
<source>Treat file as MP3 file</source> <source>Treat file as MP3 file</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1154"/> <location filename="../gui/tageditorwidget.cpp" line="1160"/>
<source>The currently opened file changed on the disk.</source> <source>The currently opened file changed on the disk.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1247"/> <location filename="../gui/tageditorwidget.cpp" line="1253"/>
<source>A tag (with the selected target) already exists.</source> <source>A tag (with the selected target) already exists.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1250"/> <location filename="../gui/tageditorwidget.cpp" line="1256"/>
<source>The tag can not be created.</source> <source>The tag can not be created.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1310"/> <location filename="../gui/tageditorwidget.cpp" line="1316"/>
<source>Unable to remove the tag because the current process hasn&apos;t been finished yet.</source> <source>Unable to remove the tag because the current process hasn&apos;t been finished yet.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1268"/> <location filename="../gui/tageditorwidget.cpp" line="1274"/>
<source>Unable to remove the tag because no file is opened.</source> <source>Unable to remove the tag because no file is opened.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1343"/> <location filename="../gui/tageditorwidget.cpp" line="1349"/>
<source>Unable to change the target because the current process hasn&apos;t been finished yet.</source> <source>Unable to change the target because the current process hasn&apos;t been finished yet.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1326"/> <location filename="../gui/tageditorwidget.cpp" line="1332"/>
<source>Unable to change the target because no file is opened.</source> <source>Unable to change the target because no file is opened.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1339"/> <location filename="../gui/tageditorwidget.cpp" line="1345"/>
<source>Can not change the target of the selected tag because the tag does not support targets.</source> <source>Can not change the target of the selected tag because the tag does not support targets.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

View File

@ -1535,22 +1535,22 @@ another position would prevent rewriting the entire file</source>
<context> <context>
<name>QtGui::HttpResultsModel</name> <name>QtGui::HttpResultsModel</name>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="261"/> <location filename="../dbquery/dbquery.cpp" line="264"/>
<source>&lt;p&gt;Do you want to redirect form &lt;i&gt;%1&lt;/i&gt; to &lt;i&gt;%2&lt;/i&gt;?&lt;/p&gt;</source> <source>&lt;p&gt;Do you want to redirect form &lt;i&gt;%1&lt;/i&gt; to &lt;i&gt;%2&lt;/i&gt;?&lt;/p&gt;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="263"/> <location filename="../dbquery/dbquery.cpp" line="266"/>
<source>Search</source> <source>Search</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="274"/> <location filename="../dbquery/dbquery.cpp" line="277"/>
<source>Redirection to: </source> <source>Redirection to: </source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="311"/> <location filename="../dbquery/dbquery.cpp" line="314"/>
<source>Aborted by user.</source> <source>Aborted by user.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1928,12 +1928,12 @@ another position would prevent rewriting the entire file</source>
<context> <context>
<name>QtGui::MusicBrainzResultsModel</name> <name>QtGui::MusicBrainzResultsModel</name>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="367"/> <location filename="../dbquery/dbquery.cpp" line="370"/>
<source>Unable to fetch cover: Album ID is unknown.</source> <source>Unable to fetch cover: Album ID is unknown.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="386"/> <location filename="../dbquery/dbquery.cpp" line="389"/>
<source>Cover reply is invalid (internal error).</source> <source>Cover reply is invalid (internal error).</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -2250,42 +2250,42 @@ another position would prevent rewriting the entire file</source>
<context> <context>
<name>QtGui::QueryResultsModel</name> <name>QtGui::QueryResultsModel</name>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="151"/> <location filename="../dbquery/dbquery.cpp" line="154"/>
<source>Song title</source> <source>Song title</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="153"/> <location filename="../dbquery/dbquery.cpp" line="156"/>
<source>Album</source> <source>Album</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="155"/> <location filename="../dbquery/dbquery.cpp" line="158"/>
<source>Artist</source> <source>Artist</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="157"/> <location filename="../dbquery/dbquery.cpp" line="160"/>
<source>Year</source> <source>Year</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="159"/> <location filename="../dbquery/dbquery.cpp" line="162"/>
<source>Track</source> <source>Track</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="161"/> <location filename="../dbquery/dbquery.cpp" line="164"/>
<source>Total tracks</source> <source>Total tracks</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="163"/> <location filename="../dbquery/dbquery.cpp" line="166"/>
<source>Genre</source> <source>Genre</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../dbquery/dbquery.cpp" line="210"/> <location filename="../dbquery/dbquery.cpp" line="213"/>
<source>Fetching the cover is not implemented for the selected provider.</source> <source>Fetching the cover is not implemented for the selected provider.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -2573,203 +2573,203 @@ Error in line %1: %3</source>
<context> <context>
<name>QtGui::TagEditorWidget</name> <name>QtGui::TagEditorWidget</name>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="119"/> <location filename="../gui/tageditorwidget.cpp" line="117"/>
<source>Add tag</source> <source>Add tag</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="123"/> <location filename="../gui/tageditorwidget.cpp" line="121"/>
<source>Remove tag</source> <source>Remove tag</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="127"/> <location filename="../gui/tageditorwidget.cpp" line="125"/>
<source>Change target</source> <source>Change target</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="267"/> <location filename="../gui/tageditorwidget.cpp" line="265"/>
<source>Segment %1</source> <source>Segment %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="405"/> <location filename="../gui/tageditorwidget.cpp" line="403"/>
<source>Attachments</source> <source>Attachments</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="476"/> <location filename="../gui/tageditorwidget.cpp" line="474"/>
<source>Matroska tag</source> <source>Matroska tag</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="492"/> <location filename="../gui/tageditorwidget.cpp" line="490"/>
<source>MP4/iTunes tag</source> <source>MP4/iTunes tag</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="495"/> <location filename="../gui/tageditorwidget.cpp" line="493"/>
<source>Vorbis/Opus comment</source> <source>Vorbis/Opus comment</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="498"/> <location filename="../gui/tageditorwidget.cpp" line="496"/>
<source>Tag</source> <source>Tag</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="508"/> <location filename="../gui/tageditorwidget.cpp" line="506"/>
<source>ID3v1 tag</source> <source>ID3v1 tag</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="513"/> <location filename="../gui/tageditorwidget.cpp" line="511"/>
<source>ID3v2 tag</source> <source>ID3v2 tag</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="616"/> <location filename="../gui/tageditorwidget.cpp" line="622"/>
<location filename="../gui/tageditorwidget.cpp" line="648"/> <location filename="../gui/tageditorwidget.cpp" line="654"/>
<source>Copy</source> <source>Copy</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="630"/> <location filename="../gui/tageditorwidget.cpp" line="636"/>
<source>Expand all</source> <source>Expand all</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="632"/> <location filename="../gui/tageditorwidget.cpp" line="638"/>
<source>Collapse all</source> <source>Collapse all</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="750"/> <location filename="../gui/tageditorwidget.cpp" line="756"/>
<source>The file is beeing parsed ...</source> <source>The file is beeing parsed ...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="757"/> <location filename="../gui/tageditorwidget.cpp" line="763"/>
<source>Unable to load the selected file &quot;%1&quot; because the current process hasn&apos;t finished yet.</source> <source>Unable to load the selected file &quot;%1&quot; because the current process hasn&apos;t finished yet.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="771"/> <location filename="../gui/tageditorwidget.cpp" line="777"/>
<source>Currently is not file opened.</source> <source>Currently is not file opened.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="775"/> <location filename="../gui/tageditorwidget.cpp" line="781"/>
<source>Unable to reload the file because the current process hasn&apos;t finished yet.</source> <source>Unable to reload the file because the current process hasn&apos;t finished yet.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="795"/> <location filename="../gui/tageditorwidget.cpp" line="801"/>
<source>The file could not be opened because an IO error occurred.</source> <source>The file could not be opened because an IO error occurred.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="811"/> <location filename="../gui/tageditorwidget.cpp" line="817"/>
<source>File could be parsed correctly.</source> <source>File could be parsed correctly.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="815"/> <location filename="../gui/tageditorwidget.cpp" line="821"/>
<source>File couldn&apos;t be parsed correctly.</source> <source>File couldn&apos;t be parsed correctly.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="820"/> <location filename="../gui/tageditorwidget.cpp" line="826"/>
<source>There are critical parsing notifications.</source> <source>There are critical parsing notifications.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="824"/> <location filename="../gui/tageditorwidget.cpp" line="830"/>
<source>There are warnings.</source> <source>There are warnings.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="828"/> <location filename="../gui/tageditorwidget.cpp" line="834"/>
<source>No write access; the file has been opened in read-only mode.</source> <source>No write access; the file has been opened in read-only mode.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="831"/> <location filename="../gui/tageditorwidget.cpp" line="837"/>
<source>File format is not supported (an ID3 tag can be added anyways).</source> <source>File format is not supported (an ID3 tag can be added anyways).</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="834"/> <location filename="../gui/tageditorwidget.cpp" line="840"/>
<source>The file is composed of multiple segments. Dealing with such files has not been tested yet and might be broken.</source> <source>The file is composed of multiple segments. Dealing with such files has not been tested yet and might be broken.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="841"/> <location filename="../gui/tageditorwidget.cpp" line="847"/>
<source>There is no (supported) tag assigned.</source> <source>There is no (supported) tag assigned.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="866"/> <location filename="../gui/tageditorwidget.cpp" line="872"/>
<source>The file %1 has been opened.</source> <source>The file %1 has been opened.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="905"/> <location filename="../gui/tageditorwidget.cpp" line="911"/>
<source>Saving tags ...</source> <source>Saving tags ...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="911"/> <location filename="../gui/tageditorwidget.cpp" line="917"/>
<source>No file has been opened.</source> <source>No file has been opened.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="917"/> <location filename="../gui/tageditorwidget.cpp" line="923"/>
<source>Unable to apply the entered tags to the file because the current process hasn&apos;t finished yet.</source> <source>Unable to apply the entered tags to the file because the current process hasn&apos;t finished yet.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="937"/> <location filename="../gui/tageditorwidget.cpp" line="943"/>
<source>Do you really want to delete all tags from the file?</source> <source>Do you really want to delete all tags from the file?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="943"/> <location filename="../gui/tageditorwidget.cpp" line="949"/>
<source>don&apos;t show this message again</source> <source>don&apos;t show this message again</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="966"/> <location filename="../gui/tageditorwidget.cpp" line="972"/>
<source>Deleting all tags ...</source> <source>Deleting all tags ...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="970"/> <location filename="../gui/tageditorwidget.cpp" line="976"/>
<source>The selected file stores no tag (at least no supported), so there is nothing to delete.</source> <source>The selected file stores no tag (at least no supported), so there is nothing to delete.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="974"/> <location filename="../gui/tageditorwidget.cpp" line="980"/>
<source>No file has been opened, so no tags can be deleted.</source> <source>No file has been opened, so no tags can be deleted.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="978"/> <location filename="../gui/tageditorwidget.cpp" line="984"/>
<source>Unable to delete all tags from the file because the current process hasn&apos;t been finished yet.</source> <source>Unable to delete all tags from the file because the current process hasn&apos;t been finished yet.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1022"/> <location filename="../gui/tageditorwidget.cpp" line="1028"/>
<source>Cancelling ...</source> <source>Cancelling ...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1048"/> <location filename="../gui/tageditorwidget.cpp" line="1054"/>
<source>Unable to start saving process because there an other process hasn&apos;t finished yet.</source> <source>Unable to start saving process because there an other process hasn&apos;t finished yet.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../gui/tageditorwidget.cpp" line="1089"/> <location filename="../gui/tageditorwidget.cpp" line="1095"/>
<source>The tags have been saved, but there is/are %1 warning(s) </source> <source>The tags have been saved, but there is/are %1 warning(s) </source>
<translation type="unfinished"> <translation type="unfinished">
<numerusform>The tags have been saved, but there is %1 warning</numerusform> <numerusform>The tags have been saved, but there is %1 warning</numerusform>
@ -2777,7 +2777,7 @@ Error in line %1: %3</source>
</translation> </translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../gui/tageditorwidget.cpp" line="1090"/> <location filename="../gui/tageditorwidget.cpp" line="1096"/>
<source>and %1 error(s).</source> <source>and %1 error(s).</source>
<translation type="unfinished"> <translation type="unfinished">
<numerusform></numerusform> <numerusform></numerusform>
@ -2785,7 +2785,7 @@ Error in line %1: %3</source>
</translation> </translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../gui/tageditorwidget.cpp" line="1092"/> <location filename="../gui/tageditorwidget.cpp" line="1098"/>
<source>The tags have been saved, but there is/are %1 warning(s).</source> <source>The tags have been saved, but there is/are %1 warning(s).</source>
<translation type="unfinished"> <translation type="unfinished">
<numerusform>The tags have been saved, but there is %1 warning.</numerusform> <numerusform>The tags have been saved, but there is %1 warning.</numerusform>
@ -2793,72 +2793,72 @@ Error in line %1: %3</source>
</translation> </translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1097"/> <location filename="../gui/tageditorwidget.cpp" line="1103"/>
<source>The tags have been saved.</source> <source>The tags have been saved.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1117"/> <location filename="../gui/tageditorwidget.cpp" line="1123"/>
<source>The tags couldn&apos;t be saved. See the info box for detail.</source> <source>The tags couldn&apos;t be saved. See the info box for detail.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1118"/> <location filename="../gui/tageditorwidget.cpp" line="1124"/>
<source>The tags couldn&apos;t be saved because an IO error occured.</source> <source>The tags couldn&apos;t be saved because an IO error occured.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1139"/> <location filename="../gui/tageditorwidget.cpp" line="1145"/>
<source>Automatic tag management</source> <source>Automatic tag management</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1140"/> <location filename="../gui/tageditorwidget.cpp" line="1146"/>
<source>The container format of the selected file is not supported. The file can be treated as MP3 file (an ID3 tag according to the settings will be created). This might break the file. Do you want to continue?</source> <source>The container format of the selected file is not supported. The file can be treated as MP3 file (an ID3 tag according to the settings will be created). This might break the file. Do you want to continue?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1142"/> <location filename="../gui/tageditorwidget.cpp" line="1148"/>
<source>Treat file as MP3 file</source> <source>Treat file as MP3 file</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1154"/> <location filename="../gui/tageditorwidget.cpp" line="1160"/>
<source>The currently opened file changed on the disk.</source> <source>The currently opened file changed on the disk.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1247"/> <location filename="../gui/tageditorwidget.cpp" line="1253"/>
<source>A tag (with the selected target) already exists.</source> <source>A tag (with the selected target) already exists.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1250"/> <location filename="../gui/tageditorwidget.cpp" line="1256"/>
<source>The tag can not be created.</source> <source>The tag can not be created.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1268"/> <location filename="../gui/tageditorwidget.cpp" line="1274"/>
<source>Unable to remove the tag because no file is opened.</source> <source>Unable to remove the tag because no file is opened.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1310"/> <location filename="../gui/tageditorwidget.cpp" line="1316"/>
<source>Unable to remove the tag because the current process hasn&apos;t been finished yet.</source> <source>Unable to remove the tag because the current process hasn&apos;t been finished yet.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1326"/> <location filename="../gui/tageditorwidget.cpp" line="1332"/>
<source>Unable to change the target because no file is opened.</source> <source>Unable to change the target because no file is opened.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1339"/> <location filename="../gui/tageditorwidget.cpp" line="1345"/>
<source>Can not change the target of the selected tag because the tag does not support targets.</source> <source>Can not change the target of the selected tag because the tag does not support targets.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.cpp" line="1343"/> <location filename="../gui/tageditorwidget.cpp" line="1349"/>
<source>Unable to change the target because the current process hasn&apos;t been finished yet.</source> <source>Unable to change the target because the current process hasn&apos;t been finished yet.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -2928,7 +2928,7 @@ the file reverting all unsaved changings.</source>
</message> </message>
<message> <message>
<location filename="../gui/tageditorwidget.ui" line="212"/> <location filename="../gui/tageditorwidget.ui" line="212"/>
<location filename="../gui/tageditorwidget.cpp" line="1143"/> <location filename="../gui/tageditorwidget.cpp" line="1149"/>
<source>Abort</source> <source>Abort</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>