找不到 msguniq。确保安装了 GNU gettext 工具 0.15 或更新版本。 (Django 1.8 和 OSX ElCapitan)

Can't find msguniq. Make sure you have GNU gettext tools 0.15 or newer installed. (Django 1.8 and OSX ElCapitan)

我正在尝试按照精彩的 Django 文档使 Django 应用程序国际化。问题是当我尝试使用 运行 命令创建语言文件时:

python manage.py makemessages -l fr

输出错误:

CommandError: Can't find msguniq. Make sure you have GNU gettext tools 0.15 or newer installed.

我的配置:

使用终端使用 Homebrew 安装 gettext GNU 工具

  1. 安装 Homebrew : /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  2. 安装 GNU gettext:brew install gettext
  3. 创建符号链接:brew link gettext --force

如果您尝试 运行 link gettext --force 它会警告您:

Note that doing so can interfere with building software.

最安全的使用方法是将 gettext 二进制文件添加到您的路径中:

export PATH="/usr/local/opt/gettext/bin:$PATH"

对于Windows:

  1. 下载gettext并安装

  2. 在系统变量 PATH 中添加:C:\Program Files\gettext-iconv\bin(如果您在安装过程中没有添加)

  3. 在你的项目目录下勾选或创建locale/

  4. 勾选或在settings.py中添加:LOCALE_PATHS = (BASE_DIR + 'locale/', )

享受django-admin makemessages -l fr。如果仍然重复,请不要忘记重新启动您的 shell 以更新环境变量

首先在根项目文件夹中创建名为 locale 的目录,然后 运行

sudo apt install gettext