В том случае, если перевод заданной строки присутствует в языковах файлах, функция возвращает перевод, в обратном случае просто возвращает первый аргумент.
Я думаю, вы уже поняли, что если мы возьмем и вставим эту функцию с какими-либо параметрами в код, то она вероятнее всего ничего нам не переведет. Весь процесс локализации состоит из нескольких шагов, читайте о них подробно в руководстве по переводу плагинов и тем в WordPress.
__( $text, $domain = 'default' ) |
Параметры данной функции нельзя задавать в виде переменных, только в виде строк.
- $text
- (строка) Текст, который требуется перевести.
- $domain
- (строка) Уникальный идентификатор перевода, часто совпадает с названием директории темы/плагина.
Пример
$hi = __( 'Hello Misha!', 'truemisha' ); |
Если у вас на сайте используется русский язык и всё переведено более или менее правильно, то значение переменной $hi
в итоге будет «Привет, Миш!».
Как видите, и первый и второй параметр функции — строки. Их нужно задавать непосредственно в функции, а не в виде переменных.
На заметку
- Функция
__()
является абсолютно идентичной функции WordPresstranslate()
, но так как функциюtranslate()
нельзя использовать в коде напрямую, то я не стал её отдельно рассматривать в Кодексе. - l10n — это аббревиатура от localization (10 — количество букв между l и n в этом слове).
- i18n — здесь 18 это количество букв между i и n в слове internationalization.
- Во многих шрифтах функция выглядит как один длинный знак подчеркивания — это не так, она состоит из двух знаков подчеркивания.
Источник: misha.blog