Poedit を使用して WordPress のテーマを翻訳しようとしています。% comment
文字列を翻訳しようとすると、翻訳に使用するかどうかに%
関係なく、次のエラーが発生します。
エラー: 「msgstr」は、「msgid」とは異なり、有効な PHP フォーマット文字列ではありません。
理由: ディレクティブ番号 1 を終了する文字は、有効な変換指定子ではありません。
その文字列のリソースは次の行です。
comments_number(
__( '0 comments' , 'hbthemes' ) ,
__( '1 comment' , 'hbthemes' ),
__( '% comments' , 'hbthemes' )
);
gettext のマニュアルを見てみましたが、これらのエラーの原因がわかりませんでした。最初は、フォーマット文字列に 1 つのみを含めることができるのか疑問に思って%
いましたが、このテーマはネイティブでコメント数を正しく表示します。
編集:
%%
翻訳の代わりに使用する%
と、エラーが残り、PHP コード内で変更すると、コメントが 2 回カウントされ22
ます2
。
更新:
ここのドキュメントには%
、コメントの数に置き換えられると書かれているので、実際の問題はコードではなく Poedit にあると思います。