Impossibile generare la locale en_US.UTF-8


8

Ho cercato di impostare il mio locale su en_US.UTF-8senza alcun successo. Sulla base di altre risposte su Internet, dovrei prima generare la locale con

sudo locale-gen en_US.UTF-8

E poi applicalo con

sudo dpkg-reconfigure locales

Tuttavia, la corsa locale-genfa qualcosa di strano:

user@Host /home/user $ sudo locale-gen en_US.UTF-8
Generating locales (this might take a while)...
  en_US.ISO-8859-1... done
Generation complete.

Come vedi, in realtà non genera mai UTF-8, ma continua a tornare a ISO-8859-1. Non riesco mai a riuscire a impostare LC_ALLa en_US.UTF-8, probabilmente perché non in grado di generare.

Sto facendo qualcosa di sbagliato? Sto eseguendo Debian 8.1.

Risposte:


28

Hai provato ad applicare una ricetta per Ubuntu sotto Debian. Di solito funziona, ma in questo caso specifico non funziona.

Ubuntu è derivato da Debian e non cambia molto a parte l'installer e la GUI. Il locale-gencomando è una di quelle poche altre cose che cambia. Non so perché.

Sotto Debian, il locale-gencomando non accetta argomenti e rigenera le definizioni delle compilazioni locali in base all'elenco configurato delle localizzazioni. Per modificare la selezione delle impostazioni locali che si desidera utilizzare, modificare il file, /etc/locale.genquindi eseguire il locale-gencomando. In alternativa, esegui dpkg-reconfigure localescome root, seleziona le impostazioni locali aggiuntive (e deseleziona quelle che non desideri) e premi OK.

Sotto Ubuntu, se si esegue il locale-gencomando senza argomenti, rigenera le definizioni delle impostazioni locali compilate in base all'elenco configurato delle impostazioni locali. Ma se passi alcuni argomenti, vengono aggiunti all'elenco e generati immediatamente. L'elenco dei locali è conservato /var/lib/locales/supported.d/local. L'esecuzione dpkg-reconfigure localesrigenera solo le locali compilate senza darti l'opportunità di modificare la selezione.

In sintesi, per aggiungere en_US.UTF-8all'elenco delle impostazioni locali utilizzabili:

  • Debian, interattivo: dpkg-reconfigure locales
  • Debian, automatizzato: sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen && locale-gen
  • Ubuntu, automatizzato: locale-gen en_US.UTF-8

Quindi come aggiungeresti i pacchetti dpkg-reconfigure? Ho ottenuto l'interfaccia interattiva, ma quando si seleziona un elemento con invio, non è stato installato.
— Erik S,

@ErikDolor Non capisco la tua domanda. A meno che tu non abbia modificato le impostazioni di debconf, dpkg-reconfigure localesvisualizza una finestra di dialogo in modalità testo, con una casella di controllo per ogni locale che può essere generata. Scorri verso il basso fino en_US.UTF-8a, selezionalo e premi il pulsante OK.
— Gilles 'SO- smetti di essere cattivo' il

Ho provato a controllarlo con il pulsante di invio, ma apparentemente funzionava come premendo OK.
— Erik S,

2
@ErikDolor Oh. Premi lo spazio per selezionare una casella.
— Gilles 'SO- smetti di essere cattivo' il

Funziona anche con raspbian jessie
— Neo_Returns,

5

Dopo aver effettivamente letto il file man per locale-gen invece di fidarmi ciecamente di Internet, ho scoperto che in locale-genrealtà prende le localizzazioni da cui generare /etc/locale.gen. In questo commento en_US.UTF-8, sono riuscito a generarlo.


sed -i '/^#.* es_ES / s / ^ # //' /etc/locale.gen Se stai usando una finestra mobile questo potrebbe essere utile
— Borjante

L'unica risposta che ha funzionato per me dopo aver perlustrato Internet per giorni !! Grazie mille!
— I.Am.A.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.