Hello,
Non, non, c'est la mauvaise méthode de vouloir traduire l'interface
actuelle tel quelle.
+1
Je crois que la dernière fois qu'on en a parlé, Nicolas Hoizey a
proposé de reprendre le système utilisé par MyPhpAdmin.
En fait, c'est historiquement le système que j'ai développé pour le
site phpHeaven, que j'ai ensuite ouvert sous le nom phpLang, puis
appliqué dans phpMyChat, et qui a été appliqué par mon co-développeur
de ce dernier, Loïc Chapeau, dans phpMyAdmin ...
Donc il suffit de prendre phpLang en l'état et de l'utiliser.
Une ch'tite doc (en anglais) :
http://articles.phpheaven.net/article.php3?id_article=9
Sinon, ce que fait phpLang devrait être fourni par PEAR I18N
( http://cvs.php.net/cvs.php/pear/I18N ), pour le jour où on se
mettra à utiliser PEAR dans SPIP ...
L'externalisation de toutes les chaines de l'application est faite
dans des fichiers de constantes globales.
Les constantes sont forcément globales ...
Avec un fichier par langue, le choix de la langue est effectué en
fonction des préférences du browser client.
A la première connexion, en fonction des préférences du browser, puis
selon le choix explicite du visiteur.
Avant qu'on se lance dans la traduction, je propose qu'on
1- liste toutes les chaines à traduire dans SPIP
2- établisse une convention de nommage pour les constantes de
chaines
3- construise un fichier de langue maitre pour le français. Cela
servira de base pour toutes les traductions.
Oui.
4- qu'on replace dans le code les chaines par des
GLOBAL(nom_chaine).
Non, juste nom_chaine, ou plutôt NOM_CHAINE, puisque ce sont des
constantes.
5- Il faudra en outre externaliser les charsets, les familles de
font, et paufiner les formats de dates
Voir le boulot effectué dans les projet nommé ci-dessus pour
inspiration.
L'interface de la 1.4 commence à être stabilisé, on peux peut-être
commencer et se partager les étapes 1,2 et 3.
Alors, on ouvre ce chantier ?
On commence à préparer, mais on n'attaque pas pour la 1.4
Un outil intéressant serait une interface de gestion des traductions,
avec stockage en bdd des chaines de caractères, et création
automatisée des fichiers de constantes.
-Nicolas