使用 rosetta 的 Django 翻译不反映更改

Django translation using rosetta not reflecting changes

我目前在使用 saleor 时遇到一个小问题:

首先,我在saleor/settings.py中设置如下配置:

# other settings config
LANGUAGE_CODE = 'pt_BR'
PROJECT_ROOT = os.path.normpath(os.path.join(os.path.dirname(__file__), '..'))
LOCALE_PATHS = ( 
    os.path.join(PROJECT_ROOT, "locale"),
)
USE_I18N = True
USE_L10N = True
USE_TZ = True

然后我在项目的根目录下创建了目录树/locale/pt_BR/LC_MESSAGES

之后,我打开了 rosetta 并开始将所有内容翻译成我的语言代码 (pt_BR)。一切都按预期工作,但我在网站上看不到我所做的更改。

我已经试过了:

它在预期的文件夹中生成了 .po 和 .mo 文件,但似乎没有任何变化(一切仍然是英文的)

附加信息: Django 版本 1.9.3 Python 版本 2.7

有人遇到同样的问题吗? 谢谢

-----编辑-----

这是我最终的(问题已解决).po 文件:

http://pastebin.com/EwrMYYyA

我的问题是:

我的 django.po 文件没有填入正确的语言代码:

"Language: \n"

所以我改成了

"Language: pt_BR\n"

重新编译消息后 (python manage.py compilemessages) 一切正常。

此外,我发现 LOCALE_PATHS 设置在路径后需要一个斜杠,如下所示:

LOCALE_PATHS = ( 
    os.path.join(PROJECT_ROOT, "locale/"),
)