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

Question:

I’m trying to internationalize a Django app by following the wonderful Django documentation. The problem is when I try to run command to create language files:

python manage.py makemessages -l fr

It outputs an error :

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

My configuration :

  • OS : OSX El Capitan v10.11.3
  • Python : v3.5
  • Django : v1.8
Asked By: Louis Barranqueiro

||

Answers:

Install gettext GNU tools with Homebrew using Terminal

  1. Install Homebrew : /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  2. Install GNU gettext : brew install gettext
  3. Create symlink : brew link gettext --force
Answered By: Louis Barranqueiro

If you try running link gettext --force it warns you:

Note that doing so can interfere with building software.

The safest way to use it is to add gettext binary to your path:

export PATH="/usr/local/opt/gettext/bin:$PATH"
Answered By: Vlad T.

For Windows:

  1. Download gettext and install

  2. Add in system var PATH: C:Program Filesgettext-iconvbin (if you didn’t it during installation)

  3. Check or create in your project directory locale/

  4. Check or add in settings.py: LOCALE_PATHS = (BASE_DIR + 'locale/', )

Enjoy by django-admin makemessages -l fr. If still repeating don’t forget to restart your shell to update env vars

Answered By: Vasil Laurynovich

First make dir in root project folder with name locale then run

sudo apt install gettext
Answered By: Nima