diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-03-12 12:41:40 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-03-16 12:03:57 +0100 |
commit | 3c544a5d0d59b0533f507a6131fbbc093ed223ea (patch) | |
tree | c64d3ae8e17280350037ff1d6687ec797ca4715c /src/core/web_engine_library_info.cpp | |
parent | e7c869c225075d898cb5d20b194af4b939d2dbc1 (diff) | |
parent | fdec85eba16d6321597e93b447bc13a611cfdd23 (diff) |
Merge remote-tracking branch 'origin/5.15' into dev
Change-Id: I0dd7c64669f4b130047a4a3836f62f7ee5b5f8d9
Diffstat (limited to 'src/core/web_engine_library_info.cpp')
-rw-r--r-- | src/core/web_engine_library_info.cpp | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/core/web_engine_library_info.cpp b/src/core/web_engine_library_info.cpp index c5cede929..47c4634b3 100644 --- a/src/core/web_engine_library_info.cpp +++ b/src/core/web_engine_library_info.cpp @@ -46,6 +46,7 @@ #include "components/spellcheck/spellcheck_buildflags.h" #include "content/public/common/content_paths.h" #include "sandbox/policy/switches.h" +#include "ui/base/l10n/l10n_util.h" #include "ui/base/ui_base_paths.h" #include "ui/base/ui_base_switches.h" @@ -353,18 +354,15 @@ base::string16 WebEngineLibraryInfo::getApplicationName() std::string WebEngineLibraryInfo::getApplicationLocale() { base::CommandLine *parsedCommandLine = base::CommandLine::ForCurrentProcess(); - if (!parsedCommandLine->HasSwitch(switches::kLang)) { + if (parsedCommandLine->HasSwitch(switches::kLang)) { + return parsedCommandLine->GetSwitchValueASCII(switches::kLang); + } else { const QString &locale = QLocale().bcp47Name(); - - // QLocale::bcp47Name returns "en" for American English locale. Chromium requires the "US" suffix - // to clarify the dialect and ignores the shorter version. - if (locale == "en") - return "en-US"; - - return locale.toStdString(); + std::string resolvedLocale; + if (l10n_util::CheckAndResolveLocale(locale.toStdString(), &resolvedLocale)) + return resolvedLocale; } - - return parsedCommandLine->GetSwitchValueASCII(switches::kLang); + return "en-US"; } #if defined(OS_WIN) |