私は以下のコードを使ってコメント数を表示しています。
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'
それが何を示唆しているのか私は理解していませんし、どちらのファイルがエラーであるのかもわかりませんので、上記のコードを想定しています。
どうすれば修正できますか?
関連する行を見てみましょう。何が起こっているのかを理解しやすくするためにフォーマットし直しています。
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'
)
);