Subversion Repositories svn LFS-FR

Rev

Rev 6583 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 <!ENTITY % general-entities SYSTEM "../../general.ent">
  %general-entities;
]>

<sect1 id="ch-config-locale">
  <title>Initialisation des informations Locale</title>
  <?dbhtml filename="locale.html"?>

  <indexterm zone="ch-config-locale">
    <primary sortas="e-/etc/locale.conf">/etc/locale.conf</primary>
  </indexterm>

  <para>Le fichier <filename>/etc/locale.conf</filename> suivant initialise quelques variables
  d'environnement pour le support des langues maternelles. Les configurer convenablement permet ce qui suit&nbsp;:
  </para>

    <itemizedlist>
    <listitem>
      <para>La sortie des programmes traduite dans la langue
      maternelle&nbsp;;</para>
    </listitem>
    <listitem>
      <para>Un classement correct des caractères en lettres,
      chiffres et autres classes. Ceci est nécessaire pour que <command>bash</command>
      accepte correctement les caractères non ASCII dans les lignes de commandes pour
      les locales autres que l'anglais&nbsp;;</para>
    </listitem>
    <listitem>
      <para>L'ordre de tri alphabétique correct pour le pays&nbsp;;</para>
    </listitem>
    <listitem>
      <para>La taille de papier par défaut appropriée&nbsp;;</para>
    </listitem>
    <listitem>
      <para>Le bon formatage des valeurs monétaires, d'heure et de dates.</para>
    </listitem>
  </itemizedlist>

 <para>Remplacez <replaceable>&lt;ll&gt;</replaceable> ci-dessous
  par le code à deux lettres de la langue désirée (par exemple,
  <quote>fr</quote>) et <replaceable>&lt;CC&gt;</replaceable> avec le code à
  deux lettres du pays approprié (par exemple, <quote>FR</quote>).
  <replaceable>&lt;charmap&gt;</replaceable> devra être remplacé avec le
  jeu de caractères canonique de la locale choisie. Des modificateurs optionnels
  comme <quote>@euro</quote> peuvent aussi être présents.</para>

  <para>La liste de toutes les locales supportées par Glibc peut être
  obtenue en exécutant la commande suivante&nbsp;:</para>

<screen role="nodump"><userinput>locale -a</userinput></screen>

  <para>Les locales peuvent avoir plusieurs synonymes. Par exemple,
  <quote>utf-8</quote> est aussi appelée <quote>iso8859-1</quote> et
  <quote>iso88591</quote>. Quelques applications ne peuvent pas gérer les
  différents synonymes correctement (elles nécessitent par exemple l'écriture de
  <quote>UTF-8</quote> sous la forme <quote>UTF-8</quote> et non
  <quote>utf8</quote>), donc il est plus sûr de choisir le nom
  canonique pour une locale particulière. Pour déterminer le nom canonique,
  lancez la commande suivante, où <replaceable>&lt;nom locale&gt;</replaceable>
   est l'affichage donnée par <command>locale-a</command> pour
  votre locale préférée (<quote>fr_FR.iso88591</quote> dans notre exemple).</para>

<screen role="nodump"><userinput>LC_ALL=<replaceable>&lt;nom_de_la_locale&gt;</replaceable> locale charmap</userinput></screen>

  <para>Pour la locale <quote>fr_FR.iso88591</quote>, la commande
  ci-dessus affichera&nbsp;:</para>

<screen><computeroutput>utf-8</computeroutput></screen>

  <para>Ceci résulte en un paramétrage final de locale avec
  <quote>fr_FR.utf-8</quote>. Il est important que la locale
  trouvée utilisant l'heuristique ci-dessus soit testée avant d'être
  ajoutée aux fichiers de démarrage de Bash&nbsp;:</para>

<screen role="nodump"><userinput>LC_ALL=&lt;nom_de_la_locale&gt; locale language
LC_ALL=&lt;nom_de_la_locale&gt; locale charmap
LC_ALL=&lt;nom_de_la_locale&gt; locale int_curr_symbol
LC_ALL=&lt;nom_de_la_locale&gt; locale int_prefix</userinput></screen>

  <para>Les commandes ci-dessus devraient afficher le nom de la langue,
  le codage des caractères utilisé par la locale, la
  monnaie et le préfixe du pays à composer avant de saisir le numéro de
  téléphone. Si une des commandes ci-dessus échoue avec un message
  similaire à un de ceux montrés ci-dessous, cela signifie que votre
  locale n'a pas été installée au chapitre 10 ou qu'elle n'est pas
  prise en charge par l'installation par défaut de Glibc.</para>

<screen><computeroutput>locale: Cannot set LC_* to default locale: No such file or directory</computeroutput></screen>

  <para>Si cela arrive, vous pouvez soit installer la locale désirée en
  utilisant la commande <command>localedef</command> soit considérer
  l'utilisation d'une locale différente. Les instructions suivantes
  supposent qu'il n'y a pas eu de tels messages de Glibc.</para>

  <para>Certains paquets en dehors de CLFS pourraient aussi ne pas avoir
  de support pour la locale que vous avez choisi. Un exemple est la
  bibliothèque X (qui fait partie du système X Window), qui affiche le
  message d'erreur suivant:&nbsp;:</para>

<screen><computeroutput>Warning: locale not supported by Xlib, locale set to C</computeroutput></screen>

  <para>Dans certains cas Xlib s'attend à ce que le plan de caractères
  soit listé en majuscule avec des tirets canoniques. Par
  exemple, "utf-8" plutôt que "iso88591". Il est aussi possible de
  trouver la spécification adéquate en supprimant la partie charmap de
  la spécification de la locale. Vous pouvez le vérifier en lançant la
  commande <command>locale charmap</command> dans les deux locales. Par
  exemple, vous pourriez vouloir remplacer "fr_FR.utf-85@euro" par
  "fr_FR@euro" afin que cette locale soit reconnue par Xlib.</para>

  <para>D'autres paquets peuvent aussi mal fonctionner (mais pourraient
  ne pas nécessairement afficher de messages d'erreurs) si le nom de la
  locale ne correspond pas à leur attente. Dans de tels cas, vous pouvez
  obtenir des informations utiles en cherchant comment les autres
  distributions Linux supportent votre locale.</para>

  <para>Une fois que les bons paramètres de locale ont été déterminés,
  créez le fichier <filename>/etc/profile</filename>&nbsp;:</para>

<screen><userinput>cat &gt; /etc/profile &lt;&lt; "EOF"
<literal># Début de /etc/profile

export LANG=<replaceable>&lt;ll&gt;_&lt;CC&gt;.&lt;charmap&gt;&lt;@modifiers&gt;</replaceable>

# Fin de /etc/profile</literal>

  <para>Notez que vous pouvez modifier <filename>/etc/locale.conf</filename> avec l'utilitaire
  systemd <command>localectl</command>. Pour utililiser
  <command>localectl</command> pour l'exemple précédent, lancez:</para>

<screen role="nodump"><userinput>localectl set-locale LANG="<replaceable>[ll]_[CC][charmap][@modifiers]</replaceable>"</userinput></screen>

  <para>Vous pouvez également spécifier d'autres variables spécifiques d'environnement
  tel que <envar>LANG</envar>, <envar>LC_CTYPE</envar>, <envar>LC_NUMERIC</envar> ou une autre variable
  d'environnement depuis la sortie de <command>locale</command>. Il faut simplement les séparer avec un espace.
  Un exemple ou <envar>LANG</envar> est initialisé en tant que
  en_US.UTF-8 mais <envar>LC_CTYPE</envar> est initialisé avec simplement en_US est:</para>

<screen role="nodump"><userinput>localectl set-locale LANG="en_US.UTF-8" LC_CTYPE="en_US"</userinput></screen>

  <note><para>Merci de noter que la commande <command>localectl</command> peut seulement être utilisée
  sur un système démarré avec systemd.</para></note>
  <para>L'initialisation de la disposition du clavier, de la police écran et des variables d'environement liées
  au local sont simplement les étapes d'internationalisation pour le support des locales que utilisent
  naturelement l'encodage sur un seul octet et une direction d'écriture de la gauche vers la droite.
  UTF-8 à été testé avec les locales Anglaises, Françaises, Allemandes, Italiennes et Espagnoles. Toutes les autres
  locales ne sont pas testées? Si vous découvrez un problème avec n'importe quelle autre locale merci d'ouvrir
  un ticket sur notre système Trac.</para>

  <para>Certaines locales demandent des programmes et un support supplémentaire. CLFS ne supportera pas
  ses locales dans le livre. Nous nous félicitons de l'appui d'autres locales via
   <ulink url="&cblfs-root;"/>.</para>

</sect1>