Intereting Posts
Как добавить несколько a_content или что-то в этом роде? Размещено на + только дату (а не время) Загружаемый контент только для подписчиков? Загрузка папки недоступна для записи, даже если разрешения правильные Локализовать строки для перевода Почему мой get_post_meta неправильно вызывает настраиваемое поле при попытке встроить видео YouTube? Как передать тему в Javascript Ajax для передачи идентификатора на другой странице в шаблоне страницы WordPress? Как указать два URL-адреса на один и тот же дочерний сайт в многопользовательской конфигурации Плагин Добавляет уродливую строку url в индекс как я могу получить сообщения из специальной категории таксономии пользовательского типа Что такое параметр "meta_input" в wp_insert_post ()? Изменить каталог загрузки файлов PDF Как НЕ НАЙТИ Шрифт Удивительные или значки шрифтов в WordPress Вы должны войти в систему или зарегистрироваться. Как показать контент без выдержки?

Интернационализация строк с html-тегами и номерами в WordPress

Как перевести строку с тегами между ними.

Предположим, что существует строка типа

$a = 5; There are <?php echo $a; ?> <span>people</span> in this country. 

Файлы Javascript:

 wp_localize_script( 'store-locator', 'storelocatorjstext', array( 'nostores' => __( 'There are 5 people in this country.', 'textdomain' ) ) ); 

Каков правильный способ интернационализации таких случаев?

Мой подход:

 <?php _e('There are 5 <span>people</span> in this country.', 'textdomain'); ?> 

Solutions Collecting From Web of "Интернационализация строк с html-тегами и номерами в WordPress"

Вы можете перенести перевод в функцию printf . printf (или sprintf, если вы не хотите сразу печатать на экране) позволяют помещать заполнители в строку. См. Документацию для всех спецификаторов типа

Используйте __ () вместо _e (), потому что printf уже выводит на экран.

 $no_people = 5; printf( __( 'There are %d <span>people</span> in this country.', 'textdomain' ), $no_people ); 

редактировать

Добавлен пример для wp_localize_script

$ no_people = 5;

 $nostores = sprintf( __( 'There are %d <span>people</span> in this country.', 'textdomain' ), $no_people ); wp_localize_script( 'store-locator', 'storelocatorjstext', array( 'nostores' => $nostores ) );