im пытается распечатать дату на немецком языке с помощью strftime. Я уже пробовал
date_default_timezone_set('Europe/Berlin'); setlocale(LC_ALL, "de_DE", "de_DE@euro", "deu", "deu_deu", "german"); $time = strftime("%B", 1323956220); echo $time; //I want to see "Dezember", but I see "December" instead
но это не сработало. Я что-то упускаю?
Изменить: извините, я пропустил функцию strftime: P
Мое предположение: локаль на самом деле называется de_DE.utf8
на вашем компьютере (это на моем). Это работает для вас?
setlocale(LC_ALL, "de_DE.utf8"); // or LC_TIME echo strftime('%B', 1323956220);
BTW: в Linux вы можете использовать locale -a
чтобы узнать, что доступно.
Вам понадобится расширение интернационализации, но я рекомендую использовать класс IntlDateFormatter
Сначала взгляните на руководство, но быстрый пример может выглядеть так:
$fmt = datefmt_create("de_DE", IntlDateFormatter::FULL, IntlDateFormatter::NONE, 'Europe/Berlin', IntlDateFormatter::GREGORIAN); echo datefmt_format($fmt , time());
Что выводит это:
Доннерстаг, 15. декабрь 2011 г.