_nx()

Данная функция переводит строку не только с учётом её единственного или множественного числа, но также и с учётом контекста, в котором она используется. Возвращает переведённое значение.

Так что можно сказать, что эта функция – это две функции _n() и _x() в одной.

Также хочу порекомендовать видеоурок про перевод тем и видеоурок про перевод плагинов.

_nx( $single, $plural, $number, $context, $domain = 'default' )

Параметры

$single
(строка) Значение строки в единственном числе (для английского языка).
$plural
(строка) Значение строки во множественном числе (для английского языка).
$number
(целое число) Число, которое будет определять использование формы единственного или множественного числа.
$context
(строка) Контекст, в рамках которого используется функция.
$domain
(строка) Идентификатор перевода. Задаётся в виде строки, не передавайте в этот параметр переменных.

Примеры

Лучше всего попробовать понять принцип действия этой функции на лёгком примере.

Предположим, что у нас есть слово «group» («группа»). Мы например знаем, что «группа человек» можно перевести как «компания», а «группа волков» – как «стая». Кроме того, мы ещё и учитываем единственное/множественное число: «стая», «стаи».

printf( 
	_nx( 
		'1 group', 
		'%d groups', // %d будет заменено на значение $people уже после перевода
		$people, 
		'group of people', // название контекста, которое отобразится в PoEdit
		'true-domain' 
	), 
	$people // числовое значение
);
 
 
printf( _nx( '%s group', '%s groups', $animals, 'group of wolves', 'true-domain' ), $animals );

В рамках функции printf() %d – это паттерн замены на целое число, %s – паттерн замены строки. В нашей ситуации мы можем использовать и то, и другое, но правильнее, я думаю, всё-таки %d.

Только не забудьте в ключевых словах в PoEdit указать значение: _nx:4c,1,2

Тогда у вас получится:

Пример использования функции _nx()

Источник: Блог Миши Рудрастых

Миша Рудрастых

Путешествует по миру и рассказывает всем о WordPress лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp's, но совсем не умеет слушать чужие доклады.

Добавить комментарий

%d такие блоггеры, как: