diff --git a/screen_ui.cpp b/screen_ui.cpp index 4ea458f1..fd7a1bea 100644 --- a/screen_ui.cpp +++ b/screen_ui.cpp @@ -1101,9 +1101,9 @@ void ScreenRecoveryUI::SetLocale(const std::string& new_locale) { 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 ff8a35d6..03e23ca4 100644 --- a/tests/unit/screen_ui_test.cpp +++ b/tests/unit/screen_ui_test.cpp @@ -255,7 +255,7 @@ class ScreenRecoveryUITest : public ::testing::Test { 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();