This commit is contained in:
Vaxry 2025-11-09 16:26:16 +00:00
parent c4757e57e5
commit 3844a10293
Signed by: vaxry
GPG key ID: 665806380871D640
2 changed files with 7 additions and 6 deletions

View file

@ -106,7 +106,9 @@ std::string CI18nEngine::localizeEntry(const std::string& locale, uint64_t key,
}
CI18nLocale CI18nEngine::getSystemLocale() {
return CI18nLocale(std::locale("").name());
try {
return CI18nLocale(std::locale("").name());
} catch (...) { return CI18nLocale("en_US.UTF-8"); }
}
#ifdef HU_UNIT_TESTS

View file

@ -49,13 +49,12 @@ std::string CI18nLocale::full() {
#include <hyprutils/i18n/I18nEngine.hpp>
TEST(I18n, Locale) {
setenv("LANG", "pl_PL.UTF-8", true);
setenv("LC_CTYPE", "pl_PL.UTF-8", true);
CI18nEngine engine;
EXPECT_EQ(engine.getSystemLocale().locale(), "pl_PL");
EXPECT_EQ(engine.getSystemLocale().stem(), "pl");
EXPECT_EQ(extractLocale("pl_PL.UTF-8"), "pl_PL");
EXPECT_EQ(extractLocale("POSIX"), "en_US");
EXPECT_EQ(extractLocale("*"), "en_US");
EXPECT_EQ(extractLocale("LC_CTYPE=pl_PL.UTF-8"), "pl_PL");
}
#endif