Функция TRANSLATE() в WordPress 2.2.0: использование и применение

Функция 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, позволяя вашему сайту поддерживать многоязычность. Правильное использование и понимание этой функции поможет сделать ваш сайт более удобным для международной аудитории.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *