__() — возвращает переведенную строку

В том случае, если перевод заданной строки присутствует в языковах файлах, функция возвращает перевод, в обратном случае   просто возвращает первый аргумент.

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

Также рекомендую вам видеоурок про перевод тем и видеоурок про перевод плагинов.

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

Параметры

$text
(строка) Текст, который требуется перевести.
$domain
(строка) Уникальный идентификатор перевода, часто совпадает с названием директории темы/плагина.

Параметры данной функции нельзя задавать в виде переменных, только в виде строк.

Пример

$hi = __( 'Hello Misha!', 'truemisha' );

Если у вас на сайте используется русский язык и всё переведено более или менее правильно, то значение переменной $hi в итоге будет «Привет, Миш!».

Как видите, и первый и второй параметр функции — строки. Их нужно задавать непосредственно в функции, а не в виде переменных.

На заметку

  • Функция __() является абсолютно идентичной функции WordPress translate(), но так как функцию translate() нельзя использовать в коде напрямую, то я не стал её отдельно рассматривать в Кодексе.
  • l10n — это аббревиатура от localization (10 — количество букв между l и n в этом слове).
  • i18n — здесь 18 это количество букв между i и n в слове internationalization.
  • Во многих шрифтах функция выглядит как один длинный знак подчеркивания — это не так, она состоит из двух знаков подчеркивания.

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Комментарии — 1

Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.

Миша Рудрастых и WordPress

Полезности из мира WordPress и жизни студии.

Мой телеграм-канал