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.