has_translation()WP 6.7.0

Проверяет, существует ли перевод указанной строки для текстового домена и локали.

Ищет строку только среди уже загруженных файлов перевода.

Не загружает переводы автоматически. Если файлы указанного текстового домена и локали ещё не загружены, результат будет false.

Используйте __(), когда нужно получить перевод строки. Если перевод отсутствует, функция отдаст исходную строку.

Работает на основе: WP_Translation_Controller::has_translation()

Хуков нет.

Возвращает

bool.

  • true - перевод строки существует.
  • false - перевод не найден или подходящие файлы перевода не загружены.

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

has_translation( $singular, $textdomain, ?string $locale ): bool;
$singular(строка) (обязательный)
Исходная строка, наличие перевода которой нужно проверить.
$textdomain(строка)
Текстовый домен перевода.
По умолчанию: 'default'
$locale(строка|null)
Локаль перевода, например ru_RU. При значении null используется текущая локаль.
По умолчанию: null

Примеры

#1 Использовать запасной текст, если перевод отсутствует

$text = has_translation( 'Download guide', 'my-plugin' )
	? __( 'Download guide', 'my-plugin' )
	: __( 'Download', 'my-plugin' );

echo esc_html( $text );

#2 Проверить перевод для конкретной локали

if ( has_translation( 'Download guide', 'my-plugin', 'ru_RU' ) ) {
	echo 'Русский перевод загружен.';
}

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

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

Код has_translation() WP 7.1

function has_translation( string $singular, string $textdomain = 'default', ?string $locale = null ): bool {
	return WP_Translation_Controller::get_instance()->has_translation( $singular, $textdomain, $locale );
}