Project

General

Profile

Les variables de langue » History » Version 1

Simon, 07/04/2012 04:35 PM

1 1 Simon
h1. Les variables de langue
2
3
4
Uniquement en version >= 1.4
5
6
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!
7
8
2 méthodes s'offrent alors à vous. Chacune d'entre elles disposant d'avantages et inconvénients :
9
10
* 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.
11
* 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.
12
13
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).
14
15
Je crée, par exemple, un fichier _/override/languages/fr/_myfile.php_ contenant :
16
17
<pre>
18
<code class="php">
19
<?php
20
_def('news', 'widget_meteo', 'Voir la météo');
21
_def('menu_alt', 'search_here', 'terme de recherche');
22
?>
23
</code></pre>
24
25
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".
26
27
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".
28
29
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 :
30
31
32
<pre>
33
/languages/fr/_input_news.php
34
/languages/fr/_input_project.php
35
/languages/fr/_input_workshop.php
36
[...]
37
</pre>