Drupal 8 - Récupérer la langue courante programmatiquement

Pour récupérer la langue courante en cours d'utilisation sur un site Drupal 8, vous pouvez utiliser le code suivant :

$language = \Drupal::languageManager()->getCurrentLanguage()->getId();

Le code ISO (639-1) à 2 caractères de la langue va être ainsi renvoyé. Donc pour le français, ça va être "fr" et pour l'anglais "en" par exemple.

Pour récupérer le nom de la langue plutôt que le code, vous pouvez utiliser ceci :

$language =  \Drupal::languageManager()->getCurrentLanguage()->getName();

À noter également que pour récupérer la langue en cours d'utilisation pour le contenu, il faut utiliser la constante LanguageInterface::TYPE_CONTENT :

$language = \Drupal::languageManager()->getCurrentLanguage(LanguageInterface::TYPE_CONTENT)->getId();

 

Étiquettes