<!--
     The FreeBSD Documentation Project
     The FreeBSD French Documentation Project

     $FreeBSD$
     Original revision: 1.95
-->

<chapter id="l10n">
  <chapterinfo>
    <authorgroup>
      <author>
	<firstname>Andrey A.</firstname>
	<surname>Chernov</surname>
	<contrib>Contribution de </contrib>
      </author>
    </authorgroup>
    <authorgroup>
      <author>
	<firstname>Michael C.</firstname>
	<surname>Wu</surname>
	<contrib>R&eacute;&eacute;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 &agrave; tr&egrave;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&eacute;mentation
      i18n au niveau syst&egrave;me et application, et quand ce sera possible
      nous renverrons le lecteur &agrave; des sources de documentation plus
      sp&eacute;cifiques.</para>

    <para>Apr&egrave;s la lecture de ce chapitre, vous
      conna&icirc;trez:</para>
    <itemizedlist>
      <listitem><para>Comment les diff&eacute;rentes langues et
	&ldquo;locales&rdquo; sont cod&eacute;es sur les syst&egrave;mes
	d'exploitation modernes.</para></listitem>
      <listitem><para>Comment param&eacute;trer les &ldquo;locales&rdquo;
	pour votre interpr&eacute;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&egrave;me X Window efficacement avec
	diff&eacute;rentes langues.</para></listitem>
      <listitem><para>O&ugrave; trouver plus d'informations sur
	l'&eacute;criture d'applications conformes &agrave; 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></indexterm>
    <indexterm><primary>localisation</primary></indexterm>

      <para>Les d&eacute;veloppeurs ont raccourci le terme
	internationalisation en I18N, en comptant le nombre de lettres
	entre la premi&egrave;re et la derni&egrave;re du mot
	internationalisation.  L10N utilise le m&ecirc;me principe,
	et provient du mot &ldquo;localisation&rdquo;.
	Combin&eacute;es ensemble, les m&eacute;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&eacute;es en
	utilisant des kits I18N par dessous les biblioth&egrave;ques.
	Cela permet aux d&eacute;veloppeurs d'&eacute;crire un
	simple fichier et traduire les menus et textes affich&eacute;s
	dans chaque langue.  Nous encourageons fortement les
	programmeurs &agrave; suivre cette convention.</para>
    </sect2>

    <sect2>
      <title>Pourquoi devrais-je employer l'I18N/L10N?</title>

      <para>I18N/L10N est utilis&eacute; &agrave; chaque fois que
	vous d&eacute;sirez afficher, entrer, ou traiter des donn&eacute;es
	dans des langues autres que l'anglais.</para>
    </sect2>

    <sect2>
      <title>Quelles sont les langues support&eacute;es par l'I18N?</title>

      <para>I18N et L10N ne sont pas sp&eacute;cifiques &agrave; 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&eacute;en, le fran&ccedil;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&eacute;cifique
      &agrave; FreeBSD et est une convention.  Nous vous encourageons
      &agrave; aider FreeBSD &agrave; suivre cette convention.</para>
    <indexterm><primary>locale</primary></indexterm>

    <para>Le param&eacute;trage des &ldquo;locales&rdquo; est bas&eacute;
      sur trois termes principaux: le code de la langue, le code du
      pays, et le codage des caract&egrave;res. Les noms de
      &ldquo;locales&rdquo; sont construits &agrave; partir de ces trois
      &eacute;l&eacute;ments comme suit:</para>

    <programlisting><replaceable>CodeLangue</replaceable>_<replaceable>CodePays</replaceable>.<replaceable>CodageCaract&egrave;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&egrave;me FreeBSD pour une langue
	sp&eacute;cifique (ou tout autre &unix; supportant l'I18N),
	l'utilisateur doit d&eacute;terminer les codes sp&eacute;cifiques
	pour le pays et la langue (les codes pays indiquent aux
	applications quelle variation d'une langue donn&eacute;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">
	<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&egrave;res</title>
      <indexterm><primary>codages des caract&egrave;res</primary></indexterm>
      <indexterm><primary>ASCII</primary></indexterm>

      <para>Certaines langues utilisent les codages non-ASCII sur 8 bits
	ou codent des caract&egrave;res sur plusieurs octets, voir
	&man.multibyte.3; pour plus de d&eacute;tails.  Les vieilles
	applications ne les reconnaissent pas ou les remplacent &agrave;
	tord par des caract&egrave;res de contr&ocirc;le.  Les applications
	r&eacute;centes reconnaissent normalement les caract&egrave;res 8 bits.
	En fonction de l'impl&eacute;mentation, les utilisateurs devront
	peut &ecirc;tre compiler une application avec le support des
	caract&egrave;res sur 8 bits ou multi-octets, ou la configurer
	correctement.  Afin d'accepter l'usage et le traitement de tels
	caract&egrave;res, le <ulink
	url="../../../../ports/index.html">catalogue des logiciels
	port&eacute;s de FreeBSD</ulink> fournit pour certains programmes une
	version dans chaque langue.  R&eacute;f&eacute;rez-vous &agrave;
	la documentation I18N de chaque logiciel port&eacute;
	respectif.</para>

      <para>Sp&eacute;cifiquement, l'utilisateur doit consulter la
	documentation de l'application pour d&eacute;cider de comment
	la configurer correctement ou comment passer les valeurs
	correctes &agrave; la proc&eacute;dure configure, au
	<filename>Makefile</filename> ou au compilateur.</para>

      <para>Quelques &eacute;l&eacute;ments &agrave; garder &agrave;
	l'esprit sont:</para>

      <itemizedlist>
	<listitem>
	  <para>Les jeux de caract&egrave;res au codage simple
	    des caract&egrave;res de la biblioth&egrave;que C (voir
	    &man.multibyte.3;), e.g., ISO-8859-1, ISO-8859-15, KOI8-R,
	    CP437.</para>
	</listitem>

	<listitem>
	  <para>Les codages &eacute;tendus ou multi-octets, e.g. EUC,
	    Big5.</para>
	</listitem>
      </itemizedlist>

      <para>Vous pouvez contr&ocirc;ler la liste des jeux de
	caract&egrave;res actuellement actifs dans le
	<ulink
	url="http://www.iana.org/assignments/character-sets">registre
	de l'IANA</ulink>.</para>

      <note>
      <para>FreeBSD version 4.5 et ult&eacute;rieure utilise &agrave; la
	place un codage des &ldquo;locales&rdquo; compatible avec
	X11.</para>
      </note>

    </sect2>

    <sect2>
      <title>Applications I18N</title>

      <para>Dans le syst&egrave;me de logiciels port&eacute;s et
	pr&eacute;-compil&eacute;s de FreeBSD, les applications I18N ont
	&eacute;t&eacute; nomm&eacute;es avec <literal>I18N</literal> dans
	leur nom pour une identification ais&eacute;e.  Cependant, elles
	ne supportent pas toujours la langue d&eacute;sir&eacute;e.</para>
    </sect2>

    <sect2 id="setting-locale">
      <title>Configurer les &ldquo;locales&rdquo;</title>

      <para>G&eacute;n&eacute;ralement il est suffisant
	d'exporter le nom de la &ldquo;locale&rdquo; gr&acirc;ce &agrave;
	la variable <envar>LANG</envar> sous l'interpr&eacute;teur
	de commandes utilis&eacute; lors de la session. Cela
	pourra &ecirc;tre fait dans le fichier
	<filename>~/.login_conf</filename> de l'utilisateur ou le
	fichier de configuration de l'interpr&eacute;teur de commandes
	de l'utilisateur (<filename>~/.profile</filename>,
	<filename>~/.bashrc</filename>,	<filename>~/.cshrc</filename>).
	Il n'est pas n&eacute;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&eacute;cifique &agrave; votre langue pour plus d'informations.<para>

      <para>Vous devrez configurer les deux variables d'environnement
	suivantes dans vos fichiers de configuration:</para>

      <itemizedlist>
        <indexterm><primary>POSIX</primary></indexterm>
        <listitem>
	  <para><envar>LANG</envar> pour la famille de fonctions &posix;
	    &man.setlocale.3;</para>
	</listitem>

        <indexterm><primary>MIME</primary></indexterm>
	<listitem>
	  <para><envar>MM_CHARSET</envar> pour le jeu de caract&egrave;res MIME
	    des applications</para>
	</listitem>
      </itemizedlist>

      <para>Cela comprend la configuration de l'interpr&eacute;teur de
	commandes, la configuration sp&eacute;cifique des applications, et
	celle de X11.</para>

      <sect3>
	<title>M&eacute;thodes de configuration des
	  &ldquo;locales&rdquo;</title>
        <indexterm><primary>&ldquo;locales&rdquo;</primary></indexterm>
        <indexterm><primary>classe de session</primary></indexterm>

	<para>Il existe deux m&eacute;thodes pour configurer les
	  &ldquo;locales&rdquo;, elles sont d&eacute;crites ci-dessous.  La
	  premi&egrave;re (celle qui est recommand&eacute;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&eacute;trage des variables d'environnement
	  dans les <link linkend="startup-file">fichiers
	  d'initialisation</link> de l'interpr&eacute;teur de commandes du
	  syst&egrave;me.</para>

	<sect4 id="login-class">
	  <title>M&eacute;thode utilisant les classes de session
	    utilisateur</title>

	  <para>Cette m&eacute;thode permet d'assigner une fois pour toute
	    les variables d'environnement n&eacute;cessaires pour le nom
	    des &ldquo;locales&rdquo; et le jeu de caract&egrave;res MIME et
	    cela pour toutes les sessions au lieu de le faire &agrave; chaque
	    nouvelle session par l'interm&eacute;diaire de la configuration
	    des fichiers d'initialisation de l'interpr&eacute;teur de
	    commandes.  La <link linkend="usr-setup">configuration au
	    niveau utilisateur</link> peut &ecirc;tre faite par
	    l'utilisateur lui-m&ecirc;me et la <link
	    linkend="adm-setup">configuration au niveau
	    administrateur</link> demande les privil&egrave;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&eacute;pertoire
	      personnel d'un utilisateur, fichier qui a les deux
	      variables fix&eacute;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&eacute;mentaires
	       param&eacute;tr&eacute;es
	       parce que certains logiciels ne respectent pas les
	       variables des &ldquo;locales&rdquo; correctement pour le
	       chinois, le japonais, et le cor&eacute;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:\
	: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": #Setting 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&eacute;tails.</para>
	  </sect5>

	  <sect5 id="adm-setup">
	    <title>Configuration au niveau administrateur</title>

	    <para>V&eacute;rifiez que que la classe de session d'utilisateur dans <filename>/etc/login.conf</filename>
	      fixe la bonne langue.
	      Soyez s&ucirc;r que ces param&egrave;tres
	      apparaissent dans <filename>/etc/login.conf</filename>:</para>

	    <programlisting><replaceable>nom_langue</replaceable>:<replaceable>intitul&eacute;_comptes</replaceable>:\
	:charset=<replaceable>jeu_caract&egrave;res_MIME</replaceable>:\
	:lang=<replaceable>nom_locale</replaceable>:\
	:tc=default:</programlisting>

	    <para>Donc si l'on reste sur notre exemple pr&eacute;c&eacute;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>

	    <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&eacute;er une entr&eacute;e
	      ressemblant &agrave; 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&eacute;trez <literal>defaultclass =
		  <replaceable>langue</replaceable></literal> dans
		  <filename>/etc/adduser.conf</filename>.  Gardez &agrave;
		  l'esprit que vous devez dans ce cas entrer une classe par
		  <literal>default</literal> (d&eacute;faut) pour tous les
		  utilisateurs d'autres langues.</para>
	      </listitem>

	      <listitem>
		<para>Une variante est d'entrer la langue
		  sp&eacute;cifi&eacute;e &agrave; 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&eacute;rente que vous
		  d&eacute;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&egrave;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&eacute;thode utilisant les fichiers d'initialisation de
	    l'interpr&eacute;teur de commandes</title>

	  <note>
	    <para>Cette m&eacute;thode n'est pas recommand&eacute;e parce qu'elle
	      demande une configuration diff&eacute;rente pour chaque
	      interpr&eacute;teur de commandes choisi.  Utilisez la <link
	      linkend="login-class">m&eacute;thode utilisant les classes
	      de session utilisateur</link> &agrave; la place.</para>
	  </note>

	  <indexterm><primary>MIME</primary></indexterm>
	  <indexterm><primary>&ldquo;locales&rdquo;</primary></indexterm>
	  <para>Pour ajouter le nom de la &ldquo;locale&rdquo; et le jeu
	    de caract&egrave;re MIME, positionnez juste les deux variables
	    d'environnement comme montr&eacute; ci-dessous dans les fichiers
	    d'initialisation de l'interpr&eacute;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&eacute;c&eacute;dentes &agrave;
	    <filename>/usr/share/skel/dot.profile</filename> (similaire
	    &agrave; ce qui fut utilis&eacute; dans
	    <filename>/etc/profile</filename> ci-dessus), ou
	    <filename>/usr/share/skel/dot.login</filename> (similaire
	    &agrave; ce qui fut utilis&eacute; 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&eacute;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&egrave;res
	utilis&eacute;s par la biblioth&egrave;que C,
	positionnez les bonnes polices de caract&egrave;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&eacute;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&eacute;rifiez &eacute;galement que vous avez
	param&eacute;tr&eacute; les bonnes tables de clavier et de
	correspondance d'affichage pour votre jeu de caract&egrave;res C par
	l'interm&eacute;diaire de <filename>/stand/sysinstall</filename>.
	Une fois dans <application>sysinstall</application>, s&eacute;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&eacute;ro_touche_fonction s&eacute;quence</replaceable>"</programlisting>

      <para>La <replaceable>table_correspondance_affichage</replaceable>
	ici provient du r&eacute;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&eacute;n&eacute;ralement n&eacute;cessaire pour passer de 8
	&agrave; 9 bits la matrice de caract&egrave;re d'une carte VGA
	dans une zone pseudo-graphique, i.e., d&eacute;placer les lettres en
	dehors de cette zone si la police d'&eacute;cran utilise une colonne de
	8 bits.</para>

      <para>Si vous avez le &ldquo;daemon&rdquo;
	<application>moused</application> activ&eacute; par d&eacute;faut
	gr&acirc;ce &agrave; 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&eacute;faut le curseur du pilote &man.syscons.4; de
	la console occupe la zone d'adresses 0xd0-0xd3 dans le jeu de
	caract&egrave;res.
	Si votre langue utilise cette zone, vous devez d&eacute;placer la zone
	du curseur en dehors.  Pour activer cela sous les versions de
	FreeBSD ant&eacute;rieures &agrave; la version 5.0, ajoutez la ligne
	suivante dans votre fichier de configuration du noyau:</para>

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

      <para>Pour les versions de FreeBSD 4.4 et ult&eacute;rieures 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&eacute;pertoire <filename>/usr/share/syscons/keymaps</filename>
	sans le suffixe <filename>.kbd</filename>.  Si vous n'&ecirc;tes
	pas s&ucirc;r de la table de clavier &agrave; utiliser, vous pouvez
	employer &man.kbdmap.1; pour tester la table sans avoir &agrave;
	red&eacute;marrer.</para>

      <para>Le <literal>keychange</literal> est g&eacute;n&eacute;ralement
	utilis&eacute; pour programmer les touches de fonction pour
	correspondre avec le type de terminal s&eacute;lectionn&eacute;
	parce que les s&eacute;quences de touches de fonction ne peuvent
	&ecirc;tre d&eacute;finies dans la table de clavier.</para>

      <para>Soyez &eacute;galement s&ucirc;r de configurer le type
	de console correct dans le fichier <filename>/etc/ttys</filename>
	pour toutes les entr&eacute;es <literal>ttyv*</literal>.  Les
	correspondances actuellement pr&eacute;-d&eacute;finies sont:</para>

      <informaltable frame="none">
	<tgroup cols="2">
	  <thead>
	    <row>
	      <entry>Jeu de caract&egrave;res</entry>
	      <entry>Type de terminal</entry>
	    </row>
	  </thead>

	  <tbody>
	    <row>
	      <entry>ISO-8859-1 ou 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 (jeu de caract&egrave;res VGA par
		d&eacute;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&egrave;res &eacute;tendus ou
	multi-octets, utilisez le logiciel port&eacute; ad&eacute;quat
	de votre r&eacute;pertoire
	<filename>/usr/ports/<replaceable>langue</replaceable></filename>.
	Certains logiciels apparaissent comme utilisant la console alors
	que le syst&egrave;me lui voit un vtty s&eacute;rie, par
	cons&eacute;quent vous devez r&eacute;server suffisamment de vttys
	pour X11 et la console pseudo-s&eacute;rie.  Voici une liste partielle
	des applications pour utiliser d'autres langues sous la
	console:</para>

      <informaltable frame="none">
	<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/ja-kon2-*</filename> or
	        <filename role="package">japanese/Mule_Wnn</filename></entry>
	    </row>

	    <row>
	      <entry>Cor&eacute;en</entry>
	      <entry><filename role="package">korean/ko-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 &eacute;l&eacute;ments d'informations
	ici pour les utilisateurs de FreeBSD.  Pour plus de d&eacute;tails,
	r&eacute;f&eacute;rez-vous au <ulink url="http://www.xfree86.org/">site
	Web d'&xfree86;</ulink>.</para>

      <para>Dans le fichier <filename>~/.Xresources</filename>, vous
	pouvez en plus adapter les param&egrave;tres I18N sp&eacute;cifiques
	des applications (e.g., polices de caract&egrave;res, menus,
	etc...).</para>

      <sect3>
	<title>Affichage des polices de caract&egrave;res</title>
	<indexterm><primary>serveur de polices de caract&egrave;res
	  True Type pour X11</primary></indexterm>
	<para>Installez le serveur de polices de caract&egrave;res &truetype;
	  d'X11 (<filename role="package">x11-servers/XttXF86srv-common</filename>) et installez les polices &truetype; de la langue.
	  Un param&eacute;trage correct des &ldquo;locales&rdquo; devrait vous
	  permettre de visualiser les menus dans la langue que vous avez
	  choisie etc...</para>
      </sect3>

      <sect3>
	<title>Saisie de caract&egrave;res non-anglais</title>
	<indexterm><primary>X11 Input Method (XIM)</primary></indexterm>
	<para>Le protocole &ldquo;X11 Input Method&rdquo; - m&eacute;thode de
	  saisie pour X11 (XIM) est un nouveau standard pour tous les
	  clients X11.  Toutes les applications X11 devraient &ecirc;tre
	  &eacute;crites en tant que clients XIM qui re&ccedil;oivent les
	  entr&eacute;es de serveurs de saisie XIM.  Il existe diff&eacute;rents
	  serveurs XIM disponibles pour diff&eacute;rentes langues.</para>
      </sect3>
    </sect2>

    <sect2>
      <title>Configuration de l'imprimante</title>

      <para>Certains jeux de caract&egrave;res de la biblioth&egrave;que C
	sont g&eacute;n&eacute;ralement cod&eacute;s en dur dans les
	imprimantes.  Les jeux de caract&egrave;res &eacute;tendus ou
	multi-octets demandent une configuration sp&eacute;ciale et nous
	recommandons d'utiliser <application>apsfilter</application>.
	Vous pouvez &eacute;galement convertir le document en format &postscript;
	ou PDF en utilisant des convertisseurs sp&eacute;cifiques &agrave; la
	langue.</para>
    </sect2>

    <sect2>
      <title>Noyau et syst&egrave;mes de fichiers</title>

      <para>Le syst&egrave;me de fichiers rapide de FreeBSD (FFS) est compl&egrave;tement
	sur 8 bits, et peut donc &ecirc;tre utilis&eacute; avec n'importe quel
	jeu de caract&egrave;res de la biblioth&egrave;que C (voir
	&man.multibyte.3;), mais il n'y a aucun jeu de caract&egrave;res de
	stock&eacute; dans le syst&egrave;me de fichiers; i.e., c'est du 8
	bits brut et le syst&egrave;me ne sait rien sur l'ordre du codage.
	Officiellement, le FFS ne supporte encore aucun jeu de
	caract&egrave;res &eacute;tendus ou multi-octets.
	Cependant, certains jeux de caract&egrave;res &eacute;tendus ou
	multi-octets disposent de correctifs ind&eacute;pendants
	pour FFS activant un tel support.  Ce sont seulement des
	solutions temporaires non portables ou des
	&ldquo;bidouilles&rdquo; et nous avons d&eacute;cid&eacute;
	de ne pas les inclure dans l'arborescence des sources.
	R&eacute;f&eacute;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&egrave;me fichiers &ms-dos; a la
	capacit&eacute; param&eacute;trable de faire la conversion entre
	jeux de caract&egrave;res &ms-dos;, Unicode et les jeux de
	caract&egrave;res choisis pour le syst&egrave;me de fichiers FreeBSD.
	Voir la page de manuel &man.mount.msdos.8; pour plus de
	d&eacute;tails.</para>
    </sect2>
  </sect1>

  <sect1 id="l10n-compiling">
    <title>Compiler des programmes I18N</title>

    <para>De nombreux logiciels ont &eacute;t&eacute; port&eacute;s
      pour FreeBSD avec le support I18N.  Certains d'entre eux sont
      identifi&eacute;s avec -I18N dans le nom du logiciel port&eacute;.
      Ces derniers et beaucoup d'autres programmes int&egrave;grent le
      support I18N et ne n&eacute;cessitent aucune consid&eacute;ration
      sp&eacute;ciale.</para>

    <indexterm>
      <primary><application>MySQL</application></primary>
    </indexterm>
    <para>Cependant, certaines applications comme
      <application>MySQL</application> n&eacute;cessitent d'avoir un fichier
      <filename>Makefile</filename> configur&eacute; avec le jeu de
      caract&egrave;res sp&eacute;cifiques.  Ceci est en
      g&eacute;n&eacute;ral fait dans le <filename>Makefile</filename>
      ou effectu&eacute; en passant une valeur &agrave; <application>configure</application> dans les
      sources.</para>
  </sect1>

  <sect1 id="lang-setup">
    <title>Localiser FreeBSD pour des langues sp&eacute;cifiques</title>

    <sect2 id="ru-localize">
      <sect2info>
	<authorgroup>
	  <author>
	    <firstname>Andrey A.</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&eacute;f&eacute;rences KOI8-R
	(Jeu de caract&egrave;res russes pour Internet)</ulink>.</para>

      <sect3>
	<title>Configuration des &ldquo;locales&rdquo;</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">&ldquo;locales&rdquo;</link>.</para>
      </sect3>

      <sect3>
	<title>Configuration de la console</title>

	<itemizedlist>
	  <listitem>
	    <para>Pour les versions de FreeBSD ant&eacute;rieures &agrave;
	      la 5.0 ajoutez la ligne suivante &agrave; votre fichier de
	      configuration du noyau:</para>

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

	    <para>Pour les versions de FreeBSD 4.4 et sup&eacute;rieures
	      ajoutez la ligne suivante dans
	      <filename>/etc/rc.conf</filename>:</para>

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

	  <listitem>
	    <para>Utilisez les param&eacute;trages 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&eacute;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&egrave;res russes ont un &ldquo;code page&rdquo;
	  mat&eacute;riel CP866, un filtre de sortie sp&eacute;cial pour
	  la conversion du KOI8-R vers le CP866 est n&eacute;cessaire.
	  Un tel filtre est install&eacute; par d&eacute;faut sous
	  <filename>/usr/libexec/lpr/ru/koi2alt</filename>.
	  Une entr&eacute;e de <filename>/etc/printcap</filename>  pour
	  imprimante russe devra ressembler &agrave;:</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&eacute;tails.</para>
      </sect3>

      <sect3>
	<title>Syst&egrave;me de fichiers &ms-dos; et noms de fichiers
	  russes</title>

	<para>L'exemple suivant d'entr&eacute;e du fichier &man.fstab.5;
	  active le support des noms de fichiers russes sur les
	  syst&egrave;mes de fichiers &ms-dos; mont&eacute;s:</para>

	<programlisting>/dev/ad0s2      /dos/c  msdos   rw,-Wkoi2dos,-Lru_RU.KOI8-R 0 0</programlisting>

	<para>L'option <option>-L</option> la &ldquo;locale&rdquo;
	  utilis&eacute;e, et <option>-W</option> fixe la table de
	  conversion de caract&egrave;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&eacute;es
	  dans le r&eacute;pertoire <filename
	  role='directory'>/usr/libdata/msdosfs</filename>.  Pour plus
	  d'informations, consultez la page de manuel
	  &man.mount.msdos.8;.</para>
      </sect3>

      <sect3>
	<title>Configuration de X11</title>

	<orderedlist>
	  <listitem>
	    <para>Effectuez tout d'abord la configuration des
	      <link linkend="setting-locale">&ldquo;locales&rdquo;</link>
	      comme d&eacute;crit plus haut dans ce chapitre.</para>

	    <note>
	      <para><anchor id="russian-note">Les &ldquo;locales&rdquo;
		russe KOI8-R peuvent ne pas fonctionner avec d'anciennes
		versions d'<application>&xfree86;</application>
		(ant&eacute;rieures &agrave; 3.3).
		<application>&xfree86; 4.X</application> est maintenant la
		version par d&eacute;faut du syst&egrave;me X Window sous
		FreeBSD. Cela ne devrait pas &ecirc;tre un probl&egrave;me
		&agrave; moins d'utiliser une vieille version de
		FreeBSD.</para>
	    </note>
	  </listitem>

	  <listitem>
	    <para>Allez dans le r&eacute;pertoire
	      <filename role="package">russian/X.language</filename> et
	      tapez la commande:</para>

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

	    <para>Cela installe la derni&egrave;re version des polices de
	      caract&egrave;res KOI8-R.
	      <application>&xfree86; 3.3</application> dispose d&eacute;j&agrave;
	      de certaines polices KOI8-R, mais les pr&eacute;c&eacute;dentes
	      donnent un meilleur r&eacute;sultat lors d'un
	      redimensionnement.</para>

	    <para>Contr&ocirc;lez la section <literal>"Files"</literal>
	      de votre fichier <filename>/etc/XF86Config</filename>.
	      Les lignes suivantes doivent &ecirc;tre ajout&eacute;es
	      <emphasis>avant</emphasis> toute autre entr&eacute;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&eacute;o haute
	      r&eacute;solution, intervertissez les lignes 75 dpi et 100
	      dpi.</para>
	  </listitem>

	  <listitem>
	    <para>Pour mettre en service un clavier russe, ajoutez ce
	      qui suit &agrave; la section <literal>"Keyboard"</literal>
	      de votre fichier <filename>XF86Config</filename>.</para>

	    <para>Pour <application>&xfree86; 3.X</application>:</para>

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

	    <para>Pour <application>&xfree86; 4.X</application>:</para>

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

	    <para>V&eacute;rifiez &eacute;galement que
	      <literal>XkbDisable</literal> est d&eacute;sactiv&eacute; (mis en
	      commentaire).</para>

	    <para>Le passage de russe &agrave; latin se fera par
	      l'interm&eacute;diaire de <keycap>CapsLock</keycap>.
	      L'ancienne fonctionnalit&eacute;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).</para>

	    <para>Si vous disposez de touches &ldquo;&windows;&rdquo; sur
	      votre clavier, et que vous constatez que certaines touches
	      non-alphab&eacute;tiques ne sont pas appari&eacute;es
	      correctement en mode russe, ajoutez la ligne suivante &agrave;
	      votre fichier <filename>XF86Config</filename>:</para>

	    <para>Pour <application>&xfree86; 3.X</application>:</para>

	<programlisting>XkbVariant "winkeys"</programlisting>

	    <para>Pour <application>&xfree86; 4.X</application>:</para>

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

	    <note>
	      <para>Le clavier russe XKB peut ne pas fonctionner avec
		d'anciennes versions d'<application>&xfree86;</application>,
		consultez la
		<link linkend="russian-note">note pr&eacute;c&eacute;dente
		sur les &ldquo;locales&rdquo;</link> pour plus
		d'informations.  Le clavier russe XKB peut &eacute;galement
		ne pas fonctionner avec des applications non
		localis&eacute;es.  Pour &ecirc;tre un minimum
		localis&eacute;e, une application devrait appeler la
		fonction <function>XtSetLanguageProc (NULL, NULL,
		NULL);</function> assez t&ocirc;t dans le programme.
		Voir <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>
	  </listitem>
	</orderedlist>
      </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
	l'I18N/L10N pour FreeBSD &agrave; l'adresse <ulink
	url="http://freebsd.sinica.edu.tw/~ncvs/zh-l10n-tut/"></ulink>
	utilisant de nombreuses applications du r&eacute;pertoire
	<filename>chinese</filename> du catalogue des logiciels port&eacute;s.
	Le r&eacute;dacteur du guide <literal>zh-L10N-tut</literal> est Clive
	Lin <email>Clive@CirX.org</email>.  Vous pouvez &eacute;galement
	utiliser <application>CVSup</application> pour r&eacute;cup&eacute;rer
	les collections suivantes &agrave; <hostid
	role="fqdn">freebsd.sinica.edu.tw</hostid>:</para>

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

	  <tbody>
	    <row>
	      <entry>outta-port tag=.</entry>
	      <entry>Collection de logiciels port&eacute;s de
		qualit&eacute; b&ecirc;ta pour le chinois</entry>
	    </row>

	    <row>
	      <entry>zh-L10N-tut tag=.</entry>
	      <entry>Guide de localisation de FreeBSD en chinois
		traditionnel BIG-5</entry>
	    </row>

	    <row>
	      <entry>zh-doc tag=.</entry>
	      <entry>Traduction de la documentation FreeBSD en chinois
		traditionnel BIG-5</entry>
	    </row>
	  </tbody>
	</tgroup>
      </informaltable>

      <para>Chuan-Hsing Shen <email>s874070@mail.yzu.edu.tw</email> a
	cr&eacute;&eacute; la <ulink
	url="http://cnpa.yzu.edu.tw/~cfc/">collection FreeBSD chinoise
	(CFC)</ulink> de logiciels en utilisant le document
	<literal>zh-L10N-tut</literal> taiwanais.  Les logiciels
	pr&eacute;-compil&eacute;s et les fichiers de proc&eacute;dures
	sont disponibles &agrave; l'adresse <ulink
	url="ftp://ftp.csie.ncu.edu.tw/OS/FreeBSD/taiwan/CFC/"></ulink>.</para>
    </sect2>

    <sect2>
      <title>Localisation pour la langue allemande (valable &eacute;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&eacute;dig&eacute; un guide sur l'utilisation des
	&ldquo;umlauts&rdquo; sur une machine FreeBSD.  Le guide est
	&eacute;crit en allemand et est disponible sur <ulink
	url="http://www.de.FreeBSD.org/de/umlaute/"></ulink>.</para>
    </sect2>

    <sect2>
      <title>Localisation pour le japonais et le cor&eacute;en</title>
      <indexterm>
	<primary>localisation</primary>
	<secondary>japonaise</secondary>
      </indexterm>
      <indexterm>
	<primary>localisation</primary>
	<secondary>cor&eacute;enne</secondary>
      </indexterm>
      <para>Pour le japonais, r&eacute;f&eacute;rez-vous &agrave;
	<ulink
	url="http://www.jp.FreeBSD.org/"></ulink>,
	et pour le cor&eacute;en &agrave; <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 &agrave; FreeBSD ont traduit
	des parties de la documentation FreeBSD dans d'autres langues.
	Les traductions sont disponibles gr&acirc;ce &agrave;
	des liens sur le <ulink url="../../../../index.html">site
	principal</ulink> ou dans
	<filename>/usr/share/doc</filename>.</para>
    </sect2>
  </sect1>
</chapter>
