Make more strings translatable.

This commit is contained in:
LoRd_MuldeR 2011-01-01 19:28:19 +01:00
parent 96db5e86c2
commit 5a1ff67e42
19 changed files with 504 additions and 165 deletions

View File

@ -1,6 +1,141 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="de" sourcelanguage="en">
<context>
<name>AboutDialog</name>
<message>
<source>LameXP - Audio Encoder Front-end</source>
<translation type="unfinished">LameXP - Audio Kodierer Oberfläche</translation>
</message>
<message>
<source>Please visit %1 for news and updates!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Note: LameXP is free software. Do &lt;b&gt;not&lt;/b&gt; pay money to obtain or use LameXP! If some third-party website tries to make you pay for downloading LameXP, you should &lt;b&gt;not&lt;/b&gt; respond to the offer !!!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Special thanks go out to &quot;John33&quot; from %1 for his continuous support.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>About LameXP</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show License Text</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Accept License</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Decline License</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>3rd Party S/W</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Contributors</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>About Qt4</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Discard</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The following people have contributed to LameXP:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Translators:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>If you are willing to contribute a LameXP translation, feel free to contact us!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>About Contributors</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The following third-party software is used in LameXP:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LAME - OpenSource mp3 Encoder</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Released under the terms of the GNU Leser General Public License.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>OggEnc - Ogg Vorbis Encoder</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Completely open and patent-free audio encoding technology.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Nero AAC reference MPEG-4 Encoder</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Freeware state-of-the-art HE-AAC encoder with 2-Pass support.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Available from vendor web-site as free download:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>FLAC - Free Lossless Audio Codec</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Open and patent-free lossless audio compression technology.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>AC3Filter Tools - AC3/DTS Decoder</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>MediaInfo - Media File Analysis Tool</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>SoX - Sound eXchange</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>GnuPG - The GNU Privacy Guard</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Silk Icons - Over 700 icons in PNG format</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>By Mark James, released under the Creative Commons &apos;by&apos; License.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>About Third-party Software</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DropBox</name>
<message>
@ -26,17 +161,6 @@
<source>Log View</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&lt;b&gt;Log File&lt;/b&gt;&lt;br&gt;The log file shows detailed information about the selected job.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>C:\DOS
C:\DOS\RUN
RUN\DOS\RUN
</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Discard</source>
<translation type="unfinished"></translation>
@ -49,6 +173,14 @@ RUN\DOS\RUN
<source>Copy to Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Log File</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The log file shows detailed information about the selected job.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainWindow</name>
@ -531,7 +663,7 @@ LameXP is free software and release versions won&apos;t expire.</source>
</message>
<message>
<source>Download &amp;&amp; Install</source>
<translation type="unfinished"></translation>
<translation type="unfinished">Herunterladen &amp;&amp; Installieren</translation>
</message>
<message>
<source>Cancel</source>
@ -674,11 +806,7 @@ LameXP is free software and release versions won&apos;t expire.</source>
<name>MetaInfo</name>
<message>
<source>Meta Information</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&lt;b&gt;Meta Information&lt;/b&gt;&lt;br&gt;The following meta information have been extracted from the original file.</source>
<translation type="unfinished"></translation>
<translation type="unfinished">Meta Informationen</translation>
</message>
<message>
<source>Edit</source>
@ -686,7 +814,161 @@ LameXP is free software and release versions won&apos;t expire.</source>
</message>
<message>
<source>Close</source>
<translation type="unfinished"></translation>
<translation type="unfinished">Schießen</translation>
</message>
</context>
<context>
<name>MetaInfoDialog</name>
<message>
<source>Meta Information</source>
<translation type="unfinished">Meta Informationen</translation>
</message>
<message>
<source>The following meta information have been extracted from the original file.</source>
<translation type="unfinished">Die folgenden Meta-Informationen wurden aus der Original-Datei extrahiert.</translation>
</message>
</context>
<context>
<name>MetaInfoModel</name>
<message>
<source>Container</source>
<translation type="unfinished">Container</translation>
</message>
<message>
<source>Compression</source>
<translation type="unfinished">Kompression</translation>
</message>
<message>
<source>Duration</source>
<translation type="unfinished">Dauer</translation>
</message>
<message>
<source>Title</source>
<translation type="unfinished">Titel</translation>
</message>
<message>
<source>Artist</source>
<translation type="unfinished">Künstler</translation>
</message>
<message>
<source>Album</source>
<translation type="unfinished">Album</translation>
</message>
<message>
<source>Genre</source>
<translation type="unfinished">Genre</translation>
</message>
<message>
<source>Year</source>
<translation type="unfinished">Jahr</translation>
</message>
<message>
<source>Position</source>
<translation type="unfinished">Position</translation>
</message>
<message>
<source>Generate from list position</source>
<translation type="unfinished">Aus Playlisten-Position erzeugen</translation>
</message>
<message>
<source>Comment</source>
<translation type="unfinished">Kommentar</translation>
</message>
<message>
<source>Property</source>
<translation type="unfinished">Eigenschaft</translation>
</message>
<message>
<source>Value</source>
<translation type="unfinished">Wert</translation>
</message>
<message>
<source>Edit Title</source>
<translation type="unfinished">Titel bearbeiten</translation>
</message>
<message>
<source>Please enter the title for this file:</source>
<translation type="unfinished">Bitte geben Sie den Titel für diese Datei ein:</translation>
</message>
<message>
<source>The title must not be empty. Generating title from file name!</source>
<translation type="unfinished">Der Titel kann nicht leer sein. Titel wird aus Dateiname generiert!</translation>
</message>
<message>
<source>Edit Artist</source>
<translation type="unfinished">Künstler Bearbeiten</translation>
</message>
<message>
<source>Please enter the artist for this file:</source>
<translation type="unfinished">Bitte geben Sie den Künstler für diese Datei ein:</translation>
</message>
<message>
<source>Edit Album</source>
<translation type="unfinished">Album Bearbeiten</translation>
</message>
<message>
<source>Please enter the album for this file:</source>
<translation type="unfinished">Bitte geben Sie das Album für diese Datei ein:</translation>
</message>
<message>
<source>Edit Genre</source>
<translation type="unfinished">Genre Bearbeiten</translation>
</message>
<message>
<source>Please enter the genre for this file:</source>
<translation type="unfinished">Bitte geben Sie das Genre für diese Datei ein:</translation>
</message>
<message>
<source>Edit Year</source>
<translation type="unfinished">Jahr Bearbeiten</translation>
</message>
<message>
<source>Please enter the year for this file:</source>
<translation type="unfinished">Bitte geben Sie das Jahr für diese Datei ein:</translation>
</message>
<message>
<source>Edit Position</source>
<translation type="unfinished">Position Bearbeiten</translation>
</message>
<message>
<source>Please enter the position (track no.) for this file:</source>
<translation type="unfinished">Bitte geben Sie die Position (Track Nr.) für diese Datei ein:</translation>
</message>
<message>
<source>Unspecified (copy from source file)</source>
<translation type="unfinished">Keine Angabe (aus Quelle kopieren)</translation>
</message>
<message>
<source>Edit Comment</source>
<translation type="unfinished">Kommentar Bearbeiten</translation>
</message>
<message>
<source>Please enter the comment for this file:</source>
<translation type="unfinished">Bitte geben Sie den Kommentar für diese Datei ein:</translation>
</message>
<message>
<source>Encoded with LameXP</source>
<translation type="unfinished">Enkodiert mit LameXP</translation>
</message>
<message>
<source>Not editable</source>
<translation type="unfinished">Nicht Editierbar</translation>
</message>
<message>
<source>Sorry, this property of the source file cannot be edited!</source>
<translation type="unfinished">Diese Eigenschaft der Datei kann nicht bearbeitet werden!</translation>
</message>
<message>
<source>Full Path</source>
<translation type="unfinished">Datei Pfad</translation>
</message>
<message>
<source>Format</source>
<translation type="unfinished">Format</translation>
</message>
<message>
<source>Unspecified</source>
<translation type="unfinished">Keine Angabe</translation>
</message>
</context>
<context>
@ -695,24 +977,24 @@ LameXP is free software and release versions won&apos;t expire.</source>
<source>LameXP - Processing</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&lt;b&gt;Encoding Files&lt;/b&gt;&lt;br&gt;Your files are being encoded, please be patient...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Initializing, please wait...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>(VERSION_TAG)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Abort</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Close</source>
<translation type="unfinished">Schießen</translation>
</message>
<message>
<source>Encoding Files</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Your files are being encoded, please be patient...</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -720,7 +1002,7 @@ LameXP is free software and release versions won&apos;t expire.</source>
<name>SplashScreen</name>
<message>
<source>LameXP is launching...</source>
<translation type="unfinished"></translation>
<translation type="unfinished">LameXP wird gestartet...</translation>
</message>
</context>
<context>
@ -731,54 +1013,91 @@ LameXP is free software and release versions won&apos;t expire.</source>
</message>
<message>
<source>Please wait...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>$(HINT_TEXT)</source>
<translation type="unfinished"></translation>
<translation type="unfinished">Bitte warten...</translation>
</message>
<message>
<source>Latest version available:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>(Unknown)</source>
<translation type="unfinished"></translation>
<translation type="unfinished">Neuste verfügbare Version:</translation>
</message>
<message>
<source>Currently installed version:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>$(INFORMATION)</source>
<translation type="unfinished"></translation>
<translation type="unfinished">Derzeit installierte Version:</translation>
</message>
<message>
<source>Retry</source>
<translation type="unfinished"></translation>
<translation type="unfinished">Wiederholen</translation>
</message>
<message>
<source>Show Log</source>
<translation type="unfinished"></translation>
<translation type="unfinished">Lag Anzeigen</translation>
</message>
<message>
<source>Download &amp;&amp; Install</source>
<translation type="unfinished"></translation>
<translation type="unfinished">Herunterladen &amp;&amp; Installieren</translation>
</message>
<message>
<source>Close</source>
<translation type="unfinished"></translation>
<translation type="unfinished">Schießen</translation>
</message>
</context>
<context>
<name>WorkingBanner</name>
<message>
<source>Frame</source>
<source>Build</source>
<translation type="unfinished">Buildnummer</translation>
</message>
<message>
<source>Testing your internet connection, please wait...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>$(Status)</source>
<source>Network connectivity test has faild!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Please make sure your internet connection is working properly and try again.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Checking for new updates online, please wait...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Failed to fetch update information from server!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Sorry, the update server might be busy at this time. Plase try again later.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>More information available at:</source>
<translation type="unfinished">Weitere Informationen verfügbar unter:</translation>
</message>
<message>
<source>A new version of LameXP is available!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>We highly recommend all users to install this update as soon as possible.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No new updates available at this time.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Your version of LameXP is still up-to-date. Please check for updates regularly!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Your version appears to be newer than the latest release.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>This usually indicates your are currently using a pre-release version of LameXP.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unknown</source>
<translation type="unfinished">Unbekannt</translation>
</message>
</context>
</TS>

View File

@ -17,6 +17,9 @@ for %%f in (..\..\gui\*.ui) do (
for %%f in (..\..\src\*.cpp) do (
echo %%f >> update.lst
)
for %%f in (..\..\src\*.h) do (
echo %%f >> update.lst
)
REM ---------------------------
for %%f in (*.ts) do (
lupdate.exe @update.lst -no-obsolete -ts %%f

View File

@ -172,7 +172,7 @@
<item>
<widget class="QLabel" name="headerText">
<property name="text">
<string>&lt;b&gt;Log File&lt;/b&gt;&lt;br&gt;The log file shows detailed information about the selected job.</string>
<string notr="true">&lt;b&gt;HEADER&lt;/b&gt;&lt;br&gt;(more header text)</string>
</property>
</widget>
</item>
@ -286,7 +286,7 @@
<cursorShape>ArrowCursor</cursorShape>
</property>
<property name="plainText">
<string>C:\DOS
<string notr="true">C:\DOS
C:\DOS\RUN
RUN\DOS\RUN
</string>
@ -372,6 +372,7 @@ RUN\DOS\RUN
<include location="../res/Images.qrc"/>
<include location="../res/Images.qrc"/>
<include location="../res/Images.qrc"/>
<include location="../res/Images.qrc"/>
</resources>
<connections>
<connection>

View File

@ -137,7 +137,7 @@
</font>
</property>
<property name="text">
<string>&lt;b&gt;Meta Information&lt;/b&gt;&lt;br&gt;The following meta information have been extracted from the original file.</string>
<string notr="true">&lt;b&gt;HEADER&lt;/b&gt;&lt;br&gt;(more header text)</string>
</property>
</widget>
</item>
@ -318,6 +318,7 @@
<include location="../res/Images.qrc"/>
<include location="../res/Images.qrc"/>
<include location="../res/Images.qrc"/>
<include location="../res/Images.qrc"/>
</resources>
<connections>
<connection>

View File

@ -182,7 +182,7 @@
<item>
<widget class="QLabel" name="label_headerStatus">
<property name="text">
<string>&lt;b&gt;Encoding Files&lt;/b&gt;&lt;br&gt;Your files are being encoded, please be patient...</string>
<string notr="true">&lt;b&gt;Header&lt;/b&gt;&lt;br&gt;(more status details)</string>
</property>
</widget>
</item>
@ -355,7 +355,7 @@
<cursorShape>PointingHandCursor</cursorShape>
</property>
<property name="text">
<string>(VERSION_TAG)</string>
<string notr="true">(VERSION_TAG)</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
@ -436,6 +436,8 @@
<include location="../res/Images.qrc"/>
<include location="../res/Icons.qrc"/>
<include location="../res/Images.qrc"/>
<include location="../res/Icons.qrc"/>
<include location="../res/Images.qrc"/>
</resources>
<connections>
<connection>

View File

@ -212,7 +212,7 @@
<item>
<widget class="QLabel" name="hintLabel">
<property name="text">
<string>$(HINT_TEXT)</string>
<string notr="true">$(HINT_TEXT)</string>
</property>
</widget>
</item>
@ -246,7 +246,7 @@
<item row="1" column="2">
<widget class="QLabel" name="labelVersionLatest">
<property name="text">
<string>(Unknown)</string>
<string notr="true">(Unknown)</string>
</property>
</widget>
</item>
@ -260,7 +260,7 @@
<item row="0" column="2">
<widget class="QLabel" name="labelVersionInstalled">
<property name="text">
<string>(Unknown)</string>
<string notr="true">(Unknown)</string>
</property>
</widget>
</item>
@ -340,7 +340,7 @@
<item>
<widget class="QLabel" name="infoLabel">
<property name="text">
<string>$(INFORMATION)</string>
<string notr="true">$(INFORMATION)</string>
</property>
</widget>
</item>
@ -555,6 +555,10 @@
<include location="../res/Images.qrc"/>
<include location="../res/Icons.qrc"/>
<include location="../res/Images.qrc"/>
<include location="../res/Icons.qrc"/>
<include location="../res/Images.qrc"/>
<include location="../res/Icons.qrc"/>
<include location="../res/Images.qrc"/>
</resources>
<connections>
<connection>

View File

@ -87,7 +87,7 @@
</palette>
</property>
<property name="windowTitle">
<string>Frame</string>
<string notr="true">Working</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
@ -123,7 +123,7 @@
</font>
</property>
<property name="text">
<string>$(Status)</string>
<string notr="true">$(Status)</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@ -142,6 +142,7 @@
<include location="../res/Images.qrc"/>
<include location="../res/Images.qrc"/>
<include location="../res/Images.qrc"/>
<include location="../res/Images.qrc"/>
</resources>
<connections/>
</ui>

Binary file not shown.

View File

@ -25,7 +25,7 @@
#define VER_LAMEXP_MAJOR 4
#define VER_LAMEXP_MINOR_HI 0
#define VER_LAMEXP_MINOR_LO 0
#define VER_LAMEXP_BUILD 202
#define VER_LAMEXP_BUILD 204
#define VER_LAMEXP_SUFFIX TechPreview
/*

View File

@ -42,7 +42,7 @@
//Helper macros
#define LINK(URL) QString("<a href=\"%1\">%2</a>").arg(URL).arg(URL)
#define CONTRIBUTOR(LANG, CNTR, ICON) QString("<tr><td valign=\"middle\"><img src=\"%1\"></td><td>&nbsp;&nbsp;</td><td valign=\"middle\">%2</td><td>&nbsp;&nbsp;</td><td valign=\"middle\">%3</td></tr>").arg(ICON, LANG, CNTR);
#define VSTR(BASE,TOOL,FORMAT) QString(BASE).arg(lamexp_version2string(FORMAT, lamexp_tool_version(TOOL)))
#define VSTR(BASE,TOOL,FORMAT) BASE.arg(lamexp_version2string(FORMAT, lamexp_tool_version(TOOL)))
//Constants
const char *AboutDialog::neroAacUrl = "http://www.nero.com/eng/technologies-aac-codec.html";
@ -58,11 +58,10 @@ AboutDialog::AboutDialog(SettingsModel *settings, QWidget *parent, bool firstSta
{
QString aboutText;
aboutText += "<h2>LameXP - Audio Encoder Front-end</h2>";
aboutText += QString("<h2>%1</h2>").arg(tr("LameXP - Audio Encoder Front-end"));
aboutText += QString("<b>Copyright (C) 2004-%1 LoRd_MuldeR &lt;MuldeR2@GMX.de&gt;. Some rights reserved.</b><br>").arg(max(lamexp_version_date().year(),QDate::currentDate().year()));
aboutText += QString().sprintf("<b>Version %d.%02d %s, Build %d [%s]</b><br><br>", lamexp_version_major(), lamexp_version_minor(), lamexp_version_release(), lamexp_version_build(), lamexp_version_date().toString(Qt::ISODate).toLatin1().constData());
aboutText += "<nobr>Please visit "; //the official web-site at
aboutText += LINK("http://forum.doom9.org/showthread.php?t=157726") += " for news and updates!</nobr><br>"; //LINK("http://mulder.dummwiedeutsch.de/")
aboutText += QString("<nobr>%1</nobr><br>").arg(tr("Please visit %1 for news and updates!").arg(LINK("http://forum.doom9.org/showthread.php?t=157726")));
aboutText += "<hr><br>";
aboutText += "<nobr><tt>This program is free software; you can redistribute it and/or<br>";
aboutText += "modify it under the terms of the GNU General Public License<br>";
@ -77,52 +76,52 @@ AboutDialog::AboutDialog(SettingsModel *settings, QWidget *parent, bool firstSta
aboutText += "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</tt></nobr><br>";
aboutText += "<hr><table><tr>";
aboutText += "<td valign=\"middle\"><img src=\":/icons/error_big.png\"</td><td>&nbsp;</td>";
aboutText += "<td><font color=\"darkred\">Note: LameXP is free software. Do <b>not</b> pay money to obtain or use LameXP! If some third-party website tries to make you pay for downloading LameXP, you should <b>not</b> respond to the offer !!!</font></td>";
aboutText += QString("<td><font color=\"darkred\">%1</font></td>").arg(tr("Note: LameXP is free software. Do <b>not</b> pay money to obtain or use LameXP! If some third-party website tries to make you pay for downloading LameXP, you should <b>not</b> respond to the offer !!!"));
aboutText += "</tr></table><hr><br>";
aboutText += QString("Special thanks go out to \"John33\" from %1 for his continuous support.<br>").arg(LINK("http://www.rarewares.org/"));
aboutText += QString("%1<br>").arg(tr("Special thanks go out to \"John33\" from %1 for his continuous support.").arg(LINK("http://www.rarewares.org/")));
setText(aboutText);
setIconPixmap(dynamic_cast<QApplication*>(QApplication::instance())->windowIcon().pixmap(QSize(64,64)));
setWindowTitle("About LameXP");
setWindowTitle(tr("About LameXP"));
if(firstStart)
{
QPushButton *firstButton = addButton("Show License Text", QMessageBox::AcceptRole);
QPushButton *firstButton = addButton(tr("Show License Text"), QMessageBox::AcceptRole);
firstButton->setIcon(QIcon(":/icons/script.png"));
firstButton->setMinimumWidth(135);
firstButton->disconnect();
connect(firstButton, SIGNAL(clicked()), this, SLOT(openLicenseText()));
QPushButton *secondButton = addButton("Accept License", QMessageBox::AcceptRole);
QPushButton *secondButton = addButton(tr("Accept License"), QMessageBox::AcceptRole);
secondButton->setIcon(QIcon(":/icons/accept.png"));
secondButton->setMinimumWidth(120);
QPushButton *thirdButton = addButton("Decline License", QMessageBox::AcceptRole);
QPushButton *thirdButton = addButton(tr("Decline License"), QMessageBox::AcceptRole);
thirdButton->setIcon(QIcon(":/icons/delete.png"));
thirdButton->setMinimumWidth(120);
thirdButton->setEnabled(false);
}
else
{
QPushButton *firstButton = addButton("3rd Party S/W", QMessageBox::AcceptRole);
QPushButton *firstButton = addButton(tr("3rd Party S/W"), QMessageBox::AcceptRole);
firstButton->setIcon(QIcon(":/icons/page_white_cplusplus.png"));
firstButton->setMinimumWidth(120);
firstButton->disconnect();
connect(firstButton, SIGNAL(clicked()), this, SLOT(showMoreAbout()));
QPushButton *secondButton = addButton("Contributors", QMessageBox::AcceptRole);
QPushButton *secondButton = addButton(tr("Contributors"), QMessageBox::AcceptRole);
secondButton->setIcon(QIcon(":icons/user_suit.png"));
secondButton->setMinimumWidth(120);
secondButton->disconnect();
connect(secondButton, SIGNAL(clicked()), this, SLOT(showAboutContributors()));
QPushButton *thirdButton = addButton("About Qt4", QMessageBox::AcceptRole);
QPushButton *thirdButton = addButton(tr("About Qt4"), QMessageBox::AcceptRole);
thirdButton->setIcon(QIcon(":/images/Qt.svg"));
thirdButton->setMinimumWidth(120);
thirdButton->disconnect();
connect(thirdButton, SIGNAL(clicked()), this, SLOT(showAboutQt()));
QPushButton *fourthButton = addButton("Discard", QMessageBox::AcceptRole);
QPushButton *fourthButton = addButton(tr("Discard"), QMessageBox::AcceptRole);
fourthButton->setIcon(QIcon(":/icons/cross.png"));
fourthButton->setMinimumWidth(90);
}
@ -191,24 +190,24 @@ void AboutDialog::showAboutQt(void)
void AboutDialog::showAboutContributors(void)
{
QString contributorsAboutText;
contributorsAboutText += "<h3>The following people have contributed to LameXP:</h3>";
contributorsAboutText += "<b>Translators:</b>";
contributorsAboutText += QString("<h3>%1</h3>").arg(tr("The following people have contributed to LameXP:"));
contributorsAboutText += QString("<b>%1</b>").arg(tr("Translators:"));
contributorsAboutText += "<table style=\"margin-top:5px\">";
contributorsAboutText += CONTRIBUTOR("Englisch", "LoRd_MuldeR &lt;MuldeR2@GMX.de&gt;", ":/flags/gb.png");
contributorsAboutText += CONTRIBUTOR("Deutsch", "LoRd_MuldeR &lt;MuldeR2@GMX.de&gt;", ":/flags/de.png");
contributorsAboutText += "</table>";
contributorsAboutText += "<br><br>";
contributorsAboutText += "<i>If you are willing to contribute a LameXP translation, feel free to contact us!</i><br>";
contributorsAboutText += QString("<i>%1</i><br>").arg(tr("If you are willing to contribute a LameXP translation, feel free to contact us!"));
QMessageBox *contributorsAboutBox = new QMessageBox(this);
contributorsAboutBox->setText(contributorsAboutText);
contributorsAboutBox->setIconPixmap(dynamic_cast<QApplication*>(QApplication::instance())->windowIcon().pixmap(QSize(64,64)));
QPushButton *closeButton = contributorsAboutBox->addButton("Discard", QMessageBox::AcceptRole);
QPushButton *closeButton = contributorsAboutBox->addButton(tr("Discard"), QMessageBox::AcceptRole);
closeButton->setIcon(QIcon(":/icons/cross.png"));
closeButton->setMinimumWidth(90);
contributorsAboutBox->setWindowTitle("About Contributors");
contributorsAboutBox->setWindowTitle(tr("About Contributors"));
contributorsAboutBox->setIconPixmap(QIcon(":/images/Logo_Contributors.png").pixmap(QSize(64,74)));
contributorsAboutBox->setWindowIcon(QIcon(":/icons/user_suit.png"));
contributorsAboutBox->exec();
@ -219,52 +218,52 @@ void AboutDialog::showAboutContributors(void)
void AboutDialog::showMoreAbout(void)
{
QString moreAboutText;
moreAboutText += "<h3>The following third-party software is used in LameXP:</h3>";
moreAboutText += QString("<h3>%1</h3>").arg(tr("The following third-party software is used in LameXP:"));
moreAboutText += "<div style=\"margin-left:-25px;font-size:8pt\"><ul>";
moreAboutText += VSTR( "<li><b>LAME - OpenSource mp3 Encoder (%1)</b><br>", "lame.exe", "v?.?? a??");
moreAboutText += "Released under the terms of the GNU Leser General Public License.<br>";
moreAboutText += VSTR(QString("<li><b>%1 (%2)</b><br>").arg(tr("LAME - OpenSource mp3 Encoder")), "lame.exe", "v?.?? a??");
moreAboutText += QString("<nobr>%1</nobr><br>").arg(tr("Released under the terms of the GNU Leser General Public License."));
moreAboutText += LINK("http://lame.sourceforge.net/");
moreAboutText += "<div style=\"font-size:1pt\"><br></div>";
moreAboutText += VSTR("<li><b>OggEnc - Ogg Vorbis Encoder (%1)</b>", "oggenc2_i386.exe", "v?.??");
moreAboutText += "<br>Completely open and patent-free audio encoding technology.<br>";
moreAboutText += VSTR(QString("<li><b>%1 (%2)</b><br>").arg(tr("OggEnc - Ogg Vorbis Encoder")), "oggenc2_i386.exe", "v?.??");
moreAboutText += QString("<nobr>%1</nobr><br>").arg(tr("Completely open and patent-free audio encoding technology."));
moreAboutText += LINK("http://www.vorbis.com/");
moreAboutText += "<div style=\"font-size:1pt\"><br></div>";
moreAboutText += VSTR("<li><b>Nero AAC reference MPEG-4 Encoder (%1)</b><br>", "neroAacEnc.exe", "v?.?.?.?");
moreAboutText += "Freeware state-of-the-art HE-AAC encoder with 2-Pass support.<br>";
moreAboutText += "<i>Available from vendor web-site as free download:</i><br>";
moreAboutText += VSTR(QString("<li><b>%1 (%2)</b><br>").arg(tr("Nero AAC reference MPEG-4 Encoder")), "neroAacEnc.exe", "v?.?.?.?");
moreAboutText += QString("<nobr>%1</nobr><br>").arg(tr("Freeware state-of-the-art HE-AAC encoder with 2-Pass support."));
moreAboutText += QString("<nobr><i>%1</i></nobr><br>").arg(tr("Available from vendor web-site as free download:"));
moreAboutText += LINK(neroAacUrl);
moreAboutText += "<div style=\"font-size:1pt\"><br></div>";
moreAboutText += VSTR("<li><b>FLAC - Free Lossless Audio Codec (%1)</b><br>", "flac.exe", "v?.?.?");
moreAboutText += "Open and patent-free lossless audio compression technology.<br>";
moreAboutText += VSTR(QString("<li><b>%1 (%2)</b><br>").arg(tr("FLAC - Free Lossless Audio Codec")), "flac.exe", "v?.?.?");
moreAboutText += QString("<nobr>%1</nobr><br>").arg(tr("Open and patent-free lossless audio compression technology."));
moreAboutText += LINK("http://flac.sourceforge.net/");
moreAboutText += "<div style=\"font-size:1pt\"><br></div>";
moreAboutText += VSTR("<li><b>AC3Filter Tools - AC3/DTS Decoder (%1)</b><br>", "valdec.exe", "v?.??");
moreAboutText += "Released under the terms of the GNU Leser General Public License.<br>";
moreAboutText += VSTR(QString("<li><b>%1 (%2)</b><br>").arg(tr("AC3Filter Tools - AC3/DTS Decoder")), "valdec.exe", "v?.??");
moreAboutText += QString("<nobr>%1</nobr><br>").arg(tr("Released under the terms of the GNU Leser General Public License."));
moreAboutText += LINK("http://www.ac3filter.net/projects/tools");
moreAboutText += "<div style=\"font-size:1pt\"><br></div>";
moreAboutText += VSTR("<li><b>MediaInfo - Media File Analysis Tool (%1)</b><br>", "mediainfo_i386.exe", "v?.?.?");
moreAboutText += "Released under the terms of the GNU Leser General Public License.<br>";
moreAboutText += VSTR(QString("<li><b>%1 (%2)</b><br>").arg(tr("MediaInfo - Media File Analysis Tool")), "mediainfo_i386.exe", "v?.?.?");
moreAboutText += QString("<nobr>%1</nobr><br>").arg(tr("Released under the terms of the GNU Leser General Public License."));
moreAboutText += LINK("http://mediainfo.sourceforge.net/");
moreAboutText += "<div style=\"font-size:1pt\"><br></div>";
moreAboutText += VSTR("<li><b>SoX - Sound eXchange (%1)</b><br>", "sox.exe", "v??.?.?");
moreAboutText += "Released under the terms of the GNU Leser General Public License.<br>";
moreAboutText += VSTR(QString("<li><b>%1 (%2)</b><br>").arg(tr("SoX - Sound eXchange")), "sox.exe", "v??.?.?");
moreAboutText += QString("<nobr>%1</nobr><br>").arg(tr("Released under the terms of the GNU Leser General Public License."));
moreAboutText += LINK("http://sox.sourceforge.net/");
moreAboutText += "<div style=\"font-size:1pt\"><br></div>";
moreAboutText += VSTR("<li><b>GnuPG - The GNU Privacy Guard (%1)</b><br>", "gpgv.exe", "v?.?.??");
moreAboutText += "Released under the terms of the GNU Leser General Public License.<br>";
moreAboutText += VSTR(QString("<li><b>%1 (%2)</b><br>").arg(tr("GnuPG - The GNU Privacy Guard")), "gpgv.exe", "v?.?.??");
moreAboutText += QString("<nobr>%1</nobr><br>").arg(tr("Released under the terms of the GNU Leser General Public License."));
moreAboutText += LINK("http://www.gnupg.org/");
moreAboutText += "<div style=\"font-size:1pt\"><br></div>";
moreAboutText += "<li><b>Silk Icons - Over 700 icons in PNG format (v1.3)</b><br>";
moreAboutText += "<nobr>By Mark James, released under the Creative Commons 'by' License.</nobr><br>";
moreAboutText += QString("<li><b>%1 (v1.3)</b><br>").arg(tr("Silk Icons - Over 700 icons in PNG format"));
moreAboutText += QString("<nobr>%1</nobr><br>").arg(tr("By Mark James, released under the Creative Commons 'by' License."));
moreAboutText += LINK("http://www.famfamfam.com/lab/icons/silk/");
moreAboutText += "<br></ul></div>";
@ -272,11 +271,11 @@ void AboutDialog::showMoreAbout(void)
moreAboutBox->setText(moreAboutText);
moreAboutBox->setIconPixmap(dynamic_cast<QApplication*>(QApplication::instance())->windowIcon().pixmap(QSize(64,64)));
QPushButton *closeButton = moreAboutBox->addButton("Discard", QMessageBox::AcceptRole);
QPushButton *closeButton = moreAboutBox->addButton(tr("Discard"), QMessageBox::AcceptRole);
closeButton->setIcon(QIcon(":/icons/cross.png"));
closeButton->setMinimumWidth(90);
moreAboutBox->setWindowTitle("About Third-party Software");
moreAboutBox->setWindowTitle(tr("About Third-party Software"));
moreAboutBox->setIconPixmap(QIcon(":/images/Logo_Software.png").pixmap(QSize(64,71)));
moreAboutBox->setWindowIcon(QIcon(":/icons/page_white_cplusplus.png"));
moreAboutBox->exec();

View File

@ -64,7 +64,8 @@ DropBox::DropBox(QWidget *parent, QAbstractItemModel *model, SettingsModel *sett
setWindowOpacity(0.8);
//Translate UI
retranslateUi(this);
QEvent languageChangeEvent(QEvent::LanguageChange);
changeEvent(&languageChangeEvent);
}
////////////////////////////////////////////////////////////
@ -79,11 +80,6 @@ DropBox::~DropBox(void)
// PUBLIC SLOTS
////////////////////////////////////////////////////////////
void DropBox::doRetranslate(void)
{
retranslateUi(this);
}
void DropBox::modelChanged(void)
{
if(m_model)

View File

@ -64,6 +64,5 @@ protected:
public slots:
void modelChanged(void);
void doRetranslate(void);
void showToolTip(void);
};

View File

@ -32,7 +32,9 @@ LogViewDialog::LogViewDialog(QWidget *parent)
//Init the dialog, from the .ui file
setupUi(this);
setWindowFlags(windowFlags() ^ Qt::WindowContextHelpButtonHint);
//setWindowFlags(windowFlags() & (~Qt::WindowMaximizeButtonHint));
//Translate
headerText->setText(QString("<b>%1</b><br>%2").arg(tr("Log File"), tr("The log file shows detailed information about the selected job.")));
//Clear
textEdit->clear();

View File

@ -316,6 +316,10 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
}
}
//Re-translate (make sure we translate once)
QEvent languageChangeEvent(QEvent::LanguageChange);
changeEvent(&languageChangeEvent);
//Enable Drag & Drop
this->setAcceptDrops(true);
}
@ -1560,8 +1564,14 @@ void MainWindow::findFileContextActionTriggered(void)
QModelIndex index = sourceFileView->currentIndex();
if(index.isValid())
{
QProcessEnvironment procEnv = QProcessEnvironment::systemEnvironment();
QString systemRootPath = procEnv.value("SystemRoot", procEnv.value("windir"));
QString systemRootPath;
QDir systemRoot(lamexp_known_folder(lamexp_folder_systemfolder));
if(systemRoot.exists() && systemRoot.cdUp())
{
systemRootPath = systemRoot.canonicalPath();
}
if(!systemRootPath.isEmpty())
{
QFileInfo explorer(QString("%1/explorer.exe").arg(systemRootPath));
@ -1571,8 +1581,10 @@ void MainWindow::findFileContextActionTriggered(void)
return;
}
}
qWarning("SystemRoot directory could not be detected!");
QProcess::execute("explorer.exe", QStringList() << "/select," << QDir::toNativeSeparators(m_fileListModel->getFile(index).filePath()));
else
{
qWarning("SystemRoot directory could not be detected!");
}
}
}

View File

@ -48,6 +48,9 @@ MetaInfoDialog::MetaInfoDialog(QWidget *parent)
connect(upButton, SIGNAL(clicked()), this, SLOT(upButtonClicked()));
connect(downButton, SIGNAL(clicked()), this, SLOT(downButtonClicked()));
connect(editButton, SIGNAL(clicked()), this, SLOT(editButtonClicked()));
//Translate
labelHeaderText->setText(QString("<b>%1</b><br>%2").arg(tr("Meta Information"), tr("The following meta information have been extracted from the original file.")));
}
MetaInfoDialog::~MetaInfoDialog(void)

View File

@ -128,6 +128,9 @@ ProcessingDialog::ProcessingDialog(FileListModel *fileListModel, AudioFileModel
}
}
//Translate
label_headerStatus->setText(QString("<b>%1</b><br>%2").arg(tr("Encoding Files"), tr("Your files are being encoded, please be patient...")));
//Enable system tray icon
connect(m_systemTray, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(systemTrayActivated(QSystemTrayIcon::ActivationReason)));

View File

@ -135,8 +135,8 @@ void UpdateDialog::showEvent(QShowEvent *event)
{
QDialog::showEvent(event);
labelVersionInstalled->setText(QString("Build %1 (%2)").arg(QString::number(lamexp_version_build()), lamexp_version_date().toString(Qt::ISODate)));
labelVersionLatest->setText("(Unknown)");
labelVersionInstalled->setText(QString("%1 %2 (%3)").arg(tr("Build"), QString::number(lamexp_version_build()), lamexp_version_date().toString(Qt::ISODate)));
labelVersionLatest->setText(QString("(%1)").arg(tr("Unknown")));
QTimer::singleShot(0, this, SLOT(updateInit()));
installButton->setEnabled(false);
@ -201,7 +201,7 @@ void UpdateDialog::checkForUpdates(void)
QApplication::processEvents();
QApplication::setOverrideCursor(Qt::WaitCursor);
statusLabel->setText("Testing your internet connection, please wait...");
statusLabel->setText(tr("Testing your internet connection, please wait..."));
m_logFile->clear();
m_logFile->append("Checking internet connection...");
@ -228,10 +228,10 @@ void UpdateDialog::checkForUpdates(void)
closeButton->setEnabled(true);
retryButton->setEnabled(true);
logButton->setEnabled(true);
statusLabel->setText("Network connectivity test has faild!");
statusLabel->setText(tr("Network connectivity test has faild!"));
progressBar->setValue(progressBar->maximum());
hintIcon->setPixmap(QIcon(":/icons/error.png").pixmap(16,16));
hintLabel->setText("Please make sure your internet connection is working properly and try again.");
hintLabel->setText(tr("Please make sure your internet connection is working properly and try again."));
hintIcon->show();
hintLabel->show();
LAMEXP_DELETE(m_updateInfo);
@ -241,7 +241,7 @@ void UpdateDialog::checkForUpdates(void)
return;
}
statusLabel->setText("Checking for new updates online, please wait...");
statusLabel->setText(tr("Checking for new updates online, please wait..."));
m_logFile->append("Checking for updates online...");
for(int i = 0; update_mirrors[i]; i++)
@ -266,10 +266,10 @@ void UpdateDialog::checkForUpdates(void)
closeButton->setEnabled(true);
retryButton->setEnabled(true);
logButton->setEnabled(true);
statusLabel->setText("Failed to fetch update information from server!");
statusLabel->setText(tr("Failed to fetch update information from server!"));
progressBar->setValue(progressBar->maximum());
hintIcon->setPixmap(QIcon(":/icons/server_error.png").pixmap(16,16));
hintLabel->setText("Sorry, the update server might be busy at this time. Plase try again later.");
hintLabel->setText(tr("Sorry, the update server might be busy at this time. Plase try again later."));
hintIcon->show();
hintLabel->show();
LAMEXP_DELETE(m_updateInfo);
@ -277,35 +277,35 @@ void UpdateDialog::checkForUpdates(void)
return;
}
labelVersionLatest->setText(QString("Build %1 (%2)").arg(QString::number(m_updateInfo->m_buildNo), m_updateInfo->m_buildDate.toString(Qt::ISODate)));
labelVersionLatest->setText(QString("%1 %2 (%3)").arg(tr("Build"), QString::number(m_updateInfo->m_buildNo), m_updateInfo->m_buildDate.toString(Qt::ISODate)));
infoLabel->show();
infoLabel->setText(QString("More information available at:<br><a href=\"%1\">%1</a>").arg(m_updateInfo->m_downloadSite));
infoLabel->setText(QString("%1<br><a href=\"%2\">%2</a>").arg(tr("More information available at:"), m_updateInfo->m_downloadSite));
QApplication::processEvents();
if(m_updateInfo->m_buildNo > lamexp_version_build())
{
installButton->setEnabled(true);
statusLabel->setText("A new version of LameXP is available!");
statusLabel->setText(tr("A new version of LameXP is available!"));
hintIcon->setPixmap(QIcon(":/icons/bell.png").pixmap(16,16));
hintLabel->setText("We highly recommend all users to install this update as soon as possible.");
hintLabel->setText(tr("We highly recommend all users to install this update as soon as possible."));
hintIcon->show();
hintLabel->show();
MessageBeep(MB_ICONINFORMATION);
}
else if(m_updateInfo->m_buildNo == lamexp_version_build())
{
statusLabel->setText("No new updates available at this time.");
statusLabel->setText(tr("No new updates available at this time."));
hintIcon->setPixmap(QIcon(":/icons/information.png").pixmap(16,16));
hintLabel->setText("Your version of LameXP is still up-to-date. Please check for updates regularly!");
hintLabel->setText(tr("Your version of LameXP is still up-to-date. Please check for updates regularly!"));
hintIcon->show();
hintLabel->show();
MessageBeep(MB_ICONINFORMATION);
}
else
{
statusLabel->setText("Your version appears to be newer than the latest release.");
statusLabel->setText(tr("Your version appears to be newer than the latest release."));
hintIcon->setPixmap(QIcon(":/icons/bug.png").pixmap(16,16));
hintLabel->setText("This usually indicates your are currently using a pre-release version of LameXP.");
hintLabel->setText(tr("This usually indicates your are currently using a pre-release version of LameXP."));
hintIcon->show();
hintLabel->show();
MessageBeep(MB_ICONEXCLAMATION);

View File

@ -721,13 +721,7 @@ QString lamexp_rand_str(void)
*/
const QString &lamexp_temp_folder(void)
{
typedef HRESULT (WINAPI *SHGetKnownFolderPathFun)(__in const GUID &rfid, __in DWORD dwFlags, __in HANDLE hToken, __out PWSTR *ppszPath);
typedef HRESULT (WINAPI *SHGetFolderPathFun)(__in HWND hwndOwner, __in int nFolder, __in HANDLE hToken, __in DWORD dwFlags, __out LPWSTR pszPath);
static const char *TEMP_STR = "Temp";
static const int CSIDL_LOCAL_APPDATA = 0x001c;
static const GUID LocalAppDataID={0xF1B32785,0x6FBA,0x4FCF,{0x9D,0x55,0x7B,0x8E,0x7F,0x15,0x70,0x91}};
static const GUID LocalAppDataLowID={0xA520A1A4,0x1780,0x4FF6,{0xBD,0x18,0x16,0x73,0x43,0xC5,0xAF,0x16}};
if(g_lamexp_temp_folder.isEmpty())
{

View File

@ -75,40 +75,40 @@ QVariant MetaInfoModel::data(const QModelIndex &index, int role) const
switch(index.row() + m_offset)
{
case 0:
return (!index.column()) ? "Full Path" : CHECK1(m_audioFile->filePath());
return (!index.column()) ? tr("Full Path") : CHECK1(m_audioFile->filePath());
break;
case 1:
return (!index.column()) ? "Format" : CHECK1(m_audioFile->formatAudioBaseInfo());
return (!index.column()) ? tr("Format") : CHECK1(m_audioFile->formatAudioBaseInfo());
break;
case 2:
return (!index.column()) ? "Container" : CHECK1(m_audioFile->formatContainerInfo());
return (!index.column()) ? tr("Container") : CHECK1(m_audioFile->formatContainerInfo());
break;
case 3:
return (!index.column()) ? "Compression" : CHECK1(m_audioFile->formatAudioCompressInfo());
return (!index.column()) ? tr("Compression") : CHECK1(m_audioFile->formatAudioCompressInfo());
break;
case 4:
return (!index.column()) ? "Duration" : CHECK1(m_audioFile->fileDurationInfo());
return (!index.column()) ? tr("Duration") : CHECK1(m_audioFile->fileDurationInfo());
break;
case 5:
return (!index.column()) ? "Title" : CHECK1(m_audioFile->fileName());
return (!index.column()) ? tr("Title") : CHECK1(m_audioFile->fileName());
break;
case 6:
return (!index.column()) ? "Artist" : CHECK1(m_audioFile->fileArtist());
return (!index.column()) ? tr("Artist") : CHECK1(m_audioFile->fileArtist());
break;
case 7:
return (!index.column()) ? "Album" : CHECK1(m_audioFile->fileAlbum());
return (!index.column()) ? tr("Album") : CHECK1(m_audioFile->fileAlbum());
break;
case 8:
return (!index.column()) ? "Genre" : CHECK1(m_audioFile->fileGenre());
return (!index.column()) ? tr("Genre") : CHECK1(m_audioFile->fileGenre());
break;
case 9:
return (!index.column()) ? "Year" : CHECK2(m_audioFile->fileYear());
return (!index.column()) ? tr("Year") : CHECK2(m_audioFile->fileYear());
break;
case 10:
return (!index.column()) ? "Position" : ((m_audioFile->filePosition() == UINT_MAX) ? "Generate from list position" : CHECK2(m_audioFile->filePosition()));
return (!index.column()) ? tr("Position") : ((m_audioFile->filePosition() == UINT_MAX) ? tr("Generate from list position") : CHECK2(m_audioFile->filePosition()));
break;
case 11:
return (!index.column()) ? "Comment" : CHECK1(m_audioFile->fileComment());
return (!index.column()) ? tr("Comment") : CHECK1(m_audioFile->fileComment());
break;
default:
return QVariant();
@ -220,10 +220,10 @@ QVariant MetaInfoModel::headerData(int section, Qt::Orientation orientation, int
switch(section)
{
case 0:
return QVariant("Property");
return QVariant(tr("Property"));
break;
case 1:
return QVariant("Value");
return QVariant(tr("Value"));
break;
default:
return QVariant();
@ -245,18 +245,18 @@ void MetaInfoModel::editItem(const QModelIndex &index, QWidget *parent)
{
bool ok = false;
int val = -1;
QStringList generes("(Unspecified)");
QStringList generes(QString("(%1)").arg(tr("Unspecified")));
QString temp;
switch(index.row() + m_offset)
{
case 5:
temp = QInputDialog::getText(parent, "Edit Title", EXPAND("Please enter the title for this file:"), QLineEdit::Normal, m_audioFile->fileName(), &ok).simplified();
temp = QInputDialog::getText(parent, tr("Edit Title"), EXPAND(tr("Please enter the title for this file:")), QLineEdit::Normal, m_audioFile->fileName(), &ok).simplified();
if(ok)
{
if(temp.isEmpty())
{
QMessageBox::warning(parent, "Edit Title", "The title must not be empty. Generating title from file name!");
QMessageBox::warning(parent, tr("Edit Title"), tr("The title must not be empty. Generating title from file name!"));
temp = QFileInfo(m_audioFile->filePath()).completeBaseName().replace("_", " ").simplified();
int index = temp.lastIndexOf(" - ");
if(index >= 0) temp = temp.mid(index + 3).trimmed();
@ -267,7 +267,7 @@ void MetaInfoModel::editItem(const QModelIndex &index, QWidget *parent)
}
break;
case 6:
temp = QInputDialog::getText(parent, "Edit Artist", EXPAND("Please enter the artist for this file:"), QLineEdit::Normal, m_audioFile->fileArtist(), &ok).simplified();
temp = QInputDialog::getText(parent, tr("Edit Artist"), EXPAND(tr("Please enter the artist for this file:")), QLineEdit::Normal, m_audioFile->fileArtist(), &ok).simplified();
if(ok)
{
beginResetModel();
@ -276,7 +276,7 @@ void MetaInfoModel::editItem(const QModelIndex &index, QWidget *parent)
}
break;
case 7:
temp = QInputDialog::getText(parent, "Edit Album", EXPAND("Please enter the album for this file:"), QLineEdit::Normal, m_audioFile->fileAlbum(), &ok).simplified();
temp = QInputDialog::getText(parent, tr("Edit Album"), EXPAND(tr("Please enter the album for this file:")), QLineEdit::Normal, m_audioFile->fileAlbum(), &ok).simplified();
if(ok)
{
beginResetModel();
@ -286,7 +286,7 @@ void MetaInfoModel::editItem(const QModelIndex &index, QWidget *parent)
break;
case 8:
for(int i = 0; g_lamexp_generes[i]; i++) generes << g_lamexp_generes[i];
temp = QInputDialog::getItem(parent, "Edit Genre", EXPAND("Please enter the genre for this file:"), generes, (m_audioFile->fileGenre().isEmpty() ? 1 : generes.indexOf(m_audioFile->fileGenre())), false, &ok);
temp = QInputDialog::getItem(parent, tr("Edit Genre"), EXPAND(tr("Please enter the genre for this file:")), generes, (m_audioFile->fileGenre().isEmpty() ? 1 : generes.indexOf(m_audioFile->fileGenre())), false, &ok);
if(ok)
{
beginResetModel();
@ -295,7 +295,7 @@ void MetaInfoModel::editItem(const QModelIndex &index, QWidget *parent)
}
break;
case 9:
val = QInputDialog::getInt(parent, "Edit Year", EXPAND("Please enter the year for this file:"), (m_audioFile->fileYear() ? m_audioFile->fileYear() : 1900), 0, 2100, 1, &ok);
val = QInputDialog::getInt(parent, tr("Edit Year"), EXPAND(tr("Please enter the year for this file:")), (m_audioFile->fileYear() ? m_audioFile->fileYear() : 1900), 0, 2100, 1, &ok);
if(ok)
{
beginResetModel();
@ -306,7 +306,7 @@ void MetaInfoModel::editItem(const QModelIndex &index, QWidget *parent)
case 10:
if(!m_offset)
{
val = QInputDialog::getInt(parent, "Edit Position", EXPAND("Please enter the position (track no.) for this file:"), (m_audioFile->filePosition() ? m_audioFile->filePosition() : 1), 0, 99, 1, &ok);
val = QInputDialog::getInt(parent, tr("Edit Position"), EXPAND(tr("Please enter the position (track no.) for this file:")), (m_audioFile->filePosition() ? m_audioFile->filePosition() : 1), 0, 99, 1, &ok);
if(ok)
{
beginResetModel();
@ -317,8 +317,8 @@ void MetaInfoModel::editItem(const QModelIndex &index, QWidget *parent)
else
{
QStringList options;
options << "Unspecified (copy from source file)" << "Generate from list position";
temp = QInputDialog::getItem(parent, "Edit Position", EXPAND("Please enter the position (track no.) for this file:"), options, ((m_audioFile->filePosition() == UINT_MAX) ? 1 : 0), false, &ok);
options << tr("Unspecified (copy from source file)") << tr("Generate from list position");
temp = QInputDialog::getItem(parent, tr("Edit Position"), EXPAND(tr("Please enter the position (track no.) for this file:")), options, ((m_audioFile->filePosition() == UINT_MAX) ? 1 : 0), false, &ok);
if(ok)
{
beginResetModel();
@ -328,7 +328,7 @@ void MetaInfoModel::editItem(const QModelIndex &index, QWidget *parent)
}
break;
case 11:
temp = QInputDialog::getText(parent, "Edit Comment", EXPAND("Please enter the comment for this file:"), QLineEdit::Normal, (m_audioFile->fileComment().isEmpty() ? "Encoded with LameXP" : m_audioFile->fileComment()), &ok).simplified();
temp = QInputDialog::getText(parent, tr("Edit Comment"), EXPAND(tr("Please enter the comment for this file:")), QLineEdit::Normal, (m_audioFile->fileComment().isEmpty() ? tr("Encoded with LameXP") : m_audioFile->fileComment()), &ok).simplified();
if(ok)
{
beginResetModel();
@ -337,7 +337,7 @@ void MetaInfoModel::editItem(const QModelIndex &index, QWidget *parent)
}
break;
default:
QMessageBox::warning(parent, "Not editable", "Sorry, this property of the source file cannot be edited!");
QMessageBox::warning(parent, tr("Not editable"), tr("Sorry, this property of the source file cannot be edited!"));
break;
}
}
@ -351,7 +351,7 @@ void MetaInfoModel::clearData(void)
m_audioFile->setFileArtist(QString());
m_audioFile->setFileAlbum(QString());
m_audioFile->setFileGenre(QString());
m_audioFile->setFileComment("Encoded with LameXP");
m_audioFile->setFileComment(tr("Encoded with LameXP"));
m_audioFile->setFileYear(0);
m_audioFile->setFilePosition(UINT_MAX);
m_audioFile->setFileDuration(0);