Configurer la langue par défaut du système : les "locale"

Configuration : la méthode pour passer la langue par défaut d’un système Linux Debian en français.

, par clem

Sur une installation par défaut de Debian avec apache / PHP, un certain nombre de fonctions de PHP (date() ou mktime() par exemple) retournent des dates formatées en anglais, par exemple Monday 26th of March 2018.
Si l’on souhaite qu’elles soient en français, il faut changer la configuration de la langue par défaut du système en utilisant les locale

Modification du fichier de configuration des langues disponibles :

Le fichier de configuration responsable des langues est /etc/locale.gen : pour l’éditer il faut être en sudo/root
En utilisant nano comme éditeur cela donne :

  1. sudo nano /etc/locale.gen

On va alors ajouter en tête du fichier toutes les variantes du français (avec ou sans UTF8) comme langues disponibles, ce qui donne après modification :

  1. fr_FR ISO-8859-1
  2. fr_FR.UTF-8 UTF-8
  3. fr_FR.UTF-8@euro UTF-8
  4. fr_FR@euro ISO-8859-15
  5. en_US.UTF-8 UTF-8
  6. # aa_DJ ISO-8859-1
  7. # aa_DJ.UTF-8 UTF-8
  8. # aa_ER UTF-8
  9. # aa_ER@saaho UTF-8
  10. # aa_ET UTF-8
  11. # af_ZA ISO-8859-1
  12. # af_ZA.UTF-8 UTF-8
  13. # ak_GH UTF-8
  14. ...

Télécharger

toutes les langues commentées (= précédées d’un #) ne sont pas disponibles

Régénération des locales :

Pour que le système prenne en compte les modifications de locale.gen, il faut lancer la commande régénération des locales (toujours en sudo/root) :

  1. sudo locale-gen

On peut alors vérifier les langues disponibles pour le système avec la commande :

  1.  locale -a

qui devrait donner quelque chose comme :

  1. C
  2. C.UTF-8
  3. en_US.utf8
  4. français
  5. french
  6. fr_FR
  7. fr_FR@euro
  8. fr_FR.iso88591
  9. fr_FR.iso885915@euro
  10. fr_FR.utf8
  11. fr_FR.utf8@euro
  12. POSIX

Télécharger

Une fois le serveur apache redémarré pour prendre en compte cette modification du système :

  1. sudo systemctl restart apache2
  2. ou
  3. sudo /etc/init.d/apache2 restart

Télécharger

l’affichage de la date par le même script PHP devrait donner : Lundi 26 mars 2018

Références :

https://wiki.debian.org/Locale