Voici une petite astuce pour ceux qui utilise la méthode plural de Str.
Déjà, commençons par un petite exemple :
Illuminate\Support\Str::of('paiement')->plural($invoices->count())
Si le nombre de facture vaut 1, nous obtiendrons bien le mot paiement.
Cependant, pour la valeur 0, et supérieure à 1, Laravel nous retourne paiements.
En anglais, c'est la règle mais en français, la valeur 0 ne doit pas ajouter un "S".
Pour se faire, je me suis créé une petite méthode qui va palier ce problème.
Dans AppServiceProvider.php, nous allons ajouter ce bout de code :
public function boot() { Stringable::macro('pluralFr', function (int $count) { return new Stringable(Str::of($this->value)->plural($count === 0 ? 1 : $count)); }); }
Maintenant, dans notre blade, il nous suffit de l'appeler en remplacement de plural.
Illuminate\Support\Str::of('paiement')->pluralFr($invoices->count())
Cours rédigé par Vincent, publié le 06/10/2021