質問: phpcs:文字列は翻訳可能なコンテンツを持つべきです 私はそれをwpcsと互換性があるようにするためにプラグインを検証しています。 gettextコマンドを実行したときにエラーを返すphpcsプレースホルダーを含む関数。参考のためにエラーのソースコードとスクリーンショットが添付されています。多分私は何かが足りないか間違った方法でそれをやっていますか?/** * add error. * * @package mypackage * @since 0.1.0 * * @param string $code error code. * @param string $message error message. * @return object wp_error returns error object. */ function mypackage_add_error( $code, $message ) { /* translators: %s: error message */ return new wp_error( $code, sprintf( esc_html__( '%s', 'mypackage' ), $message ) ); } エラーのスクリーンショット。
回答: 翻訳可能なコンテンツではないプレースホルダー%sを翻訳しようとしていますが、後で変数に置き換えられます。翻訳可能な$messageの代わりに翻訳された$messageを渡すのが最善です。このように関数定義を書くべきですfunction mypackage_add_error( $code, $message ) { return new wp_error( $code, $message ); } そして関数mypackage_add_error()はこのように使われるべきですmypackage_add_error( 'test-error', esc_html__( 'test error message', 'text-domain' ) );