Translation code fix; updated German translation
This commit is contained in:
parent
e09060faca
commit
5ee6bdd338
5 changed files with 743 additions and 679 deletions
|
@ -103,19 +103,15 @@ GeneralSettingsPage::GeneralSettingsPage()
|
||||||
QStringList GeneralSettingsPage::findQmFiles()
|
QStringList GeneralSettingsPage::findQmFiles()
|
||||||
{
|
{
|
||||||
QDir dir(":/translations");
|
QDir dir(":/translations");
|
||||||
QStringList fileNames = dir.entryList(QStringList("*.qm"), QDir::Files, QDir::Name);
|
QStringList fileNames = dir.entryList(QStringList(translationPrefix + "_*.qm"), QDir::Files, QDir::Name);
|
||||||
QMutableStringListIterator i(fileNames);
|
fileNames.replaceInStrings(QRegExp(translationPrefix + "_(.*)\\.qm"), "\\1");
|
||||||
while (i.hasNext()) {
|
|
||||||
i.next();
|
|
||||||
i.setValue(dir.filePath(i.value()));
|
|
||||||
}
|
|
||||||
return fileNames;
|
return fileNames;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString GeneralSettingsPage::languageName(const QString &qmFile)
|
QString GeneralSettingsPage::languageName(const QString &qmFile)
|
||||||
{
|
{
|
||||||
QTranslator translator;
|
QTranslator translator;
|
||||||
translator.load(qmFile);
|
translator.load(":/translations/" + translationPrefix + "_" + qmFile + ".qm");
|
||||||
|
|
||||||
return translator.translate("GeneralSettingsPage", "English");
|
return translator.translate("GeneralSettingsPage", "English");
|
||||||
}
|
}
|
||||||
|
@ -165,8 +161,7 @@ void GeneralSettingsPage::cardBackgroundPathButtonClicked()
|
||||||
|
|
||||||
void GeneralSettingsPage::languageBoxChanged(int index)
|
void GeneralSettingsPage::languageBoxChanged(int index)
|
||||||
{
|
{
|
||||||
QString qmFile = languageBox->itemData(index).toString();
|
settingsCache->setLang(languageBox->itemData(index).toString());
|
||||||
settingsCache->setLang(qmFile);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void GeneralSettingsPage::retranslateUi()
|
void GeneralSettingsPage::retranslateUi()
|
||||||
|
@ -473,8 +468,7 @@ void DlgSettings::changePage(QListWidgetItem *current, QListWidgetItem *previous
|
||||||
void DlgSettings::updateLanguage()
|
void DlgSettings::updateLanguage()
|
||||||
{
|
{
|
||||||
qApp->removeTranslator(translator);
|
qApp->removeTranslator(translator);
|
||||||
translator->load(settingsCache->getLang());
|
installNewTranslator();
|
||||||
qApp->installTranslator(translator);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DlgSettings::changeEvent(QEvent *event)
|
void DlgSettings::changeEvent(QEvent *event)
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
//Q_IMPORT_PLUGIN(qjpeg)
|
//Q_IMPORT_PLUGIN(qjpeg)
|
||||||
|
|
||||||
CardDatabase *db;
|
CardDatabase *db;
|
||||||
QTranslator *translator;
|
QTranslator *translator, *qtTranslator;
|
||||||
SettingsCache *settingsCache;
|
SettingsCache *settingsCache;
|
||||||
PingPixmapGenerator *pingPixmapGenerator;
|
PingPixmapGenerator *pingPixmapGenerator;
|
||||||
|
|
||||||
|
@ -52,6 +52,17 @@ void myMessageOutput(QtMsgType /*type*/, const char *msg)
|
||||||
fflush(f);
|
fflush(f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void installNewTranslator()
|
||||||
|
{
|
||||||
|
QString lang = settingsCache->getLang();
|
||||||
|
|
||||||
|
qtTranslator->load("qt_" + lang, QLibraryInfo::location(QLibraryInfo::TranslationsPath));
|
||||||
|
qApp->installTranslator(qtTranslator);
|
||||||
|
|
||||||
|
translator->load(translationPrefix + "_" + lang, ":/translations");
|
||||||
|
qApp->installTranslator(translator);
|
||||||
|
}
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
// qInstallMsgHandler(myMessageOutput);
|
// qInstallMsgHandler(myMessageOutput);
|
||||||
|
@ -78,18 +89,9 @@ int main(int argc, char *argv[])
|
||||||
db = new CardDatabase;
|
db = new CardDatabase;
|
||||||
pingPixmapGenerator = new PingPixmapGenerator;
|
pingPixmapGenerator = new PingPixmapGenerator;
|
||||||
|
|
||||||
QString localeName;// = QLocale::system().name();
|
qtTranslator = new QTranslator;
|
||||||
QTranslator qtTranslator;
|
|
||||||
qtTranslator.load("qt_" + localeName, QLibraryInfo::location(QLibraryInfo::TranslationsPath));
|
|
||||||
app.installTranslator(&qtTranslator);
|
|
||||||
|
|
||||||
translator = new QTranslator;
|
translator = new QTranslator;
|
||||||
QString lang = settingsCache->getLang();
|
installNewTranslator();
|
||||||
if (lang.isEmpty())
|
|
||||||
translator->load("cockatrice_" + localeName, ":/translations", QString(), ".qm");
|
|
||||||
else
|
|
||||||
translator->load(lang);
|
|
||||||
app.installTranslator(translator);
|
|
||||||
|
|
||||||
qsrand(QDateTime::currentDateTime().toTime_t());
|
qsrand(QDateTime::currentDateTime().toTime_t());
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,10 @@ class CardDatabase;
|
||||||
class QTranslator;
|
class QTranslator;
|
||||||
|
|
||||||
extern CardDatabase *db;
|
extern CardDatabase *db;
|
||||||
|
|
||||||
extern QTranslator *translator;
|
extern QTranslator *translator;
|
||||||
|
const QString translationPrefix = "cockatrice";
|
||||||
|
|
||||||
|
void installNewTranslator();
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue