Kirius1
8/21/2015 - 11:05 AM

WPML strings.php

Примеры:

Статический текст, не маркированный 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.