i18n在locale app中部分加载

时间:2014-09-18 09:34:26

标签: python django internationalization

我的自定义应用中的Django(es)翻译文件正在部分加载,因为:

  • 我的应用程序中新增的变量(但不包含在django文件夹中)将被翻译。
  • 默认情况下,django和我的应用程序中的变量(我想更改默认翻译)不会被翻译。

我的代码:

在django默认语言环境文件夹中:

msgid "Log in"
msgstr "Iniciar sesión"

在我的应用语言环境文件夹中:

msgid "Log in"
msgstr "bla bla bla"   

未翻译我看到的是“Iniciarssión”值,而不是“bla bla bla”

msgid "This is my site of bla bla bla"
msgstr "Esta es mi web de bla bla bla"

这样可以正常使用

针对此问题的任何解决方案?

1 个答案:

答案 0 :(得分:0)

您需要编译文件。例如,如果您使用i18n作为英语和西班牙语,您可以执行以下操作:

 django-admin.py makemessages -l es
 django-admin.py makemessages -l en
 django-admin.py compilemessages

您还需要使用语言环境文件夹正确设置设置。

LOCALE_PATHS = (
    os.path.join(BASE_DIR, "locale"),
)

here解释了加载语言环境翻译的顺序。