web-dev-qa-db-fra.com

Vérification du thème: manque un text-domain

J'utilise le code suivant pour afficher le nombre de commentaires:

printf(_n('1 comment', '%1$s comments', get_comments_number()), number_format_i18n( get_comments_number() ), 'text-domain' );

Y at-il quelque chose qui cloche avec ça?

Le plugin de vérification de thème donne l'avertissement:

WARNING: Found a translation function that is missing a text-domain. Function _n, with the arguments '1 comment','%1$s comments'

Je ne comprends pas ce que cela suggère, il ne dit pas non plus dans quel fichier se trouve l'erreur, je suppose donc que c'est le code ci-dessus.

Comment je peux résoudre ce problème?

2
jay

Regardons la ligne pertinente. Je le reformate pour mieux comprendre ce qui se passe:

printf(
    _n('1 comment', '%1$s comments', get_comments_number() ),
    number_format_i18n( get_comments_number() ),
    'text-domain'
);

Donc, vous appelez printf avec trois paramètres, chacun étant maintenant sur une ligne distincte telle que je l’ai formatée.

Mais cela n’a pas vraiment de sens, en particulier le troisième paramètre text-domain n’a pas de sens là-bas.

Ce que vous voulez probablement, c’est utiliser _n pour traduire à l’aide d’un nombre que vous avez entré number_format_i18n .

Donc, je suppose que c’est ce que vous recherchez réellement:

printf(
    _n( '1 comment',
        '%1$s comments',
        number_format_i18n( get_comments_number() ),
        'text-domain'
      )
);
2
kraftner