Django如何决定将makemessages的输出放在哪里?

时间:2017-01-10 02:47:31

标签: django django-i18n

我有一个带有多个本地语言环境文件夹的Django应用程序,存储在基本目录的翻译文件夹中:

  • translations/public/locale/{en,fr}
  • translations/portal/locale/{en,fr}
  • translations/terminology/locale/{en,fr}

LOCALE_PATHS中的相应条目:

LOCALE_PATHS = (
  os.path.abspath(os.path.join(BASE_DIR, 'translations', 'public', 'locale')),
  os.path.abspath(os.path.join(BASE_DIR, 'translations', 'portal', 'locale')),
  os.path.abspath(os.path.join(BASE_DIR, 'translations', 'terminology', 'locale')),
)

一切正常,但我不知道如何告诉makemessages将输出放在哪里。我在源代码中没有看到任何相关参数。我倾向于将文件放在其他地方,例如:

% bin/dev/manage.py makemessages -o .../derived_translations

如何控制或至少确定输出文件的放置位置?

1 个答案:

答案 0 :(得分:1)

它在makemessages的帮助中说得对:

  

在当前目录的整个源树上运行并完全取出       标记为翻译的字符串。它创建(或更新)消息文件        conf/locale (在django树中)或 locale (用于项目和应用程序)       目录。您必须使用--locale之一运行此命令,       --exclude,或--all options。

因此,您可以访问 conf/locale app_name/locale 目录。

至于自定义输出目录,如果没有编写makemessages.py的自定义版本

,它看起来就不可能