購買注文書類サポート

POファイルは、POおよびPOTファイルを読み書きすることができます。それを読んで Catalog オブジェクトは,ディレクトリを書く.

babel.messages.pofile.read_po(fileobj, locale=None, domain=None, ignore_obsolete=False, charset=None, abort_invalid=False)

読書は gettext PO(携帯オブジェクト)ファイルを1つ返します Catalog それがそうです。

>>> from datetime import datetime
>>> from babel._compat import StringIO
>>> buf = StringIO('''
... #: main.py:1
... #, fuzzy, python-format
... msgid "foo %(name)s"
... msgstr "quux %(name)s"
...
... # A user comment
... #. An auto comment
... #: main.py:3
... msgid "bar"
... msgid_plural "baz"
... msgstr[0] "bar"
... msgstr[1] "baaz"
... ''')
>>> catalog = read_po(buf)
>>> catalog.revision_date = datetime(2007, 4, 1)
>>> for message in catalog:
...     if message.id:
...         print((message.id, message.string))
...         print(' ', (message.locations, sorted(list(message.flags))))
...         print(' ', (message.user_comments, message.auto_comments))
(u'foo %(name)s', u'quux %(name)s')
  ([(u'main.py', 1)], [u'fuzzy', u'python-format'])
  ([], [])
((u'bar', u'baz'), (u'bar', u'baaz'))
  ([(u'main.py', 3)], [])
  ([u'A user comment'], [u'An auto comment'])

バージョン 1.0 で追加: 明示的な文字セットパラメータのサポートが追加されました。

パラメータ
  • fileobj -- POファイルの類似ファイルを読み込むオブジェクト

  • locale -- エリア設定識別子または Locale 対象、または None ディレクトリが領域設定にバインドされていない場合(これは基本的にテンプレートであることを意味する)

  • domain -- 情報域.

  • ignore_obsolete -- 入力された時代遅れの情報を無視しているかどうか

  • charset -- 目次の文字集。

  • abort_invalid -- Poファイルが無効であれば読み出しを中止する.

babel.messages.pofile.write_po(fileobj, catalog, width=76, no_location=False, omit_header=False, sort_output=False, sort_by_file=False, ignore_obsolete=False, include_previous=False, include_lineno=True)

1つ書く gettext 提供された類似ファイルのオブジェクトに、メッセージディレクトリが与えられたPO(携帯オブジェクト)テンプレートファイルを追加する。

>>> catalog = Catalog()
>>> catalog.add(u'foo %(name)s', locations=[('main.py', 1)],
...             flags=('fuzzy',))
<Message...>
>>> catalog.add((u'bar', u'baz'), locations=[('main.py', 3)])
<Message...>
>>> from babel._compat import BytesIO
>>> buf = BytesIO()
>>> write_po(buf, catalog, omit_header=True)
>>> print(buf.getvalue().decode("utf8"))
#: main.py:1
#, fuzzy, python-format
msgid "foo %(name)s"
msgstr ""

#: main.py:3
msgid "bar"
msgid_plural "baz"
msgstr[0] ""
msgstr[1] ""

パラメータ
  • fileobj -- 記入する類似ファイルのオブジェクト

  • catalog -- ♪the Catalog 実例.

  • width -- 生成された出力の最大行幅 None 改行を完全に無効にするために、0またはマイナス

  • no_location -- すべてのメッセージに位置コメントを送ってはいけません

  • omit_header -- 含まれていない msgid "" トップのエントリを出力する

  • sort_output -- 出力中のメッセージをmsgidでソートするかどうか

  • sort_by_file -- 出力中のメッセージを位置ごとにソートするかどうか

  • ignore_obsolete -- 無視されたか否かの場合、メッセージは出力に含まれず、デフォルトの場合、注釈として出力に含まれる。

  • include_previous -- ディレクトリを更新する際にはアノテーションとして古いmsgidを含む.

  • include_lineno -- 位置注釈に行番号が含まれている