Как различить традиционный и упрощенный китайский с помощью QLocale
Я должен показать список языков, доступных для выбора пользователем. Список будет иметь (Авто) в качестве первого варианта, который является языком операционной системы и будет иметь дополнительные языки в качестве дополнения.
Здесь английский - это автоматический язык.
Проблема здесь в том, что если язык ОС - китайский, как мне отличить упрощенный язык от традиционного. Мой код:
QLocale loc = QLocale::system();
QString defaultLocale = loc.name(); // e.g. "de_DE"
defaultLocale.truncate(defaultLocale.lastIndexOf('_')); // e.g. "de"
QStringList languageList;
languageList.append("auto (System language)");
if(defaultLocale != "de")
languageList.append("German");
if(defaultLocale != "en")
languageList.append("English");
if(defaultLocale != "fr")
languageList.append("French");
if(defaultLocale != "it")
languageList.append("Italian");
if(defaultLocale != "es")
languageList.append("Spanish");
if(defaultLocale != "zh")
{
languageList.append("Chinese Simple");
languageList.append("Chinese Traditional");
}
if(defaultLocale == "zh")
{
if(loc.script() == QLocale::SimplifiedChineseScript)
languageList.append("Chinese Traditional");
else
languageList.append("Chinese Simple");
}
if(defaultLocale != "ja")
languageList.append("Japanese");
Здесь loc.script() всегда возвращает 0, указывая опцию "Любой скрипт". Если язык операционной системы - китайский, то как мне отличить упрощенный язык от традиционного? и почему script () не возвращает правильное значение?