ngettextхук-фильтрWP 2.2.0

Позволяет изменить переведенную функцией _n() строку.

Такая строка используется для надписей, которые зависят от впереди стоящего числа, например: 1 персик, 2 персика, 10 персиков.

Это фильтр для функции _n().

Использование

add_filter( 'ngettext', 'wp_kama_ngettext_filter', 10, 5 );

/**
 * Function for `ngettext` filter-hook.
 * 
 * @param string $translation Translated text.
 * @param string $single      The text to be used if the number is singular.
 * @param string $plural      The text to be used if the number is plural.
 * @param int    $number      The number to compare against to use either the singular or plural form.
 * @param string $domain      Text domain. Unique identifier for retrieving translated strings.
 *
 * @return string
 */
function wp_kama_ngettext_filter( $translation, $single, $plural, $number, $domain ){

	// filter...
	return $translation;
}
$translation(строка)
Переведенный текст.
$single(строка)
Оригинальный текст для единственного числа.
$plural(строка)
Оригинальный текст для множественного числа.
$number(строка)
Число по которому выбирается строка для перевода.
$domain(строка)
Идентификатор перевода, который указывается в функциях перевода. По нему загружается файл перевода .mo.

Примеры

0

#1 Заменим слово items на elements в блоке пагинации таблицы WP_List_Table в админке

Перевод строки items в блоке пагинации в таблице админки
## Replace `items` name in wp_list_table pagination box
add_filter( 'ngettext', 'change_wp_list_table_pagination_item_name', 10, 5 );
function change_wp_list_table_pagination_item_name( $translation, $single, $plural, $number, $domain ) {

	if ( $domain === 'default' && in_array( $translation, ['%s item', '%s items'] ) ) {
		return str_replace( '%s item', '%s element', $translation );
	}

	return $translation;
}

Список изменений

С версии 2.2.0 Введена.

Где вызывается хук

_n()
ngettext
wp-includes/l10n.php 488
$translation = apply_filters( 'ngettext', $translation, $single, $plural, $number, $domain );

Где используется хук в WordPress

Использование не найдено.