Просмотр поста

.
AlkatraZ
╭∩╮ (`-`) ╭∩╮
# vladgba (04.02.2017 / 10:39)
Как вариант:
echo '<li><span class="gray">' .
_t(($user['sex'] == 'm' ? 'He':'She') . ' stay on the site') . ':</span> '. $tools->timecount($user['total_on_site']) .
'</li>';[/spoiler]
Такой вариант не пойдет.
Не забывай, что мы используем Gettext со всеми его удобствами, в частности автоматическим извлечением фраз из кода и онлайн сервисом по переводу.

Функция _t() у нас прописана как переводчик и все, что у нее внутри (аргумент) считается фразой.
Если ты внутрь функции впихнешь кроме самой фразы что-то еще, то это все при извлечении (к примеру с помощью PoEdit) будет считаться фразой.
Фактически, ты в ОДНУ функцию пытаешься вставить ДВЕ фразы. Как это извлекать и переводить?

Итог: использовать только по отдельности. Функция - фраза.
МОЖНО: В тернарном операторе в каждое условие надо включать отдельную функцию перевода со своей фразой.
НЕЛЬЗЯ: использовать одну функцию перевода, а в ее аргументе применить условие с несколькими фразами