diff --git a/Source/platform/locale.cpp b/Source/platform/locale.cpp index 1eb98b68f..839b6f20d 100644 --- a/Source/platform/locale.cpp +++ b/Source/platform/locale.cpp @@ -19,6 +19,8 @@ #include #else #include + +#include "utils/log.hpp" #endif #include "utils/stdcompat/algorithm.hpp" @@ -169,9 +171,13 @@ std::vector GetLocales() CFRelease(languages); #else - std::string locale = std::locale("").name(); - // strip off any encoding specifier, devX uses UTF8. - locales.emplace_back(locale.substr(0, locale.find('.'))); + try { + std::string locale = std::locale("").name(); + // strip off any encoding specifier, devX uses UTF8. + locales.emplace_back(locale.substr(0, locale.find('.'))); + } catch (std::runtime_error &e) { + LogWarn("Locale detection failed: {}", e.what()); + } #endif return locales; }