Давайте начнём с простой задачки — вывести локализованную дату: там должен быть день, полное название месяца на языке локали и полный год. В наше время это действительно очень просто. В PHP есть своё i18n-расширение intl
, которое входит в ядро с версии 5.3. И в этом intl
есть класс IntlDateFormatter
, у которого в свою очередь предопределено несколько форматов. Используем его LONG
формат.
<?php
foreach (['en_US', 'ru_RU', 'es_ES', 'fa_IR'] as $locale) {
$formatter = new IntlDateFormatter(
$locale,
IntlDateFormatter::LONG,
IntlDateFormatter::NONE,
'Europe/Moscow'
);
echo $formatter->format(1455111783), PHP_EOL;
}
February 10, 2016
10 февраля 2016 г.
10 de febrero de 2016
۱۰ ﻑﻭﺭیﻩٔ ۲۰۱۶ ﻡ. // вот тут вообще-то RTL-текст, но я хз как это правильно оформить
Пока неплохо. А теперь давайте слегка изменим условия: «вывести локализованную дату: там должен быть день и полное название месяца на языке локали». То есть, мы не хотим отображать год.
Читать полностью »