Я новичок в локализованном программировании, и я пытаюсь выяснить, как установить правильную начальную локаль для недавно запущенного неуправляемого приложения С++ (из приложения).
Насколько я могу судить, новые приложения начинаются с локали C, а не с соответствующей региональной локали (на английском, немецком и т.д.). Поэтому мне нужно сделать вызов setlocale( LC_ALL, "???" )
, но я не уверен, как получить правильное значение для второго аргумента. Это будет нечто вроде "английский" или "немецкий: Германия" - в основном, независимо от того, какой язык был установлен пользователем через панель управления "Язык и региональные стандарты". Чтобы быть ясным, я не ищу, как отформатировать строку locale, я ищу правильную строку локали для компьютера, на котором работает приложение.
Я предполагаю, что есть какой-то Win32 API, который даст мне это, или, возможно, раздел реестра, который будет содержать правильное значение. Кто-нибудь знает, что я должен делать?