Per avere le corrette localizzazioni si deve installare il pacchetto locales
ed eseguire dpkg-reconfigure locales
. E' stato scelto di generare i file di supporto solo per i seguenti:
en_US.ISO-8859-1 en_US.ISO-8859-15 en_US.UTF-8 it_IT.ISO-8859-1 it_IT.UTF-8 it_IT.ISO-8859-15@euro
Oltre alla combinazione paese_NAZIONE
, si sceglie il set di caratteri. Queste sono le differenze:
Quindi, dove possibile, conviene usare la codifica UTF-8. Pare che la maggior parte dei programmi moderni per GNU/Linux supporti questo standard. Un'eccezione importante - che mi costringe ancora ad usare ISO-8859-15 - pare essere konsole: non sono riuscito a far visualizzare correttamente i caratteri Unicode.
Attenzione alle codifiche UTF-8@euro, in realtà andrebbero rimosse! UTF-8 include di per sé il simbolo di Euro, anzi il suffisso @euro
impedisce ad alcuni programmi di riconoscere il locale come UTF-8.
Con le versioni moderne di Ubuntu GNU/Linux (es. 12.04) la scelta dei locali da compilare non si fa con dpkg-reconfigure
, ma dipende dai contenuti dei file in /var/lib/locales/supported.d/
, basta aggiungere un file ad esempio di nome local
con righe del tipo di quelle contenute in /usr/share/i18n/SUPPORTED
. Dopo aver modificato i file si esegue locale-gen
o il tradizionale dpkg-reconfigure locales
.
Per consentire l'inserimento delle lettere accentate sulla riga di comando (caratteri ASCII superiori a 127) si deve editare il file ~/.inputrc
ed inserire la riga set convert-meta off
. Controllare se esiste il file di configurazione di sistema /etc/inputrc
.
Se un nome di file contiene lettere accentate il comando ls
dovrebbe visualizzarle correttamente, altrimenti provare l'opzione –show-control-chars
.
Se non è attiva la localizzazione italiana a livello di sistema (dpkg-reconfigure locales
), basterebbe settare la variabile d'ambiente LANG=it_IT
prima di lanciare il programma, ad esempio LANG=it_IT openoffice
.
Attenzione: non funziona se è attivo il programma quick start di OpenOffice, perché in quel caso OpenOffice in realtà è già avviato.
Si può modificare il comando associato all'icona, oppure si può impostare la variabile d'ambiente in qualche .bash_profile
in modo che valga per la riga di comando.
Per impostare una variabile d'ambiente facendo login con KDM, un utente puo' creare un proprio $HOME/.xsession
, renderlo eseguibile e metterci dentro:
#!/bin/bash export LANG=it_IT exec startkde
Per altri session manager (ad esempio IceWM) si sostituisce l'ultimo exec in modo opportuno, ad esempio exec icewm-session
.
Per avere il correttore ortografico e la sillabazione in una determinata lingua (ad esempio l'italiano) installare i relativi pacchetti Debian myspell-it
e openoffice.org-hyphenation-it
.
Utilizzando una tastiera US c'è il modo di inserire le lettere accentate, il simbolo di euro, ecc.
Le impostazioni predefinite - almeno con KDE 3.5 - non lo consentono, ma si può utilizzare il Centro di controllo del KDE per attiavre la Mappatura della tastiera, tra le impostazioni Regionali. Si devono attivare le Opzioni Xkb nell'apposita scheda.
Questa è una mappatura consigliata:
Funzione | Tasto assegnato | Esempio |
---|---|---|
level3 | Right-Alt | lvl3 + e = € |
compose | Right-Windows | compose + ` + a = à |
Che nell'interfaccia KDE 3 si traduce nell'attivare
In KDE 4 si imposta tutto da System Settings, Regional & Language, Keyboard Layout, Advanced:
In KDE 4.6 da System Settings, Input Devices, Keyboard, Advanced:
Il tutto equivale ad impostare da riga di comando:
setxkbmap -option compose:rwin,lv3:ralt_switch,eurosign:e,altwin:left_meta_win
L'impostazione del tasto Meta (suggerito su Left Win) è importante, alcune applicazioni non funzionano senza di esso. Ad esempio Ktranslator ha bisogno di questa mappatura per abilitare il modifier key Winkey.
Il risultato di queste impostazioni può essere verificato con il comando:
niccolo@corinto:~$ setxkbmap -print xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+us+altwin(left_meta_win)+level3(ralt_switch)+compose(rwin)+eurosign(e)" }; xkb_geometry { include "pc(pc104)" }; };
Per i desktop manager che non hanno un applet per configurare la tastiera - ad esempio Xfce - si può intervenire direttamente nella configurazione di /etc/X11/xorg.conf
. Ecco un esempio dove il tasto compose è il tasto Windows di destra e il tasto per il livello3 è l'Alt di destra:
Section "InputClass" Identifier "Generic Keyboard" MatchIsKeyboard "true" Option "XkbOptions" "lv3:ralt_switch, compose:rwin, eurosign:e" EndSection
L'elenco dei tasti modificatori (es. rwin
, menu
, ecc.) è contenuto in /usr/share/X11/xkb/rules/xorg.lst
, mentre l'elenco delle combinazioni compose è in /usr/share/X11/locale/iso8859-15/Compose
.
Anche in questa pagina si può trovare un elenco di caratteri speciali e la combinazione necessaria per ottenerli: Linux Compose Key Sequences.
È possibile ritrovarsi con dei file il cui nome non è valido secondo la codifica UTF-8 (ad esempio dopo averli copiati da un filesystem montato con i parametri sbagliati).
Per individuare i file con nome non valido UTF-8 si può usare il tool isutf8(1)
contenuto nel pacchetto Debian moreutils, con uno script del tipo:
#!/bin/sh find . -type f | while read fname; do if !(echo $fname | isutf8 -q); then echo "Invalid UTF-8 filename: $fname" fi done
Per rinominare i file si può usare il tool convmv(1)
fornito dall'omonimo pacchetto Debian. Ad esempio se si hanno dei nomi in Code page 850 (es. MS-DOS):
convmv --notest -f cp850 -t utf-8 *.mp3
Il tool dovrebbe essere abbastanza intelligente per capire se il file è già in formato UTF-8 ed evitare di fare doppie conversioni. Per intervenire su intere directory e sottodirectory è comodo lo switch -r
.