webentwicklung-frage-antwort-db.com.de

Theme Check: Fehlende Textdomain

Ich verwende folgenden Code, um die Anzahl der Kommentare anzuzeigen:

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

Stimmt etwas nicht?

Das Theme Check Plugin gibt folgende Warnung aus:

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

Ich verstehe nicht, was es vorschlägt, und es sagt auch nicht, in welcher Datei sich der Fehler befindet. Daher gehe ich davon aus, dass es sich um den obigen Code handelt.

Wie kann ich das beheben?

2
jay

Schauen wir uns die entsprechende Zeile an. Ich formatiere es neu, um besser zu verstehen, was los ist:

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

Sie rufen also printf mit drei Parametern auf, von denen sich jeder jetzt in einer separaten Zeile befindet, während ich ihn formatierte.

Das macht aber eigentlich keinen Sinn, vor allem der dritte Parameter text-domain macht dort keinen Sinn.

Was Sie wahrscheinlich wollen, ist die Verwendung von _n , um mit einer Zahl zu übersetzen, die Sie mit number_format_i18n eingegeben haben.

Ich schätze, das ist genau das, wonach du suchst:

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