setlocale(LC_ALL, 'it_IT'); установить, но все еще даты на английском
У меня есть этот код, который через json_decode извлекает мои последние твиты, их дату и т. Д.
<?php setlocale(LC_ALL, 'it_IT'); ?>
<?php include("twitter_auth.php");
echo "<ul style='color:#6E6E6E'>";
foreach ($twitter_data as $tweet)
{
if (!empty($tweet)) {
$text = $tweet->text;
$text_in_tooltip = str_replace('"', '', $text); // replace " to avoid conflicts with title="" opening tags
$id = $tweet->id;
$time = strftime('%d %B', strtotime($tweet->created_at));
$username = $tweet->user->name;
}
echo '<li><span title="'; echo $text_in_tooltip; echo '">'; echo $text . "</span><br>
<a href=\"http://twitter.com/"; echo $username ; echo '/status/'; echo $id ; echo '"><small>'; echo $time; echo '</small></a> -
<a href="http://twitter.com/intent/tweet?in_reply_to='; echo $id; echo '"><small>rispondi</small></a> -
<a href="http://twitter.com/intent/retweet?tweet_id='; echo $id; echo '"><small>retweet</small></a> -
<a href="http://twitter.com/intent/favorite?tweet_id='; echo $id; echo '"><small>preferito</small></a></li>';
}
echo '</ul>';
?>
Проблема в том, что $time выводит что-то вроде "03 февраля", хотя есть setlocale(LC_ALL, 'it_IT');. В чем ошибка? Как мне вывести даты на итальянском? Система: PHP 5.4.11 и nginx (на сервере Ubuntu).
РЕДАКТИРОВАТЬ: я также запустил dpkg-переконфигурировать локали:
Generating locales...
en_US.UTF-8... up-to-date
it_IT.UTF-8... up-to-date
Generation complete.
1 ответ
Решение
Как бы глупо это не звучало, я решил изменить строку на:
<?php setlocale(LC_ALL, 'it_IT.UTF-8'); ?>