В вашем случае - что-то с локалью. Возможно, нужно et_EE.utf8 указать. Но проблема может быть шире и грустнее.
Для русского языка все равно приходится пользоваться словарной подстановкой месяца. Просто потому, что нужно вывести "1 января", к примеру, а форматированное название месяца выводится "1 Январь". Так что все вручную...
str_replace(
array('january','february','march','april','may','june','july',
'august','september','october','november','december'),
array('января','февраля','марта','апреля','мая','июня','июля',
'августа','сентября','октября','ноября','декабря'),
strtolower(date('j F, Y г.',
$daystr)));
и локаль аглицкая, конечно...
Возможно , для эстонского что-то такое будет тоже применимо...