【问题标题】:Django translation using rosetta not reflecting changes使用 Rosetta 的 Django 翻译不反映更改
【发布时间】:2016-05-11 20:55:45
【问题描述】:

我目前在使用 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)。一切都按预期进行,但我在网站上看不到我所做的更改。

我已经试过了:

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

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

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

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

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

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

http://pastebin.com/EwrMYYyA

【问题讨论】:

    标签: python django translation django-rosetta


    【解决方案1】:

    我的问题是:

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

    "Language: \n"
    

    所以我改成

    "Language: pt_BR\n"
    

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

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

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

    【讨论】:

    • 你能把你的翻译粘贴到某个地方吗?我正在做一个意大利语,但在复数形式上出现错误。
    • 好的,我刚刚在问题正文中添加了一个带有我的.po文件的pastebin URL,你可以看看它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-17
    • 1970-01-01
    • 2014-11-26
    • 1970-01-01
    • 2012-06-06
    相关资源
    最近更新 更多