Документация WordPress

load_theme_textdomain

Функция load_theme_textdomain в WordPress используется для загрузки переводов шаблона темы. Функция позволяет использовать локализацию для поддержки нескольких языков. Эта функция обычно вызывается в файле functions.php темы.

Синтаксис

load_theme_textdomain($domain)

  • $domain (строка, обязательный): Текстовый домен, который будет использован для перевода строк.
  • $path (строка, необязательный): Путь к каталогу, где находятся файлы перевода. По умолчанию используется каталог languages внутри вашего шаблона.

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

Предположим, у нас есть шаблон под названием mytheme и мы хотим добавить поддержку локализации.

  • Создание файла локализации:
    • Создайте каталог languages внутри вашего шаблона: wp-content/themes/mytheme/languages/.
    • Создайте файл перевода, например, для русского языка: ru_RU.po и ru_RU.mo.
  • Добавление функции в functions.php:

Эта строка будет переведена на русский язык, если соответствующий перевод существует в файле ru_RU.mo.

Подробное объяснение

Создание файлов перевода: Файлы перевода создаются с помощью инструментов, таких как Poedit.net. В этих файлах содержатся исходные строки и их переводы. Например, в файле ru_RU.po будет запись:

msgid "Hello, World!"
msgstr "Привет, мир!"

Загрузка текстового домена: Функция load_theme_textdomain указывает WordPress, где искать файлы перевода для данного текстового домена. В приведенном выше примере текстовый домен — это mytheme.

Функции для перевода:

  • __(): Возвращает переведенную строку. Используется для простых строк.
  • _e(): Выводит переведенную строку. Аналогично __(), но сразу выводит результат.
  • _n(): Обеспечивает поддержку множественных форм. Используется для строк, которые могут изменяться в зависимости от числа (например, «1 комментарий» и «5 комментариев»).
  • _x(), ex(), _nx(): Дополнительные функции, предоставляющие контекст для перевода

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

Если $comment_count равно 1, будет использовано первое значение (‘%s comment’). Если больше 1 — второе (‘%s comments’).

Использование load_theme_textdomain позволяет легко локализовать ваш шаблон WordPress, делая его доступным для пользователей, говорящих на разных языках. Эта функция является важной частью создания многоязычных сайтов на WordPress.

theme

Функции WordPress