使用rosetta的Django翻译没有反映变化

时间:2016-05-11 20:55:45

标签: python django translation rosetta

我目前使用销售商有一个小问题:

首先,我在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)。一切都按预期工作,但我看不到我在网站上所做的更改。

我已经尝试过:

  • 重新启动服务器(python manage.py runserver
  • 在我编辑的.po文件中手动运行python manage.py compilemessages并且没有错误。

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

其他信息: Django版本1.9.3 Python版本2.7

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

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

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

http://pastebin.com/EwrMYYyA

1 个答案:

答案 0 :(得分:0)

我的问题是:

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

"Language: \n"

所以我改为

"Language: pt_BR\n"

重新编译消息(python manage.py compilemessages)后,一切都很顺利。

另外,我发现LOCALE_PATHS设置需要在这样的路径之后斜杠:

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