__()

Получает перевод строки $text
Функция WordPress
INT 2.1.0
WordPress Icon

Описание функции

Функция __() в WordPress используется для получения перевода текста. Она принимает строку текста, которую нужно перевести, и возвращает переведенный текст. Функция ищет перевод в файле перевода, связанном с указанным текстовым доменом.

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

__( string $text, string $domain = 'default' ): string

Функция __() принимает два параметра: $text (обязательный) и $domain (необязательный). Параметр $text содержит текст, который нужно перевести. Параметр $domain содержит текстовый домен, уникальный идентификатор для получения переведенных строк. По умолчанию используется домен ‘default’.

  • $text (string) — Обязательный. Текст для перевода.
  • $domain (string) — Необязательный. Текстовый домен. Уникальный идентификатор для получения переведенных строк. По умолчанию ‘default’.

Функция возвращает переведенный текст в виде строки.


$text = 'Hello, world!'; // Текст для перевода
$translated_text = __($text); // Получение перевода текста
echo $translated_text; // Вывод переведенного текста

В данном примере функция __() используется для перевода текста «Hello, world!». Перевод ищется в файле перевода, связанном с текстовым доменом ‘default’. Полученный перевод выводится на экран с помощью функции echo.

Примеры использования

Перевод текста на другой язык


$text = 'Hello World';
$translated_text = __('Hello World', 'my-text-domain');
echo $translated_text;

В данном примере используется функция __() для перевода текста «Hello World» на другой язык. Второй параметр функции, 'my-text-domain', указывает на текстовый домен, в котором будет искаться перевод. Если текстовый домен не указан, будет использован домен по умолчанию.

Результат выполнения кода:

Hello World

Изменение текста в зависимости от контекста


$text = 'Add New';
$translated_text = _x('Add New', 'button label');
echo $translated_text;

В данном примере используется функция _x() для перевода текста «Add New» с учетом контекста «button label». Функция _x() позволяет указать контекст, в котором будет использоваться перевод, что может быть полезно для различных переводов одного и того же текста в зависимости от контекста его использования.

Результат выполнения кода:

Add New

Получение перевода из другого текстового домена


$text = 'Hello World';
$translated_text = translate('Hello World', 'my-other-text-domain');
echo $translated_text;

В данном примере используется функция translate() для получения перевода текста «Hello World» из другого текстового домена, указанного вторым параметром функции. Функция translate() позволяет получить перевод из любого текстового домена, вне зависимости от текущего домена.

Результат выполнения кода:

Hello World

Перевод текста с использованием переменных


$name = 'John';
$age = 30;
$translated_text = sprintf(__('My name is %s and I am %d years old.', 'my-text-domain'), $name, $age);
echo $translated_text;

В данном примере используется функция sprintf() для перевода текста с использованием переменных. Функция sprintf() позволяет вставить значения переменных $name и $age в переводимую строку. Перевод осуществляется с помощью функции __() с указанием текстового домена.

Результат выполнения кода:

My name is John and I am 30 years old.

Вопросы и ответы

Как работает функция __() в WordPress?

Функция __() в WordPress используется для получения перевода заданного текста. Она принимает два параметра: $text (обязательный) и $domain (необязательный).

При вызове функции __(), она ищет перевод текста $text в указанном текстовом домене $domain. Если перевод найден, функция возвращает переведенный текст, иначе возвращает исходный текст.

Функция __() возвращает строку (тип данных string).

Как добавить новый текст для перевода в функцию __()?

Чтобы добавить новый текст для перевода в функцию __(), необходимо указать этот текст в качестве значения параметра $text.

Пример кода:


$text = 'Hello, world!';
$translated_text = __( $text );

Как указать другой текстовый домен при использовании функции __()?

Для указания другого текстового домена при использовании функции __(), необходимо указать его значение в качестве второго параметра $domain.

Пример кода:


$text = 'Hello, world!';
$domain = 'my-theme';
$translated_text = __( $text, $domain );

Как перевести текст на другой язык с помощью функции __()?

Для перевода текста на другой язык с помощью функции __(), необходимо использовать файлы переводов (MO-файлы) для соответствующего текстового домена.

Пример кода:


$text = 'Hello, world!';
$translated_text = __( $text, 'my-theme' );

В данном примере, если в текстовом домене ‘my-theme’ найден перевод для текста ‘Hello, world!’, то функция вернет переведенный текст.

Как использовать переменные в тексте, передаваемом в функцию __()?

Функция __() в WordPress позволяет переводить текст на различные языки. Она принимает два параметра: $text (обязательный) и $domain (необязательный).

Для использования переменных в тексте, передаваемом в функцию __(), необходимо вставить их в строку $text с помощью оператора конкатенации (точка). Например:


$name = 'John';
$text = __('Hello, ' . $name, 'my-theme');

В данном примере переменная $name содержит значение ‘John’. Функция __() переводит текст ‘Hello, ‘ на язык, указанный в настройках WordPress, и добавляет значение переменной $name. Результат сохраняется в переменной $text.

Как обрабатывать специальные символы в переводимом тексте с помощью функции __()?

Функция __() автоматически обрабатывает специальные символы в переводимом тексте. Например, символы ‘<' и '>‘ будут преобразованы в < и > соответственно.

Пример использования функции __() с обработкой специальных символов:


$text = __('<strong>Hello</strong>', 'my-theme');

В данном примере функция __() переводит текст ‘<strong>Hello</strong>’ на язык, указанный в настройках WordPress, и автоматически преобразует символы ‘<' и '>‘ в < и >. Результат сохраняется в переменной $text.

Как использовать функцию __() в теме WordPress?

Для использования функции __() в теме WordPress необходимо передать текст, который нужно перевести, и опционально указать текстовый домен.

Пример использования функции __() в теме WordPress:


$text = __('Hello, world!', 'my-theme');

В данном примере функция __() переводит текст ‘Hello, world!’ на язык, указанный в настройках WordPress, и сохраняет результат в переменной $text.

Как создать собственный текстовый домен для функции __()?

Создание собственного текстового домена позволяет группировать переводы текста по тематике или компонентам темы или плагина.

Пример использования функции __() с собственным текстовым доменом:


$text = __('Hello, world!', 'my-theme');

В данном примере текстовый домен указан как ‘my-theme’. Функция __() будет искать переводы текста ‘Hello, world!’ в файле переводов с именем ‘my-theme.po’.

Функция __() в WordPress позволяет переводить текст на различные языки. Она принимает текст для перевода и опционально указывает текстовый домен. При использовании переменных в тексте, передаваемом в функцию __(), необходимо использовать оператор конкатенации. Функция __() автоматически обрабатывает специальные символы в переводимом тексте. Для создания собственного текстового домена необходимо указать его при вызове функции __().

Связанные элементы

  • Функция add_action(): регистрирует действие (hook) для выполнения определенного кода в определенный момент.
  • Функция wp_enqueue_script(): регистрирует скрипт для загрузки на страницу и добавляет его в очередь загрузки.
  • Функция wp_nav_menu(): выводит навигационное меню, зарегистрированное в WordPress.
  • Функция wp_redirect(): выполняет перенаправление на указанный URL.
  • Хук init: срабатывает при инициализации WordPress и позволяет выполнять дополнительные действия.
  • Хук wp_head: срабатывает внутри тега <head> и позволяет добавлять дополнительные элементы в заголовок страницы.
  • Хук wp_footer: срабатывает перед закрывающим тегом </body> и позволяет добавлять дополнительные элементы в подвал страницы.
  • Класс WP_Query: используется для выполнения запросов к базе данных WordPress и получения соответствующих записей.
  • Класс WP_Widget: используется для создания виджетов, которые могут быть добавлены в сайдбары или другие области сайта.
  • Класс WP_Customize_Control: используется для создания настраиваемых элементов управления в пользовательской панели настроек.
Обсуждение