Des expressions bizarroïdes
En travaillant sur le fichier sommaire.html, on a pu voir des mentions un peu bizarres [1] du type :
Soit :
Et on a pu être tenté de modifier directement la mention de cette façon :
voire, pour reprendre l’exemple du site Numéricoach :
Qui affichera très exactement ceci :
Rien à redire sur cette façon de procéder sauf que… si on veut modifier l’intitulé il faudra revenir modifier le ou les fichiers qui comportent la mention. Et, bien évidemment, si on veut, plus tard, que notre site soit dans d’autres langues, ça ne fonctionne plus puisque SPIP affichera le texte saisi ainsi « en dur ».
Cette syntaxe qui encadre l’élément textuel entre deux-points et symboles <> indique à SPIP d’aller chercher l’information dans un fichier de langue annexe. Ce qui facilite le multilinguisme en particulier et les modifications en général puisqu’on n’a pas à aller à la pêche aux éléments qui comportent l’expression quand on veut la corriger ou la changer. À la place, on utilisera des fichiers de langues.
Le principe
En fait SPIP, comme d’ailleurs les autres CMS et la plupart des logiciels, fonctionne sur la base d’un système de référence qui « nomme » les différentes mentions et indique ce qui doit être affiché à raison d’un fichier par langue. Sous SPIP, ces fichiers sont des fichiers php [2] dont la deuxième partie du nom comporte obligatoirement l’étiquette de la langue concernée séparée du nom du fichier par un trait de soulignement (undescore), touche « 8_ \ » du pavé alphabétique.
Il doit, tout aussi obligatoirement, être rangé dans le dossier « lang » de « squelettes », à créer si ce n’est déjà fait.
Exemple concret : pour le site Numéricoach le fichier pourrait s’appeler « numericoach_en » pour la version anglaise et la version espagnole serait « numericoach_es ».
Le nom du fichier, avant l’étiquette de langue, n’est pas impératif sauf dans certains cas. Par exemple, le squelette Escal est livré avec un dossier « lang » et des fichiers personnalisés (et surtout à personnaliser) appelés « local ».
Il n’y a aucune hiérarchie entre les divers fichiers de langue et il n’y a pas à déclarer ces fichiers comme on le fait pour les feuilles de style.
Chaque fichier de langue doit commencer par ceci :
et terminer par cela :
Tous les éléments figurant entre les parenthèses forment le « dictionnaire de références » de notre site.
La syntaxe
Comme d’habitude en informatique, il faut respecter très exactement la syntaxe sinon on n’obtient pas le résultat attendu (voire on n’obtient rien du tout d’ailleurs).
Comme il n’y a aucune hiérarchie entre les langues, prendre le fichier de celle dans laquelle on est le plus familier, ici le français, et saisir les noms des expressions (ou chaine de caractère) également dans notre langue favorite, donc en français dans ce cas de figure, mais ça pourrait aussi bien être du letton, du russe, du coréen, l’anglais…
Une référence (ou chaine de caractères) s’indique de cette façon :
où
- le nom de la mention figure entre apostrophe : « ‘ », il vaut mieux qu’il soit facilement mémorisable et court et sans caractères dits spéciaux ;
- la flèche se fait par le clavier, touche égal, =, et supérieur > ;
- l’expression à afficher est également entre apostrophes et suivie impérativement par une virgule.
Sinon… une fois que votre fichier est sur le serveur ainsi que le ou les fichiers html qui comportent la mention, votre site ne sera pas accessible et vous aurez un message d’erreur qui vous indique quelle ligne du fichier fautif il faut corriger.
Comme on peut le voir dans l’exemple un mot peut équivaloir à une expression nettement plus longue.
Pour les autres fichiers, on remplace l’expression à afficher par la version dans la langue concernée en gardant le nom (1) et évidemment la flèche (2).
L’indication sur les fichiers html
Là encore il faut être extrêmement respectueux de la syntaxe, sinon pas d’affichage du terme voulu [3].
On écrira l’indication de la façon suivante :
en faisant extrêmement attention au nombre de deux points ! Si on oublie par exemple celui de fin, la mention n’est simplement pas prise en compte.
Exemple concret :
Un simple « merci » qui donne à l’affichage :
Pour aller plus loin
Sait-on jamais, si après tout cela vous vous sentez des ailes et une envie dévorante de traduire SPIP dans une langue encore inédite, ou de finir la traduction de l’interface :