Merge "screen_ui: Fix an issue in RTL locale detection."
diff --git a/screen_ui.cpp b/screen_ui.cpp
index 4ea458f..fd7a1be 100644
--- a/screen_ui.cpp
+++ b/screen_ui.cpp
@@ -1101,9 +1101,9 @@
   rtl_locale_ = false;
 
   if (!new_locale.empty()) {
-    size_t underscore = new_locale.find('_');
-    // lang has the language prefix prior to '_', or full string if '_' doesn't exist.
-    std::string lang = new_locale.substr(0, underscore);
+    size_t separator = new_locale.find('-');
+    // lang has the language prefix prior to the separator, or full string if none exists.
+    std::string lang = new_locale.substr(0, separator);
 
     // A bit cheesy: keep an explicit list of supported RTL languages.
     if (lang == "ar" ||  // Arabic
diff --git a/tests/unit/screen_ui_test.cpp b/tests/unit/screen_ui_test.cpp
index ff8a35d..03e23ca 100644
--- a/tests/unit/screen_ui_test.cpp
+++ b/tests/unit/screen_ui_test.cpp
@@ -255,7 +255,7 @@
  protected:
   const std::string kTestLocale = "en-US";
   const std::string kTestRtlLocale = "ar";
-  const std::string kTestRtlLocaleWithSuffix = "ar_EG";
+  const std::string kTestRtlLocaleWithSuffix = "ar-EG";
 
   void SetUp() override {
     ui_ = std::make_unique<TestableScreenRecoveryUI>();