![msinfo32 /nfo emite XML com tags traduzidas](https://rvso.com/image/668056/msinfo32%20%2Fnfo%20emite%20XML%20com%20tags%20traduzidas.png)
Estou trabalhando em algumas ferramentas de coleta de dados do sistema para um aplicativo no qual estou envolvido no suporte e me deparei com um problema interessante.
Queria capturar um msinfo32 /nfo
relatório como parte dos dados coletados, por ser muito abrangente. Mas há um problema divertido.
O XML de um sistema com alemão definido como idioma de exibição é semelhante a este:
<Data>
<Element><![CDATA[Betriebsystemname]]></Element>
<Wert><![CDATA[Microsoft Windows 10 Pro]]></Wert>
</Data>
"wert" é a palavra alemã para "Valor".
Portanto, algumas tags, mas não todas, parecem ter sido traduzidas para o idioma local. Apenas por diversão.
(Também é absolutamente horrível quem projetou esse XML, mas posso contornar isso).
Estou procurando uma maneira de substituir a tradução da tag ou, na sua falta, uma maneira de executar um programa no Windows com um idioma de exibição diferente. Em um sistema UNIX eu apenas definiria LC_ALL=C
or LC_ALL=en_US
. No Windows, nem tanto. Estou ciente AppLocale
, mas parece ser para programas legados não Unicode e focado principalmente em lidar com conjuntos de caracteres.