/home/yoshi/python/hello.py
# -*- coding: utf-8 -*- import gettext # /home/yoshi/python/ja/LC_MESSAGES/messages.mo ファイルがないといけない gettext.bindtextdomain("messages", "/home/yoshi/python") _ = gettext.gettext print _("hello")
実行すると
ハロー
messages.moファイルの生成方法
- pygetextコマンドでhello.pyからmessages.potファイルを生成する
- messages.potをmessages.poにリネームしファイルの内容を変更する
- msgfmtコマンドでmessages.poからmessages.moファイルを生成する
1. pygetextコマンドでhello.pyからmessages.potファイルを生成する
作業ディレクトリを移動$ cd /home/yoshi/python
pygettextコマンドでhello.pyからmessages.potを生成する
$ pygettext hello.py
/home/yoshi/python/messages.pot が生成される
# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR ORGANIZATION # FIRST AUTHOR, YEAR. # msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2009-10-19 22:08+JST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: ENCODING\n" "Generated-By: pygettext.py 1.5\n" #: hello.py:10 msgid "hello" msgstr ""
2. messages.potをmessages.poにリネームしファイルの内容を変更する
ファイル名を変更するmv messages.pot messages.po/home/yoshi/python/messages.po 変更した部分は赤字
# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR ORGANIZATION # FIRST AUTHOR, YEAR. # msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2009-10-19 22:08+JST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: ENCODING\n" "Generated-By: pygettext.py 1.5\n" #: hello.py:10 msgid "hello" msgstr "ハロー"
3. msgfmtコマンドでmessages.poからmessages.moファイルを生成する
msgfmtコマンドでmessages.poからmessages.moを生成する$ msgfmt messages.po
messages.moを移動するディレクトリを作成するディレクトリ名は決まっている(jaはjapanese)
$ mkdir -p ja/LC_MESSAGES
messages.moを移動する$ mv messages.mo ja/LC_MESSAGES
詳細はドキュメントで
0 件のコメント:
コメントを投稿