diff --git a/src/init.cpp b/src/init.cpp index 0f2e10dab5..2adfed2ebb 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -197,6 +197,9 @@ bool AppInit2(int argc, char* argv[]) " -connect= \t\t " + _("Connect only to the specified node") + "\n" + " -irc \t " + _("Find peers using internet relay chat (default: 0)") + "\n" + " -listen \t " + _("Accept connections from outside (default: 1)") + "\n" + +#ifdef QT_GUI + " -lang= \t\t " + _("Set language, for example \"de_DE\" (default: system locale)") + "\n" + +#endif " -dnsseed \t " + _("Find peers using DNS lookup (default: 1)") + "\n" + " -banscore= \t " + _("Threshold for disconnecting misbehaving peers (default: 100)") + "\n" + " -bantime= \t " + _("Number of seconds to keep misbehaving peers from reconnecting (default: 86400)") + "\n" + diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp index 8c4b0e6c10..20c185ed27 100644 --- a/src/qt/bitcoin.cpp +++ b/src/qt/bitcoin.cpp @@ -162,11 +162,13 @@ int main(int argc, char *argv[]) ParseParameters(argc, argv); - // Load language files for system locale: + // Get desired locale ("en_US") from command line or system locale + QString lang_territory = QString::fromStdString(GetArg("-lang", QLocale::system().name().toStdString())); + // Load language files for configured locale: // - First load the translator for the base language, without territory // - Then load the more specific locale translator - QString lang_territory = QLocale::system().name(); // "en_US" QString lang = lang_territory; + lang.truncate(lang_territory.lastIndexOf('_')); // "en" QTranslator qtTranslatorBase, qtTranslator, translatorBase, translator;