1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
|
<?xml version="1.0" encoding="iso-8859-15" standalone="no"?>
<!--
The FreeBSD Italian Documentation Project
$FreeBSD$
Original revision: 1.124
-->
<chapter id="l10n">
<chapterinfo>
<authorgroup>
<author>
<firstname>Andrey</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 è 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ù confortevole. Ci sono molti
aspetti da considerare dell'implementazione I18N sia a livello utente che
di sistema, perciò, ove necessario, si rinvierà il lettore
a fonti di informazione più 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>
<see>localizzazione</see>
</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 è 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ù 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é Dovrei Usare I18N/L10N?</title>
<para>I18N/L10N è 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, è possibile scegliere fra la maggior parte delle lingue
più 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 è specifico del sistema
FreeBSD ed è 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" pgwide="1">
<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è caratteri
a 8 bit, estesi o multibyte, vedere &man.multibyte.3; per maggiori
dettagli. Le applicazioni più vecchie, non riconoscendoli, li
interpretano come caratteri di controllo. Quelle più recenti
invece riconoscono di solito i caratteri a 8 bit. A seconda
dell'implementazione, è 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è ISO8859-1, ISO8859-15, KOI8-R, CP437.</para>
</listitem>
<listitem>
<para>Codifiche estese o multibyte, cioè 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>&os; usa 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é 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 è sufficiente esportare il valore del nome del
locale posto nella variabile <envar>LANG</envar> all'interno della shell
di login. Questo può 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'è 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>
<listitem>
<indexterm><primary>POSIX</primary></indexterm>
<para><envar>LANG</envar> per le funzioni appartenenti alla
famiglia &posix;, &man.setlocale.3;</para>
</listitem>
<listitem>
<indexterm><primary>MIME</primary></indexterm>
<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ò 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ì 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ò 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è 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à monetaria o i formati temporali
#di Taiwan possono modificare manualmente ogni variabile
me:\
:lang=zh_TW.Big5:\
:setenv=LC_ALL=zh_TW.Big:\
:setenv=LC_COLLATE=zh_TW.Big5:\
:setenv=LC_CTYPE=zh_TW.Big5:\
:setenv=LC_MESSAGES=zh_TW.Big5:\
:setenv=LC_MONETARY=zh_TW.Big5:\
:setenv=LC_NUMERIC=zh_TW.Big5:\
:setenv=LC_TIME=zh_TW.Big5:\
:charset=big5:\
:xmodifiers="@im=gcin": #Set gcin as the 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>
<para>Dopo aver modificato le Classi di Login degli utenti esegui
il comando seguente:</para>
<screen>&prompt.root; <userinput>cap_mkdb /etc/login.conf</userinput></screen>
<para>per creare una nuova configurazione in
<filename>/etc/login.conf</filename> visibile al sistema.</para>
<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ò 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 è 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 è sconsigliato perché 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> è 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
<command>sysinstall</command> (<command>/stand/sysinstall</command>
nelle versioni di &os; precedenti alla 5.2). 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 è 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 &os;, inserisci la seguente riga in
<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> è di solito
richiesta per programmare i tasti funzione in relazione al tipo di
terminale in uso, poiché 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" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>Insieme di Caratteri</entry>
<entry>Tipo di Terminale</entry>
</row>
</thead>
<tbody>
<row>
<entry>ISO8859-1 o ISO8859-15</entry>
<entry><literal>cons25l1</literal></entry>
</row>
<row>
<entry>ISO8859-2</entry>
<entry><literal>cons25l2</literal></entry>
</row>
<row>
<entry>ISO8859-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, è
bene servirsi del corretto port di FreeBSD nella directory
<filename>/usr/ports/<replaceable>linguaggio</replaceable></filename>.
Poichè 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" pgwide="1">
<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.x.org/">&xorg;</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 <application>&xorg;</application>
(<filename role="package">x11-servers/xorg-server</filename>) o
<application>&xfree86;</application>
(<filename role="package">x11-servers/XFree86-4-Server</filename>),
quindi installa i 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) è 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) è
completamente a 8-bit, perciò può essere utilizzato con
qualsiasi insieme di caratteri del tipo char del C (vedere
&man.multibyte.3;), ma non vi è un nome particolare di un insieme
di caratteri memorizzato nel file system; cioè, il file system
è 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 è
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à di configurare la modalità di conversione tra
gli insiemi di caratteri &ms-dos;, Unicode e quelli scelti per il
file system di FreeBSD. Consultare &man.mount.msdosfs.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à incluso e non
necessitano perciò 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</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>Aggiungi la riga seguente al tuo file
<filename>/etc/rc.conf</filename>:</para>
<programlisting>mousechar_start=3</programlisting>
</listitem>
<listitem>
<para>Utilizza inoltre 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, è
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ò così 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 conversione dei caratteri.
Per usare l'opzione <option>-W</option>, assicurati di montare
<filename>/usr</filename> prima della partizione &ms-dos;
perché le tabelle di conversione sono posizionate in
<filename>/usr/libdata/msdosfs</filename>. Per maggiori informazioni,
guarda la pagina man di &man.mount.msdosfs.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>
</listitem>
<listitem>
<para>Se usi <application>&xorg;</application>,
installa il package
<filename
role="package">x11-fonts/xorg-fonts-cyrillic</filename>.</para>
<para>Controlla la sezione <literal>"Files"</literal> nel tuo file
<filename>/etc/X11/xorg.conf</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à video ad alta risoluzione,
scambia le righe 75 dpi e 100 dpi.</para>
<note>
<para>Cerca nei port per altri font cirillici.</para>
</note>
</listitem>
<listitem>
<para>Per attivare la tastiera russa, aggiungi alla sezione
<literal>"Keyboard"</literal> del tuo file
<filename>xorg.conf</filename> queste cose:</para>
<programlisting>Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:toggle"</programlisting>
<para>Verifica inoltre che la riga <literal>XkbDisable</literal>
sia commentata.</para>
<para>Per <literal>grp:caps_toggle</literal>
il cambio RUS/LAT si usa <keycap>Right Alt</keycap>,
per <literal>grp:ctrl_shift_toggle</literal> si usa
<keycombo action="simul">
<keycap>Ctrl</keycap><keycap>Shift</keycap>
</keycombo>.
La vecchia funzione di <keycap>CapsLock</keycap> à
ancora disponibile via <keycombo action="simul">
<keycap>Shift</keycap>
<keycap>CapsLock</keycap>
</keycombo> (solamente in modalità LAT).
Per <literal>grp:toggle</literal> il cambio
RUS/LAT si usa <keycap>Right Alt</keycap>.
<literal>grp:caps_toggle</literal> non funziona in
<application>&xorg;</application> per ragioni sconosciute.</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à RUS, aggiungi in
<filename>xorg.conf</filename> la seguente riga:</para>
<programlisting>Option "XkbVariant" ",winkeys"</programlisting>
<note>
<para>La tastiera russa XKB potrebbe non lavorare con
applicazioni non localizzate.</para>
</note>
</listitem>
</orderedlist>
<note>
<para>Di base le applicazioni localizzate dovrebbe chiamare la
funzione <function>XtSetLanguageProc (NULL, NULL,
NULL);</function> all'inizio del programma.</para>
<para>Guarda <ulink
url="http://koi8.pp.ru/xwin.html">KOI8-R per X
Window</ulink> per maggiori istruzioni sulle
applicazioni di X11 localizzate.</para>
</note>
</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>
è 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 è scritto in tedesco e
disponibile all'indirizzo <ulink
url="http://user.cs.tu-berlin.de/~eserte/FreeBSD/doc/umlaute/umlaute.html"></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 è 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>
|