Я знаю, что эта тема старая, но у меня была такая же проблема сегодня.Даты отображаются правильно на моем компьютере с Linux, но на моем компьютере с Windows они все еще на английском языке.
Если вы хотите, чтобы это работало на компьютерах с Linux и Windows, вы должны быть осторожны с функцией setlocale ().В Linux вы должны использовать 'nb_NO' (например) для норвежских форматов, а в Windows вы должны использовать 'norwegian':
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
setlocale(LC_ALL, 'norwegian');
} else {
setlocale(LC_ALL, 'nb_NO');
}
Вы можете найти список кодов языков для Windows в MSDN .