2

Poedit を使用して WordPress のテーマを翻訳しようとしています。% comment文字列を翻訳しようとすると、翻訳に使用するかどうかに%関係なく、次のエラーが発生します。

エラー: 「msgstr」は、「msgid」とは異なり、有効な PHP フォーマット文字列ではありません。
理由: ディレクティブ番号 1 を終了する文字は、有効な変換指定子ではありません。

その文字列のリソースは次の行です。

comments_number(
    __( '0 comments' , 'hbthemes' ) ,
    __( '1 comment' , 'hbthemes' ),
    __( '% comments' , 'hbthemes' )
);

gettext のマニュアルを見てみましたが、これらのエラーの原因がわかりませんでした。最初は、フォーマット文字列に 1 つのみを含めることができるのか疑問に思って%いましたが、このテーマはネイティブでコメント数を正しく表示します。

編集

%%翻訳の代わりに使用する%と、エラーが残り、PHP コード内で変更すると、コメントが 2 回カウントされ22ます2

更新

ここのドキュメントには%、コメントの数に置き換えられると書かれているので、実際の問題はコードではなく Poedit にあると思います。

4

2 に答える 2