<!--
     The FreeBSD Italian Documentation Project

     $FreeBSD$
     Original revision: 1.102
-->

<chapter id="l10n">
  <chapterinfo>
    <authorgroup>
      <author>
        <firstname>Andrey A.</firstname>

        <surname>Chernov</surname>

        <contrib>Contributo di </contrib>
      </author>
    </authorgroup>

    <authorgroup>
      <author>
        <firstname>Michael C.</firstname>

        <surname>Wu</surname>

        <contrib>Revisione di </contrib>
      </author>
    </authorgroup>
  </chapterinfo>

  <title>Localizzazione - Uso e Impostazione dell'I18N/L10N</title>

  <sect1 id="l10n-synopsys">
    <title>Sinossi</title>

    <para>FreeBSD &egrave; un progetto di larga diffusione con utenti e
      collaboratori in ogni parte del mondo.  Questo capitolo affronta quegli
      aspetti tipici di FreeBSD relativi all'internazionalizzazione e
      localizzazione del sistema che permettono agli utenti non di lingua
      inglese di operare in maniera pi&ugrave; confortevole.  Ci sono molti
      aspetti da considerare dell'implementazione I18N sia a livello utente che
      di sistema, perci&ograve;, ove necessario, si rinvier&agrave; il lettore
      a fonti di informazione pi&ugrave; specifiche.</para>

    <para>Dopo aver letto questo capitolo, saprai:</para>

    <itemizedlist>
      <listitem>
        <para>Come i vari linguaggi e nazioni sono codificati nei moderni
          sistemi operativi.</para>
      </listitem>

      <listitem>
        <para>Come impostare la localizzazione per la tua shell di login.</para>
      </listitem>

      <listitem>
        <para>Come configurare la tua console per una lingua che non sia
          l'inglese.</para>
      </listitem>

      <listitem>
        <para>Come usare concretamente X Window System con differenti
          lingue.</para>
      </listitem>

      <listitem>
        <para>Dove reperire ulteriori informazioni su come scrivere applicazioni
          I18N compatibili.</para>
      </listitem>
    </itemizedlist>

    <para>Prima di leggere questo capitolo, dovresti:</para>
    <itemizedlist>
      <listitem>
        <para>Sapere come installare applicazioni aggiuntive di terze parti
          (<xref linkend="ports">).</para>
      </listitem>
    </itemizedlist>
  </sect1>

  <sect1 id="l10n-basics">
    <title>Principi di Base</title>

    <sect2>
      <title>Cosa significano le sigle I18N/L10N?</title>

      <indexterm><primary>internazionalizzazione</primary></indexterm>
      <indexterm><primary>localizzazione</primary></indexterm>

      <para>Gli sviluppatori hanno abbreviato la parola
        <quote>internationalization</quote> in I18N, contando il numero di
        lettere che costituiscono la parola <quote>internationalization</quote>,
        escludendo la prima e l'ultima.  Lo stesso &egrave; stato fatto per
        l'acronimo L10N, che deriva appunto da <quote>localization</quote>.
        Combinando insieme i metodi, i protocolli e le applicazioni che
        rispettano gli standard I18N/L10N si permette agli utenti di utilizzare
        una qualsiasi lingua di propria scelta.</para>

      <para>Le applicazioni I18N sono realizzate mediante appositi kit,
        disponibili tramite specifiche librerie.  Questo permette agli
        sviluppatori di scrivere in un normale file di testo i men&ugrave; e i
        messaggi da visualizzare nel programma e di tradurlo poi nelle varie
        lingue.  Si raccomandano vivamente i programmatori di seguire questa
        convenzione.</para>
    </sect2>

    <sect2>
      <title>Perch&eacute; Dovrei Usare I18N/L10N?</title>

      <para>I18N/L10N &egrave; usato ogni qualvolta desideri visualizzare,
        immettere o processare dati in lingue diverse da quella inglese.</para>
    </sect2>

    <sect2>
      <title>Quali Lingue sono Disponibili nel Lavoro I18N?</title>

      <para>I18N e L10N non sono caratteristiche specifiche di FreeBSD.  Al
        momento, &egrave; possibile scegliere fra la maggior parte delle lingue
        pi&ugrave; diffuse nel mondo, tra le quali: cinese, tedesco, giapponese,
        francese, russo, italiano e altre ancora.</para>
    </sect2>
  </sect1>

  <sect1 id="using-localization">
    <title>Come Utilizzare la Localizzazione</title>

    <para>Vista la sua importanza, I18N non &egrave; specifico del sistema
      FreeBSD ed &egrave; una convenzione.  Siete invitati ad aiutare
      il progetto FreeBSD per sostenere questa convenzione.</para>

    <indexterm><primary>locale</primary></indexterm>

    <para>Le impostazioni per la localizzazione o nazionalizzazione sono basate
      su tre termini principali: Codice Lingua, Codice Nazione e Codifica.  I
      nomi che contraddistinguono una localizzazione sono formati utilizzando
      questi termini nel modo seguente:</para>

    <programlisting><replaceable>CodiceLingua</replaceable>_<replaceable>CodiceNazione</replaceable>.<replaceable>Codifica</replaceable></programlisting>

    <sect2>
      <title>I Codici per la Lingua e la Nazione</title>

      <indexterm><primary>codici lingua</primary></indexterm>
      <indexterm><primary>codici nazione</primary></indexterm>

      <para>Al fine di localizzare un sistema FreeBSD (o qualsiasi altro sistema
        &unix; che gestisca I18N) in una specifica lingua, l'utente deve
        innanzitutto conoscere i codici della nazione e della lingua desiderati
        (i codici delle nazioni segnalano alle applicazioni quali convenzioni
        adottare all'interno di un dato linguaggio).  Inoltre, i browser web, i
        server SMTP/POP, i server web, ecc. possono operare in base ad essi.
        I seguenti sono esempi di codici lingua/nazione:</para>

      <informaltable frame="none">
        <tgroup cols="2">
          <thead>
            <row>
              <entry>Codice Lingua/Nazione</entry>

              <entry>Descrizione</entry>
            </row>
          </thead>

          <tbody>
            <row>
              <entry>en_US</entry>

              <entry>inglese - Stati Uniti d'America</entry>
            </row>

            <row>
              <entry>ru_RU</entry>

              <entry>russo - Russia</entry>
            </row>

            <row>
              <entry>zh_TW</entry>

              <entry>cinese tradizionale - Taiwan</entry>
            </row>
          </tbody>
        </tgroup>
      </informaltable>
    </sect2>

    <sect2>
      <title>Codifiche</title>

      <indexterm><primary>codifiche</primary></indexterm>
      <indexterm><primary>ASCII</primary></indexterm>

      <para>Alcune lingue utilizzano codifiche non ASCII, cio&egrave; caratteri
        a 8 bit, estesi o multibyte, vedere &man.multibyte.3; per maggiori
        dettagli.  Le applicazioni pi&ugrave; vecchie, non riconoscendoli, li
        interpretano come caratteri di controllo.  Quelle pi&ugrave; recenti
        invece riconoscono di solito i caratteri a 8 bit.  A seconda
        dell'implementazione, &egrave; possibile che gli utenti debbano
        ricompilare un'applicazione con il supporto ai caratteri estesi o
        multibyte, o debbano configurare l'applicazione in modo corretto. Per
        essere in grado di immettere e di elaborare caratteri estesi o
        multibyte, la <ulink url="&url.base;/ports/index.html">FreeBSD Ports
          Collection</ulink> fornisce vari programmi in differenti linguaggi.
        Si faccia riferimento alla relativa documentazione I18N del port
        di FreeBSD.</para>

      <para>Precisamente, l'utente deve consultare la documentazione propria
        dell'applicazione per conoscere come configurarla correttamente o come
        passare i giusti valori al configuratore/Makefile/compilatore.</para>

      <para>Alcune cose da tener presente sono:</para>

      <itemizedlist>
        <listitem>
          <para>Gli insiemi di caratteri rappresentabili dal tipo char del
            linguaggio C, specifici della lingua (vedere &man.multibyte.3;),
            cio&egrave; ISO-8859-1, ISO-8859-15, KOI8-R, CP437.</para>
        </listitem>

        <listitem>
          <para>Codifiche estese o multibyte, cio&egrave; EUC, Big5.</para>
        </listitem>
      </itemizedlist>

      <para>Puoi consultare l'elenco corrente degli insiemi di caratteri nel
        <ulink
          url="ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets">Registro
          IANA</ulink>.</para>

      <note>
        <para>Con le versioni 4.5 o successive di FreeBSD si utilizzino le
          codifiche per la localizzazione compatibili con X11.</para>
      </note>
    </sect2>

    <sect2>
      <title>Applicazioni I18N</title>

      <para>Nel sistema dei port e dei pacchetti precompilati di FreeBSD, le
        applicazioni I18N sono facilmente riconoscibili, perch&eacute; il loro
        nome include la sigla <literal>I18N</literal>.  Tuttavia, non sempre
        queste potrebbero supportare la lingua desiderata.</para>
    </sect2>

    <sect2 id="setting-locale">
      <title>Impostazione del Locale</title>

      <para>Di solito &egrave; sufficiente esportare il valore del nome del
        locale posto nella variabile <envar>LANG</envar> all'interno della shell
        di login.  Questo pu&ograve; essere fatto utilizzando il file
        dell'utente <filename>~/.login_conf</filename> oppure il file di
        configurazione della shell di login dell'utente
        (<filename>~/.profile</filename>, <filename>~/.bashrc</filename>,
        <filename>~/.cshrc</filename>).  Non c'&egrave; bisogno di impostare le
        altre variabili del locale, come <envar>LC_CTYPE</envar>,
        <envar>LC_CTIME</envar>.  Per maggiori informazioni si faccia
        riferimento alla documentazione di FreeBSD specifica per la data
        lingua.</para>

      <para>Puoi settare le due variabili d'ambiente seguenti nei tuoi file di
        configurazione:</para>

      <itemizedlist>
        <indexterm><primary>POSIX</primary></indexterm>

        <listitem>
          <para><envar>LANG</envar> per le funzioni appartenenti alla
            famiglia &posix;, &man.setlocale.3;</para>
        </listitem>

        <indexterm><primary>MIME</primary></indexterm>

        <listitem>
          <para><envar>MM_CHARSET</envar> per l'insieme dei caratteri che
            dovranno usare le applicazioni che supportano lo standard
            MIME</para>
        </listitem>
      </itemizedlist>

      <para>Ci&ograve; va fatto per la configurazione della shell dell'utente,
        di un'applicazione specifica e per quella di X11.</para>

      <sect3>
        <title>Metodi di Localizzazione</title>

        <indexterm><primary>locale</primary></indexterm>
        <indexterm><primary>classe di login</primary></indexterm>

        <para>Ci sono due metodi per impostare il locale, entrambi descritti qui
          di seguito.  Il primo (raccomandato) consiste nell'impostare le
          variabili d'ambiente in una <link linkend="login-class">classe di
            login</link>, mentre il secondo consiste nell'aggiungere i valori
          delle variabili d'ambiente al <link linkend="startup-file">file
            d'avvio</link> della shell di sistema.</para>

        <sect4 id="login-class">
          <title>Metodo delle Classi di Login</title>

          <para>Questo metodo fa s&igrave; che le variabili d'ambiente
            necessarie per il nome del locale e per gli insiemi dei caratteri
            MIME vengano inizializzate una volta sola per ogni possibile shell
            di sistema invece di aggiungere specifici assegnamenti per ogni file
            d'avvio di shell. Il <link linkend="usr-setup">Setup a Livello
              Utente</link> pu&ograve; essere fatto dall'utente stesso e il
            <link linkend="adm-setup">Setup a Livello Amministratore</link>
            richiede i privilegi del superuser.</para>

          <sect5 id="usr-setup">
            <title>Setup a Livello Utente</title>

            <para>Ecco un breve esempio di un file
              <filename>.login_conf</filename> posto nella directory home di un
              utente che ha entrambe le variabili impostate alla codifica
              Latin-1:</para>

            <programlisting>me:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO8859-1:</programlisting>

            <indexterm>
              <primary>cinese tradizionale</primary>
              <secondary>codifica BIG-5</secondary>
            </indexterm>

            <para>Ecco invece un esempio di un file
              <filename>.login_conf</filename> che imposta le variabili per il
              cinese tradizionale con codifica BIG-5.  Si noti che sono state
              impostate molte variabili perch&egrave; alcuni programmi non
              rispettano come dovrebbero le variabili di localizzazione per il
              cinese, giapponese e il coreano.</para>

            <programlisting>#Gli utenti che non vogliono usare l'unit&agrave; monetaria o i formati temporali
#di Taiwan possono modificare manualmente ogni variabile
me:\
        :lang=zh_TW.Big5:\
        :lc_all=zh_TW.Big:\
        :lc_collate=zh_TW.Big5:\
        :lc_ctype=zh_TW.Big5:\
        :lc_messages=zh_TW.Big5:\
        :lc_monetary=zh_TW.Big5:\
        :lc_numeric=zh_TW.Big5:\
        :lc_time=zh_TW.Big5:\
        :charset=big5:\
        :xmodifiers="@im=xcin": #Setta il XIM Input Server</programlisting>

            <para>Vedere il paragrafo <link linkend="adm-setup">Setup a Livello
                Amministratore</link> e &man.login.conf.5; per maggiori
              dettagli.</para>
          </sect5>

          <sect5 id="adm-setup">
            <title>Setup a Livello Amministratore</title>

            <para>Controlla che la classe di login dell'utente in
              <filename>/etc/login.conf</filename> selezioni la lingua corretta.
              Assicurati che queste impostazioni appaiano in
              <filename>/etc/login.conf</filename>:</para>

            <programlisting><replaceable>nome_lingua</replaceable>:<replaceable>titolo_account</replaceable>:\
:charset=<replaceable>MIME_charset</replaceable>:\
:lang=<replaceable>nome_locale</replaceable>:\
:tc=default:</programlisting>

            <para>Ritornando quindi all'esempio di prima che utilizzava Latin-1,
              si dovrebbe avere una cosa simile a questa:</para>

            <programlisting>tedesco:Account Utenti Tedeschi:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO8859-1:\
:tc=default:</programlisting>

            <bridgehead renderas="sect4">Modifica delle Classi di Login con
              &man.vipw.8;</bridgehead>

            <indexterm><primary><command>vipw</command></primary></indexterm>

            <para>Usa <command>vipw</command> per aggiungere nuovi utenti, e
              crea qualcosa di simile a quanto segue:</para>

            <programlisting>utente:password:1111:11:<replaceable>lingua</replaceable>:0:0:Nome Utente:/home/user:/bin/sh</programlisting>

            <bridgehead renderas=sect4>Modifica delle Classi di Login con
              &man.adduser.8;</bridgehead>

            <indexterm><primary><command>adduser</command></primary></indexterm>
            <indexterm><primary>classe di login</primary></indexterm>

            <para>Usa <command>adduser</command> per aggiungere nuovi utenti, in
             questo modo:</para>

            <itemizedlist>
              <listitem>
                <para>Imposta <literal>defaultclass =
                    <replaceable>lingua</replaceable></literal> in
                  <filename>/etc/adduser.conf</filename>.  Tieni presente che
                  in questo modo dovrai inserire una classe
                  <literal>default</literal> per tutti gli utenti di altre
                  lingue.</para>
              </listitem>

              <listitem>
                <para>In alternativa si pu&ograve; specificare la lingua
                  desiderata ogni volta che appare il prompt
                  <screen><prompt>Enter login class: default []: </prompt></screen>
                  durante l'esecuzione di &man.adduser.8;</para>
              </listitem>

              <listitem>
                <para>Un'altra alternativa &egrave; utilizzare il comando nel
                  modo seguente per ogni utente di una diversa lingua che si
                  desidera aggiungere:</para>

                <screen>&prompt.root; <userinput>adduser -class <replaceable>lingua</replaceable></userinput></screen>
              </listitem>
            </itemizedlist>

            <bridgehead renderas="sect4">Cambiare le Classi di Login con &man.pw.8;</bridgehead>

            <indexterm><primary><command>pw</command></primary></indexterm>

            <para>Se utilizzi il comando &man.pw.8; per aggiungere nuovi utenti,
              invocalo in questo modo:</para>

            <screen>&prompt.root; <userinput>pw useradd <replaceable>nome_utente</replaceable> -L  <replaceable>lingua</replaceable></userinput></screen>
          </sect5>
        </sect4>

        <sect4 id="startup-file">
          <title>Metodo del File di Avvio della Shell</title>

          <note>
            <para>Questo metodo &egrave; sconsigliato perch&eacute; richiede una
              inizializzazione diversa per ogni possibile shell.  Usa invece il
              <link linkend="login-class">Metodo delle Classi di
                Login</link>.</para>
          </note>

          <indexterm><primary>MIME</primary></indexterm>
          <indexterm><primary>locale</primary></indexterm>

          <para>Per aggiungere il nome del locale e l'insieme dei caratteri per
            lo standard MIME, bisogna semplicemente settare le due variabili
            d'ambiente mostrate di seguito nei file d'avvio della shell
            <filename>/etc/profile</filename> e/o
            <filename>/etc/csh.login</filename>.  Nell'esempio che segue viene
            utilizzata la lingua tedesca:</para>

          <para>In <filename>/etc/profile</filename>:</para>

          <programlisting><envar>LANG=de_DE.ISO8859-1; export LANG</envar>
<envar>MM_CHARSET=ISO8859-1; export MM_CHARSET</envar></programlisting>

          <para>Oppure in <filename>/etc/csh.login</filename>:</para>

          <programlisting><envar>setenv LANG de_DE.ISO8859-1</envar>
<envar>setenv MM_CHARSET ISO8859-1</envar></programlisting>

          <para>Lo stesso risultato si ottiene aggiungendo i precedenti comandi
            al file <filename>/usr/share/skel/dot.profile</filename> (per i
            comandi usati in <filename>/etc/profile</filename>), oppure al file
            <filename>/usr/share/skel/dot.login</filename> (per quelli in
            <filename>/etc/csh.login</filename>).</para>

          <para>Per l'ambiente X11:</para>

          <para>Nel file <filename>$HOME/.xinitrc</filename>:</para>

          <programlisting><envar>LANG=de_DE.ISO8859-1; export LANG</envar></programlisting>

          <para>Oppure:</para>

          <programlisting><envar>setenv LANG de_DE.ISO8859-1</envar></programlisting>

          <para>a seconda della shell utilizzata (vedi sopra).</para>
        </sect4>
      </sect3>
    </sect2>

    <sect2 id="setting-console">
      <title>Settaggio della Console</title>

      <para>Per tutti gli insiemi di caratteri che sono rappresentabili con il
        tipo char in C, imposta i font della console adatti alla lingua
        prescelta in <filename>/etc/rc.conf</filename>:</para>

      <programlisting>font8x16=<replaceable>nome_font</replaceable>
font8x14=<replaceable>nome_font</replaceable>
font8x8=<replaceable>nome_font</replaceable></programlisting>

      <para><replaceable>nome_font</replaceable> &egrave; il nome di uno dei
        file di font presenti nella directory
        <filename>/usr/share/syscons/fonts</filename>, privato del suffisso
        <filename>.fnt</filename>.</para>

      <indexterm>
        <primary><application>sysinstall</application></primary>
      </indexterm>
      <indexterm><primary>keymap</primary></indexterm>
      <indexterm><primary>screenmap</primary></indexterm>

      <para>Assicurati anche di impostare la giusta mappatura della tastiera
        e del video per il proprio set di caratteri usando
        <filename>/stand/sysinstall</filename>.  Una volta all'interno di
        <application>sysinstall</application>, seleziona
        <guimenuitem>Configure</guimenuitem>, quindi
        <guimenuitem>Console</guimenuitem>.  In alternativa, aggiungi le
        seguenti righe in <filename>/etc/rc.conf</filename>:</para>

      <programlisting>scrnmap=<replaceable>nome_screenmap</replaceable>
keymap=<replaceable>nome_keymap</replaceable>
keychange="<replaceable>numero_tasto_funzione sequenza</replaceable>"</programlisting>

      <para><replaceable>nome_screenmap</replaceable> viene preso dalla
        directory <filename>/usr/share/syscons/scrnmaps</filename>, privato del
        suffisso <filename>.scm</filename>.  Una <emphasis>screenmap</emphasis>
        assieme ad una corrispondente mappa dei font &egrave; solitamente
        necessaria nel caso la scheda grafica non gestisca i font via software,
        ma li abbia codificati internamente; la screenmap serve appunto a
        rimappare tali font interni nel font prescelto.</para>

      <para>Se hai abilitato il demone <application>moused</application>
        inserendo la seguente riga in <filename>/etc/rc.conf</filename>:</para>

      <programlisting>moused_enable="YES"</programlisting>

      <para>allora leggi quanto riportato nel prossimo paragrafo sul cursore
        del mouse.</para>

      <indexterm>
        <primary><application>moused</application></primary>
      </indexterm>

      <para>Di default il cursore del mouse del driver &man.syscons.4; occupa
        l'intervallo da 0xd0 a 0xd3 nel set di caratteri in uso.  Se la tua
        lingua utilizza tali caratteri, devi spostare l'intervallo occupato dal
        cursore.  Per far questo con le versioni anteriori alla 5.0 di FreeBSD,
        inserisci la seguente riga nel tuo file di configurazione del
        kernel:</para>

      <programlisting>options           SC_MOUSE_CHAR=0x03</programlisting>

      <para>Per le versioni 4.4 e successive aggiungi la seguente riga al file
        <filename>/etc/rc.conf</filename>:</para>

      <programlisting>mousechar_start=3</programlisting>

      <para><replaceable>nome_keymap</replaceable> deve invece corrispondere a
        uno dei file presenti nella directory
        <filename>/usr/share/syscons/keymaps</filename>, privato del suffisso
        <filename>.kbd</filename>.  Se sei indeciso su quale
        <emphasis>keymap</emphasis> scegliere, puoi usare il comando
        &man.kbdmap.1; per testare le varie mappature senza dover riavviare il
        sistema.</para>

      <para>La variabile <literal>keychange</literal> &egrave; di solito
        richiesta per programmare i tasti funzione in relazione al tipo di
        terminale in uso, poich&eacute; le sequenze generate da un tasto
        funzione non possono essere definite in una mappa di tasti.</para>

      <para>Assicurati inoltre di impostare il corretto tipo di terminale in
        <filename>/etc/ttys</filename> per tutte le voci del tipo
        <literal>ttyv*</literal>.  Attualmente, le corrispondenze predefinite
        sono:</para>

      <informaltable frame="none">
        <tgroup cols="2">
          <thead>
            <row>
              <entry>Insieme di Caratteri</entry>

              <entry>Tipo di Terminale</entry>
            </row>
          </thead>

          <tbody>
            <row>
              <entry>ISO-8859-1 o ISO-8859-15</entry>

              <entry><literal>cons25l1</literal></entry>
            </row>

            <row>
              <entry>ISO-8859-2</entry>

              <entry><literal>cons25l2</literal></entry>
            </row>

            <row>
              <entry>ISO-8859-7</entry>

              <entry><literal>cons25l7</literal></entry>
            </row>

            <row>
              <entry>KOI8-R</entry>

              <entry><literal>cons25r</literal></entry>
            </row>

            <row>
              <entry>KOI8-U</entry>

              <entry><literal>cons25u</literal></entry>
            </row>

            <row>
              <entry>CP437 (di default per VGA)</entry>

              <entry><literal>cons25</literal></entry>
            </row>

            <row>
              <entry>US-ASCII</entry>

              <entry><literal>cons25w</literal></entry>
            </row>
          </tbody>
        </tgroup>
      </informaltable>

      <para>Per i linguaggi che usano caratteri estesi o multibyte, &egrave;
        bene servirsi del corretto port di FreeBSD nella directory
        <filename>/usr/ports/<replaceable>linguaggio</replaceable></filename>.
        Poich&egrave; alcuni port che si presentano come console sono
        riconosciuti dal sistema come terminali seriali virtuali (vtty), devi
        riservare abbastanza vtty sia per X11 che per la console pseudo-seriale.
        Ecco una lista parziale di applicazioni con cui si possono utilizzare
        altri linguaggi in console:</para>

      <informaltable frame="none">
        <tgroup cols="2">
          <thead>
            <row>
              <entry>Linguaggio</entry>

              <entry>Ubicazione</entry>
            </row>
          </thead>

          <tbody>
            <row>
              <entry>cinese tradizionale (BIG-5)</entry>

              <entry><filename
                  role="package">/usr/ports/chinese/big5con</filename></entry>
            </row>

            <row>
              <entry>giapponese</entry>

              <entry><filename
                  role="package">japanese/kon2-16dot</filename> oppure
                <filename
                  role="package">japanese/mule-freewnn</filename></entry>
            </row>

            <row>
              <entry>coreano</entry>

              <entry><filename role="package">korean/han</filename></entry>
            </row>
          </tbody>
        </tgroup>
      </informaltable>
    </sect2>

    <sect2>
      <title>Impostazione di X11</title>

      <para>Sebbene X11 non faccia parte del progetto FreeBSD, vengono qui
        fornite alcune informazioni per gli utenti di FreeBSD.  Per maggiori
        dettagli, si faccia riferimento al sito web <ulink
          url="http://www.xfree86.org/">&xfree86;</ulink> o a quello del Server
        X11 utilizzato.</para>

      <para>Nel file <filename>~/.Xresources</filename>, puoi mettere a punto le
        impostazioni per I18N specifiche di un'applicazione (ad esempio, i font,
        i menu, ecc.).</para>

      <sect3>
        <title>Visualizzazione dei Font</title>

        <indexterm><primary>server font True Type per X11</primary></indexterm>

        <para>Installa il server &truetype; Common di X11 (<filename
            role="package">x11-servers/XttXF86srv-common</filename>) e i
          corrispondenti font &truetype; propri della lingua prescelta.
          L'impostazione del corretto locale dovrebbe permetterti di
          visualizzare tale lingua nei vari menu, ecc.</para>
      </sect3>

      <sect3>
        <title>Immissione di Caratteri Non Inglesi</title>

        <indexterm><primary>X11 Input Method (XIM)</primary></indexterm>

        <para>Il protocollo X11 Input Method (XIM) &egrave; un nuovo standard
          per tutti i client X11.  Tutte le applicazioni X11 dovrebbero essere
          scritte come client XIM che ricevono l'input dai server XIM.  Vi sono
          parecchi server XIM disponibili per le differenti lingue.</para>
      </sect3>
    </sect2>

    <sect2>
      <title>Configurazione della Stampante</title>

      <para>Alcuni set di caratteri del tipo char del C sono solitamente
        codificati a livello hardware all'interno delle stampanti stesse.
        Gli insiemi di caratteri estesi o multibyte richiedono invece una
        speciale configurazione e si raccomanda l'utilizzo di
        <application>apsfilter</application>.  Puoi anche convertire documenti
        nei formati &postscript; o PDF utilizzando convertitori specifici per
        una data lingua.</para>
    </sect2>

    <sect2>
      <title>Il Kernel e i File System</title>

      <para>Il file system di FreeBSD FFS (Fast File System) &egrave;
        completamente a 8-bit, perci&ograve; pu&ograve; essere utilizzato con
        qualsiasi insieme di caratteri del tipo char del C (vedere
        &man.multibyte.3;), ma non vi &egrave; un nome particolare di un insieme
        di caratteri memorizzato nel file system; cio&egrave;, il file system
        &egrave; a 8 bit senza alcuna codifica interna e ignora un'eventuale
        codifica.  Ufficialmente, FFS non supporta ancora alcuna forma degli
        insiemi di caratteri estesi o multibyte.  Tuttavia, esistono per alcuni
        di questi delle patch indipendenti per il FFS che abilitano tale
        supporto.  Sono solo soluzioni temporanee, non portabili ed si &egrave;
        deciso di non includerle nell'albero dei sorgenti.  Si faccia
        riferimento ai rispettivi siti web della lingua desiderata per
        ulteriori informazioni e per i file di patch.</para>

      <indexterm><primary>DOS</primary></indexterm>
      <indexterm><primary>Unicode</primary></indexterm>

      <para>Il supporto per il file system di &ms-dos; in FreeBSD offre la
        possibilit&agrave; di configurare la modalit&agrave; di conversione tra
        gli insiemi di caratteri &ms-dos;, Unicode e quelli scelti per il
        file system di FreeBSD.  Consultare &man.mount.msdos.8; per i
        dettagli.</para>
    </sect2>
  </sect1>

  <sect1 id="l10n-compiling">
    <title>Compilazione dei Programmi con Supporto I18N</title>

    <para>Molti dei port di FreeBSD includono il supporto I18N.  Alcuni di essi
      sono contrassegnati dal suffisso -I18N nel loro nome.  Questi e molti
      altri programmi hanno il supporto per I18N gi&agrave; incluso e non
      necessitano perci&ograve; di speciali considerazioni.</para>

    <indexterm><primary><application>MySQL</application></primary></indexterm>

    <para>Tuttavia, alcune applicazioni come ad esempio
      <application>MySQL</application> richiedono che venga specificato nel
      <filename>Makefile</filename> l'insieme dei caratteri che si
      utilizzeranno.  Questa operazione viene fatta o modificando direttamente
      il suddetto file oppure passando un opportuno valore al programma
      <command>configure</command> nella directory dei sorgenti.</para>
  </sect1>

  <sect1 id="lang-setup">
    <title>Localizzazione di FreeBSD con Lingue Particolari</title>

    <sect2 id="ru-localize">
      <sect2info>
        <authorgroup>
          <author>
            <firstname>Andrey A.</firstname>

            <surname>Chernov</surname>

            <contrib>Contributo originale di </contrib>
          </author>
        </authorgroup>
      </sect2info>

      <title>Lingua Russa (Codifica KOI8-R)</title>

      <indexterm>
        <primary>localizzazione</primary>
        <secondary>russo</secondary>
      </indexterm>

      <para>Per maggiori informazioni sulla codifica KOI8-R, si veda
        la <ulink url="http://koi.pp.ru/">fonte di riferimento per
          il KOI8-R (Russian Net Character Set)</ulink>.</para>

      <sect3>
        <title>Impostazione del Locale</title>

        <para>Metti le seguenti righe nel tuo file
          <filename>~/.login_conf</filename>:</para>

        <programlisting>me:My Account:\
:charset=KOI8-R:\
:lang=ru_RU.KOI8-R:</programlisting>

        <para>Si veda quanto esposto precedentemente in questo capitolo per
          degli esempi di impostazione del <link
            linkend="setting-locale">locale</link>.</para>
      </sect3>

      <sect3>
        <title>Configurazione della Console</title>

        <itemizedlist>
          <listitem>
            <para>Per le versioni di FreeBSD precedenti la 5.0 aggiungi la
              seguente opzione nel tuo file di configurazione del kernel:</para>

            <programlisting>options             SC_MOUSE_CHAR=0x03</programlisting>

            <para>Per le versioni 4.4 e seguenti inserisci la seguente riga
              nel file <filename>/etc/rc.conf</filename>:</para>

            <programlisting>mousechar_start=3</programlisting>
          </listitem>

          <listitem>
            <para>Utilizza le seguenti impostazioni nel file
              <filename>/etc/rc.conf</filename>:</para>

            <programlisting>keymap="ru.koi8-r"
scrnmap="koi8-r2cp866"
font8x16="cp866b-8x16"
font8x14="cp866-8x14"
font8x8="cp866-8x8"</programlisting>
          </listitem>

          <listitem>
            <para>Per ogni voce <literal>ttyv*</literal> nel file
              <filename>/etc/ttys</filename>, usa <literal>cons25r</literal>
              come tipo di terminale.</para>
          </listitem>
        </itemizedlist>

        <para>Si veda quanto esposto in precedenza in questo capitolo per degli
          esempi su come impostare la <link
            linkend="setting-console">console</link>.</para>
      </sect3>

      <sect3>
        <title>Configurazione della Stampante</title>

        <indexterm><primary>stampanti</primary></indexterm>

        <para>Dal momento che la maggior parte delle stampanti con caratteri
          russi hanno a livello hardware la codifica codepage CP866, &egrave;
          necessario utilizzare uno speciale filtro di conversione da KOI8-R a
          CP866.  Tale filtro viene installato di default come
          <filename>/usr/libexec/lpr/ru/koi2alt</filename>.  La voce per una
          stampante russa dovrebbe apparire perci&ograve; cos&igrave; in
          <filename>/etc/printcap</filename>:</para>

        <programlisting>lp|Russian local line printer:\
:sh:of=/usr/libexec/lpr/ru/koi2alt:\
:lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:</programlisting>

        <para>Si veda &man.printcap.5; per una spiegazione dettagliata
          del significato dei vari campi.</para>
      </sect3>

      <sect3>
        <title>Nomi di File Russo e File System &ms-dos;</title>

        <para>La seguente voce d'esempio di &man.fstab.5; abilita il supporto
          per i nomi di file in russo su file system &ms-dos;:</para>

        <programlisting>/dev/ad0s2      /dos/c  msdos   rw,-W=koi2dos,-L=ru_RU.KOI8-R 0 0</programlisting>

        <para>L'opzione <option>-L</option> seleziona il nome locale usato, e
          <option>-W</option> imposta la tabella di coversione dei caratteri.
          Per usare l'opzione <option>-W</option>, assicurati di montare
          <filename>/usr</filename> prima della partizione &ms-dos;
          perch&eacute; le tabelle di conversione sono posizionate in
          <filename>/usr/libdata/msdosfs</filename>.  Per maggiori informazioni,
          guarda la pagina man di &man.mount.msdos.8;.</para>
      </sect3>

      <sect3>
        <title>Configurazione di X11</title>

        <orderedlist>
          <listitem>
            <para>Segui innanzitutto la configurazione del <link
                linkend="setting-locale">locale in console</link> come descritto
              in precedenza.</para>

            <note>
              <para><anchor id="russian-note">Il locale russo KOI8-R potrebbe
                non funzionare con le vecchie versioni di
                <application>&xfree86;</application> (precedenti alla 3.3).
                <application>&xfree86; 4.X</application> &egrave; ora la
                versione di default del sistema X Window in FreeBSD.
                Perci&ograve; non dovrebbe costituire pi&ugrave; un
                problema a meno che non stai usando una versione piuttosto
                vecchia di FreeBSD.</para>
            </note>
          </listitem>

          <listitem>
            <para>Vai nella directory <filename
                role="package">/usr/ports/russian/X.language</filename> e dai il
              seguente comando:</para>

            <screen>&prompt.root; <userinput>make install</userinput></screen>

            <para>Questo port installa l'ultima versione disponibile dei font
              KOI8-R.  <application>&xfree86; 3.3</application> possiede
              gi&agrave; alcuni font KOI8-R, ma questi sono meglio
              dimensionati.</para>

            <para>Controlla la sezione <literal>"Files"</literal> nel tuo file
              <filename>/etc/XF86Config</filename>.  Le seguenti righe devono
              essere aggiunte <emphasis>prima</emphasis> di qualsiasi altra voce
              <literal>FontPath</literal>:</para>

            <programlisting>FontPath   "/usr/X11R6/lib/X11/fonts/cyrillic/misc"
FontPath   "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi"
FontPath   "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"</programlisting>

            <para>Se utilizzi una modalit&agrave; video ad alta risoluzione,
              scambia le righe 75 dpi e 100 dpi.</para>
          </listitem>

          <listitem>
            <para>Per attivare la tastiera russa, aggiungi alla sezione
              <literal>"Keyboard"</literal> del tuo file
              <filename>XF86Config</filename> queste cose.</para>

            <para>Per &xfree86; v3.X:</para>

            <programlisting>XkbLayout  "ru"
XkbOptions "grp:caps_toggle"</programlisting>

            <para>Per &xfree86; v4.X:</para>

            <programlisting>Option "XkbLayout"   "ru"
Option "XkbOptions"  "grp:caps_toggle"</programlisting>

            <para>Verifica inoltre che la riga <literal>XkbDisable</literal>
              sia commentata.</para>

            <para>Il tasto per passare dalla codifica russa (RUS) a quella dei
              caratteri latini (LAT) &egrave; <keycap>CapsLock</keycap>.  La
              normale funzione del tasto <keycap>CapsLock</keycap> &egrave;
              ancora disponibile mediante la combinazione di tasti <keycombo
                action="simul">
                <keycap>Shift</keycap>
                <keycap>CapsLock</keycap>
              </keycombo> (solamente in modalit&agrave; LAT).</para>

            <para>Se hai i tasti <quote>&windows;</quote> sulla tua tastiera, e
              noti che alcuni tasti non alfabetici sono mappati non
              correttamente in modalit&agrave; RUS, aggiungi in
              <filename>XF86Config</filename> la seguente riga.</para>

            <para>Per &xfree86; v3.X:</para>

            <programlisting>XkbVariant "winkeys"</programlisting>

            <para>Per &xfree86; v4.X:</para>

            <programlisting>Option "XkbVariant" "winkeys"</programlisting>

            <note>
              <para>La tastiera russa XKB potrebbe non funzionare con le vecchie
                versioni di <application>&xfree86;</application>; vedere la
                <link linkend="russian-note">nota precedente</link> per
                ulteriori informazioni a riguardo.  La tastiera russa XKB
                potrebbe anche presentare delle anomalie anche con applicazioni
                che non abbiamo il supporto per la localizzazione.  Queste
                applicazioni dovrebbero come minimo effettuare all'avvio una
                chiamata alla funzione <literal>XtSetLanguageProc (NULL, NULL,
                  NULL);</literal>.  Vedere <ulink
                  url="http://koi8.pp.ru/xwin.html">KOI8-R per X Window</ulink>
                per pi&ugrave; informazioni su come localizzare
                un'applicazione.</para>
            </note>
          </listitem>
        </orderedlist>
      </sect3>
    </sect2>

    <sect2>
      <title>Localizzazione del Cinese Tradizionale per Taiwan</title>

      <indexterm>
        <primary>localizzazione</primary>
        <secondary>cinese tradizionale</secondary>
      </indexterm>

      <para>Il FreeBSD-Taiwan Project fornisce un Chinese HOWTO
        per FreeBSD all'indirizzo <ulink
          url="http://freebsd.sinica.edu.tw/~statue/freebsd/zh-tut/"></ulink>
        per l'utilizzo di gran parte delle applicazioni in cinese.
        L'attuale autore del <literal>FreeBSD Chinese HOWTO</literal>
        &egrave; Shen Chuan-Hsing
        <email>statue@freebsd.sinica.edu.tw</email>.</para>

      <para>Chuan-Hsing Shen <email>statue@freebsd.sinica.edu.tw</email> ha
        creato la <ulink url="http://netlab.cse.yzu.edu.tw/~statue/cfc/">Chinese
          FreeBSD Collection (CFC)</ulink> utilizzando <literal>zh-l10n-tut</literal> del
        FreeBSD-Taiwan Project.  I pacchetti e i file di script sono disponibili
        all'url <ulink
          url="ftp://freebsd.csie.nctu.edu.tw/pub/taiwan/CFC/"></ulink>.</para>
    </sect2>

    <sect2>
      <title>Localizzazione della Lingua Tedesca (per Tutte le Lingue ISO
        8859-1)</title>

      <indexterm>
        <primary>localizzazione</primary>
        <secondary>tedesco</secondary>
      </indexterm>

      <para>Slaven Rezic <email>eserte@cs.tu-berlin.de</email> ha scritto un
        tutorial su come utilizzare le lettere con l'<emphasis>umlaut</emphasis>
        su una macchina FreeBSD.  Il tutorial &egrave; scritto in tedesco e
        disponibile all'indirizzo <ulink
        url="http://www.de.FreeBSD.org/de/umlaute/"></ulink>.</para>
    </sect2>

    <sect2>
      <title>Localizzazione della Lingua Giapponese e Coreana</title>

      <indexterm>
        <primary>localizzazione</primary>
        <secondary>giapponese</secondary>
      </indexterm>
      <indexterm>
        <primary>localizzazione</primary>
        <secondary>coreano</secondary>
      </indexterm>

      <para>Per il giapponese, vedere l'url <ulink
          url="http://www.jp.FreeBSD.org/"></ulink>, per il coreano, l'url
        <ulink url="http://www.kr.FreeBSD.org/"></ulink>.</para>
    </sect2>

    <sect2>
      <title>Documentazione Non Inglese per FreeBSD</title>

      <para>Alcuni volontari hanno tradotto parte della documentazione di
        FreeBSD in altre lingue.  Questo materiale &egrave; raggiungibile
        seguendo i link segnalati sul <ulink
          url="&url.base;/it/index.html">sito ufficiale di FreeBSD</ulink>
        oppure sotto la directory <filename>/usr/share/doc</filename>.</para>
    </sect2>
  </sect1>
</chapter>

<!--
     Local Variables:
     mode: sgml
     sgml-declaration: "../chapter.decl"
     sgml-indent-data: t
     sgml-omittag: nil
     sgml-always-quote-attributes: t
     sgml-parent-document: ("../book.sgml" "part" "chapter")
     End:
-->
