_nx() WP 2.8.0

Перекладає та повертає єдину чи множинну форму числа на основі зазначеного контексту. Аналог _n() тільки з урахуванням контексту.

Це поєднання функцій _x() . Функція підтримує числа та контекст.

Функція використовується, коли потрібно використовувати певний рядок перекладу в залежності від переданого числа, і все це в контексті перекладу.

Докладніше про переклад множинних форм числа читайте в описі _n()

Ця функція вважається внутрішньою для використання самим ядром . Не рекомендується використовувати цю функцію у своєму коді.

1 раз – 0.000041 сек
(дуже швидко) | 50000 разів – 0.12 сек
(дуже швидко) |
PHP 7.1.2, WP 4.7.3

Повертає

Строку. Переведений рядок під вказане число.

Використання

_nx($single, $plural, $number, $context, $domain);
$single
(рядок) (обов’язковий)
Текст, який буде використано для числа 1 (єдиного). 1 яблуко, 21 яблуко…
$plural
(рядок) (обов’язковий)
Текст, який буде використаний для числа більше 1 (множинного). 2 яблука, 3 яблука…
$number
(число) (обов’язковий)
Число на основі якого буде вибрано рядок перекладу.
$context
(рядок) (обов’язковий)
Контекст у якому робиться переклад.
$domain
(рядок)
ID перекладу. До цього ID спочатку додаються рядки перекладу через
load_textdomain() , а потім по ньому виходять сам переклад.


За замовчуванням: ‘default’

Приклади

0

#1 Переклад множини на основі контексту.

Тут $people_num – це число, а group of people– це контекст.

printf(
	_nx( '%s group', '%s groups', $people_num, 'group of people', 'mydomain' ),
	$people_num
);

список змін

З версії 2.8.0Введено.
З версії 5.5.0Introduced ngettext_with_context-{$domain} filter.

Код _nx() WP 6.0.2

function _nx( $single, $plural, $number, $context, $domain = 'default' ) {
	$translations = get_translations_for_domain($domain);
	$translation = $translations->translate_plural( $single, $plural, $number, $context );

	/**
	 * Filters singular або plural form of string with gettext context.
	 *
	 * @ Since 2.8.0
	 *
	 * @param string $translation Translated text.
	 * @param string $single Цей текст буде використаний, якщо номер є особливим.
	 * @param string $plural Цей текст буде використаний, якщо номер є plural.
	 * @param string $number Число для compare до використання будь-якої singular або plural form.
	 * @param string $context Context information for the translators.
	 * @param string $domain Text domain. Unique identifier for retrieving translated strings.
	 */
	$translation = apply_filters( 'ngettext_with_context', $translation, $single, $plural, $number, $context, $domain);

	/**
	 * Filters singular або plural form of string with gettext context for a domain.
	 *
	 * The dynamic portion of hook name, `$domain`, refers to the text domain.
	 *
	 * @ Since 5.5.0
	 *
	 * @param string $translation Translated text.
	 * @param string $single Цей текст буде використаний, якщо номер є особливим.
	 * @param string $plural Цей текст буде використаний, якщо номер є plural.
	 * @param string $number Число для compare до використання будь-якої singular або plural form.
	 * @param string $context Context information for the translators.
	 * @param string $domain Text domain. Unique identifier for retrieving translated strings.
	 */
	$translation = apply_filters( "ngettext_with_context_{$domain}", $translation, $single, $plural, $number, $context, $domain);

	return $translation;
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *