Table of Contents
Supporto alla localizzazione
Localizzazione dei programmi
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:
- ISO-8859-1 Set di caratteri a 8 bit (256 simboli), contiene molte lettere accentate, manca il simbolo di Euro.
- ISO-8859-15 Quasi identico all'ISO-8859-1, rimuove alcuni simboli raramente usati ed introduce il simbolo di Euro.
- UTF-8 Non è un set di caratteri, ma una codifica del set di caratteri Unicode (31 bit, circa due miliardi di simboli). La codifica è a lunghezza variabile, alcuni simboli sono codificati in 8 bit, altri in 16, oppure in 32, 40 o 48 bit. Windows utilizza invece la codifica UCS-2, 16 bit per ogni carattere, può rappresentare solo i primi 65536 simboli dell'Unicode.
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.
dpkg-reconfigure locales in Ubuntu
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
.
Caratteri 8 bit in console
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
.
OpenOffice
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
.
Controllo ortografico di OpenOffice
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
.
Caratteri non presenti sulla tastiera (KDE e non solo)
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
- Right Win-key is Compose
- Press Right-Alt to choose 3rd level
- Add the EuroSign to the E key
In KDE 4 si imposta tutto da System Settings, Regional & Language, Keyboard Layout, Advanced:
- Meta is mapped to Left Win
- Key to choose 3rd level: Right alt
- Compose key position: Right Win
- Adding EuroSign to certain keys: E
In KDE 4.6 da System Settings, Input Devices, Keyboard, Advanced:
- Adding currency signs to certain keys: Euro on E
- Alt/Win key behavior: Meta is mapped to Left Win
- Compose key position: Right Win
- Key to choose 3rd level: Right alt
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.
Filename non UTF-8
È 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
.