web-dev-qa-db-ja.com

テーマチェック:テキストドメインがない

私は以下のコードを使ってコメント数を表示しています。

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

問題がありますか?

テーマチェックプラグインが警告を出しています。

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

それが何を示唆しているのか私は理解していませんし、どちらのファイルがエラーであるのかもわかりませんので、上記のコードを想定しています。

どうすれば修正できますか?

2
jay

関連する行を見てみましょう。何が起こっているのかを理解しやすくするためにフォーマットし直しています。

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

それで、あなたがしていることは、3つのパラメータを使ってprintfを呼び出すことです。

しかし、これは実際には意味がありません。特に、3番目のパラメータtext-domainは意味がありません。

おそらくあなたが欲しいのは _n を使って number_format_i18n に通した数字を使って翻訳することです。

だから私はこれがあなたが実際に探しているものだと思います:

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