Si j’avais mieux fouillé, je ne me serais pas cassé la tête à faire mon propre filtre ;-)
Toutefois, le filtre ci-dessous pourrait intéresser :
/***
* filtre à appliquer à #TOTAL_BOUCLE
***/
function pluriel($nombre, $singulier, $pluriel='') {
global $pluriel_renvoie_zero;
tester_variable("pluriel_renvoie_zero", true);
if($pluriel_renvoie_zero AND $nombre == 0)
return _T("local/public/spip:aucun_".$singulier);
if($nombre == 0) return '';
if(!$pluriel) $pluriel = $singulier."s";
$code = $nombre>1?$pluriel:$singulier;
return $nombre." "._T("local/public/spip:".$code);
}
Il s’appuie sur les fichiers de langue de spip, et permet donc d’internationaliser l’accord du pluriel dans un site SPIP.
Les paramètres à fournir seront donc les codes qu’on utilise aussi sous la forme <:code:>
exemple :
[(#TOTAL_BOUCLE|pluriel{article})] renverra selon la valeur de #TOTAL_BOUCLE :
- 0 —> <:aucun_article :> ou rien si on positionne
$pluriel_renvoie_zero à false dans ecrire/mes_options.php3 - 1 —> <:article :>
- 2 et plus —> <:articles :>
[(#TOTAL_BOUCLE|pluriel{article,autre_forme_de_pluriel})] :
- 2 et plus —> <:autre_forme_de_pluriel :>
surement améliorable.