LoginSignup
2
1

More than 5 years have passed since last update.

Windowsでdjango-admin makemessagesを実行してpoファイルを生成する

Last updated at Posted at 2019-02-18

1. 目的

DjangoのInternationalization対応のためにMessageファイル(.po)を生成する。Windowsでの手順を記載する。

2. 環境

  • Windows 10
  • Python 3.6.5
  • Visual Studio 2017 + PTVS
  • Django 2.1

3. 手順

準備1 翻訳文字列のマーク

Django公式サイトの翻訳についてのドキュメントなどに従い、テンプレート中の翻訳対象の文字列を翻訳文字列に書き換える

<span>ほげほげ.</span>

<span>{% trans "Hoge hoge."%}</span>

準備2 翻訳フォルダの作成

manage.pyと同じフォルダに、「locale」フォルダを作成する

3-1. xgettext.exeのダウンロード

以下からxgettextのライブラリ同梱版のzipをダウンロードする。

3-2. xgettext.exeの保存

解凍し、manage.pyと同じフォルダに「xgettext.exe」を保存する

3-3. コマンドプロンプト起動 & 環境アクティベーション

コマンドプロンプトを開き、Djangoプロジェクトのルートフォルダ(manage.pyと同じフォルダ)に移動する。Djangoで利用している仮想環境をアクティベーションしておく。

3-4. makemessages実行

以下のコマンドでMessageファイルを生成する

django-admin makemessages -l ja -e html

* -e オプションは、任意の拡張子に変えてください。

3-5. 結果

localeフォルダ内に、-lオプションに応じた.poファイルが生成される

4. おわりに

生成された.poファイルは翻訳文字列を記載して.moファイルに変換する必要があります。そのあたりはDjangoの公式ドキュメントを参照してください。

xgettext.exeのフォルダにパスを通せたらかっこいいんですが、パスが通ってもなぜか上手くxgettext.exeが実行できなかったので苦肉の策です。

.poファイルを生成した後はDjango Rosettaなどで管理すると良いでしょう。

2
1
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
1