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

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

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

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

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

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

Пример

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

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

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

На заметку

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

Источник: misha.blog

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

Путешествует по миру и рассказывает всем о WordPress лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp's, но совсем не умеет слушать чужие доклады.

Добавить комментарий

%d такие блоггеры, как: