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