Приложение Qt на MacOS Mojave не уважает язык системы - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть настольное приложение на базе Qt для Windows / Mac, которое локализовано для английского и немецкого языков.Приложение написано так, чтобы использовать системный язык для определения его языка запуска, используя API Qt QLocale:

QLocale sysLocale = QLocale::system();
QString translatorFileName = sysLocale.name(); // en_US, de_DE, etc

Это работало, как и ожидалось, в MacOS High Sierra (10.13.2).В Mojave (10.14.1) этот вызов теперь всегда возвращает английский для языкового компонента независимо от языка системы, т.е. если я изменю язык системы и регион на немецкий / Германия, я ожидаю, что de_DE будет возвращено в качестве локалиимя, но Qt возвращает en_DE.Я обнаружил, что изменение значения ключа CFBundleDevelopmentRegion в файле Info.plist приложения в некоторых ситуациях переопределяет языковой стандарт системы, но в High Sierra и Mojave он также ведет себя по-разному

Я открыл проблема на форумах с сообщениями об ошибках Qt, которая содержит более подробные сведения о том, связана ли эта проблема с Qt или с изменением API в Mojave.

...