Problème sur le filtre extraire_multi #3318

Closed
opened 8 years ago by gilles.vincent · 9 comments
Owner

La traduction ne fonctionne pas correctement pour la page de la liste des plugins.
Lorsqu'on est dans le cas suivant : compte en portugais brésilien ET langue principale dans la même langue
La page des gestion des plugins en affiche certains en allemand (comme facteur) ou en arabe (comme spip-bonux)
Et d'autres sont en français.
..
Observé en SPIP 3.0 et SPIP 3.1
A mon avis assez urgent à corriger

La traduction ne fonctionne pas correctement pour la page de la liste des plugins. Lorsqu'on est dans le cas suivant : compte en portugais brésilien ET langue principale dans la même langue La page des gestion des plugins en affiche certains en allemand (comme facteur) ou en arabe (comme spip-bonux) Et d'autres sont en français. .. Observé en SPIP 3.0 et SPIP 3.1 A mon avis assez urgent à corriger ![](/redmine/656/capture.jpg)
Poster
Owner

Ne se produit pas en spip 2.1

Ne se produit pas en spip 2.1
Poster
Owner

Après enquête la liste des plugins ne passe pas par ecrire/inc/traduire.php

Après enquête la liste des plugins ne passe pas par ecrire/inc/traduire.php
Poster
Owner

Trouvé ! Le nom des plugins utilise des champs multi - Et c'est le premier champ qui est pris en compte, même si ce n'est pas le [fr] - Ce qui n'est pas cohérent avec le fonctionnement de inc/traduire.php

Trouvé ! Le nom des plugins utilise des champs multi - Et c'est le premier champ qui est pris en compte, même si ce n'est pas le [fr] - Ce qui n'est pas cohérent avec le fonctionnement de inc/traduire.php
Poster
Owner

Voici le patch proposé sur le filtre extraire_multi()

Index: inc/filtres.php

--- inc/filtres.php (revision 21636)
+++ inc/filtres.php (working copy)
-1926,6 +1926,9
$trads = extraire_trads($reg[1]);
if ($l = approcher_langue($trads, $lang)) {
$trad = $trads[$l];

  •   	} elseif ($l = approcher_langue($trads, 'fr')) {
    
  •   	// prendre le francais s'il existe (meme comportement que inc/traduire.php)
    
  •   		$trad = $trads[$l];
      	} else {
      		include_spip('inc/texte');
      		// langue absente, prendre la premiere dispo
    
Voici le patch proposé sur le filtre extraire_multi() Index: inc/filtres.php =================================================================== --- inc/filtres.php (revision 21636) +++ inc/filtres.php (working copy) `` -1926,6 +1926,9 `` $trads = extraire_trads($reg[1]); if ($l = approcher_langue($trads, $lang)) { $trad = $trads[$l]; + } elseif ($l = approcher_langue($trads, 'fr')) { + // prendre le francais s'il existe (meme comportement que inc/traduire.php) + $trad = $trads[$l]; } else { include_spip('inc/texte'); // langue absente, prendre la premiere dispo
Poster
Owner

Le patch ne passait pas bien.
Le voici

Le patch ne passait pas bien. Le voici

Dans la liste des plugins il y a un mélange, car pour certains c'est des multis, et pour d'autres il y a des fichiers de lang dédiés au paquet (à partir de SPIP 3).

Mais j'ai l'impression que c'est la même erreur quand il s'agit de chaîne de langue : apparemment, lorsqu'il n'y a pas de traduction dans la langue en cours, SPIP ne prend pas la langue d'origine (qu'on ne sait pas détecter d'ailleurs !) qui est le français dans l'immense majorité des cas. Mais il prend la première langue dans l'ordre des codes de langue, donc souvent l'arabe.

Ainsi, nos amis basques ont-illes une liste des plugins en grande partie en arabe, ce qui n'est vraiment pas très pratique pour gérer leur site !

Ce ticket doit-il donc rester propre à extraire_multi ou bien est-il plus général ?

Dans la liste des plugins il y a un mélange, car pour certains c'est des multis, et pour d'autres il y a des fichiers de lang dédiés au paquet (à partir de SPIP 3). Mais j'ai l'impression que c'est la même erreur quand il s'agit de chaîne de langue : apparemment, lorsqu'il n'y a pas de traduction dans la langue en cours, SPIP ne prend pas la langue d'origine (qu'on ne sait pas détecter d'ailleurs !) qui est le français dans l'immense majorité des cas. Mais il prend la première langue dans l'ordre des codes de langue, donc souvent l'arabe. Ainsi, nos amis basques ont-illes une liste des plugins en grande partie en arabe, ce qui n'est vraiment pas très pratique pour gérer leur site ! Ce ticket doit-il donc rester propre à extraire_multi ou bien est-il plus général ?
Poster
Owner

Non, ce problème est lié uniquement au traitement de la balise multi qui est différent du traitement des chaines de langues.
D'ailleurs mon ticket, à l'origine, portait sur le choix "en dur" qui consiste à prendre le français comme langue par défaut dans les chaines de traductions (ce qui fonctionne très bien) --- Mais cette logique n'est pas la même dans les balises multi, qui parfois (pour un tri alphabétique) commence par l'arabe ou l'allemand. Et c'est là qu'est le problème.

Non, ce problème est lié uniquement au traitement de la balise multi qui est différent du traitement des chaines de langues. D'ailleurs mon ticket, à l'origine, portait sur le choix "en dur" qui consiste à prendre le français comme langue par défaut dans les chaines de traductions (ce qui fonctionne très bien) --- Mais cette logique n'est pas la même dans les balises multi, qui parfois (pour un tri alphabétique) commence par l'arabe ou l'allemand. Et c'est là qu'est le problème.
Poster
Owner

Pardon, le ticket (avec le patch) sur le choix du français par défaut, en l'absence de traduction, dans les chaines de langues, c'est celui-ci : http://core.spip.org/issues/3292

Pardon, le ticket (avec le patch) sur le choix du français par défaut, en l'absence de traduction, dans les chaines de langues, c'est celui-ci : http://core.spip.org/issues/3292
Owner

Corrigé, le patch etait inexact car il faut bien typographier en fr dans le cas ou on prend fr au lieu de la langue courante
Statut changé à Fermé

Corrigé, le patch etait inexact car il faut bien typographier en fr dans le cas ou on prend fr au lieu de la langue courante **Statut changé à Fermé**
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.