Я работаю над некоторыми инструментами сбора системных данных для приложения, которое поддерживаю, и наткнулся на волнующую морщину.
Я хотел запечатлеть msinfo32 /nfo
отчет как часть собранных данных, поскольку он настолько исчерпывающий. Но есть забавная проблема.
XML из системы с немецким языком, установленным в качестве языка отображения, выглядит следующим образом:
<Data>
<Element><![CDATA[Betriebsystemname]]></Element>
<Wert><![CDATA[Microsoft Windows 10 Pro]]></Wert>
</Data>
«wert» в переводе с немецкого означает «ценность».
Таким образом, некоторые, но не все теги переводятся на местный язык. Просто для развлечения.
(Это также совершенно отвратительный XML-код, созданный кем-то, но это я могу обойти).
Я ищу способ переопределить перевод тегов или, если это не удается, запустить одну программу в Windows с другим языком отображения. В системе UNIX я бы просто установил LC_ALL=C
или LC_ALL=en_US
. В Windows не так уж и много. Я в курсе AppLocale
, но, похоже, он предназначен для устаревших программ, не поддерживающих Unicode, и в основном ориентирован на работу с кодировками.