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
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
|
<?xml version="1.0" encoding="ISO8859-1" standalone="no"?>
<!--
The FreeBSD Documentation Project
The FreeBSD French Documentation Project
$FreeBSD$
Original revision: 1.124
-->
<chapter id="l10n">
<chapterinfo>
<authorgroup>
<author>
<firstname>Andrey</firstname>
<surname>Chernov</surname>
<contrib>Contribution de </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Michael C.</firstname>
<surname>Wu</surname>
<contrib>Réécrit par </contrib>
</author>
<!-- 30 Nv 2000 -->
</authorgroup>
</chapterinfo>
<title>Localisation - Utilisation et configuration de l'I18N/L10N</title>
&trans.a.fonvieille;
<sect1 id="l10n-synopsis">
<title>Synopsis</title>
<para>FreeBSD est un projet à très large audience
avec des utilisateurs et des contributeurs provenant du monde
entier. Ce chapitre discute des fonctions d'internationalisation
et de localisation de FreeBSD qui permettent aux non-anglophones
de travailler. Il y a de nombreux aspects de l'implémentation
i18n au niveau système et application, et quand ce sera possible
nous renverrons le lecteur à des sources de documentation plus
spécifiques.</para>
<para>Après la lecture de ce chapitre, vous
connaîtrez:</para>
<itemizedlist>
<listitem><para>Comment les différentes langues et
“locales” sont codées sur les systèmes
d'exploitation modernes.</para></listitem>
<listitem><para>Comment paramétrer les “locales”
pour votre interpréteur de commandes.</para></listitem>
<listitem><para>Comment configurer la console pour d'autres
langues que l'anglais.</para></listitem>
<listitem><para>Comment employer le système X Window efficacement avec
différentes langues.</para></listitem>
<listitem><para>Où trouver plus d'informations sur
l'écriture d'applications conformes à la norme
i18n.</para></listitem>
</itemizedlist>
<para>Avant de lire ce chapitre, vous devrez:</para>
<itemizedlist>
<listitem><para>Savoir comment installer des logiciels tiers
(<xref linkend="ports"/>).</para></listitem>
</itemizedlist>
</sect1>
<sect1 id="l10n-basics">
<title>Les bases</title>
<sect2>
<title>Qu'est-ce que I18N/L10N?</title>
<indexterm>
<primary>internationalisation</primary>
<see>localisation</see>
</indexterm>
<indexterm><primary>localisation</primary></indexterm>
<para>Les développeurs ont raccourci le terme
internationalisation en I18N, en comptant le nombre de lettres
entre la première et la dernière du mot
internationalisation. L10N utilise le même principe,
et provient du mot “localisation”.
Combinées ensemble, les méthodes I18N/L10N, les
protocoles, et les applications conformes
permettent aux utilisateurs d'utiliser la langue de leur
choix.</para>
<para>Les applications I18N sont programmées en
utilisant des kits I18N par dessous les bibliothèques.
Cela permet aux développeurs d'écrire un
simple fichier et traduire les menus et textes affichés
dans chaque langue. Nous encourageons fortement les
programmeurs à suivre cette convention.</para>
</sect2>
<sect2>
<title>Pourquoi devrais-je employer l'I18N/L10N?</title>
<para>I18N/L10N est utilisé à chaque fois que
vous désirez afficher, entrer, ou traiter des données
dans des langues autres que l'anglais.</para>
</sect2>
<sect2>
<title>Quelles sont les langues supportées par l'I18N?</title>
<para>I18N et L10N ne sont pas spécifiques à FreeBSD.
Actuellement, on peut choisir parmi la plupart des langues
principales du monde, y compris mais pas seulement: le chinois,
l'allemand, le japonais, le coréen, le français,
le russe, le vietnamien et d'autres.</para>
</sect2>
</sect1>
<sect1 id="using-localization">
<title>Utiliser la localisation</title>
<para>Dans toute sa splendeur, I18N n'est pas spécifique
à FreeBSD et est une convention. Nous vous encourageons
à aider FreeBSD à suivre cette convention.</para>
<indexterm><primary>locale</primary></indexterm>
<para>Le paramétrage des “locales” est basé
sur trois termes principaux: le code de la langue, le code du
pays, et le codage des caractères. Les noms de
“locales” sont construits à partir de ces trois
éléments comme suit:</para>
<programlisting><replaceable>CodeLangue</replaceable>_<replaceable>CodePays</replaceable>.<replaceable>CodageCaractères</replaceable></programlisting>
<sect2>
<title>Codage de la langue et du pays</title>
<indexterm><primary>codage des langues</primary></indexterm>
<indexterm><primary>codage des pays</primary></indexterm>
<para>Afin de localiser un système FreeBSD pour une langue
spécifique (ou tout autre &unix; supportant l'I18N),
l'utilisateur doit déterminer les codes spécifiques
pour le pays et la langue (les codes pays indiquent aux
applications quelle variation d'une langue donnée utiliser).
De plus, les navigateurs Web, les serveurs SMTP/POP, les
serveurs Web... agissent en fonction de ces codes. Ce qui suit
est un exemple de codes langue/pays:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>Code langue/pays</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>en_US</entry>
<entry>Anglais - Etats Unis</entry>
</row>
<row>
<entry>ru_RU</entry>
<entry>Russe pour la Russie</entry>
</row>
<row>
<entry>zh_TW</entry>
<entry>Chinois traditionnel pour Taiwan</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
<sect2>
<title>Codage des caractères</title>
<indexterm><primary>codages des caractères</primary></indexterm>
<indexterm><primary>ASCII</primary></indexterm>
<para>Certaines langues utilisent les codages non-ASCII sur 8 bits
ou codent des caractères sur plusieurs octets, voir
&man.multibyte.3; pour plus de détails. Les vieilles
applications ne les reconnaissent pas ou les remplacent à
tord par des caractères de contrôle. Les applications
récentes reconnaissent normalement les caractères 8 bits.
En fonction de l'implémentation, les utilisateurs devront
peut être compiler une application avec le support des
caractères sur 8 bits ou multi-octets, ou la configurer
correctement. Afin d'accepter l'usage et le traitement de tels
caractères, le <ulink
url="&url.base;/ports/index.html">catalogue des logiciels
portés de FreeBSD</ulink> fournit pour certains programmes une
version dans chaque langue. Référez-vous à
la documentation I18N de chaque logiciel porté
respectif.</para>
<para>Spécifiquement, l'utilisateur doit consulter la
documentation de l'application pour décider de comment
la configurer correctement ou comment passer les valeurs
correctes à la procédure configure, au
<filename>Makefile</filename> ou au compilateur.</para>
<para>Quelques éléments à garder à
l'esprit sont:</para>
<itemizedlist>
<listitem>
<para>Les jeux de caractères au codage simple
des caractères de la bibliothèque C (voir
&man.multibyte.3;), par exemple ISO8859-1, ISO8859-15, KOI8-R,
et CP437.</para>
</listitem>
<listitem>
<para>Les codages étendus ou multi-octets, e.g. EUC,
Big5.</para>
</listitem>
</itemizedlist>
<para>Vous pouvez contrôler la liste des jeux de
caractères actuellement actifs dans le
<ulink
url="http://www.iana.org/assignments/character-sets">registre
de l'IANA</ulink>.</para>
<note>
<para>&os; utilise à la
place un codage des “locales” compatible avec
X11.</para>
</note>
</sect2>
<sect2>
<title>Applications I18N</title>
<para>Dans le système de logiciels portés et
pré-compilés de FreeBSD, les applications I18N ont
été nommées avec <literal>I18N</literal> dans
leur nom pour une identification aisée. Cependant, elles
ne supportent pas toujours la langue désirée.</para>
</sect2>
<sect2 id="setting-locale">
<title>Configurer les “locales”</title>
<para>Généralement il est suffisant
d'exporter le nom de la “locale” grâce à
la variable <envar>LANG</envar> sous l'interpréteur
de commandes utilisé lors de la session. Cela
pourra être fait dans le fichier
<filename>~/.login_conf</filename> de l'utilisateur ou le
fichier de configuration de l'interpréteur de commandes
de l'utilisateur (<filename>~/.profile</filename>,
<filename>~/.bashrc</filename>, <filename>~/.cshrc</filename>).
Il n'est pas nécessaire de configurer
toutes les autres variables de localisation
comme <envar>LC_CTYPE</envar>, <envar>LC_CTIME</envar>.
Veuillez consulter la documentation de FreeBSD
spécifique à votre langue pour plus d'informations.</para>
<para>Vous devrez configurer les deux variables d'environnement
suivantes dans vos fichiers de configuration:</para>
<itemizedlist>
<listitem>
<indexterm><primary>POSIX</primary></indexterm>
<para><envar>LANG</envar> pour la famille de fonctions &posix;
&man.setlocale.3;</para>
</listitem>
<listitem>
<indexterm><primary>MIME</primary></indexterm>
<para><envar>MM_CHARSET</envar> pour le jeu de caractères MIME
des applications</para>
</listitem>
</itemizedlist>
<para>Cela comprend la configuration de l'interpréteur de
commandes, la configuration spécifique des applications, et
celle de X11.</para>
<sect3>
<title>Méthodes de configuration des
“locales”</title>
<indexterm><primary>“locales”</primary></indexterm>
<indexterm><primary>classe de session</primary></indexterm>
<para>Il existe deux méthodes pour configurer les
“locales”, elles sont décrites ci-dessous. La
première (celle qui est recommandée) est d'assigner les
variables d'environnement dans une <link
linkend="login-class">classe de session</link>, et la seconde
est d'ajouter le paramétrage des variables d'environnement
dans les <link linkend="startup-file">fichiers
d'initialisation</link> de l'interpréteur de commandes du
système.</para>
<sect4 id="login-class">
<title>Méthode utilisant les classes de session
utilisateur</title>
<para>Cette méthode permet d'assigner une fois pour toute
les variables d'environnement nécessaires pour le nom
des “locales” et le jeu de caractères MIME et
cela pour toutes les sessions au lieu de le faire à chaque
nouvelle session par l'intermédiaire de la configuration
des fichiers d'initialisation de l'interpréteur de
commandes. La <link linkend="usr-setup">configuration au
niveau utilisateur</link> peut être faite par
l'utilisateur lui-même et la <link
linkend="adm-setup">configuration au niveau
administrateur</link> demande les privilèges de
super-utilisateur.</para>
<sect5 id="usr-setup">
<title>Configuration au niveau utilisateur</title>
<para>Voici un exemple minimal d'un fichier
<filename>.login_conf</filename> dans le répertoire
personnel d'un utilisateur, fichier qui a les deux
variables fixées pour le codage Latin-1:</para>
<programlisting>me:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO8859-1:</programlisting>
<indexterm><primary>Chinois traditionnel</primary><secondary>codage BIG-5</secondary></indexterm>
<para>Voici un exemple de fichier
<filename>.login_conf</filename> qui fixe les variables
pour le chinois traditionnel dans le codage BIG-5. Notez
les nombreuses variables supplémentaires
paramétrées
parce que certains logiciels ne respectent pas les
variables des “locales” correctement pour le
chinois, le japonais, et le coréen.</para>
<programlisting>#Users who do not wish to use monetary units or time formats
#of Taiwan can manually change each variable
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>Voir la <link linkend="adm-setup">configuration au
niveau administrateur</link> et la page de manuel
&man.login.conf.5; pour plus de détails.</para>
</sect5>
<sect5 id="adm-setup">
<title>Configuration au niveau administrateur</title>
<para>Vérifiez que que la classe de session d'utilisateur dans <filename>/etc/login.conf</filename>
fixe la bonne langue.
Soyez sûr que ces paramètres
apparaissent dans <filename>/etc/login.conf</filename>:</para>
<programlisting><replaceable>nom_langue</replaceable>:<replaceable>intitulé_comptes</replaceable>:\
:charset=<replaceable>jeu_caractères_MIME</replaceable>:\
:lang=<replaceable>nom_locale</replaceable>:\
:tc=default:</programlisting>
<para>Donc si l'on reste sur notre exemple précédent
utilisant le Latin-1, cela donnera quelque chose
comme:</para>
<programlisting>german:German Users Accounts:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO8859-1:\
:tc=default:</programlisting>
<para>Avant de modifier les classes de session des
utilisateurs, exécutez la commande
suivante:</para>
<screen>&prompt.root; <userinput>cap_mkdb /etc/login.conf</userinput></screen>
<para>pour rendre visible à
l'intégralité du système la
nouvelle configuration du fichier
<filename>/etc/login.conf</filename>.</para>
<bridgehead renderas="sect4">Modifier les classes de session avec &man.vipw.8;</bridgehead>
<indexterm>
<primary><command>vipw</command></primary>
</indexterm>
<para>Utilisez <command>vipw</command> pour ajouter de
nouveaux utilisateurs, et créer une entrée
ressemblant à celle-ci:</para>
<programlisting>utilisateur:mot_de_passe:1111:11:<replaceable>langue</replaceable>:0:0:Nom d'utilisateur:/home/utilisateur:/bin/sh</programlisting>
<bridgehead renderas="sect4">Modifier les classes de session avec &man.adduser.8;</bridgehead>
<indexterm>
<primary><command>adduser</command></primary>
</indexterm>
<indexterm><primary>classe de session</primary></indexterm>
<para>Utilisez <command>adduser</command> pour ajouter de
nouveaux utilisateurs, et faites ce qui suit:</para>
<itemizedlist>
<listitem>
<para>Paramétrez <literal>defaultclass =
<replaceable>langue</replaceable></literal> dans
<filename>/etc/adduser.conf</filename>. Gardez à
l'esprit que vous devez dans ce cas entrer une classe par
<literal>default</literal> (défaut) pour tous les
utilisateurs d'autres langues.</para>
</listitem>
<listitem>
<para>Une variante est d'entrer la langue
spécifiée à chaque fois que
&man.adduser.8; affiche
<screen><prompt>Enter login class: default []:</prompt></screen>.</para>
</listitem>
<listitem>
<para>Une autre alternative est d'employer ce qui suit
pour chaque utilisateur de langue différente que vous
désirez ajouter:</para>
<screen>&prompt.root; <userinput>adduser -class <replaceable>langue</replaceable></userinput></screen>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">Modifier les classes de session avec &man.pw.8;</bridgehead>
<indexterm>
<primary><command>pw</command></primary>
</indexterm>
<para>Si vous utilisez &man.pw.8; pour ajouter de nouveaux
utilisateurs, appelez la fonction de cette
manière:</para>
<screen>&prompt.root; <userinput>pw useradd <replaceable>nom_utilisateur</replaceable> -L <replaceable>langue</replaceable></userinput></screen>
</sect5>
</sect4>
<sect4 id="startup-file">
<title>Méthode utilisant les fichiers d'initialisation de
l'interpréteur de commandes</title>
<note>
<para>Cette méthode n'est pas recommandée parce qu'elle
demande une configuration différente pour chaque
interpréteur de commandes choisi. Utilisez la <link
linkend="login-class">méthode utilisant les classes
de session utilisateur</link> à la place.</para>
</note>
<indexterm><primary>MIME</primary></indexterm>
<indexterm><primary>“locales”</primary></indexterm>
<para>Pour ajouter le nom de la “locale” et le jeu
de caractère MIME, positionnez juste les deux variables
d'environnement comme montré ci-dessous dans les fichiers
d'initialisation de l'interpréteur de commandes
<filename>/etc/profile</filename> et/ou
<filename>/etc/csh.login</filename>. Nous utiliserons la
langue allemande comme exemple ci-dessous:</para>
<para>Dans <filename>/etc/profile</filename>:</para>
<programlisting><envar>LANG=de_DE.ISO8859-1; export LANG</envar>
<envar>MM_CHARSET=ISO-8859-1; export MM_CHARSET</envar></programlisting>
<para>Ou dans <filename>/etc/csh.login</filename>:</para>
<programlisting><envar>setenv LANG de_DE.ISO8859-1</envar>
<envar>setenv MM_CHARSET ISO-8859-1</envar></programlisting>
<para>Alternativement, vous pouvez ajouter les instructions
précédentes à
<filename>/usr/share/skel/dot.profile</filename> (similaire
à ce qui fut utilisé dans
<filename>/etc/profile</filename> ci-dessus), ou
<filename>/usr/share/skel/dot.login</filename> (similaire
à ce qui fut utilisé dans
<filename>/etc/csh.login</filename> ci-dessus).</para>
<para>Pour X11:</para>
<para>Dans <filename>$HOME/.xinitrc</filename>:</para>
<programlisting><envar>LANG=de_DE.ISO8859-1; export LANG</envar></programlisting>
<para>Ou:</para>
<programlisting><envar>setenv LANG de_DE.ISO8859-1</envar></programlisting>
<para>En fonction de votre interpréteur de commandes (vois
ci-dessus).</para>
</sect4>
</sect3>
</sect2>
<sect2 id="setting-console">
<title>Configuration de la console</title>
<para>Pour tous les ensembles de jeu de caractères
utilisés par la bibliothèque C,
positionnez les bonnes polices de caractères pour la console
dans <filename>/etc/rc.conf</filename> pour la langue en
question avec:</para>
<programlisting>font8x16=<replaceable>nom_police</replaceable>
font8x14=<replaceable>nom_police</replaceable>
font8x8=<replaceable>nom_police</replaceable></programlisting>
<para>Le <replaceable>nom_police</replaceable> provient ici du
répertoire <filename>/usr/share/syscons/fonts</filename>,
sans le suffixe <filename>.fnt</filename>.</para>
<indexterm>
<primary><application>sysinstall</application></primary>
</indexterm>
<indexterm><primary>table de clavier</primary></indexterm>
<indexterm><primary>table de correspondance d'affichage</primary></indexterm>
<para>Vérifiez également que vous avez
paramétré les bonnes tables de clavier et de
correspondance d'affichage pour votre jeu de caractères C par
l'intermédiaire de <command>sysinstall</command> (<filename>/stand/sysinstall</filename> sous les versions de &os; antérieures à la 5.2).
Une fois dans <application>sysinstall</application>, sélectionnez
<guimenuitem>Configure</guimenuitem>, puis
<guimenuitem>Console</guimenuitem>.
Alternativement, vous pouvez ajouter ce qui suit au fichier
<filename>/etc/rc.conf</filename>:</para>
<programlisting>scrnmap=<replaceable>table_correspondance_affichage</replaceable>
keymap=<replaceable>nom_table_clavier</replaceable>
keychange="<replaceable>numéro_touche_fonction séquence</replaceable>"</programlisting>
<para>La <replaceable>table_correspondance_affichage</replaceable>
ici provient du répertoire
<filename>/usr/share/syscons/scrnmaps</filename> sans le suffixe
<filename>.scm</filename>. Une table de correspondance
d'affichage avec une police de correspondance est
généralement nécessaire pour passer de 8
à 9 bits la matrice de caractère d'une carte VGA
dans une zone pseudo-graphique, i.e., déplacer les lettres en
dehors de cette zone si la police d'écran utilise une colonne de
8 bits.</para>
<para>Si vous avez le “daemon”
<application>moused</application> activé par défaut
grâce à la ligne suivante dans votre
<filename>/etc/rc.conf</filename>:</para>
<programlisting>moused_enable="YES"</programlisting>
<para>alors lisez les informations sur le curseur de souris dans
le paragraphe suivant.</para>
<indexterm>
<primary><application>moused</application></primary>
</indexterm>
<para>Par défaut le curseur du pilote &man.syscons.4; de
la console occupe la zone d'adresses 0xd0-0xd3 dans le jeu de
caractères.
Si votre langue utilise cette zone, vous devez déplacer la zone
du curseur en dehors. Pour effectuer cela sous &os;, ajoutez
la ligne suivante dans <filename>/etc/rc.conf</filename>:</para>
<programlisting>mousechar_start=3</programlisting>
<para>Le <replaceable>nom_table_clavier</replaceable> provient ici
du répertoire <filename>/usr/share/syscons/keymaps</filename>
sans le suffixe <filename>.kbd</filename>. Si vous n'êtes
pas sûr de la table de clavier à utiliser, vous pouvez
employer &man.kbdmap.1; pour tester la table sans avoir à
redémarrer.</para>
<para>Le <literal>keychange</literal> est généralement
utilisé pour programmer les touches de fonction pour
correspondre avec le type de terminal sélectionné
parce que les séquences de touches de fonction ne peuvent
être définies dans la table de clavier.</para>
<para>Soyez également sûr de configurer le type
de console correct dans le fichier <filename>/etc/ttys</filename>
pour toutes les entrées <literal>ttyv*</literal>. Les
correspondances actuellement pré-définies sont:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>Jeu de caractères</entry>
<entry>Type de terminal</entry>
</row>
</thead>
<tbody>
<row>
<entry>ISO8859-1 ou 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 (jeu de caractères VGA par
défaut)</entry>
<entry><literal>cons25</literal></entry>
</row>
<row>
<entry>US-ASCII</entry>
<entry><literal>cons25w</literal></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Pour les langues au caractères étendus ou
multi-octets, utilisez le logiciel porté adéquat
de votre répertoire
<filename>/usr/ports/<replaceable>langue</replaceable></filename>.
Certains logiciels apparaissent comme utilisant la console alors
que le système lui voit un vtty série, par
conséquent vous devez réserver suffisamment de vttys
pour X11 et la console pseudo-série. Voici une liste partielle
des applications pour utiliser d'autres langues sous la
console:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>Langue</entry>
<entry>Emplacement</entry>
</row>
</thead>
<tbody>
<row>
<entry>Chinois traditionnel (BIG-5)</entry>
<entry><filename role="package">chinese/big5con</filename></entry>
</row>
<row>
<entry>Japonais</entry>
<entry><filename role="package">japanese/kon2-16dot</filename> ou
<filename role="package">japanese/mule_freewnn</filename></entry>
</row>
<row>
<entry>Coréen</entry>
<entry><filename role="package">korean/han</filename></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
<sect2>
<title>Configuration d'X11</title>
<para>Bien qu'X11 ne fasse pas partie du projet FreeBSD, nous
avons inclus quelques éléments d'informations
ici pour les utilisateurs de FreeBSD. Pour plus de détails,
référez-vous au <ulink url="http://www.x.org/">site
Web d'&xorg;</ulink> ou à celui du serveur X11 que vous
utilisez.</para>
<para>Dans le fichier <filename>~/.Xresources</filename>, vous
pouvez en plus adapter les paramètres I18N spécifiques
des applications (e.g., polices de caractères, menus,
etc...).</para>
<sect3>
<title>Affichage des polices de caractères</title>
<indexterm><primary>serveur de polices de caractères
True Type pour X11</primary></indexterm>
<para>Installez le serveur <application>&xorg;</application>
(<filename
role="package">x11-servers/xorg-server</filename>) ou le
serveur <application>&xfree86;</application> (<filename
role="package">x11-servers/XFree86-4-Server</filename>),
puis installez les polices de caractères &truetype;
de la langue concernée.
Un paramétrage correct des “locales” devrait vous
permettre de visualiser les menus dans la langue que vous avez
choisie etc.</para>
</sect3>
<sect3>
<title>Saisie de caractères non-anglais</title>
<indexterm><primary>X11 Input Method (XIM)</primary></indexterm>
<para>Le protocole “X11 Input Method” - méthode de
saisie pour X11 (XIM) est un nouveau standard pour tous les
clients X11. Toutes les applications X11 devraient être
écrites en tant que clients XIM qui reçoivent les
entrées de serveurs de saisie XIM. Il existe différents
serveurs XIM disponibles pour différentes langues.</para>
</sect3>
</sect2>
<sect2>
<title>Configuration de l'imprimante</title>
<para>Certains jeux de caractères de la bibliothèque C
sont généralement codés en dur dans les
imprimantes. Les jeux de caractères étendus ou
multi-octets demandent une configuration spéciale et nous
recommandons d'utiliser <application>apsfilter</application>.
Vous pouvez également convertir le document en format &postscript;
ou PDF en utilisant des convertisseurs spécifiques à la
langue.</para>
</sect2>
<sect2>
<title>Noyau et systèmes de fichiers</title>
<para>Le système de fichiers rapide de FreeBSD (FFS) est complètement
sur 8 bits, et peut donc être utilisé avec n'importe quel
jeu de caractères de la bibliothèque C (voir
&man.multibyte.3;), mais il n'y a aucun jeu de caractères de
stocké dans le système de fichiers; i.e., c'est du 8
bits brut et le système ne sait rien sur l'ordre du codage.
Officiellement, le FFS ne supporte encore aucun jeu de
caractères étendus ou multi-octets.
Cependant, certains jeux de caractères étendus ou
multi-octets disposent de correctifs indépendants
pour FFS activant un tel support. Ce sont seulement des
solutions temporaires non portables ou des
“bidouilles” et nous avons décidé
de ne pas les inclure dans l'arborescence des sources.
Référez-vous aux sites Internet des langues respectives
pour plus d'informations et pour les correctifs.</para>
<indexterm><primary>DOS</primary></indexterm>
<indexterm><primary>Unicode</primary></indexterm>
<para>Le support FreeBSD du système fichiers &ms-dos; a la
capacité paramétrable de faire la conversion entre
jeux de caractères &ms-dos;, Unicode et les jeux de
caractères choisis pour le système de fichiers FreeBSD.
Voir la page de manuel &man.mount.msdosfs.8; pour plus de
détails.</para>
</sect2>
</sect1>
<sect1 id="l10n-compiling">
<title>Compiler des programmes I18N</title>
<para>De nombreux logiciels ont été portés
pour FreeBSD avec le support I18N. Certains d'entre eux sont
identifiés avec -I18N dans le nom du logiciel porté.
Ces derniers et beaucoup d'autres programmes intègrent le
support I18N et ne nécessitent aucune considération
spéciale.</para>
<indexterm>
<primary><application>MySQL</application></primary>
</indexterm>
<para>Cependant, certaines applications comme
<application>MySQL</application> nécessitent d'avoir un fichier
<filename>Makefile</filename> configuré avec le jeu de
caractères spécifiques. Ceci est en
général fait dans le <filename>Makefile</filename>
ou effectué en passant une valeur à <application>configure</application> dans les
sources.</para>
</sect1>
<sect1 id="lang-setup">
<title>Localiser FreeBSD pour des langues spécifiques</title>
<sect2 id="ru-localize">
<sect2info>
<authorgroup>
<author>
<firstname>Andrey</firstname>
<surname>Chernov</surname>
<contrib>Contribution originelle de </contrib>
</author>
</authorgroup>
</sect2info>
<title>Russe (codage KOI8-R)</title>
<indexterm>
<primary>localisation</primary>
<secondary>russe</secondary>
</indexterm>
<para>Pour plus d'informations sur le codage KOI8-R, consultez les
<ulink url="http://koi8.pp.ru/">Références KOI8-R
(Jeu de caractères russes pour Internet)</ulink>.</para>
<sect3>
<title>Configuration des “locales”</title>
<para>Ajoutez les lignes suivantes dans votre fichier
<filename>~/.login_conf</filename>:</para>
<programlisting>me:My Account:\
:charset=KOI8-R:\
:lang=ru_RU.KOI8-R:</programlisting>
<para>Voir plus haut dans ce chapitre pour des exemples de
configuration des <link
linkend="setting-locale">“locales”</link>.</para>
</sect3>
<sect3>
<title>Configuration de la console</title>
<itemizedlist>
<listitem>
<para>Ajoutez la ligne suivante à votre fichier
<filename>/etc/rc.conf</filename>:</para>
<programlisting>mousechar_start=3</programlisting>
</listitem>
<listitem>
<para>Ajoutez également les paramétres suivants dans
<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>Pour chaque entrée <literal>ttyv*</literal>
dans <filename>/etc/ttys</filename>, utilisez
<literal>cons25r</literal> comme type de terminal.</para>
</listitem>
</itemizedlist>
<para>Voir plus haut dans ce chapitre pour des exemples de
configuration de la
<link linkend="setting-console">console</link>.</para>
</sect3>
<sect3>
<title>Configuration de l'imprimante</title>
<indexterm><primary>imprimantes</primary></indexterm>
<para>Comme la plupart des imprimantes avec un jeu de
caractères russes ont un “code page”
matériel CP866, un filtre de sortie spécial pour
la conversion du KOI8-R vers le CP866 est nécessaire.
Un tel filtre est installé par défaut sous
<filename>/usr/libexec/lpr/ru/koi2alt</filename>.
Une entrée de <filename>/etc/printcap</filename> pour
imprimante russe devra ressembler à:</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>Consultez la page de manuel &man.printcap.5; pour plus de
détails.</para>
</sect3>
<sect3>
<title>Système de fichiers &ms-dos; et noms de fichiers
russes</title>
<para>L'exemple suivant d'entrée du fichier &man.fstab.5;
active le support des noms de fichiers russes sur les
systèmes de fichiers &ms-dos; montés:</para>
<programlisting>/dev/ad0s2 /dos/c msdos rw,-Wkoi2dos,-Lru_RU.KOI8-R 0 0</programlisting>
<para>L'option <option>-L</option> la “locale”
utilisée, et <option>-W</option> fixe la table de
conversion de caractères. Pour utiliser l'option
<option>-W</option> assurez-vous de monter <filename
role='directory'>/usr</filename> avant la partition &ms-dos;,
car en effet les tables de conversion sont situées
dans le répertoire <filename
role='directory'>/usr/libdata/msdosfs</filename>. Pour plus
d'informations, consultez la page de manuel
&man.mount.msdosfs.8;.</para>
</sect3>
<sect3>
<title>Configuration de X11</title>
<orderedlist>
<listitem>
<para>Effectuez tout d'abord la configuration des
<link linkend="setting-locale">“locales”</link>
comme décrit plus haut dans ce chapitre.</para>
</listitem>
<listitem>
<para>Si vous utilisez <application>&xorg;</application>,
installez le paquetage <filename
role="package">x11-fonts/xorg-fonts-cyrillic</filename>.</para>
<para>Contrôlez la section <literal>"Files"</literal>
de votre fichier <filename>/etc/X11/xorg.conf</filename>.
Les lignes suivantes doivent être ajoutées
<emphasis>avant</emphasis> toute autre entrée
<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>Si vous utilisez un mode vidéo haute
résolution, intervertissez les lignes 75 dpi et 100
dpi.</para>
<note>
<para>Consultez le catalogue des logiciels portés
pour plus de fontes cyrilliques.</para>
</note>
</listitem>
<listitem>
<para>Pour mettre en service un clavier russe, ajoutez ce
qui suit à la section <literal>"Keyboard"</literal>
de votre fichier <filename>xorg.conf</filename>:</para>
<programlisting>Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:toggle"</programlisting>
<para>Vérifiez également que
<literal>XkbDisable</literal> est désactivé (mis en
commentaire).</para>
<para>Pour l'option <literal>grp:caps_toggle</literal> le passage de russe à latin se fera par
l'intermédiaire de <keycap>Right Alt</keycap>,
pour <literal>grp:ctrl_shift_toggle</literal>, le
passage se fera à l'aide de la séquence
<keycombo
action="simul"><keycap>Ctrl</keycap><keycap>Shift</keycap></keycombo>.
L'ancienne fonctionnalitée de la touche
<keycap>CapsLock</keycap> est toujours disponible via
<keycombo
action="simul"><keycap>Shift</keycap><keycap>CapsLock</keycap></keycombo>
(en mode latin uniquement). Pour l'option
<literal>grp:toggle</literal> le passage du russe au
latin se fera par l'intermédiaire de la touche
<keycap>Right Alt</keycap>. L'option
<literal>grp:caps_toggle</literal> ne fonctionne pas
sous <application>&xorg;</application> pour une raison
inconnue.</para>
<para>Si vous disposez de touches “&windows;” sur
votre clavier, et que vous constatez que certaines touches
non-alphabétiques ne sont pas appariées
correctement en mode russe, ajoutez la ligne suivante à
votre fichier <filename>xorg.conf</filename>:</para>
<programlisting>Option "XkbVariant" ",winkeys"</programlisting>
<note>
<para>Le clavier russe XKB peut ne pas fonctionner avec
des applications non localisées.</para>
</note>
</listitem>
</orderedlist>
<note>
<para>localisées. Pour être un minimum
localisée, une application devrait appeler la
fonction <function>XtSetLanguageProc (NULL, NULL,
NULL);</function> assez tôt dans le
programme.</para>
<para>Consulter <ulink
url="http://koi8.pp.ru/xwin.html">KOI8-R pour X
Window</ulink> pour plus d'instructions sur la
localisation des applications pour X11.</para>
</note>
</sect3>
</sect2>
<sect2>
<title>Localisation du chinois traditionnel pour Taiwan</title>
<indexterm>
<primary>localisation</primary>
<secondary>chinois traditionnel</secondary>
</indexterm>
<para>Le projet FreeBSD taiwanais dispose d'un guide
sur FreeBSD en chinois à l'adresse <ulink
url="http://netlab.cse.yzu.edu.tw/~statue/freebsd/zh-tut/"></ulink>
utilisant de nombreuses applications du répertoire
<filename>chinese</filename> du catalogue des logiciels portés.
Le rédacteur du guide sur &os; en chinois est Shen
Chuan-Hsing
<email>statue@freebsd.sinica.edu.tw</email>.</para>
<para>Chuan-Hsing Shen <email>statue@freebsd.sinica.edu.tw</email> a
créé la <ulink
url="http://netlab.cse.yzu.edu.tw/~statue/cfc/">collection FreeBSD chinoise
(CFC)</ulink> de logiciels en utilisant le document
<literal>zh-L10N-tut</literal> taiwanais. Les logiciels
pré-compilés et les fichiers de procédures
sont disponibles à l'adresse <ulink
url="ftp://freebsd.csie.nctu.edu.tw/pub/taiwan/CFC/"></ulink>.</para>
</sect2>
<sect2>
<title>Localisation pour la langue allemande (valable également
pour tous les langues respectant le standard ISO 8859-1)</title>
<indexterm>
<primary>localisation</primary>
<secondary>allemand</secondary>
</indexterm>
<para>Slaven Rezic <email>eserte@cs.tu-berlin.de</email> a
rédigé un guide sur l'utilisation des
“umlauts” sur une machine FreeBSD. Le guide est
écrit en allemand et est disponible sur <ulink
url="http://user.cs.tu-berlin.de/~eserte/FreeBSD/doc/umlaute/umlaute.html"></ulink>.</para>
</sect2>
<sect2>
<title>Localisation pour le japonais et le coréen</title>
<indexterm>
<primary>localisation</primary>
<secondary>japonaise</secondary>
</indexterm>
<indexterm>
<primary>localisation</primary>
<secondary>coréenne</secondary>
</indexterm>
<para>Pour le japonais, référez-vous à
<ulink
url="http://www.jp.FreeBSD.org/"></ulink>,
et pour le coréen à <ulink
url="http://www.kr.FreeBSD.org/"></ulink>.</para>
</sect2>
<sect2>
<title>Documentation FreeBSD dans d'autres langues que
l'anglais</title>
<para>Certains contributeurs à FreeBSD ont traduit
des parties de la documentation FreeBSD dans d'autres langues.
Les traductions sont disponibles grâce à
des liens sur le <ulink url="&url.base;/index.html">site
principal</ulink> ou dans
<filename>/usr/share/doc</filename>.</para>
</sect2>
</sect1>
</chapter>
|