User Tools

Site Tools


doc:appunti:linux:tux:localizzazione

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
doc:appunti:linux:tux:localizzazione [2008/03/25 23:40] – external edit 127.0.0.1doc:appunti:linux:tux:localizzazione [2014/01/16 22:59] (current) – [Caratteri non presenti sulla tastiera (KDE e non solo)] niccolo
Line 23: Line 23:
  
 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. 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 ===== ===== Caratteri 8 bit in console =====
Line 55: Line 59:
  
  
-===== Caratteri non presenti sulla tastiera =====+===== 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. Utilizzando una tastiera US c'è il modo di inserire le lettere accentate, il simbolo di euro, ecc.
Line 64: Line 68:
  
 ^ Funzione ^ Tasto assegnato ^ Esempio ^ ^ Funzione ^ Tasto assegnato ^ Esempio ^
-| level3   Left-Windows    | **lvl3** + **e** = **€** |+| level3   Right-Alt       | **lvl3** + **e** = **€** |
 | compose  | Right-Windows   | **compose** + **`** + **a** = **à** | | compose  | Right-Windows   | **compose** + **`** + **a** = **à** |
  
-Che nell'interfaccia KDE si traduce nell'attivare+Che nell'interfaccia **KDE 3** si traduce nell'attivare
  
   * Right Win-key is Compose   * Right Win-key is Compose
-  * Press Left Win-key to choose 3rd level+  * Press Right-Alt to choose 3rd level
   * Add the EuroSign to the E key   * Add the EuroSign to the E key
  
-Il che equivale ad impostare da riga di comando:+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:
  
 <code> <code>
-setxkbmap -option compose:rwin,lv3:lwin_switch,eurosign:e+setxkbmap -option compose:rwin,lv3:ralt_switch,eurosign:e,altwin:left_meta_win
 </code> </code>
 +
 +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: Il risultato di queste impostazioni può essere verificato con il comando:
  
 <code> <code>
-$ setxkbmap -print+niccolo@corinto:~$ setxkbmap -print
 xkb_keymap { xkb_keymap {
-        xkb_keycodes  { include "xfree86+aliases(qwerty)"       };+        xkb_keycodes  { include "evdev+aliases(qwerty)" };
         xkb_types     { include "complete"      };         xkb_types     { include "complete"      };
         xkb_compat    { include "complete"      };         xkb_compat    { include "complete"      };
-        xkb_symbols   { include "pc/pc(pc104)+pc/us(basic)+level3(lwin_switch)+compose(rwin)+eurosign(e)"       };+        xkb_symbols   { include "pc+us+altwin(left_meta_win)+level3(ralt_switch)+compose(rwin)+eurosign(e)" };
         xkb_geometry  { include "pc(pc104)"     };         xkb_geometry  { include "pc(pc104)"     };
 }; };
 </code> </code>
  
-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 menu e il tasto per il livello3 è l'Alt di destra:+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:
  
 <file> <file>
-Section "InputDevice+Section "InputClass
-    Identifier  "Generic Keyboard" +    Identifier      "Generic Keyboard" 
-    Driver      "kbd" +    MatchIsKeyboard "true
-    ... +    Option          "XkbOptions"  "lv3:ralt_switch, compose:rwin, eurosign:e"
-    Option      "XkbOptions"  "lv3:ralt_switch, compose:menu, eurosign:e"+
 EndSection EndSection
 </file> </file>
  
-L'elenco dei tasti modificatori è contenuto in **''/usr/share/X11/xkb/rules/xorg.lst''**, mentre l'elenco delle combinazioni compose è in **''/usr/share/X11/locale/iso8859-15/Compose''**.+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: **[[http://www.hermit.org/Linux/ComposeKeys.html|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: 
 + 
 +<code bash> 
 +#!/bin/sh 
 +find . -type f | while read fname; do 
 +    if !(echo $fname | isutf8 -q); then 
 +        echo "Invalid UTF-8 filename: $fname" 
 +    fi 
 +done 
 +</code> 
 + 
 +Per **rinominare i file** si può usare il tool **''convmv(1)''** fornito dall'omonimo pacchetto Debian. Ad esempio se si hanno dei nomi in **[[wp>Code page 850]]** (es. MS-DOS): 
 + 
 +<code> 
 +convmv --notest -f cp850 -t utf-8 *.mp3 
 +</code> 
 + 
 +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''**.
doc/appunti/linux/tux/localizzazione.1206484827.txt.gz · Last modified: 2009/03/11 18:17 (external edit)