Mercurial > hg > bitcoin
diff src/qt/optionsdialog.cpp @ 3103:2e1808aa6010 draft
GUI: change language selection format
- display as "language - country (locale name)", when locale name consists of 2 parts
- display as "language (locale name)", when locale name consists of 1 part
author | Philip Kaufmann <phil.kaufmann@t-online.de> |
---|---|
date | Mon, 25 Jun 2012 22:36:16 +0200 |
parents | 1d95bb62c8a3 |
children | c4d7950c8790 |
line wrap: on
line diff
--- a/src/qt/optionsdialog.cpp +++ b/src/qt/optionsdialog.cpp @@ -14,6 +14,7 @@ #include <QIntValidator> #include <QLabel> #include <QLineEdit> +#include <QLocale> #include <QMessageBox> #include <QPushButton> #include <QRegExp> @@ -62,7 +63,19 @@ ui->lang->addItem(QString("(") + tr("default") + QString(")"), QVariant("")); foreach(const QString &langStr, translations.entryList()) { - ui->lang->addItem(langStr, QVariant(langStr)); + QLocale locale(langStr); + + /** check if the locale name consists of 2 parts (language_country) */ + if(langStr.contains("_")) + { + /** display language strings as "language - country (locale name)", e.g. "German - Germany (de)" */ + ui->lang->addItem(QLocale::languageToString(locale.language()) + QString(" - ") + QLocale::countryToString(locale.country()) + QString(" (") + langStr + QString(")"), QVariant(langStr)); + } + else + { + /** display language strings as "language (locale name)", e.g. "German (de)" */ + ui->lang->addItem(QLocale::languageToString(locale.language()) + QString(" (") + langStr + QString(")"), QVariant(langStr)); + } } ui->unit->setModel(new BitcoinUnits(this));