2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Django+venvの環境でi18nを使用できるようにGNU gettextをインストールする

Last updated at Posted at 2019-12-23

#DjangoでGNU gettextを利用できるようにする

Djangoのi18n対応でGNU gettextをインストールする必要があったので、手順をまとめました。
https://leben.mobi/blog/django_i18n/python/ の補完的な記事です。
初めはbrewでgettextをインストールしたものの、
django-admin.py makemessages -l ja
を実行すると
CommandError: Can't find msguniq. Make sure you have GNU gettext tools 0.15 or newer installed.
というエラーが出てきてしまいました。
これは私がvenvを使用していたことに起因するものですが、venvにPATH variableを設定することでこのエラーが解消されました。

.....と思いきや、私の環境ではその後も
.../bin/rst2html5.py:2: Unknown encoding "utf8". Proceeding with ASCII instead.
という新たなエラーが出てきしまいました。どうやらこっちの方はvenv内のrst2html5.pyというファイルにあるバグが原因のようです。こちらのバグについては記事の最後で解説しています。

動作環境

  • Mac OSX(10.14.6)
  • Django 2.2.5
  • homebrew

##homebrewでGettextをインストール

brew install gettext

##venvにPATH variableを設定
venv/binにあるactivateファイルを開いて、末尾に

export PATH=$PATH:/usr/local/Cellar/gettext/YOUR_VERSION/bin

を挿入する
※YOUR_VERSIONは使用中のgettextのバージョンと差し替えてください

##rst2html5.py内のバグを直す
utf8という記述をutf-8に直す

これで上記のリンクの手順通りにi18nを使えるようになるはずです。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?