Questo è praticamente This question con un po 'più di informazioni. Il mio obiettivo è di elaborare le lingue installate nel sistema.Come ottenere il nome della lingua per una determinata localizzazione in linux
Il comando seguente
locale -a
mostra tutte le lingue (in un formato come en_AU.utf8). Questo sembra corrispondere al contenuto di/usr/lib/locale.
Inoltre, invocando
LANG=fr_FR.utf8 locale -ck LC_IDENTIFICATION
Fornisce informazioni di quel locale in particolare che include il nome della lingua (che in questo caso è il francese).
Questa sembra essere l'informazione contenuta in /usr/lib/locale/fr_FR.utf8/LC_IDENTIFICATION.
C'è un modo (forse una chiamata API) per ottenere queste informazioni? Ho guardato la fonte dell'utilità locale ma utilizza una struttura privata.
Non è necessario per ottenere manualmente la variabile d'ambiente 'lang' -' setlocale (LC_ALL, ""); 'imposterà il locale in base alle impostazioni di ambiente. – caf
Dovresti invertire e accettare la soluzione di Yasir, non copiarla nella domanda. La domanda dovrebbe rimanere solo una domanda. – tripleee
@ tripleee Grazie. Domanda aggiustata e risposta aggiunta. – Dushara