|singulier_ou_pluriel{ xxx:string_um, xxx:string_varios}

O filtro |singulier_ou_pluriel (singular ou plural) permite adequar uma exibição em função do valor numérico retornado pela tag à qual é aplicado.

  • Apparu en : SPIP 2.0

O filtro |singulier_ou_pluriel é principalmente usado para concordar (singular ou plural) as strings de idioma em função do retorno de uma tag.

Exemplo

No nosso ficheiro local_xx.php, declaramos:

'numero_item_um'   => 'há um retorno neste loop.',
'numero_item_mais' => 'há @nb@ retornos neste loop.'

Em seguida, escrevemos no nosso loop:

<BOUCLE_a(ARTICLES) {critério...}>
  ...
</BOUCLE_a>
[(#TOTAL_BOUCLE|singulier_ou_pluriel{local:numero_item_um, local:numero_item_mais})]
</B_a>

-  Se o loop só retornar um registo, exibirá:

há um retorno neste loop.

-  Se o loop retornar 36 registos, por exemplo, exibirá:

há 36 retornos neste loop.

Nota: se o valor fornecido for nulo, o filtro não retornará nada, o que permite usar o filtro |sinon em seguida.

Atenção:

Este filtro usa explicitamente os itens de idioma como argumentos. Não deve ser passado a tags de idioma:

|singulier_ou_pluriel{modulo:item_um, modulo:item_mais}
é a sintaxe correta;
|singulier_ou_pluriel{<:modulo:item_um:>, <:modulo:item_mais:>}
é uma sintaxe errada.

Personalisar o filtro

A partir do SPIP 4.0, é possível definir as funções para personalizar o funcionamento deste filtro:
-  par um idioma particular. Para isso, é preciso definir uma função sufixada para o código de idioma. Por exemplo, a função singulier_ou_pluriel_ar() para o idioma árabe.
-  ou de maneira genérica para todos os idiomas. Com efeito, o SPIP faz uma chamada a charger_fonction para recuperar a versão de singulier_ou_pluriel personalizada que deseja.

Autor Ricardo Porto Publié le :

Traductions : català, English, français, Nederlands, Português