setlocale, имеющий эффект в PHP

У меня есть следующий отрывок кода:

setlocale(LC_ALL, "de");
print(strftime("%A %e %B %Y", time()));

и это печатает

Вторник 4 мая 2010

вместо

Dienstag 4. Mai 2010

Какие-либо идеи, почему? Как зафиксировать?

6
задан pupeno 4 May 2010 в 12:34
поделиться

3 ответа

У вас доступна de локаль; что вам дает setlocale? См: возвращаемые значения для setlocale().

Также проверьте список доступных локалей (например, locale -a или любой другой, подходящий для вашей ОС), чтобы узнать, есть ли среди них de. Вероятные альтернативы включают de_DE или de_DE.utf8.

В Debian, чтобы создать новую локаль, выполните эту команду:

dpkg-reconfigure locales

и выберите те, которые вам нужны.

15
ответ дан 8 December 2019 в 02:52
поделиться

Попробуйте установить LC_ALL на «de_DE». В моей системе это не сработает, пока я этого не сделаю.

$ LC_ALL=de date
Tue May  4 07:40:13 CDT 2010
$ LC_ALL=de_DE date
Di 4. Mai 07:39:27 CDT 2010
3
ответ дан 8 December 2019 в 02:52
поделиться

Установка локали не будет иметь никакого эффекта, если локаль не установлена в вашей системе.

5
ответ дан 8 December 2019 в 02:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: