has_translation()
Проверяет, существует ли перевод указанной строки для текстового домена и локали.
Ищет строку только среди уже загруженных файлов перевода.
Не загружает переводы автоматически. Если файлы указанного текстового домена и локали ещё не загружены, результат будет 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() 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 );
}