[spip-dev] Langue par défaut pour les <:toto:>

Bonjour !

Décidément je ne suis pas assez de près les évolutions depuis un certain temps, car je viens de remarquer quelque chose d'ennuyeux qui a changé, je pense il y a assez longtemps.

Pour rendre le texte d'une balise <:toto:> dans un squelette SPIP prenait autrefois, si le texte n'existe pas dans la langue en cours, le texte de la
« langue principale du site ». Il semble que ce n'est plus le cas : le français est pris même si il n'est pas désigné comme langue principale.

test1.html contient les lignes:

<html>
<head>
</head>
<body>
<:podcast_latest:>
</body>
</html>

On peut appeler le squelette test1.html comme ça :
http://www.taize.fr/spip.php?page=test1&lang=fr => Dernier podcast de la prière
http://www.taize.fr/spip.php?page=test1&lang=en ==> Latest podcast
http://www.taize.fr/spip.php?page=test1 (sans indication de langue) ==> Latest podcast (c'est correct : anglais est la « langue principale »)
mais dans une langue où la chaîne n'est pas traduite (par ex. Kiswahili):
http://www.taize.fr/spip.php?page=test1&lang=sw ==> Dernier podcast de la prière (français rendu au lieu de l'anglais)

Est-ce que cela peut être corrigé ?
Devrais-je faire un ticket ?

merci, Paolo

Certainement, mais j'ai eu beaucoup de mal à reproduire !

En fait ça n'a ce (mauvais) comportement qu'avec les fichiers 'local_xx.php'. Lorsqu'on utilise des modules de langue (toto_xx.php), cela fonctionne correctement. De plus il faut que la langue (sw) n'ait pas tous les modules de langue SPIP définis. Il doit manquer un lang/public_sw.php ou quelque chose comme ça.

J'espère corriger avec http://core.spip.org/projects/spip/repository/revisions/20373 (et du phpdoc avant http://core.spip.org/projects/spip/repository/revisions/20372 )

Merci du signalement,

MM.

Salut Matthieu !

Pour rendre le texte d'une balise <:toto:> dans un squelette SPIP
prenait autrefois, si le texte n'existe pas dans la langue en cours, le
texte de la
« langue principale du site ». Il semble que ce n'est plus le cas : le
français est pris même si il n'est pas désigné comme langue principale.

Est-ce que cela peut être corrigé ?

Certainement, mais j'ai eu beaucoup de mal à reproduire !

Pardon - j'aurai dû « creuser » plus.

En fait ça n'a ce (mauvais) comportement qu'avec les fichiers 'local_xx.php'.
Lorsqu'on utilise des modules de langue (toto_xx.php), cela fonctionne
correctement.

Oui il s'agit des fichiers local_xx.php - nous utilisons plusieurs langues sur le site pour lesquelles les fichiers de langues ordinaires (spi_xx, public_xx) ne sont pas traduits.

De plus il faut que la langue (sw) n'ait pas tous les modules de
langue SPIP définis. Il doit manquer un lang/public_sw.php ou quelque chose
comme ça.

Hmm. J'ai le même effet pourtant pour le vietnamien où la chaîne <:podcast_latest:> manque également. Par contre, pour cette langue, les fichiers /ecrire/lang/ecrire_vi.php ... publi_vi.php ... spip_vi.php existent bien.

J'espère corriger avec
http://core.spip.org/projects/spip/repository/revisions/20373 (et du phpdoc
avant http://core.spip.org/projects/spip/repository/revisions/20372 )

Merci du signalement,

J'ai remplacé sur www.taize.fr/ecrire/inc les fichiers traduire.php et selectionner.php avec les nouveaux (c'est un SPIP 3.0.7 SVN). Mais cela n'a pas eu l'effet espéré : pas de changement.

Paolo

Vraiment ? même avec var_mode=calcul sur ta belle url ?

http://www.taize.fr/spip.php?page=test1&var_mode=calcul&lang=sw

(mais le français n'affiche rien là tout de suite)
http://www.taize.fr/spip.php?page=test1&var_mode=calcul&lang=fr

MM.