Функция TRANSLATE() в WordPress 2.2.0
Функция TRANSLATE() используется для получения перевода текста $text. Если перевода нет или текстовое доменное имя не загружено, возвращается оригинальный текст.
Важно: Не используйте translate() напрямую. Вместо этого используйте функции __() или другие связанные функции для перевода.
Что используется
Для работы функции используются следующие функции:
get_translations_for_domain()MO()
Зачем это нужно
Функция translate() позволяет переводить тексты в вашем сайте WordPress. Это полезно, если вы хотите, чтобы ваш сайт поддерживал несколько языков.
Входные параметры
Функция принимает следующие параметры:
translate( $text, $domain );
$text(строка) — текст, который нужно перевести (обязательный параметр).$domain(строка) — текстовое доменное имя. Уникальный идентификатор для получения переведенных строк.- По умолчанию:
'default'
- По умолчанию:
Пример использования
$domain = 'my-textdomain';
$text = 'Некоторый текст для перевода';
echo translate( $text, $domain );
В этом примере переменная $text содержит текст, который будет переведен с использованием текстового домена $domain.
Возврат значения
Функция возвращает строку с переведенным текстом.
Хуки функции
Внутри функции используются следующие хуки:
gettext— фильтрует текст с его переводом.gettext_{$domain}— фильтрует текст с его переводом для конкретного домена.
Изменения в версиях
- С версии 2.2.0 — функция была введена.
- С версии 5.5.0 — добавлен фильтр
gettext-{$domain}.
Код функции
Вот как выглядит код функции translate в WordPress:
function translate( $text, $domain = 'default' ) {
$translations = get_translations_for_domain( $domain );
$translation = $translations->translate( $text );
/**
* Фильтрует текст с его переводом.
*
* @since 2.0.11
*
* @param string $translation Переведённый текст.
* @param string $text Текст для перевода.
* @param string $domain Текстовое доменное имя.
*/
$translation = apply_filters( 'gettext', $translation, $text, $domain );
/**
* Фильтрует текст с его переводом для конкретного домена.
*
* @since 5.5.0
*
* @param string $translation Переведённый текст.
* @param string $text Текст для перевода.
* @param string $domain Текстовое доменное имя.
*/
$translation = apply_filters( "gettext_{$domain}", $translation, $text, $domain );
return $translation;
}
Другие функции, связанные с переводом
Существуют другие функции, которые можно использовать для локализации и интернационализации в WordPress:
__()— для получения перевода._e()— для вывода перевода сразу._n()— для работы с количественными формами.load_textdomain()— для загрузки текстового домена.
Эти функции помогут вам сделать ваш сайт более доступным для пользователей, говорящих на разных языках.
Заключение
Функция TRANSLATE() является важной частью механизма перевода в WordPress, позволяя вашему сайту поддерживать многоязычность. Правильное использование и понимание этой функции поможет сделать ваш сайт более удобным для международной аудитории.