Как я могу отключить замену цифры (например, для цифр хинди вместо арабских) для моего приложения (собственный C++) полностью?
Я хочу все числа, отображенные с 0123 вместо ٠١٢٣
Существует опция в опциях локализации в окнах, но я не хочу изменять это для пользователя. Только для моего приложения.
Спасибо!
Слегка озадаченный тем, что вы говорите «родной» C ++ и все еще имеете тег WinForms ...
Предполагая, что это «родное» приложение на C ++ без какого-либо .Net, я бы посмотрел на SetThreadLocale
, как описано здесь .
Не уверен, что это сработает, но попробуйте вызвать SetLocalInfo
с параметром LCType, установленным в LOCALE_IDIGITSUBSTITUTION
. Посмотрите документацию MSDN для GetLocalInfo
и SetLocalInfo
.
Не похоже, что можно изменить все значения программно, также я не уверен, что это повлияет только на активный процесс. Надеюсь, это поможет!