Тема: Динамічна зміна мов з gettext i Windows 11
Зробив локалізацію для своєї бібліотеки за допомогою gettext.
Поточна локаль розпізнається та завантажується український переклад.
Але коли намагаюся змінити локаль на англійську, щоб відображалася англомовна версія,
нічого не відбувається.
Ось так намагаюся зробити:
const auto error { _putenv_s("LANGUAGE", "en_US.utf8") };
if (error) {
std::cout << "Error: " << error << "\n";
} else {
auto set_en = setlocale(LC_ALL, "en_US.utf8");
std::cout << "Set en: " << set_en << "\n";
std::cout << gettext("My text.") << "\n";
}Ані _put_env_s, ані setlocale не видають помилки чи nullptr.
На Лінуксі з setenv і setlocale усе працює чудово.
Це якась особливість роботи gettext на Windows 11, ніяк не можу розібратися.
Пробував замість "en_US" писати en-US, en, English і т.д. — результат той самий.