如何转义单个和复数的I18N文本字符串?

时间:2016-06-26 作者:henrywright

我遇到了esc_html_e()esc_attr_e() 允许我转义翻译文本字符串的函数。我现在用这些来代替_e() 在适当的情况下。

这个_n() 函数允许翻译单数和复数形式。我认为没有esc_attr_n() WordPress中的函数。在这种情况下,我怎样才能避开翻译的文本?这是我目前使用的_n() 功能:

printf(
    _n(
        \'1 item\',
        \'%d items\',
        $count,
        \'textdomain\'
    ),
    number_format_i18n( $count )
);
参考https://codex.wordpress.org/Function_Reference/_n

1 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

esc_html_e()esc_attr_e() 只是包装函数_ 节省一点键入时间并有助于提高可读性。你说得对,没有_n, 因此,您只需自己“包装”即可:

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

相关推荐

Wordpress translation

我想在WP中翻译一个单词,但我不想替换整个翻译文件(.mo和.po),因为只有一个单词(它将被下一个WP版本覆盖,我必须经常记住)。是否可以只翻译一个单词而不覆盖其余的单词?P、 S.:我需要在/wp includes/script loader中将“no subset”翻译成“西里尔文”。php: /* translators: To add an additional Open Sans character subset specific to your language,&#x