From 94364a2a347c275dde288bd95d88d320f42d4260 Mon Sep 17 00:00:00 2001 From: reionwong Date: Tue, 28 Sep 2021 17:51:14 +0800 Subject: [PATCH] Fix language --- session/application.cpp | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/session/application.cpp b/session/application.cpp index 3ced965..2452c41 100644 --- a/session/application.cpp +++ b/session/application.cpp @@ -171,7 +171,31 @@ void Application::initEnvironments() void Application::initLanguage() { QSettings settings(QSettings::UserScope, "cutefishos", "language"); - QString value = settings.value("language", "en_US").toString(); + QString value = settings.value("language", "").toString(); + + // Init Language + if (value.isEmpty()) { + QFile file("/etc/locale.gen"); + if (file.open(QIODevice::ReadOnly)) { + QStringList lines = QString(file.readAll()).split('\n'); + + for (const QString &line : lines) { + if (line.startsWith('#')) + continue; + + if (line.trimmed().isEmpty()) + continue; + + value = line.split(' ').first().split('.').first(); + } + } + } + + if (value.isEmpty()) + value = "en_US"; + + settings.setValue("language", value); + QString str = QString("%1.UTF-8").arg(value); const auto lcValues = {