Louis Barranqueiro
Louis Barranqueiro

Reputation: 10228

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

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 :

Upvotes: 51

Views: 45788

Answers (4)

Bambier
Bambier

Reputation: 845

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

sudo apt install gettext

Upvotes: 22

Vasil Laurynovich
Vasil Laurynovich

Reputation: 464

For Windows:

  1. Download gettext and install

  2. Add in system var PATH: C:\Program Files\gettext-iconv\bin (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

Upvotes: 24

Vlad T.
Vlad T.

Reputation: 2608

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"

Upvotes: 7

Louis Barranqueiro
Louis Barranqueiro

Reputation: 10228

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

Upvotes: 55

Related Questions