Афаик, ты не можешь комбинировать их так, как тебе нравится. Единственная идея, которую я имею, это написать свою собственную функцию усечения вместе с вашей функцией перевода:
function do_translation($params, $content, $smarty, &$repeat) {
if (isset($content)) {
$options = $params["options"];
$content = yourTranslateFunction($content);
if ($options['truncate']) $content = yourTruncateFunction($content);
return $content;
}
}
$smarty->registerPlugin("block", "tr", "do_translation");
Тогда вы можете вызвать его в Smarty следующим образом:
{tr truncate="1"}Really long text I want to be translated then truncated{/tr}