翻訳クラスは、元のソースファイル中のメッセージ文字列から 翻訳されたメッセージ文字列への変換を実際に実装しているクラスです。 全ての翻訳クラスが基底クラスとして用いるクラスが NullTranslations です; このクラスでは独自の特殊な翻訳 クラスを実装するために使うことができる基本的なインタフェースを 以下に NullTranslations のメソッドを示します:
[fp]) |
None
でない場合 self._parse(fp)
を
呼び出します。
fp) |
fallback) |
message) |
message) |
message) |
singular, plural, n) |
singular, plural, n) |
singular, plural, n) |
) |
) |
) |
バージョン 2.4 で 新たに追加 された仕様です。
charset) |
バージョン 2.4 で 新たに追加 された仕様です。
[unicode [, names]]) |
names パラメタには、_() 以外に組み込みの名前空間に
インストールしたい関数名のシーケンスを指定します。サポートしている名前は
'gettext'
(unicode フラグの設定に応じて
self.gettext() あるいは self.ugettext() のいずれかに対応します)、
'ngettext'
(unicode フラグの設定に応じて self.ngettext()
あるいは self.ungettext() のいずれかに対応します)、
'lgettext'
および 'lngettext'
です。
この方法はアプリケーションで _ 関数を利用できるようにする ための最も便利な方法ですが、唯一の手段でもあるので注意してください。 この関数はアプリケーション全体、とりわけ組み込み名前空間に影響する ので、地域化されたモジュールで _ を組み入れることが できないのです。その代わりに、以下のコード:
import gettext t = gettext.translation('mymodule', ...) _ = t.gettext
を使って _ を使えるようにしなければなりません。
この操作は _ をモジュール内だけのグローバル名前空間に 組み入れるので、モジュール内の _ の呼び出しだけに影響 します。
バージョン 2.5 で 変更 された仕様: names パラメタを追加しました
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。