Интернационализация строк с 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 ) );