четверг, 11 марта 2010 г.

Советская власть и русификация всей страны

Обнаружил тут вдруг, что, несмотря на довольно хорошую поддержку интернационализации в Джанго, с локализацией не всё так тривиально, как хотелось бы. По сути надо было решить очень простую задачу - выводить локализованные имена месяцев в архиве новостей (хотя кто знает, что там дальше понадобится ещё). Есть, конечно, datetime.strftime, только вот он пляшет от текущей локали, которая задаётся на весь процесс и не управляется Джанго. В итоге поставил BabelDjango и использовал format_date(date, 'LLLL') оттуда.

4 комментария:

  1. Есть ещё pytils, в нём есть strftime, который всегда выдаёт результат на русском языке, вне зависимости от локали.

    ОтветитьУдалить
  2. Только вот мне-то надо именно с зависимостью от локали, точней от выбранного юзером языка :)

    ОтветитьУдалить
  3. Так и не понял, к чему тут Django. datetime вообще к нему отношение не имеет.

    ОтветитьУдалить
  4. К тому, что до 1.2 джанго не поддерживает l10n

    ОтветитьУдалить