From bbdd68fb1d5093c184b3ece40539ba183b8b4bc5 Mon Sep 17 00:00:00 2001 From: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com> Date: Mon, 10 Jul 2023 17:39:52 -0400 Subject: [PATCH] misc: fix isRTL function Uses the system locale name when the preference is set to "SYSTEM". Adds some extra ISO 639-1 RTL languages. Change-Id: Ia28ae1bc15992ce26f88ab11bc447d76054f0581 --- src/app/utilsadapter.cpp | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/app/utilsadapter.cpp b/src/app/utilsadapter.cpp index 03c8549e1..9c5bc6296 100644 --- a/src/app/utilsadapter.cpp +++ b/src/app/utilsadapter.cpp @@ -799,8 +799,23 @@ bool UtilsAdapter::isRTL() { auto pref = getAppValue(Settings::Key::LANG).toString(); - pref == "SYSTEM" ? QLocale::system().name() : pref; - return pref == "ar" || pref == "he" || pref == "fa" || pref == "ur"; + pref = pref == "SYSTEM" ? QLocale::system().name() : pref; + static const QStringList rtlLanguages { + // as defined by ISO 639-1 + "ar", // Arabic + "he", // Hebrew + "fa", // Persian (Farsi) + "ur", // Urdu + "ps", // Pashto + "ku", // Kurdish + "sd", // Sindhi + "dv", // Dhivehi (Maldivian) + "yi", // Yiddish + "am", // Amharic + "ti", // Tigrinya + "kk" // Kazakh (in Arabic script) + }; + return rtlLanguages.contains(pref); } bool -- GitLab