PrafullaVedante Ответов: 1

Как получить текущее имя языка и культуры системы (из локали) в C++


Пожалуйста, смотрите первый столбец таблицы по следующей ссылке. Мне нужно название языковой культуры в этом формате.

Таблица названий языковых культур, кодов и значений ISO метод [C++][^]

В настоящее время я использую GetLocaleInfo, чтобы получить информацию о языке и названии страны (а затем объединить их, как en-US). Но это не удается для некоторых языков, таких как китайский - упрощенный.

Для китайцев упрощенный код-ж-ЧС ..... Мой метод дает мне zh-CN.

Как правильно получить эту информацию?

Что я уже пробовал:

В настоящее время я использую GetLocaleInfo, чтобы получить информацию о языке и названии страны (а затем объединить их, как en-US). Но это не удается для некоторых языков, таких как китайский - упрощенный.

Для китайцев упрощенный код-ж-ЧС ..... Мой метод дает мне zh-CN.

1 Ответов

Рейтинг:
2

KarstenK

Эту работу должны делать ваши метод getlocaleinfo с правильными флагами, такими как LOCALE_USER_DEFAULT. Кроме того, проверить GetLocaleInfoEx и его различные флаги.

Он может зависеть от версии Windows и может выйти из строя на старых окнах, таких как вышедшая на пенсию XP. Так что протестируйте его на Windows 10. Я бы не удивился, если бы в старых окнах была какая-то ошибка в этой детали.