Les variables de langue¶
Uniquement en version >= 1.4
Il est possible d'ajouter ou modifier des textes existants. Vous pouvez le faire directement dans vos templates ou bien en changeant directement la valeur des fichiers de l'application. Mais cela n'est ni très propre ni évolutif!
2 méthodes s'offrent alors à vous. Chacune d'entre elles disposant d'avantages et inconvénients :
- la première consiste à créer un fichier dans le dossier /templates/override/languages/XX/ (ou XX est le code de langue - par exemple fr ). Les variables définies sont partagées par l'interface d'administration et l'interface publique. Vos variables sont connus de l'application quelque soit le thème que vous utilisez.
- la seconde place les fichiers définis par l'utilisateur au sein du dossier template (par exemple /templates/public/montheme/override/languages/fr). Cela permet de donner des valeurs différentes aux variables selon l'interface (publique ou administration). Cela signifie aussi que vous ne retrouverez plus vos variables si vous changez de thème.
Quelque soit la méthode utilisée (et notez que les deux peuvent être combinées), la règle de nommage des fichiers est unique : ils doivent être préfixé du caractère _ (underscore).
Je crée, par exemple, un fichier /override/languages/fr/_myfile.php contenant :
<?php
_def('news', 'widget_meteo', 'Voir la météo');
_def('menu_alt', 'search_here', 'terme de recherche');
?>
Première ligne, j'ajoute une variable jusque là inexistante. L'appel de la fonction _t('news', 'widget_meteo') m'affichera "Voir la météo".
La ligne 2 redéfinit une valeur existante. L'appel de _t('menu_alt', 'search_here') ne me renverra plus la valeur "Votre recherche ici..." (par défaut) mais "terme de recherche".
Par ailleurs, afin de vous laisser organiser votre application, il est possible de créer autant de fichiers que vous le souhaitez afin de mieux les différencier :
/languages/fr/_input_news.php /languages/fr/_input_project.php /languages/fr/_input_workshop.php [...]
Updated by Simon over 12 years ago · 1 revisions