Django 1.9 sr_Latn语言环境不起作用

时间:2016-03-02 23:13:14

标签: django localization internationalization locale

在Django 1.6.5中,以下工作: 在settings.py

for (i = 0; i < markers1.length; i++) {
            marker = gmarkers1[i];
            // If is same category or category not picked
            if ((marker.city == city || city.length===0) && (marker.category == category || category.length===0)) {
                marker.setVisible(true);
            }
            // Categories don't match 
            else {
                marker.setVisible(false);
            }
        }

而带翻译的语言环境文件夹也称为 sr_Latn

使用Django 1.9.2。 sr_Latn不再被识别为语言代码所以我必须输入sr-latn,但是找不到locale文件夹 - 无论它是否被称为sr-latn,sr-Latn,sr_latn或sr_Latn。

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

这个问题仅限于塞尔维亚语 - 拉丁语,因为这是唯一拥有这种有趣格式的语言环境。

1 个答案:

答案 0 :(得分:0)

事实证明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文件夹中有locale文件夹:

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

一切都很有意义。