Mouais, ca vaudrait le coup de remettre à jour les arguments. gettext sait depuis quelque temps faire des pluriels divers avec ngettext.
Son premier exemple s'écrirait donc:
printf( ngettext("I scanned %g directory.", "I scanned %g directories.", dir_scan_count), dir_scan_count);
C'est vrai que c'est un peu compliqué, mais c'est très facile à utiliser pour les traducteurs (le traducteur n'a qu'à utiliser un traitement de texte sans se poser de question sur la syntaxe), et toutes les formes de pluriels marchent.
maketext m'a l'air un peu compliqué à utiliser pour le traducteur, surtout si il doit se taper toute la syntaxe perl ...
Est-ce que le traducteur doit vraiment taper tout ça dans l'exemple qu'il donne ?
sub { # pretend the English strings are in Italian
my($handle, $files, $dirs) = @_[0,1,2];
return "I didn't find any files" unless $files;
return join '',
"I found ",
$handle->quant($files, 'file'),
" in ",
$handle->quant($dirs, 'directory'),
".";
}
[^] # Re: gettext ?
Posté par Yggdras . En réponse au journal Transifex: libérer votre plateforme l10n. Évalué à 3.
printf( ngettext("I scanned %g directory.", "I scanned %g directories.", dir_scan_count), dir_scan_count);C'est vrai que c'est un peu compliqué, mais c'est très facile à utiliser pour les traducteurs (le traducteur n'a qu'à utiliser un traitement de texte sans se poser de question sur la syntaxe), et toutes les formes de pluriels marchent. maketext m'a l'air un peu compliqué à utiliser pour le traducteur, surtout si il doit se taper toute la syntaxe perl ... Est-ce que le traducteur doit vraiment taper tout ça dans l'exemple qu'il donne ?sub { # pretend the English strings are in Italian my($handle, $files, $dirs) = @_[0,1,2]; return "I didn't find any files" unless $files; return join '', "I found ", $handle->quant($files, 'file'), " in ", $handle->quant($dirs, 'directory'), "."; }