Intereting Posts
Уведомление PHP из ядра WordPress? Многоузловая установка на субдомен с субдоменами изменяет сайтURL Показать отрывок подстраниц + эскиз та же роль пользователя или копировать роль пользователя, чтобы быть такой же, как и другая роль Пользовательская переадресация после регистрации в WooCommerce Как настроить captcha в нижней части комментариев textarea Пароль защищает определенную страницу категории / должность Создайте первые 3 сообщения по-разному и используйте 2-й цикл, чтобы получить покой / смещение и разбивка на страницы разбита Как заказать по post_status? Последние сообщения виджет без заголовка Как удалить класс из div post_image? Как $ wpdb обрабатывает COUNT (*) Самый эффективный способ для структуры URL html functions.php включается дважды, создавая фатальные ошибки PHP Как избежать одного кода несколько раз вместо этого, используя некоторую функцию? Shortcode, но я думаю, что shortcode не используется в основных файлах основной темы?

Как избежать одиночных и множественных строк текста i18n?

Я столкнулся с 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

Solutions Collecting From Web of "Как избежать одиночных и множественных строк текста i18n?"

esc_html_e() и esc_attr_e() – это просто функции-обертки для _ чтобы сохранить немного ввода и помочь с удобочитаемостью. Вы правы, нет никого для _n , поэтому вам просто нужно сделать «wrapping»:

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