web-dev-qa-db-ja.com

単一および複数の国際化テキスト文字列をエスケープする方法

私は翻訳されたテキスト文字列をエスケープできるesc_html_e()esc_attr_e()関数に出会いました。私は今、適切なところで_e()の代わりにこれらを使っています。

_n()関数は、単数形と複数形の両方を翻訳することを可能にします。私はWordPressにesc_attr_n()関数があるとは思わない。この場合、翻訳したテキストをエスケープするにはどうすればよいですか。これが私の現在の_n()関数の使い方です。

printf(
    _n(
        '1 item',
        '%d items',
        $count,
        'textdomain'
    ),
    number_format_i18n( $count )
);

Ref https://codex.wordpress.org/Function_Reference/_n

3
henrywright

esc_html_e()esc_attr_e()は、_のラッパー関数で、入力の手間を省き、読みやすくしています。そうです、_nにはありませんので、自分で "ラップ"するだけでいいのです。

printf(
    esc_attr(
        _n(
            '%s item',
            '%s items',
            $count,
            'textdomain'
        )
    ),
    number_format_i18n( $count )
);
4
TheDeadMedic