Table des matières
timezonectl
Dernière mise-à-jour : 2020/01/30 03:27
107.3 - Régionalisation et Internationalisation (3/60)
Les Variables de Régionalisation et d'Internationalisation
L'Internationalisation, aussi appelé i18n car il y a 18 lettres entre la lettre I et la lettre n dans le mot Internationalization, consiste à adapter un logiciel aux paramètres variant d'une région à l'autre :
- longueur des mots,
- accents,
- écriture de gauche à droite ou de droite à gauche,
- unité monétaire,
- styles typographiques et modèles rédactionnels,
- unités de mesures,
- affichage des dates et des heures,
- formats d'impression,
- format du clavier,
- etc …
Le Régionalisation, aussi appelé l10n car il y a 10 lettres entre la lettre L et la lettre n du mot Localisation, consiste à modifier l'internalisation en fonction d'une région spécifique.
Le code pays complet prend la forme suivante : langue-PAYS.jeu_de_caractères. Par exemple, pour la langue anglaise les valeurs de langue-PAYS sont :
- en_GB = Great Britain,
- en_US = USA,
- en_AU = Australia,
- en_NZ = New Zealand,
- en_ZA = South Africa,
- en_CA = Canada.
Les variables système les plus importants contenant les informations concernant le régionalisation sont :
Variable | Description |
---|---|
LC_ALL | Avec une valeur non nulle, celle-ci prend le dessus sur la valeur de toutes les autres variables d'internationalisation |
LANG | Fournit une valeur par défaut pour les variables d'environnement dont la valeur est nulle ou non définie. |
LC_CTYPE | Détermine les paramètres régionaux pour l'interprétation de séquence d'octets de données texte en caractères. |
Par exemple :
[trainee@centos7 ~]$ echo $LC_ALL en_GB.UTF-8 [trainee@centos7 ~]$ echo $LC_CTYPE [trainee@centos7 ~]$ echo $LANG en_GB.UTF-8 [trainee@centos7 ~]$ locale LANG=en_GB.UTF-8 LC_CTYPE="en_GB.UTF-8" LC_NUMERIC="en_GB.UTF-8" LC_TIME="en_GB.UTF-8" LC_COLLATE="en_GB.UTF-8" LC_MONETARY="en_GB.UTF-8" LC_MESSAGES="en_GB.UTF-8" LC_PAPER="en_GB.UTF-8" LC_NAME="en_GB.UTF-8" LC_ADDRESS="en_GB.UTF-8" LC_TELEPHONE="en_GB.UTF-8" LC_MEASUREMENT="en_GB.UTF-8" LC_IDENTIFICATION="en_GB.UTF-8" LC_ALL=en_GB.UTF-8
Gestion du Fuseau d'Horaire
Linux utilise le fuseau d'horaire UTC (Coordinated Universal Time) en interne. Linux doit donc être capable de traduire entre l'UTC et l'heure locale et vice versa. Linux utilise le fichier /etc/localtime pour connaître l'heure locale :
[root@centos6 ~]# ls -l /etc/localtime -rw-r--r--. 1 root root 2945 23 mai 2012 /etc/localtime
Ce fichier peut être un fichier ordinaire ou bien un lien symbolique pointant vers un de sfichiers dans le répertoire /usr/share/zoneinfo :
[root@centos6 ~]# ls /usr/share/zoneinfo/ Africa Chile GB Indian Mideast posixrules US America CST6CDT GB-Eire Iran MST PRC UTC Antarctica Cuba GMT iso3166.tab MST7MDT PST8PDT WET Arctic EET GMT0 Israel Navajo right W-SU Asia Egypt GMT-0 Jamaica NZ ROC zone.tab Atlantic Eire GMT+0 Japan NZ-CHAT ROK Zulu Australia EST Greenwich Kwajalein Pacific Singapore Brazil EST5EDT Hongkong Libya Poland Turkey Canada Etc HST MET Portugal UCT CET Europe Iceland Mexico posix Universal
Pour connaître le fuseau d'horaire local, utilisez la commande date :
[root@centos6 ~]# date jeu. sept. 25 14:07:21 CEST 2014
Vous pouvez consulter la liste des codes des zones à l'adresse http://www.timeanddate.com/library/abbreviations/timezones/.
Le fuseau d'horaire est aussi contenu en clair dans le fichier /etc/sysconfig/clock. Sous Red Hat :
[root@centos6 ~]# cat /etc/sysconfig/clock # The time zone of the system is defined by the contents of /etc/localtime. # This file is only for evaluation by system-config-date, do not rely on its # contents elsewhere. ZONE="Europe/Paris"
Sous Debian et ses dérivés, le fichier /etc/sysconfig/clock n'existe pas. Debian utilise le fichier /etc/timezone :
root@debian:~# cat /etc/timezone Europe/Paris
Vous pouvez modifier le fuseau d'horaire à l'aide de la commande tzselect. Sous Red Hat :
[root@centos6 ~]# tzselect Please identify a location so that time zone rules can be set correctly. Please select a continent or ocean. 1) Africa 2) Americas 3) Antarctica 4) Arctic Ocean 5) Asia 6) Atlantic Ocean 7) Australia 8) Europe 9) Indian Ocean 10) Pacific Ocean 11) none - I want to specify the time zone using the Posix TZ format. #?
Sous Debian :
root@debian:~# tzselect Please identify a location so that time zone rules can be set correctly. Please select a continent or ocean. 1) Africa 2) Americas 3) Antarctica 4) Arctic Ocean 5) Asia 6) Atlantic Ocean 7) Australia 8) Europe 9) Indian Ocean 10) Pacific Ocean 11) none - I want to specify the time zone using the Posix TZ format. #?
Vous pouvez aussi modifier le fuseau d'horaire directement ainsi :
[root@centos6 ~]# rm /etc/localtime rm : supprimer fichier « /etc/localtime » ? o [root@centos6 ~]# ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime [root@centos6 ~]# ls -l /etc/localtime lrwxrwxrwx. 1 root root 32 25 sept. 14:32 /etc/localtime -> /usr/share/zoneinfo/Europe/Paris
Dernièrement il est possible de modifier le fuseau d'horaire uniquement pour la session en cours et dans le shell courant :
[root@centos6 ~]# date jeu. sept. 25 14:33:44 CEST 2014 [root@centos6 ~]# export TZ=:/usr/share/zoneinfo/Europe/London [root@centos6 ~]# date jeu. sept. 25 13:34:09 BST 2014
<html>
Copyright © 2004-2017 Hugh Norris.<br><br> <a rel=“license” href=“http://creativecommons.org/licenses/by-nc-nd/3.0/fr/”><img alt=“Licence Creative Commons” style=“border-width:0” src=“http://i.creativecommons.org/l/by-nc-nd/3.0/fr/88x31.png” /></a><br />Ce(tte) oeuvre est mise à disposition selon les termes de la <a rel=“license” href=“http://creativecommons.org/licenses/by-nc-nd/3.0/fr/”>Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 3.0 France</a>.
</html>