Guide de localisation

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page Localization/HOWTO and the translation is 98% complete.

Other languages:
čeština • ‎Deutsch • ‎English • ‎español • ‎français • ‎日本語 • ‎한국어

Fuseau horaire

Afin de tenir votre système à l'heure correctement, vous devez sélectionner votre fuseau horaire pour que votre système sache où il se trouve.

OpenRC

Recherchez votre fuseau horaire dans /usr/share/zoneinfo. Évitez les fuseaux /usr/share/zoneinfo/Etc/GMT* car leur nom n'indique pas les zones attendues. Par exemple GMT-8 correspond en fait à GMT+8.

Supposons que vous vouliez utiliser le fuseau horaire de Bruxelles, éditez /etc/timezone et modifiez le en conséquence, comme ceci :

root #nano -w /etc/timezone
Europe/Brussels

Exécutez emerge pour le paquet timezone-data mettra votre fichier /etc/localtime à jour proprement :

root #emerge --config timezone-data

Vérifiez la nouvelle information de fuseau horaire :

root #date
Wed Mar  8 00:46:05 CET 2006
Note
Assurez-vous que l'indicateur de fuseau horaire (dans ce cas "CET") est correct pour votre zone.
Note
Vous pouvez définir la valeur de TZ à une valeur quelconque de /usr/share/zoneinfo dans votre fichier shell rc ( .bash_profile pour bash) pour un réglage au niveau utilisateur. Dans ce cas TZ="Europe/Berlin".

systemd

Si vous utilisez systemd, vous devriez définir votre fuseau horaire avec la commande timedatectl. Vérifiez d'abord les fuseaux horaires disponibles :

root #timedatectl list-timezones

Définissez alors votre fuseau horaire :

root #timedatectl set-timezone Europe/Brussels

Pour terminer, vérifiez les résultats en lançant la commande timedatectl sans arguments :

root #timedatectl

Horloge matérielle

OpenRC

Dans la plupart des installation de Gentoo Linux, votre horloge matérielle est réglée à UTC (ou GMT, Greenwich Mean Time) et votre fuseau horaire est pris en compte pour déterminer l'heure locale réelle. Si, pour une raison ou pour une autre, vous avez besoin d'avoir votre horloge matérielle à autre chose que UTC, vous devez éditer /etc/conf.d/hwclock (ou /etc/conf.d/adjkerntz, si vous utilisez Gentoo BSD) et changer la valeur de clock de UTC en local.

CodeUtiliser le temps UTC dans /etc/conf.d/hwclock

clock="UTC"

This is a deprecated template. Help us update this template!

CodeUtiliser le temps du fuseau horaire dans /etc/conf.d/hwclock

clock="local"

This is a deprecated template. Help us update this template!

Fonctionnement des locales

Que sont les locales ?

Une locale est un jeu d'informations que la plupart des programmes utilisent pour déterminer les réglages spécifiques à un couple langue-pays.Les locales et leurs données font partie de la bibliothèque système et se trouvent dans la plupart des systèmes. Un nom de locale se présente généralement sous la forme ab_CDab est le code de langue à deux (ou trois) lettres (comme spécifié dans ISO-3166). Des variantes sont souvent ajoutées au nom de locales, par exemple, en_GB.UTF-8 ou de_DE@euro. Reportez-vous à Wikipedia pour en savoir plus sur les locales et pour lire les articles en relation.

Variables d'environnement pour les locales

Les variables qui contrôlent les différents aspects du réglage des locales sont présentées ci-dessous. Toutes prennent un nom de locale de la forme ab_CD indiquée ci-dessus.

Nom de la variable Explication
LANG Définit tous les paramètres d'une locale d'un seul coup, tout en autorisant des personnalisation individuelles ultérieures via le paramètre LC_* présenté ci-dessous.
LC_COLLATE Définit l'orde alphabétique des chaînes de caractères. Ceci affecte par exemple la sortie des listings de répertoires.
LC_CTYPE Définit les propriétés de gestion des caractères par le système ; en particulier quels caractères sont considérés comme faisant partie de l'alphabet, des chiffres etc. Cela détermine aussi le jeu de caractères utilisé, quand cela s'applique.
LC_MESSAGES Les traductions des programmes qui utilisent un schéma de localisation basé sur des messages (la majorité des programmes GNU, voir les chapitres suivants pour une information plus détaillée sur ceux qui l'utilisent, et comment faire en sorte que ceux qui ne l'utilisent pas fonctionnent).
LC_MONETARY Définit l'unité monétaire et le format des valeurs numériques exprimées dans cette unité.
LC_NUMERIC Définit le format des valeurs numériques non monétaires. Ceci affecte des choses telles que le séparateur de milliers et le séparateur des décimales.
LC_TIME Définit le format des dates et de l'heure.
LC_PAPER Définit la taille par défaut du papier.
LC_ALL Une variable spéciale pour écraser tous les autres paramètres.
Note
Certains programmes sont écrits d'une manière telle qu'ils s'attendent à un ordre alphabétique basé sur l'anglais, alors que certaines locales comme l'Estonien, utilisent un ordre différent. En conséquence, il est recommandé de définir LC_COLLATE à C pour des paramètres intéressant le système entier.
Attention !
L'utilisation de LC_ALL est fortement déconseillée car cela ne peut plus être écrasé ultérieurement. N'utilisez cela que pour des tests et jamais dans un fichier de démarrage.

La plupart du temps, les utilisateurs ne définissent la variable LANG qu'à une échelle globale.

Générer des locales spécifiques

Vous n'utiliserez probablement qu'une, ou peut-être deux, locales sur votre système. Vous pouvez spécifier les locales dont vous aurez besoin dans /etc/locale.gen.

CodeAjouter des locales à /etc/locale.gen

en_GB ISO-8859-1
en_GB.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE@euro ISO-8859-15

This is a deprecated template. Help us update this template!

L'étape suivante consiste à exécuter la commande locale-gen. Elle génère toutes les locales que vous avez spécifiées dans le fichier /etc/locale.gen.

Note
locale-gen est disponible dans glibc-2.3.6-r4 et dans les versions postérieures. Si vous disposez d'une version plus ancienne de glibc, vous devriez la mettre à jour maintenant.

Vous pouvez vérifier que les locales que vous avez sélectionnées sons disponibles en exécutant locale -a.

Configurer une locale

OpenRC

Lorsque vous utilisez OpenRC, les configurations des locales sont stockées dans des variables d'environnement. Elles sont généralement définies dans le fichier /etc/env.d/02locale (pour des configurations s'appliquant au système entier), et peuvent être gérées via la commande eselect locale. Par exemple, pour définir la variable LANG à la valeur C :

root #eselect locale list
Available targets for the LANG variable:
  [1]   C 
  [2]   POSIX
  [3]   en_US
  [4]   en_US.iso885915
  [5]   en_US.utf8
  [ ]   (free form)
root #eselect locale set 1

Bien-sûr, vous pouvez éditer le fichier à la main et diversifier les variables de la locale.

CodeConfigurer la locale par défaut du système dans /etc/env.d/02locale

LANG="de_DE.UTF-8"
LC_COLLATE="C"

This is a deprecated template. Help us update this template!

Note
Utilisez de_DE@euro pour LANG si vous voulez utiliser le symbole de l'Euro(€) sur des locales non basées sur l'UTF-8.

Il est également possible, et très courant en particulier dans un environnement UNIX traditionnel, de laisser la configuration globale inchangée, c.à.d. dans la locale "C". Les utilisateurs peuvent toujours spécifier leur locale préférée dans leur propre fichier rc de shell :

CodeConfigurer la locale dans ~/.bashrc

export LANG="de_DE.UTF-8"
export LC_COLLATE="C"

This is a deprecated template. Help us update this template!

Une autre manière de configurer le système, c'est de le laisser dans la locale par défaut C, mais d'activer la représentation UTF-8 des caractères en même temps. Cette option se met en place en utilisant les réglages suivants dans /etc/env.d/02locale :

CodeUtiliser la locale traditionnelle C tout en spécifiant UTF-8

LC_CTYPE=de_DE.UTF-8

This is a deprecated template. Help us update this template!

En utilisant l'extrait de code ci-dessus, les utilisateurs seront en mesure de voir les noms de fichiers correctement localisés, sans être forcés d'adopter votre langue préférée.

Une fois que vous avez définie la locale correcte, assurez-vous de mettre à jour vos variables d'environnement pour que votre système les prenne en compte.

Pour une locale au niveau du système entier :

root #env-update && source /etc/profile

Pour une locale spécifique à l'utilisateur :

user $source ~/.bashrc

Après cela, vous devez tuer votre serveur X en pressant Ctrl + Alt + Backspace, vous déconnecter, puis vous reconnecter en tant qu'utilisateur.

Vérifiez maintenant si les changements sont effectifs :

user $locale

systemd

Si vous utilisez systemd, vous devriez définir votre locale avec la commande localectl. Consultez la liste des locales disponibles avec :

root #localectl list-locales

Puis, définissez la locale dont vous avez besoin :

root #localectl set-locale LANG=de_DE.utf8

Pour terminer, vérifiez si le résultat est correct :

root #localectl | grep "System Locale"
   System Locale: LANG=de_DE.utf8

Agencement de clavier pour la console

OpenRC

L'agencement de clavier utilisé par la console est défini dans le fichier /etc/conf.d/keymaps par la variable keymap. Les valeurs acceptables peuvent être trouvées dans /usr/share/keymaps/YOUR_ARCH/. i386 possède des subdivisions supplémentaire pour les agencements(qwerty/, azerty/, etc.). Quelques langues possèdent des options multiples, et vous devrez peut-être faire des essais pour déterminer laquelle vous convient le mieux.

CodeDéfinir l'agencement de clavier pour la console

keymap="de"
#keymap="de-latin1"
#keymap="de-latin1-nodeadkeys"

This is a deprecated template. Help us update this template!

systemd

Avec systemd, l'agencement de clavier utilisé par la console peut être défini en utilisant la commande localectl. Commencez par vérifier les agencements disponibles :

root #localectl list-keymaps

Puis, définissez quel agencement vous voulez pour la console :

root #localectl set-keymap it

Pour terminer, vérifiez si l'agencement a été correctement pris en compte :

root #localectl | grep "VC Keymap"
       VC Keymap: it

Agencement de clavier pour le serveur X

L'agencement de clavier qui sera utilisé par le serveur X est défini dans le fichier /etc/X11/xorg.conf par l'option XkbLayout.

CodeDéfinir l'agencement de clavier du serveur X

Section "InputClass"
	Identifier "keyboard-all"
	Driver "evdev"
	Option "XkbLayout" "de"
	#Option "XkbModel" "pc105"
	MatchIsKeyboard "on"
EndSection

This is a deprecated template. Help us update this template!

Si vous possédez un clavier avec un agencement international, vous devriez définir l'option XkbModel à pc102 ou pc105 , car cela autorisera la cartographie des touches additionnelles spécifiques à votre clavier.

Les touches mortes sont des touches dont l'effet n'est pas immédiatement perceptible, mais qui, combinées avec une autre touche produisent un caractère unique. Définir XkbVariant à nodeadkeys vous permet de saisir le caractères spéciaux affectés à ces touches dans les terminaux X.

Si vous désirez pouvoir commuter entre plusieurs agencements de clavier (par exemple anglais et russe), tout ce que vous avez à faire, c'est d'ajouter quelques lignes supplémentaires à xorg.conf qui spécifient les agencements désirés et les raccourcis de commande.

CodeSwitching between two keyboard layouts

Section "InputClass"
	Identifier "keyboard-all"
	Driver "evdev"
	Option "XkbLayout"    "us,ru"
	Option "XkbOptions"   "grp:alt_shift_toggle,grp_led:scroll"
	MatchIsKeyboard "on"
EndSection

This is a deprecated template. Help us update this template!

Dans ce cas, l'option XkbOptions vous permet de commuter en les différents agencements en pressant Alt-Shift. Ceci commutera aussi le voyant de verrouillage du défilement de en marche à arrêté, grâce à l'option grp_led:scroll option. Ceci constitue un indicateur commode de quel agencement est actuellement sélectionné.

systemd

Avec systemd, l'agencement de clavier pour le serveur X11 peut être défini en utilisant la commande localectl. Commencez par consulter les agencements disponibles pour X11 :

root #localectl list-x11-keymap-layouts

Puis définissez l'agencement que vous voulez pour X11 :

root #localectl set-x11-keymap it

Pour terminer, vérifiez si l'agencement de clavier pour le serveur X11 a été correctement pris en compte :

root #localectl | grep "X11 Layout"
      X11 Layout: it

KDE

Pour KDE vous devez installer les paquets kde-base/kde-l10n et app-office/calligra-l10n. Ceci est conforme à ce qui a été décrit ci-dessus.

Le symbole de l'Euro pour la Console

OpenRC

Pour que votre console puisse afficher le symbole de l'Euro, vous devez définir consolefont dans /etc/conf.d/consolefont comme étant un fichier qui se trouve dans /usr/share/consolefonts/ (sans le .psfu.gz ). lat9w-16 comporte le symbole de l'Euro.

CodeDéfinir la police de la console

consolefont="lat9w-16"

This is a deprecated template. Help us update this template!

Vous devriez vérifier que consolefont est dans le niveau d'exécution boot :

root #rc-update -v show | grep consolefont

Si aucun niveau d'exécution n'est affiché pour consolefont , alors ajouté la au niveau approprié :

root #rc-update add consolefont boot

Le symbole de l'Euro dans X

La plupart des applications

Pouvoir utiliser l'Euro correctement dans X est un peu plus difficile. La première chose à faire est de changer la définition de fixed et de variable dans /usr/share/fonts/misc/fonts.alias pour vous retrouver dans iso8859-15 au lieu de iso8859-1 .

CodeSetting default X fonts

fixed        -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15
variable     -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15

This is a deprecated template. Help us update this template!

Quelques applications utilisent leurs propres polices, et vous devez leur demander à chacune d'utiliser une police comprenant le symbole de l'euro. Vous pouvez le faire au niveau utilisateur dans .Xdefaults (vous pouvez copier ce fichier dans /etc/skel/ pour une utilisation par de nouveaux utilisateurs), ou à un niveau global pour n'importe quelle application avec un fichier de ressources dans /usr/share/X11/app-defaults/ (tel que xterm). Dans ces fichiers, vous devez généralement modifier une ligne existante, plutôt que d'en ajouter une nouvelle. Par exemple, pour modifier votre xterm :

user $echo 'XTerm*font: fixed' >> ~/.Xresources
user $xrdb -merge ~/.Xresources

Le symbole de l'euro dans (X)Emacs

Pour utiliser le symbole de l'euro dans (X)Emacs, ajoutez la ligne suivante à .Xdefaults :

Codedéfinir la police pour emacs

Emacs.default.attributeFont: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-15

This is a deprecated template. Help us update this template!

Pour XEmacs (pas l'Emacs simple), vous devez en faire un peu plus. Dans /home/user/.xemacs/init.el , ajoutez :

Codedéfinir la police pour xemacs

(define-key global-map '(EuroSign) '[€])

This is a deprecated template. Help us update this template!

LibreOffice

Les ebuild stables courants app-office/libreoffice et app-office/libreoffice-bin ebuilds assurent une prise en charge de la sélection des paquets linguistiques. Pour connaître l'état de la traduction de l'interface, de la césure, de la correction orthographique et d'autres aspect de la localisation pour votre langue, reportez-vous à la page du site web de LibreOffice relative à la traduction .

NLS

Pour que la localisation basée sur les messages fonctionne dans les programmes qui en assurent la prise en charge, vous devez probablement compiler ces programmes avec l'option nls (Native language support) de la variable USE activée. La plupart des programmes utilisant nls ont aussi besoin de la bibliothèque gettext pour extraire et utiliser les messages localisés. Bien sur, Portage l'installera automatiquement si besoin est.

Après avoir activé l'option nls de la variable USE, il peut être nécessaire de réinstaller certains paquets :

root #emerge --ask --newuse --deep --with-bdeps=y @world

LINGUAS

La variable additionnelle LINGUAS influe aussi sur les fichiers de localisation à installer dans les programmes basés sur gettext. Cette variable décide quelles localisations utiliser pour quelques paquets spécifiques, commekde-base/kde-l10n et app-office/libreoffice. Elle accepte une liste de code de langues séparés par une espace, et l'endroit suggéré pour la définir est /etc/portage/make.conf:

root #nano -w /etc/portage/make.conf
## (Ajout de la variable  LINGUAS. Par exemple pour l'allemand, le finnois et l'anglais:)
LINGUAS="de fi en"

A list of the installed programs making use of the LINGUAS variable and their supported languages can be shown as follows:

user $eix -I -U linguas

Le fichier /usr/portage/profiles/desc/linguas.desc fournit une liste des locales disponibles :

user $grep -i french /usr/portage/profiles/desc/linguas.desc
fr - French locale
fr_CA - French locale for Canada
fr_FR - French locale for France

Après avoir défini l'option LINGUAS de la variable USE il peut être nécessaire de réinstaller certains paquets :

root #emerge --ask --newuse --deep --with-bdeps=y @world

Ressources

Xorg resources:

  • Keyboard layout inside the Evdev article
  • X resources
    This article is based on a document formerly found on our main website gentoo.org.
    The following people have contributed to the original document: Alexander Holler, Steven Lucy, Benny Chuang, Lars Weiler, Tobias Scherbaum, Flammie Pirinen, nightmorph, klondike
    They are listed here as the Wiki history does not provide for any attribution. If you edit the Wiki article, please do not add yourself here, your contributions are recorded on the history page.