From 77d907c2aabc5c9015c05ae7ba8f1ca2f9069a12 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Tue, 2 Jan 2024 16:49:40 +0800 Subject: [PATCH] Specify a locale if none is set Sometimes users had not properly configured their system locale and thus qbt will specify a default locale just in case. Closes #16127. Closes #19609. Closes #19834. PR #20203. --- src/app/main.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/app/main.cpp b/src/app/main.cpp index 31e744732..eab0156ee 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -94,6 +94,7 @@ void showSplashScreen(); #ifdef Q_OS_UNIX void adjustFileDescriptorLimit(); +void adjustLocale(); #endif // Main @@ -104,6 +105,7 @@ int main(int argc, char *argv[]) #endif #ifdef Q_OS_UNIX + adjustLocale(); adjustFileDescriptorLimit(); #endif @@ -392,4 +394,12 @@ void adjustFileDescriptorLimit() limit.rlim_cur = limit.rlim_max; setrlimit(RLIMIT_NOFILE, &limit); } + +void adjustLocale() +{ + // specify the default locale just in case if user has not set any other locale + // only `C` locale is available universally without installing locale packages + if (qEnvironmentVariableIsEmpty("LANG")) + qputenv("LANG", "C.UTF-8"); +} #endif