# [Risolto] Ennesimo thread sulla localizzazione.

## cybermc75

Scusate, sto impazzendo su questo e non riesco a vedere il problema. 

I caratteri funzionano ma i messaggi di sistema in italiano hanno i caratteri sballati.

```

claudio@foxtrot ~ $ LANG=it.utf8 bash

claudio@foxtrot ~ $ man sakdjfas

Non c'� una voce per sakdjfas

claudio@foxtrot ~ $ èaìu€ funzionano

```

locale

```

claudio@foxtrot ~ $ locale

LANG=en_US.UTF8

LC_CTYPE="en_US.UTF8"

LC_NUMERIC="en_US.UTF8"

LC_TIME="en_US.UTF8"

LC_COLLATE=C

LC_MONETARY="en_US.UTF8"

LC_MESSAGES="en_US.UTF8"

LC_PAPER="en_US.UTF8"

LC_NAME="en_US.UTF8"

LC_ADDRESS="en_US.UTF8"

LC_TELEPHONE="en_US.UTF8"

LC_MEASUREMENT="en_US.UTF8"

LC_IDENTIFICATION="en_US.UTF8"

LC_ALL=

foxtrot claudio # locale -a

C

POSIX

en_US

en_US.iso88591

en_US.utf8

it_IT

it_IT.iso88591

it_IT.utf8

italian

```

/etc/env.d/02locale

```

#LANG="it_IT.utf8"

LANG="en_US.UTF8"

LC_COLLATE="C"

```

In generale preferisco che l'os parli in inglese, specie come root.

in make.conf:

 *Quote:*   

> LINGUAS="it en"

 

Poi

```
eselect fontconfig list

Available fontconfig .conf files (* is enabled):

  [1]   10-autohint.conf

  [2]   10-no-sub-pixel.conf

  [3]   10-sub-pixel-bgr.conf

  [4]   10-sub-pixel-rgb.conf

  [5]   10-sub-pixel-vbgr.conf

  [6]   10-sub-pixel-vrgb.conf

  [7]   10-unhinted.conf

  [8]   20-fix-globaladvance.conf *

  [9]   20-unhint-small-dejavu-sans-mono.conf

  [10]  20-unhint-small-dejavu-sans.conf

  [11]  20-unhint-small-dejavu-serif.conf

  [12]  20-unhint-small-vera.conf *

  [13]  25-unhint-nonlatin.conf

  [14]  30-metric-aliases.conf *

  [15]  30-urw-aliases.conf *

  [16]  40-nonlatin.conf *

  [17]  42-luxi-mono.conf *

  [18]  45-latin.conf *

  [19]  49-sansserif.conf *

  [20]  50-user.conf *

  [21]  51-local.conf *

  [22]  57-dejavu-sans-mono.conf

  [23]  57-dejavu-sans.conf

  [24]  57-dejavu-serif.conf

  [25]  60-latin.conf *

  [26]  65-fonts-persian.conf *

  [27]  65-khmer.conf

  [28]  65-nonlatin.conf *

  [29]  66-lohit-assamese.conf

  [30]  66-lohit-bengali.conf

  [31]  66-lohit-gujarati.conf

  [32]  66-lohit-hindi.conf

  [33]  66-lohit-kannada.conf

  [34]  66-lohit-kashmiri@devanagari.conf

  [35]  66-lohit-konkani.conf

  [36]  66-lohit-maithili.conf

  [37]  66-lohit-marathi.conf

  [38]  66-lohit-oriya.conf

  [39]  66-lohit-punjabi.conf

  [40]  66-lohit-sindhi@devanagari.conf

  [41]  66-lohit-tamil.conf

  [42]  66-lohit-telugu.conf

  [43]  67-lohit-malayalam.conf

  [44]  67-lohit-nepali.conf

  [45]  69-unifont.conf *

  [46]  70-no-bitmaps.conf

  [47]  70-yes-bitmaps.conf

  [48]  80-delicious.conf *

  [49]  90-synthetic.conf *
```

In /etc/rc.conf

```
unicode="YES"
```

/etc/conf.d/consolefont

```
consolefont="default8x16"
```

ma ho provato anche altri font con lo stesso risultato.

Non è fondamentale ma la cosa mi disturba. 

Grazie.Last edited by cybermc75 on Sat May 25, 2013 1:35 pm; edited 1 time in total

----------

## cybermc75

Altro fatto interessante:

```

claudio@foxtrot ~ $ cat prova

è bello. aàì@#ò€

claudio@foxtrot ~ $ file -i prova

prova: text/plain; charset=utf-8

claudio@foxtrot ~ $ man sadkjas

No manual entry for sadkjas

claudio@foxtrot ~ $ LANG=it.utf8 bash

claudio@foxtrot ~ $ man sdhajs

Non c'� una voce per sdhajs

claudio@foxtrot ~ $ man sdhajs > prova2 2>&1

claudio@foxtrot ~ $ cat prova2

Non c'� una voce per sdhajs

claudio@foxtrot ~ $ file -i prova2

prova2: text/plain; charset=iso-8859-1

```

Perchè i messaggi di sistema sono codificati iso-8859-1 ?

----------

## Zizo

È un problema che riguarda solo i messaggi di sys-apps/man, motivo per cui tempo fa ho aperto questo bug report.

L'ho aggiornato aggiungendo una patch che applicavo a sys-apps/man prima della migrazione a sys-apps/man-db.

----------

## ago

utf-8 necessita di un trattino. Tu lo dichiari ovunque senza trattino, non so se questo dettaglio risolve..

----------

## cybermc75

Grazie Zizo, ma io ho devo avere qualche problema nella shell.

Tutti i file iso8859, quando vengono visualizzati, riportano '�' al posto dei caratteri accentati.

La cosa succede per cat, nano, less, ecc...

Se li edito in X (che so, kwrite) si vedono correttamente.

E' proprio il terminale che si comporta in modo errato.

Guarda:

```

cat prova2

Non c'� una voce per jaksk

claudio@foxtrot ~ $ hexdump prova2

0000000 6f4e 206e 2763 20e8 6e75 2061 6f76 6563

0000010 7020 7265 6a20 6b61 6b73 000a          

000001b

claudio@foxtrot ~ $ echo "Non c'� una voce per jaksk" | hexdump

0000000 6f4e 206e 2763 bfef 20bd 6e75 2061 6f76

0000010 6563 7020 7265 6a20 6b61 6b73 000a     

000001d

```

E' come se il terminale di fronte ai caratteri accentati ISO8859-1 non sapesse tradurli in UTF8.

La cosa succede sia fuori da X (uso fb) che in Konsole.

 :Evil or Very Mad: 

----------

## cybermc75

 *ago wrote:*   

> utf-8 necessita di un trattino. Tu lo dichiari ovunque senza trattino, non so se questo dettaglio risolve..

 

Hai ragione, grazie. Ma ancora non ho risolto.

L'ho cambiato, ho fatto locale-gen,env-update,source /etc/profile e riavviato.

```

claudio@foxtrot ~ $ locale

LANG=it_IT.UTF-8

LC_CTYPE="it_IT.UTF-8"

LC_NUMERIC="it_IT.UTF-8"

LC_TIME="it_IT.UTF-8"

LC_COLLATE=C

LC_MONETARY="it_IT.UTF-8"

LC_MESSAGES="it_IT.UTF-8"

LC_PAPER="it_IT.UTF-8"

LC_NAME="it_IT.UTF-8"

LC_ADDRESS="it_IT.UTF-8"

LC_TELEPHONE="it_IT.UTF-8"

LC_MEASUREMENT="it_IT.UTF-8"

LC_IDENTIFICATION="it_IT.UTF-8"

LC_ALL=

claudio@foxtrot ~ $ cat /etc/env.d/02locale 

#LANG="it_IT.utf8"

LANG="en_US.UTF-8"

LC_COLLATE="C"

claudio@foxtrot ~ $ locale -a

C

POSIX

en_US

en_US.iso88591

en_US.utf8

it_IT

it_IT.iso88591

it_IT.utf8

italian

```

In quest'ultimo comando il trattino non c'è ma non saprei come porre rimedio.

```

claudio@foxtrot ~ $ cat prova2

Non c'� una voce per jaksk

```

 :Evil or Very Mad:   :Evil or Very Mad: 

----------

## pierino_89

Il trattino c'è o non c'è a seconda di come viene dichiarato e generato il charset. Diciamo che alla fine ha sempre ragione "locale -a", quindi nel tuo caso non ci vuole.

io sono nella tua stessa situazione:

```

~ $ cat /etc/env.d/02locale 

LANG="it_IT.utf8"

LC_CTYPE="it_IT.utf8"

LC_NUMERIC="it_IT.utf8"

LC_TIME="it_IT.utf8"

LC_COLLATE="C"

LC_MONETARY="it_IT.utf8"

LC_MESSAGES="it_IT.utf8"

LC_PAPER="it_IT.utf8"

LC_NAME="it_IT.utf8"

LC_ADDRESS="it_IT.utf8"

LC_TELEPHONE="it_IT.utf8"

LC_MEASUREMENT="it_IT.utf8"

LC_IDENTIFICATION="it_IT.utf8"

```

```

~ $ locale -a

C

POSIX

en_US

en_US.iso88591

en_US.utf8

it_IT

it_IT.iso88591

it_IT.iso885915@euro

it_IT.utf8

it_IT@euro

italian

```

Per quanto riguarda i messaggi errati di "man" ho risolto installando "man-db".

Se hai altri programmi che si comportano in modo strano elencali così vediamo cosa si può fare.

----------

## cybermc75

Grazie Pierino.

Dato che a questo punto sono un po' confuso, potresti darmi anche il tuo /etc/locale.gen per favore.

Intanto ho potuto stabilire che prova2 (di cui sopra) viene mal visualizzato anche su una macchina Ubuntu indipendente. Quindi probabilmente non ci si può aspettare che un file ISO88591 appaia con tutti i caratteri a posto su di un sistema configurato per UTF8. Almeno nella console. Non capisco bene perchè.

Grazie!

----------

## pierino_89

 *cybermc75 wrote:*   

> Grazie Pierino.
> 
> Dato che a questo punto sono un po' confuso, potresti darmi anche il tuo /etc/locale.gen per favore.
> 
> 

 

Certo:

```

~ $ grep -v ^# /etc/locale.gen 

en_US ISO-8859-1

en_US.UTF-8 UTF-8

it_IT ISO-8859-1

it_IT@euro ISO-8859-15

it_IT.UTF-8 UTF-8
```

 *Quote:*   

> 
> 
> Intanto ho potuto stabilire che prova2 (di cui sopra) viene mal visualizzato anche su una macchina Ubuntu indipendente. Quindi probabilmente non ci si può aspettare che un file ISO88591 appaia con tutti i caratteri a posto su di un sistema configurato per UTF8. Almeno nella console. Non capisco bene perchè.
> 
> Grazie!

 

Beh se usi "cat" è normale, dovresti usare un programma che abbia nozioni riguardo alla codifica del file aperto e che effettui la conversione.

"cat" si limita a stampare il contenuto del file, ma dato che la codifica del file viene ignorata, ogni carattere viene interpretato secondo la codifica impostata sul terminale. Se vuoi convertire un file ISO-8859-1(5) in UTF-8, dai un'occhio a iconv.

----------

## cybermc75

Sì infatti.

(Sto emergendo man-db)

Io faccio un vasto uso di "nano" dato che manutengo un certo numero di mini-sistemi debian in VPN. E diciamo anche un po' per abitudine.

Comunque questo problema è relativo.

Negli ultimi giorni però ho emerso un po' di pacchetti e nell'output spesso avevo notato che il carattere "`" (apice inversa) non veniva stampato correttamente nella console.

Così mi era cresciuta un po' di apprensione. Adesso però è ok nell'emersione di man-db.

A proposito mi mancano anche le graffe nella tastiera.

Scusa se approfitto ma tu come hai configurato keymap?

Perchè a me IT mi funziona tutto ma non ha le graffe, mentre IT2 ha le graffe ma ha / al posto di _

Grazie ancora.

(Intanto man-db ha risolto il problema di man - grazie Zizo).

----------

## cybermc75

UPDATE:

In realtà le graffe le ho in ALT-Gr-( e ALT-Gr-). Mentre in Konsole funzionano come al solito, mentre ALT-Gr-( fa la [. Mah.

----------

## pierino_89

 *cybermc75 wrote:*   

> 
> 
> A proposito mi mancano anche le graffe nella tastiera.
> 
> Scusa se approfitto ma tu come hai configurato keymap?
> ...

 

Io la graffa la faccio premendo allo stesso modo della quadra (alt gr + è) aggiungendo shift, ma so che ci sono altri modi.

Comunque ho impostato "it" nella console e la mappatura italiana in X, però ricordati di impostare correttamente anche il modello di tastiera.

----------

