That one may be a bit tricky.
The main problem is that these strings are used in a kind of odd way in the "who is online" page too, and just replace them with an sprintf would create problems there.
In particular, in http://www.elkarte.net/community/index.php?action=who the "time" column is built like that:
* 1st the normal time is generated doing:
$time = $txt['today'] . $time
and obtaining "Today at 02:46:17 pm" for example,
* then, somewhere else, the "today at" is stripped out with a replace like this:
$time = strtr($time, array($txt['today'] => ''));
To solve that it requires to add two new strings in Who.{language}.php at least.
Let's see, try to apply these changes and see if the result looks good, then we can decide on applying it to RC2 or final.
In Subs.php:
return $txt['today'] . standardTime($log_time, $today_fmt, $offset_type);
return sprintf($txt['today'], standardTime($log_time, $today_fmt, $offset_type));
then:
return $txt['yesterday'] . standardTime($log_time, $today_fmt, $offset_type);
return sprintf($txt['yesterday'], standardTime($log_time, $today_fmt, $offset_type));
In index.english.php:
$txt['today'] = 'Today at ';
$txt['yesterday'] = 'Yesterday at ';
$txt['today'] = 'Today at %1$s';
$txt['yesterday'] = 'Yesterday at %1$s';
And the corresponding change in index.german.php.
Additionally, in Who.english.php and Who.german.php:
// Overrides the already defined strings to get clean results in the table
$txt['today'] = '%1$s';
$txt['yesterday'] = '%1$s';
Let me know if it works for you.