Примеры:
Статический текст, не маркированный GetText
<h2>Links</h2>
Проблема: Слово ‘Links’ не маркировано вызовом GetText. Оно не доступно для перевода.
Решение: Необходимо маркировать текст вызовом эхо-вывода GetText:
<h2><?php _e('Links','theme-text-domain'); ?></h2>
Мы маркировали ‘Links’ вызовом gettext call _e() (переводимый эхо-вывод). Теперь WPML может его перевести.
Текст в функции не маркирован GetText
by <?php echo(the_author('', false)); ?>
Проблема: Фраза не доступна для перевода.
Решение: Фраза частично содержит статический и динамический текст. Его нужно маркировать одним вызовом GetText с использованием аргументов.
<?php printf( __( 'by %s', 'theme-text-domain' ), the_author('', false) ); ?>
Переводчик получит текст вида “by %s”. Это хорошо, так как он может поменять порядок слов, что требуется в некоторых языках.
Обратите внимание: в этом случае мы использовали вызов GetText __(). Он похож на _e(), но он не записывает текст для вывода (как например, вывод echo). Вызов printf совершает вывод.
Отсутствует аргумент text-domain
<?php _e('Roadmap') ?>
Проблема: В вызове GetText нет аргумента textdomain.
Решение: Добавьте text-domain.
<?php _e('Roadmap','theme-text-domain') ?>
Аргумент text-domain указывает для GetText (и WPML), к чему относится текст. Эта строка ни для кого не имеет никакого значения, кроме вас. Вы можете выбрать любую строку, но не будьте противоречивы. Значение text-domain будет группировать связанные между собой строки.
Конечно же, “theme-text-domain” – не очень подходящее и не уникальное имя. Например, если название вашей темы “star-geeks”, это значение получше подойдет для аргумента text-domain.