Créez un module compatible pour la traduction.

Créez un module compatible pour la traduction.

19 Jun 2009 |  Drupal

Parmi les bonnes méthodes de développement avec Drupal, il en existe une qui consiste à créer des modules compatibles à la traduction dans une autre langue. Si vous voulez participer à la communauté Drupal en partageant vos ressources, vous devrez obligatoirement créer votre module en anglais et par la suite le fichier de traduction associé.

La fonction qui permet de traduire une phrase avec Drupal est la fonction t( ). Dès que vous avez besoin d’afficher un message destiné à vos utilisateurs vous devez utiliser cette fonction.

Comment l’utiliser ? C’est très simple il vous suffit simplement de mettre votre phrase à l’intérieure de cette fonction.

Ce qu’il ne faut pas faire :

$output = "Thank you for your subscription!";

Ce qu’il est bon de faire :

$output = t("Thank you for your subscription!");

Comme je vous le disais plus haut vous devez écrire tout ce que vous allez afficher à vos utilisateurs en anglais puisque c’est le langage par défaut de Drupal, prenez-en l’habitude.

La fonction t() gère l’échappement de caractères, c’est-à-dire que vous n’avez pas besoin de mettre un slash ‘\’ avant chaque guillemet.

Ce qu’il ne faut pas faire :

$output = "Don\'t click me.";

Ce qu’il est bon de faire :

$output = t("Don't click me.");

Dans l’affichage de vos messages vous allez vite avoir besoin de retourner des valeurs à vos utilisateurs.

Ce qu’il ne faut pas faire :

$name = ‘Julien’;
$output = t("Welcome $name, you are now registered");

Ce qu’il faut faire :

$name = ‘Julien’;
$output = t("Welcome !name, you are now registered ", array('!name' => $name));

N’hésitez pas consulter la documentation sur la fonction t() disponible sur l’api Drupal.org

Julien Dubreuil

Vous avez une idée, un projet web à réaliser ?

Ensemble, mettons en oeuvre sa réussite. Je vous accompagne dans vos projets, depuis l'élaboration du cahier des charges jusqu'à la mise en production. Pour plus d'information n'hésitez pas à me contacter.

Contactez-moi