From 96e54209dffff0c475c0d28128479da3f867c022 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20M=C3=BCller?= Date: Fri, 7 May 2021 21:06:38 +0200 Subject: Exit with error when --language is used wrongly --- src/gui/application.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/gui/application.cpp b/src/gui/application.cpp index 548909668..1f772d46c 100644 --- a/src/gui/application.cpp +++ b/src/gui/application.cpp @@ -620,19 +620,21 @@ void Application::parseOptions(const QStringList &options) } else if (option == QLatin1String("--version")) { _versionOnly = true; } else if (option == QLatin1String("--language")) { + auto showLanguageHint = [this](const QString &message) { + showHint(message + " (use --list-languages to get a complete list of supported translations)"); + }; + if (it.hasNext() && !it.peekNext().startsWith(QLatin1String("--"))) { auto languageParam = it.next(); // fail if the language is unknown if (!Translations::listAvailableTranslations().contains(languageParam)) { - std::cerr << "Error: unknown language " << languageParam.toStdString() << std::endl; - _listAvailableTranslationsOnly = true; + showLanguageHint("Error: unknown language \"" + languageParam + "\""); } else { _userEnforcedLanguage = languageParam; } } else { - std::cerr << "Error: --language expects a locale as parameter (for example: --language en)" << std::endl; - _listAvailableTranslationsOnly = true; + showLanguageHint("Error: --language expects a locale as parameter"); } } else if (option == QLatin1String("--list-languages")) { _listAvailableTranslationsOnly = true; -- cgit v1.2.3