support for translating rbutil. Translation files (*.qm) can be in the binary folder or in the resource :/lang. Incomplete german translation available for testing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14061 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
917e0acd64
commit
82373b246e
6 changed files with 275 additions and 227 deletions
|
@ -7,7 +7,7 @@
|
|||
* \/ \/ \/ \/ \/
|
||||
*
|
||||
* Copyright (C) 2007 by Dominik Riebeling
|
||||
* $Id:$
|
||||
* $Id$
|
||||
*
|
||||
* All files in this archive are subject to the GNU General Public License.
|
||||
* See the file COPYING in the source tree root for full license agreement.
|
||||
|
@ -22,8 +22,11 @@
|
|||
#include "configure.h"
|
||||
#include "ui_configurefrm.h"
|
||||
|
||||
#define DEFAULT_LANG "English (builtin)"
|
||||
|
||||
Config::Config(QWidget *parent) : QDialog(parent)
|
||||
{
|
||||
programPath = QFileInfo(qApp->arguments().at(0)).absolutePath() + "/";
|
||||
ui.setupUi(this);
|
||||
ui.radioManualProxy->setChecked(true);
|
||||
QRegExpValidator *proxyValidator = new QRegExpValidator(this);
|
||||
|
@ -33,6 +36,19 @@ Config::Config(QWidget *parent) : QDialog(parent)
|
|||
|
||||
ui.radioSystemProxy->setEnabled(false); // not implemented yet
|
||||
|
||||
// build language list and sort alphabetically
|
||||
QStringList langs = findLanguageFiles();
|
||||
for(int i = 0; i < langs.size(); ++i)
|
||||
lang.insert(languageName(langs[i]), langs[i]);
|
||||
lang.insert(DEFAULT_LANG, "");
|
||||
QMap<QString, QString>::const_iterator i = lang.constBegin();
|
||||
while (i != lang.constEnd()) {
|
||||
ui.listLanguages->addItem(i.key());
|
||||
i++;
|
||||
}
|
||||
ui.listLanguages->setSelectionMode(QAbstractItemView::SingleSelection);
|
||||
connect(ui.listLanguages, SIGNAL(itemSelectionChanged()), this, SLOT(updateLanguage()));
|
||||
|
||||
connect(ui.buttonOk, SIGNAL(clicked()), this, SLOT(accept()));
|
||||
connect(ui.buttonCancel, SIGNAL(clicked()), this, SLOT(abort()));
|
||||
connect(ui.radioNoProxy, SIGNAL(toggled(bool)), this, SLOT(setNoProxy(bool)));
|
||||
|
@ -42,6 +58,7 @@ Config::Config(QWidget *parent) : QDialog(parent)
|
|||
void Config::accept()
|
||||
{
|
||||
qDebug() << "Config::accept()";
|
||||
// proxy: save entered proxy values, not displayed.
|
||||
QUrl proxy;
|
||||
proxy.setScheme("http");
|
||||
proxy.setUserName(ui.proxyUser->text());
|
||||
|
@ -51,13 +68,20 @@ void Config::accept()
|
|||
|
||||
userSettings->setValue("defaults/proxy", proxy.toString());
|
||||
qDebug() << "new proxy:" << proxy;
|
||||
|
||||
// proxy type
|
||||
QString proxyType;
|
||||
if(ui.radioNoProxy->isChecked()) proxyType = "none";
|
||||
else if(ui.radioSystemProxy->isChecked()) proxyType = "system";
|
||||
else proxyType = "manual";
|
||||
userSettings->setValue("defaults/proxytype", proxyType);
|
||||
|
||||
// language
|
||||
if(userSettings->value("defaults/lang").toString() != language)
|
||||
QMessageBox::information(this, tr("Language changed"),
|
||||
tr("You need to restart the application for the changed language to take effect."));
|
||||
userSettings->setValue("defaults/lang", language);
|
||||
|
||||
// sync settings
|
||||
userSettings->sync();
|
||||
this->close();
|
||||
emit settingsUpdated();
|
||||
|
@ -76,16 +100,34 @@ void Config::setUserSettings(QSettings *user)
|
|||
userSettings = user;
|
||||
QUrl proxy = userSettings->value("defaults/proxy").toString();
|
||||
|
||||
ui.proxyPort->insert(QString("%1").arg(proxy.port()));
|
||||
ui.proxyHost->insert(proxy.host());
|
||||
ui.proxyUser->insert(proxy.userName());
|
||||
ui.proxyPass->insert(proxy.password());
|
||||
ui.proxyPort->setText(QString("%1").arg(proxy.port()));
|
||||
ui.proxyHost->setText(proxy.host());
|
||||
ui.proxyUser->setText(proxy.userName());
|
||||
ui.proxyPass->setText(proxy.password());
|
||||
|
||||
QString proxyType = userSettings->value("defaults/proxytype").toString();
|
||||
if(proxyType == "manual") ui.radioManualProxy->setChecked(true);
|
||||
else if(proxyType == "system") ui.radioSystemProxy->setChecked(true);
|
||||
else if(proxyType == "none") ui.radioNoProxy->setChecked(true);
|
||||
|
||||
// set language selection
|
||||
QList<QListWidgetItem*> a;
|
||||
QString b;
|
||||
// find key for lang value
|
||||
QMap<QString, QString>::const_iterator i = lang.constBegin();
|
||||
while (i != lang.constEnd()) {
|
||||
if(i.value() == userSettings->value("defaults/lang").toString() + ".qm") {
|
||||
b = i.key();
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
a = ui.listLanguages->findItems(b, Qt::MatchExactly);
|
||||
if(a.size() <= 0)
|
||||
a = ui.listLanguages->findItems(DEFAULT_LANG, Qt::MatchExactly);
|
||||
if(a.size() > 0)
|
||||
ui.listLanguages->setCurrentItem(a.at(0));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -98,3 +140,40 @@ void Config::setNoProxy(bool checked)
|
|||
ui.proxyPass->setEnabled(i);
|
||||
}
|
||||
|
||||
|
||||
QStringList Config::findLanguageFiles()
|
||||
{
|
||||
QDir dir(programPath + "/");
|
||||
QStringList fileNames;
|
||||
fileNames = dir.entryList(QStringList("*.qm"), QDir::Files, QDir::Name);
|
||||
|
||||
QDir resDir(":/lang");
|
||||
fileNames += resDir.entryList(QStringList("*.qm"), QDir::Files, QDir::Name);
|
||||
|
||||
fileNames.sort();
|
||||
qDebug() << "Config::findLanguageFiles()" << fileNames;
|
||||
|
||||
return fileNames;
|
||||
}
|
||||
|
||||
|
||||
QString Config::languageName(const QString &qmFile)
|
||||
{
|
||||
QTranslator translator;
|
||||
|
||||
if(!translator.load(qmFile, programPath))
|
||||
translator.load(qmFile, ":/lang");
|
||||
|
||||
return translator.translate("Configure", "English");
|
||||
}
|
||||
|
||||
|
||||
void Config::updateLanguage()
|
||||
{
|
||||
qDebug() << "updateLanguage()";
|
||||
QList<QListWidgetItem*> a = ui.listLanguages->selectedItems();
|
||||
if(a.size() > 0)
|
||||
language = QFileInfo(lang.value(a.at(0)->text())).baseName();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
* \/ \/ \/ \/ \/
|
||||
*
|
||||
* Copyright (C) 2007 by Dominik Riebeling
|
||||
* $Id:$
|
||||
* $Id$
|
||||
*
|
||||
* All files in this archive are subject to the GNU General Public License.
|
||||
* See the file COPYING in the source tree root for full license agreement.
|
||||
|
@ -40,9 +40,15 @@ class Config : public QDialog
|
|||
private:
|
||||
Ui::ConfigForm ui;
|
||||
QSettings *userSettings;
|
||||
QStringList findLanguageFiles(void);
|
||||
QString languageName(const QString&);
|
||||
QMap<QString, QString> lang;
|
||||
QString language;
|
||||
QString programPath;
|
||||
|
||||
private slots:
|
||||
void setNoProxy(bool);
|
||||
void updateLanguage(void);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -165,6 +165,11 @@
|
|||
<attribute name="title" >
|
||||
<string>&Language</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" >
|
||||
<item row="0" column="0" >
|
||||
<widget class="QListWidget" name="listLanguages" />
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tabScrobbler" >
|
||||
<attribute name="title" >
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
* \/ \/ \/ \/ \/
|
||||
*
|
||||
* Copyright (C) 2007 by Dominik Riebeling
|
||||
* $Id:$
|
||||
* $Id$
|
||||
*
|
||||
* All files in this archive are subject to the GNU General Public License.
|
||||
* See the file COPYING in the source tree root for full license agreement.
|
||||
|
@ -25,8 +25,22 @@
|
|||
int main( int argc, char ** argv ) {
|
||||
QApplication app( argc, argv );
|
||||
|
||||
QString absolutePath = QFileInfo(qApp->arguments().at(0)).absolutePath() + "/";
|
||||
// portable installation:
|
||||
// check for a configuration file in the program folder.
|
||||
QSettings *user;
|
||||
if(QFileInfo(absolutePath + "RockboxUtility.ini").isFile())
|
||||
user = new QSettings(absolutePath + "RockboxUtility.ini", QSettings::IniFormat, 0);
|
||||
else user = new QSettings(QSettings::IniFormat, QSettings::UserScope, "rockbox.org", "RockboxUtility");
|
||||
|
||||
QTranslator translator;
|
||||
// translator.load("rbutil_de.qm");
|
||||
if(user->value("defaults/lang").toString() != "")
|
||||
// install translator
|
||||
if(user->value("defaults/lang", "").toString() != "") {
|
||||
if(!translator.load(user->value("defaults/lang").toString(), absolutePath))
|
||||
translator.load(user->value("defaults/lang").toString(), ":/lang");
|
||||
}
|
||||
delete user;
|
||||
app.installTranslator(&translator);
|
||||
|
||||
RbUtilQt window(0);
|
||||
|
|
|
@ -1,173 +1,121 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS><TS version="1.1" language="de">
|
||||
<!DOCTYPE TS><TS>
|
||||
<defaultcodec></defaultcodec>
|
||||
<context>
|
||||
<name>Config</name>
|
||||
<message>
|
||||
<source>Language changed</source>
|
||||
<translation>Sprache geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You need to restart the application for the changed language to take effect.</source>
|
||||
<translation type="unfinished">Die Anwendung muss neu gestartet werden um die geänderten Spracheinstallungen anzuwenden.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ConfigForm</name>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Configuration</source>
|
||||
<translation type="unfinished">Konfiguration</translation>
|
||||
<translation>Konfiguration</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Configure Rockbox Utility</source>
|
||||
<translation type="unfinished">Rockbox Utility konfigurieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&Ok</source>
|
||||
<translation type="unfinished">&Ok</translation>
|
||||
<translation>&Ok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&Cancel</source>
|
||||
<translation type="unfinished">&Abbrechen</translation>
|
||||
<translation>&Abbrechen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&Proxy</source>
|
||||
<translation type="unfinished">&Proxy</translation>
|
||||
<translation>&Proxy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&No Proxy</source>
|
||||
<translation type="unfinished">&kein Proxy</translation>
|
||||
<translation>&kein Proxy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Use &System values</source>
|
||||
<translation type="unfinished">&Systemeinstellungen benutzen</translation>
|
||||
<translation>&Systemeinstellungen benutzen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&Manual Proxy settings</source>
|
||||
<translation type="unfinished">&Manuelle Proxyeinstellungen</translation>
|
||||
<translation>&Manuelle Proxyeinstellungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Proxy Values</source>
|
||||
<translation type="unfinished">Proxyeinstellungen</translation>
|
||||
<translation>Proxyeinstellungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&Host:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>&Host:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&Port:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>&Port:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&Username</source>
|
||||
<translation type="unfinished">&Benutzername</translation>
|
||||
<translation>&Benutzername</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>P&assword</source>
|
||||
<translation type="unfinished">P&asswort</translation>
|
||||
<translation>P&asswort</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&Language</source>
|
||||
<translation type="unfinished">&Sprache</translation>
|
||||
<translation>&Sprache</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&Scrobbler</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Configure</name>
|
||||
<message>
|
||||
<source>English</source>
|
||||
<translation>Deutsch</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Install</name>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Mount point is wrong!</source>
|
||||
<translation type="unfinished">Falscher Einhängepunkt!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&Ok</source>
|
||||
<translation type="unfinished">&Ok</translation>
|
||||
<translation>&Ok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Downloading file %1.%2</source>
|
||||
<translation type="unfinished">Herunterladen von Datei %1.%2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Download error!</source>
|
||||
<translation type="unfinished">Download-Fehler!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Download finished.</source>
|
||||
<translation type="unfinished">Download abgeschlossen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Extracting file %1.%2</source>
|
||||
<translation type="unfinished">Extrahiere Datei %1.%2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Opening archive failed: %1.</source>
|
||||
<translation type="unfinished">Öffnen des Archives fehlgeschlagen: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Extracting failed: %1.</source>
|
||||
<translation type="unfinished">Extrahieren fehlgeschlagen: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>creating installation log</source>
|
||||
<translation type="unfinished">erzeuge Installationshistorie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>creating log failed!</source>
|
||||
<translation type="unfinished">Erzeugen der Installationshistorie fehlgeschlagen!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Extraction finished successfully.</source>
|
||||
<translation type="unfinished">Extraktion erfolgreich abgeschlossen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>This is the absolute up to the minute Rockbox built. A current build will get updated every time a change is made.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source><b>Note:</b> This option will always download a fresh copy. <b>This is the recommended version.</b></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source><b>Note:</b> This option will always download a fresh copy.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>This is the last released version of Rockbox.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source><b>Note:</b>The lastest released version is %1. <b>This is the recommended version.</b></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>These are automatically built each day from the current development source code. This generally has more features than the last release but may be much less stable. Features may change regularly.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source><b>Note:</b> archived version is %1.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -175,144 +123,134 @@
|
|||
<context>
|
||||
<name>InstallFrm</name>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Install Rockbox</source>
|
||||
<translation type="unfinished">Rockbox installieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Select your device in the filesystem</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&Browse</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Please select the Rockbox version you want to install on your player:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Version</source>
|
||||
<translation type="unfinished">Version</translation>
|
||||
<translation>Version</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Rockbox &stable</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&Archived Build</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&Current Build</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Details</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Details</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Details about the selected version</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Note</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Hinweis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Rockbox Utility stores copies of Rockbox it has downloaded on the local hard disk to save network traffic. If your local copy is no longer working, tick this box to download a fresh copy.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&Don't use locally cached copy</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="unfinished">&keine lokale Zwischenkopie verwenden</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>InstallProgressFrm</name>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Progress</source>
|
||||
<translation type="unfinished">Fortschritt</translation>
|
||||
<translation>Fortschritt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&Abort</source>
|
||||
<translation type="unfinished">&Abbrechen</translation>
|
||||
<translation>&Abbrechen</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QrbUtilMain</name>
|
||||
<name>RBInstaller</name>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&File</source>
|
||||
<translation type="obsolete">&Datei</translation>
|
||||
<source>Downloading file %1.%2</source>
|
||||
<translation>Herunterladen von Datei %1.%2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&About</source>
|
||||
<translation type="obsolete">Ü&ber</translation>
|
||||
<source>Download error: received HTTP error %1.</source>
|
||||
<translation type="unfinished">Fehler beim Herunterladen: HTTP Fehler %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Set &Proxy</source>
|
||||
<translation type="obsolete">&Proxy einstellen</translation>
|
||||
<source>&Ok</source>
|
||||
<translation>&Ok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>E&xit</source>
|
||||
<translation type="obsolete">&Beenden</translation>
|
||||
<source>Download error: %1</source>
|
||||
<translation>Downloadfehler: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Ctrl+Q</source>
|
||||
<translation type="obsolete">Strg+Q</translation>
|
||||
<source>Download finished.</source>
|
||||
<translation>Download abgeschlossen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>About &Qt</source>
|
||||
<translation type="obsolete">Über &Qt</translation>
|
||||
<source>Extracting file.</source>
|
||||
<translation>Extrahiere Datei.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Opening archive failed: %1.</source>
|
||||
<translation type="unfinished">Öffnen des Archives fehlgeschlagen: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extracting failed: %1.</source>
|
||||
<translation type="unfinished">Extrahieren fehlgeschlagen: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>creating installation log</source>
|
||||
<translation>erzeuge Installationshistorie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extraction finished successfully.</source>
|
||||
<translation type="unfinished">Extraktion erfolgreich abgeschlossen.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RbUtilQt</name>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Network error: %1. Please check your network and proxy settings.</source>
|
||||
<translation type="unfinished">Netzwerkfehler: %1. Bitte Netzwerk und Proxyeinstellungen überprüfen.</translation>
|
||||
<translation>Netzwerkfehler: %1. Bitte Netzwerk und Proxyeinstellungen überprüfen.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RbUtilQtFrm</name>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Rockbox Utility</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&Quick Start</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source><html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
|
@ -321,7 +259,6 @@ p, li { white-space: pre-wrap; }
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source><html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
|
@ -330,12 +267,10 @@ p, li { white-space: pre-wrap; }
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&Installation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source><html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
|
@ -344,7 +279,6 @@ p, li { white-space: pre-wrap; }
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source><html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">
|
||||
|
@ -352,12 +286,10 @@ p, li { white-space: pre-wrap; }
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&Extras</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source><html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
|
@ -366,7 +298,6 @@ p, li { white-space: pre-wrap; }
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source><html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
|
@ -375,7 +306,6 @@ p, li { white-space: pre-wrap; }
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source><html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
|
@ -384,12 +314,10 @@ p, li { white-space: pre-wrap; }
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&Uninstallation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source><html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
|
@ -398,7 +326,6 @@ p, li { white-space: pre-wrap; }
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source><html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
|
@ -407,211 +334,231 @@ p, li { white-space: pre-wrap; }
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&Manual</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&Device</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&Autodetect</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&File</source>
|
||||
<translation type="unfinished">&Datei</translation>
|
||||
<translation>&Datei</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&About</source>
|
||||
<translation type="unfinished">Ü&ber</translation>
|
||||
<translation>Ü&ber</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Empty local download cache</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="unfinished">Download-Cache löschen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Install Rockbox Utility on player</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="unfinished">Rockbox Utility auf dem Gerät installieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&Configure</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>&Konfigurieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>E&xit</source>
|
||||
<translation type="unfinished">&Beenden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Ctrl+Q</source>
|
||||
<translation type="unfinished">Strg+Q</translation>
|
||||
<translation type="unfinished">Ctrl+Q</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>About &Qt</source>
|
||||
<translation type="unfinished">Über &Qt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the task group you want to perform</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>InstallationTab</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This is the tab view of the tasks you can perform</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CompleteInstallationButton</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This performs a complete installation of Rockbox. It installs the bootloader, a current build and the extras package.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install Rockbox</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ButtonInstall</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This installs a build of Rockbox on your player. It can also upgrade an existing build.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install Bootloader</source>
|
||||
<translation type="unfinished">Bootloader installieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install Fonts package</source>
|
||||
<translation type="unfinished">Schriftarten-Paket installieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install themes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install game files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Uninstall Bootloader</source>
|
||||
<translation type="unfinished">Bootloader entfernen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Uninstall Rockbox</source>
|
||||
<translation type="unfinished">Rockbox entfernen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Device selection combo box</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UnZip</name>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>ZIP operation completed successfully.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Failed to initialize or load zlib library.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Initialisieren oder Laden der zlib-Bibliothek fehlgeschlagen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>zlib library error.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Fehler in zlib-Bibliothek.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Unable to create or open file.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Erzeugen oder Öffnen der Datei fehlgeschlagen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Partially corrupted archive. Some files might be extracted.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Teilweise korruptes Archiv. Einige Dateien wurden möglicherweise extrahiert.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Corrupted archive.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Korruptes Archiv.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Wrong password.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Falsches Passwort.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>No archive has been created yet.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>File or directory does not exist.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Datei oder Ordner existiert nicht.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>File read error.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Fehler beim Lesen der Datei.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>File write error.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Fehler beim Schreiben der Datei.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>File seek error.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Fehler beim Durchsuchen der Datei.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Unable to create a directory.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Invalid device.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Ungültiges Gerät.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Invalid or incompatible zip archive.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Ungültiges oder inkompatibles Zip-Archiv.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Inconsistent headers. Archive might be corrupted.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Unknown error.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Unbekannter Fehler.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Zip</name>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>ZIP operation completed successfully.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Failed to initialize or load zlib library.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="unfinished">Initialisieren oder Laden der zlib-Bibliothek fehlgeschlagen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>zlib library error.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="unfinished">Fehler in zlib-Bibliothek.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Unable to create or open file.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="unfinished">Erzeugen oder Öffnen der Datei fehlgeschlagen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>No archive has been created yet.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>File or directory does not exist.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="unfinished">Datei oder Ordner existiert nicht.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>File read error.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="unfinished">Fehler beim Lesen der Datei.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>File write error.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="unfinished">Fehler beim Schreiben der Datei.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>File seek error.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="unfinished">Fehler beim Durchsuchen der Datei.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>Unknown error.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="unfinished">Unbekannter Fehler.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>aboutBox</name>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>About Rockbox Utility</source>
|
||||
<translation type="unfinished">Über Rockbox Utility</translation>
|
||||
<translation>Über Rockbox Utility</translation>
|
||||
</message>
|
||||
<message encoding="UTF-8">
|
||||
<location filename="" line="478"/>
|
||||
<source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware.
|
||||
|
||||
© 2005 - 2007 The Rockbox Team.
|
||||
|
@ -620,24 +567,20 @@ Released under the GNU General Public License v2.
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&Credits</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&License</source>
|
||||
<translation type="unfinished">&Lizenz</translation>
|
||||
<translation>&Lizenz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>&Ok</source>
|
||||
<translation type="unfinished">&Ok</translation>
|
||||
<translation>&Ok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="" line="478"/>
|
||||
<source>The Rockbox Utility</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Rockbox Utility</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
<RCC>
|
||||
<qresource prefix="/docs" >
|
||||
<file>COPYING</file>
|
||||
<file>CREDITS</file>
|
||||
<file>gpl-2.0.html</file>
|
||||
</qresource>
|
||||
|
@ -19,4 +18,6 @@
|
|||
<qresource prefix="/ini" >
|
||||
<file>rbutil.ini</file>
|
||||
</qresource>
|
||||
<qresource prefix="/lang" >
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
|
Loading…
Reference in a new issue