Sono abbastanza nuovo per la programmazione localizzata e sto cercando di capire come impostare le impostazioni internazionali iniziali corrette per un'applicazione C++ non gestita appena lanciata (dall'interno dell'app).come impostare la locale iniziale corretta per un programma C++ su Windows?
Per quanto ne so, le nuove applicazioni iniziano con le impostazioni locali C, anziché con le impostazioni internazionali locali (inglese, tedesco, ecc.). Quindi quello che devo fare è chiamare setlocale(LC_ALL, "???")
, ma non sono sicuro di come ottenere il valore corretto per il secondo argomento. Sarà qualcosa di simile a "Inglese" o "Tedesco: Germania" - in pratica qualsiasi impostazione locale è stata impostata dall'utente tramite il pannello di controllo Opzioni internazionali e della lingua. Per essere chiari, sono non alla ricerca di come formattare la stringa locale, sto cercando la stringa locale corretta per il computer su cui è in esecuzione l'app.
Suppongo che ci sia qualche API Win32 che mi fornisce questa o forse una chiave di registro che conterrebbe il valore corretto. Qualcuno sa cosa dovrei fare?
Grandi, questo è esattamente quello che mi serviva. Sembra che tu possa anche passare il nome() di una determinata locale C++ a setlocale(), anche per impostare la locale C. – Charlie