[spip-dev] Langue au (t)chat

Hello

SPIP a un comportement contrariant avec les modules de langues dans la nouvelle implémentation des balises dynamiques alias CVT.
En l'occurrence il s'agit du formulaire d'inscription, et j'ai une surcharge de pass_espace_prive_bla dans un fichier lang/local_fr.php
Quand je clique sur "vous inscrire", le formulaire apparait avec la bonne surcharge.
Si je valide mal le formulaire, il me revient avec les messages d'erreurs mais les surcharges ne sont plus prises en comptes!

J'ai tracé la fonction principale du fichier inc/traduire.php pour comprende.

La première fois, les premiers appels sont:
Sep 27 08:28:46 127.0.0.1 (pid 310) traduire public/spip/ecrire:pass_vousinscrire fr
Sep 27 08:28:46 127.0.0.1 (pid 310) traduire public/spip/ecrire:syndiquer_site fr
Sep 27 08:28:46 127.0.0.1 (pid 310) traduire pass_espace_prive_bla

La 2e:
Sep 27 08:29:57 127.0.0.1 (pid 132) traduire info_obligatoire
Sep 27 08:29:57 127.0.0.1 (pid 132) traduire pass_espace_prive_bla

La première fois la langue et les modules à chercher sont spécifiés lors de la première traduction, et la surcharge fonctionne.
La 2e fois, la langue manque, les modules aussi.

C'est l'absence de langue qui est problématique, et effectivement la globale $spip_lang n'est pas définie dans le cas des actions car ecrire/public.php initialise la langue sous condition:

  if ($forcer_lang AND ($forcer_lang!=='non') AND !_request('action')) {
    include_spip('inc/lang');
    verifier_lang_url();
  }

Pourquoi ne pas l'initialiser systématiquement ?

Committo,Ergo:Sum

Hello

SPIP a un comportement contrariant avec les modules de langues

...

Pourquoi ne pas l'initialiser systématiquement ?

Bon, j'ai trouvé un endroit où le fait que l'init n'ait pas déjà eu lieu est franchement anormal et où la faire suffit à résoudre le pb: la fonction _T.
http://trac.rezo.net/trac/spip/changeset/12812
Mais ce serait bien de fixer clairement à quel moment ça doit être défini.

Committo,Ergo:Sum