Django 1.9 sr_Latn не работает

В Django 1.6.5 работало следующее: в settings.py

LANGUAGES = (
    ('sr_Latn', 'Srpski'),
    ('en', 'English'),
)

тогда как языковая папка с переводом также называлась sr_Latn.

С Джанго 1.9.2. sr_Latn больше не распознается как код языка, поэтому мне нужно ввести sr-latn, но тогда папка локали не найдена - независимо от того, называется ли она sr-latn, sr-Latn, sr_latn или sr_Latn.

LANGUAGES = (
    ('sr-latn', 'Srpski'),
    ('en', 'English'),
)

Эта проблема характерна только для сербско-латинского языка, потому что это единственная локаль с таким забавным форматом.

1 ответ

Оказывается, на этот раз разработчики Django сделали все правильно. Следующая настройка работала как шарм:

Настройки:

LANGUAGES = (
    ('sr-latn', 'Srpski'),
    ('en-gb', 'English'),
)

LOCALE_PATHS = (
    # translation files on the server must be in the same folder as this
    # settings file and this path must point to the translations.
    # Dev server works anyway with this path. 
    os.path.join(os.path.dirname(__file__), "locale"),
)

У меня есть папка локали в папке Project:

./project-folder/
    locale/
        sr_Latn/
            LC_MESSAGES/
                django.mo
                django.po
        en_GB/
            LC_MESSAGES/
                django.mo
                django.po

Все в конце концов имеет смысл.

Другие вопросы по тегам