config: added locale config option (#12416)

This commit is contained in:
Luke Barkess 2025-11-22 13:59:36 +00:00 committed by GitHub
parent 2ac9ded2ac
commit e584a8bade
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 12 additions and 2 deletions

View file

@ -138,10 +138,16 @@ inline static const std::vector<SConfigOptionDescription> CONFIG_OPTIONS = {
},
SConfigOptionDescription{
.value = "general:modal_parent_blocking",
.description = "If true, parent windows of modals will not be interactive.",
.description = "if true, parent windows of modals will not be interactive.",
.type = CONFIG_OPTION_BOOL,
.data = SConfigOptionDescription::SBoolData{true},
},
SConfigOptionDescription{
.value = "general:locale",
.description = "overrides the system locale",
.type = CONFIG_OPTION_STRING_SHORT,
.data = SConfigOptionDescription::SStringData{""},
},
/*
* decoration:

View file

@ -463,6 +463,7 @@ CConfigManager::CConfigManager() {
registerConfigVar("general:col.nogroup_border", Hyprlang::CConfigCustomValueType{&configHandleGradientSet, configHandleGradientDestroy, "0xffffaaff"});
registerConfigVar("general:col.nogroup_border_active", Hyprlang::CConfigCustomValueType{&configHandleGradientSet, configHandleGradientDestroy, "0xffff00ff"});
registerConfigVar("general:modal_parent_blocking", Hyprlang::INT{1});
registerConfigVar("general:locale", {""});
registerConfigVar("misc:disable_hyprland_logo", Hyprlang::INT{0});
registerConfigVar("misc:disable_splash_rendering", Hyprlang::INT{0});

View file

@ -1,6 +1,7 @@
#include "Engine.hpp"
#include <hyprutils/i18n/I18nEngine.hpp>
#include "../config/ConfigValue.hpp"
using namespace I18n;
using namespace Hyprutils::I18n;
@ -1105,5 +1106,7 @@ I18n::CI18nEngine::CI18nEngine() {
}
std::string I18n::CI18nEngine::localize(eI18nKeys key, const Hyprutils::I18n::translationVarMap& vars) {
return huEngine->localizeEntry(localeStr, key, vars);
static auto CONFIG_LOCALE = CConfigValue<std::string>("general:locale");
std::string locale = *CONFIG_LOCALE != "" ? *CONFIG_LOCALE : localeStr;
return huEngine->localizeEntry(locale, key, vars);
}