[Pythonjp-checkins] [py33.python-doc-ja] 2 new revisions pushed by songofacandy on 2012-11-24 13:55 GMT

アーカイブの一覧に戻る

pytho****@googl***** pytho****@googl*****
2012年 11月 24日 (土) 22:56:04 JST


2 new revisions:

Revision: e9a5897744ea
Branch:   default
Author:   "INADA Naoki  <songo****@gmail*****>
Date:     Sat Nov 24 00:49:32 2012
Log:      Add pots
http://code.google.com/p/python-doc-ja/source/detail?r=e9a5897744ea&repo=py33

Revision: b109f74c521d
Branch:   default
Author:   "INADA Naoki  <songo****@gmail*****>
Date:     Sat Nov 24 00:50:26 2012
Log:      Don't ignore *.pot
http://code.google.com/p/python-doc-ja/source/detail?r=b109f74c521d&repo=py33

==============================================================================
Revision: e9a5897744ea
Branch:   default
Author:   "INADA Naoki  <songo****@gmail*****>
Date:     Sat Nov 24 00:49:32 2012
Log:      Add pots
http://code.google.com/p/python-doc-ja/source/detail?r=e9a5897744ea&repo=py33

Added:
  /locale/pot/about.pot
  /locale/pot/bugs.pot
  /locale/pot/c-api/abstract.pot
  /locale/pot/c-api/allocation.pot
  /locale/pot/c-api/arg.pot
  /locale/pot/c-api/bool.pot
  /locale/pot/c-api/buffer.pot
  /locale/pot/c-api/bytearray.pot
  /locale/pot/c-api/bytes.pot
  /locale/pot/c-api/capsule.pot
  /locale/pot/c-api/cell.pot
  /locale/pot/c-api/code.pot
  /locale/pot/c-api/codec.pot
  /locale/pot/c-api/complex.pot
  /locale/pot/c-api/concrete.pot
  /locale/pot/c-api/conversion.pot
  /locale/pot/c-api/datetime.pot
  /locale/pot/c-api/descriptor.pot
  /locale/pot/c-api/dict.pot
  /locale/pot/c-api/exceptions.pot
  /locale/pot/c-api/file.pot
  /locale/pot/c-api/float.pot
  /locale/pot/c-api/function.pot
  /locale/pot/c-api/gcsupport.pot
  /locale/pot/c-api/gen.pot
  /locale/pot/c-api/import.pot
  /locale/pot/c-api/index.pot
  /locale/pot/c-api/init.pot
  /locale/pot/c-api/intro.pot
  /locale/pot/c-api/iter.pot
  /locale/pot/c-api/iterator.pot
  /locale/pot/c-api/list.pot
  /locale/pot/c-api/long.pot
  /locale/pot/c-api/mapping.pot
  /locale/pot/c-api/marshal.pot
  /locale/pot/c-api/memory.pot
  /locale/pot/c-api/memoryview.pot
  /locale/pot/c-api/method.pot
  /locale/pot/c-api/module.pot
  /locale/pot/c-api/none.pot
  /locale/pot/c-api/number.pot
  /locale/pot/c-api/objbuffer.pot
  /locale/pot/c-api/object.pot
  /locale/pot/c-api/objimpl.pot
  /locale/pot/c-api/refcounting.pot
  /locale/pot/c-api/reflection.pot
  /locale/pot/c-api/sequence.pot
  /locale/pot/c-api/set.pot
  /locale/pot/c-api/slice.pot
  /locale/pot/c-api/stable.pot
  /locale/pot/c-api/structures.pot
  /locale/pot/c-api/sys.pot
  /locale/pot/c-api/tuple.pot
  /locale/pot/c-api/type.pot
  /locale/pot/c-api/typeobj.pot
  /locale/pot/c-api/unicode.pot
  /locale/pot/c-api/utilities.pot
  /locale/pot/c-api/veryhigh.pot
  /locale/pot/c-api/weakref.pot
  /locale/pot/contents.pot
  /locale/pot/copyright.pot
  /locale/pot/distutils/apiref.pot
  /locale/pot/distutils/builtdist.pot
  /locale/pot/distutils/commandref.pot
  /locale/pot/distutils/configfile.pot
  /locale/pot/distutils/examples.pot
  /locale/pot/distutils/extending.pot
  /locale/pot/distutils/index.pot
  /locale/pot/distutils/introduction.pot
  /locale/pot/distutils/packageindex.pot
  /locale/pot/distutils/setupscript.pot
  /locale/pot/distutils/sourcedist.pot
  /locale/pot/distutils/uploading.pot
  /locale/pot/extending/building.pot
  /locale/pot/extending/embedding.pot
  /locale/pot/extending/extending.pot
  /locale/pot/extending/index.pot
  /locale/pot/extending/newtypes.pot
  /locale/pot/extending/windows.pot
  /locale/pot/faq/design.pot
  /locale/pot/faq/extending.pot
  /locale/pot/faq/general.pot
  /locale/pot/faq/gui.pot
  /locale/pot/faq/index.pot
  /locale/pot/faq/installed.pot
  /locale/pot/faq/library.pot
  /locale/pot/faq/programming.pot
  /locale/pot/faq/windows.pot
  /locale/pot/glossary.pot
  /locale/pot/howto/advocacy.pot
  /locale/pot/howto/argparse.pot
  /locale/pot/howto/cporting.pot
  /locale/pot/howto/curses.pot
  /locale/pot/howto/descriptor.pot
  /locale/pot/howto/functional.pot
  /locale/pot/howto/index.pot
  /locale/pot/howto/ipaddress.pot
  /locale/pot/howto/logging-cookbook.pot
  /locale/pot/howto/logging.pot
  /locale/pot/howto/pyporting.pot
  /locale/pot/howto/regex.pot
  /locale/pot/howto/sockets.pot
  /locale/pot/howto/sorting.pot
  /locale/pot/howto/unicode.pot
  /locale/pot/howto/urllib2.pot
  /locale/pot/howto/webservers.pot
  /locale/pot/install/index.pot
  /locale/pot/library/2to3.pot
  /locale/pot/library/__future__.pot
  /locale/pot/library/__main__.pot
  /locale/pot/library/_dummy_thread.pot
  /locale/pot/library/_thread.pot
  /locale/pot/library/abc.pot
  /locale/pot/library/aifc.pot
  /locale/pot/library/allos.pot
  /locale/pot/library/archiving.pot
  /locale/pot/library/argparse.pot
  /locale/pot/library/array.pot
  /locale/pot/library/ast.pot
  /locale/pot/library/asynchat.pot
  /locale/pot/library/asyncore.pot
  /locale/pot/library/atexit.pot
  /locale/pot/library/audioop.pot
  /locale/pot/library/base64.pot
  /locale/pot/library/bdb.pot
  /locale/pot/library/binary.pot
  /locale/pot/library/binascii.pot
  /locale/pot/library/binhex.pot
  /locale/pot/library/bisect.pot
  /locale/pot/library/builtins.pot
  /locale/pot/library/bz2.pot
  /locale/pot/library/calendar.pot
  /locale/pot/library/cgi.pot
  /locale/pot/library/cgitb.pot
  /locale/pot/library/chunk.pot
  /locale/pot/library/cmath.pot
  /locale/pot/library/cmd.pot
  /locale/pot/library/code.pot
  /locale/pot/library/codecs.pot
  /locale/pot/library/codeop.pot
  /locale/pot/library/collections.abc.pot
  /locale/pot/library/collections.pot
  /locale/pot/library/colorsys.pot
  /locale/pot/library/compileall.pot
  /locale/pot/library/concurrency.pot
  /locale/pot/library/concurrent.futures.pot
  /locale/pot/library/concurrent.pot
  /locale/pot/library/configparser.pot
  /locale/pot/library/constants.pot
  /locale/pot/library/contextlib.pot
  /locale/pot/library/copy.pot
  /locale/pot/library/copyreg.pot
  /locale/pot/library/crypt.pot
  /locale/pot/library/crypto.pot
  /locale/pot/library/csv.pot
  /locale/pot/library/ctypes.pot
  /locale/pot/library/curses.ascii.pot
  /locale/pot/library/curses.panel.pot
  /locale/pot/library/curses.pot
  /locale/pot/library/custominterp.pot
  /locale/pot/library/datatypes.pot
  /locale/pot/library/datetime.pot
  /locale/pot/library/dbm.pot
  /locale/pot/library/debug.pot
  /locale/pot/library/decimal.pot
  /locale/pot/library/development.pot
  /locale/pot/library/difflib.pot
  /locale/pot/library/dis.pot
  /locale/pot/library/distutils.pot
  /locale/pot/library/doctest.pot
  /locale/pot/library/dummy_threading.pot
  /locale/pot/library/email-examples.pot
  /locale/pot/library/email.charset.pot
  /locale/pot/library/email.encoders.pot
  /locale/pot/library/email.errors.pot
  /locale/pot/library/email.generator.pot
  /locale/pot/library/email.header.pot
  /locale/pot/library/email.headerregistry.pot
  /locale/pot/library/email.iterators.pot
  /locale/pot/library/email.message.pot
  /locale/pot/library/email.mime.pot
  /locale/pot/library/email.parser.pot
  /locale/pot/library/email.policy.pot
  /locale/pot/library/email.pot
  /locale/pot/library/email.util.pot
  /locale/pot/library/errno.pot
  /locale/pot/library/exceptions.pot
  /locale/pot/library/faulthandler.pot
  /locale/pot/library/fcntl.pot
  /locale/pot/library/filecmp.pot
  /locale/pot/library/fileformats.pot
  /locale/pot/library/fileinput.pot
  /locale/pot/library/filesys.pot
  /locale/pot/library/fnmatch.pot
  /locale/pot/library/formatter.pot
  /locale/pot/library/fpectl.pot
  /locale/pot/library/fractions.pot
  /locale/pot/library/frameworks.pot
  /locale/pot/library/ftplib.pot
  /locale/pot/library/functional.pot
  /locale/pot/library/functions.pot
  /locale/pot/library/functools.pot
  /locale/pot/library/gc.pot
  /locale/pot/library/getopt.pot
  /locale/pot/library/getpass.pot
  /locale/pot/library/gettext.pot
  /locale/pot/library/glob.pot
  /locale/pot/library/grp.pot
  /locale/pot/library/gzip.pot
  /locale/pot/library/hashlib.pot
  /locale/pot/library/heapq.pot
  /locale/pot/library/hmac.pot
  /locale/pot/library/html.entities.pot
  /locale/pot/library/html.parser.pot
  /locale/pot/library/html.pot
  /locale/pot/library/http.client.pot
  /locale/pot/library/http.cookiejar.pot
  /locale/pot/library/http.cookies.pot
  /locale/pot/library/http.pot
  /locale/pot/library/http.server.pot
  /locale/pot/library/i18n.pot
  /locale/pot/library/idle.pot
  /locale/pot/library/imaplib.pot
  /locale/pot/library/imghdr.pot
  /locale/pot/library/imp.pot
  /locale/pot/library/importlib.pot
  /locale/pot/library/index.pot
  /locale/pot/library/inspect.pot
  /locale/pot/library/internet.pot
  /locale/pot/library/intro.pot
  /locale/pot/library/io.pot
  /locale/pot/library/ipaddress.pot
  /locale/pot/library/ipc.pot
  /locale/pot/library/itertools.pot
  /locale/pot/library/json.pot
  /locale/pot/library/keyword.pot
  /locale/pot/library/language.pot
  /locale/pot/library/linecache.pot
  /locale/pot/library/locale.pot
  /locale/pot/library/logging.config.pot
  /locale/pot/library/logging.handlers.pot
  /locale/pot/library/logging.pot
  /locale/pot/library/lzma.pot
  /locale/pot/library/macpath.pot
  /locale/pot/library/mailbox.pot
  /locale/pot/library/mailcap.pot
  /locale/pot/library/markup.pot
  /locale/pot/library/marshal.pot
  /locale/pot/library/math.pot
  /locale/pot/library/mimetypes.pot
  /locale/pot/library/misc.pot
  /locale/pot/library/mm.pot
  /locale/pot/library/mmap.pot
  /locale/pot/library/modulefinder.pot
  /locale/pot/library/modules.pot
  /locale/pot/library/msilib.pot
  /locale/pot/library/msvcrt.pot
  /locale/pot/library/multiprocessing.pot
  /locale/pot/library/netdata.pot
  /locale/pot/library/netrc.pot
  /locale/pot/library/nis.pot
  /locale/pot/library/nntplib.pot
  /locale/pot/library/numbers.pot
  /locale/pot/library/numeric.pot
  /locale/pot/library/operator.pot
  /locale/pot/library/optparse.pot
  /locale/pot/library/os.path.pot
  /locale/pot/library/os.pot
  /locale/pot/library/ossaudiodev.pot
  /locale/pot/library/othergui.pot
  /locale/pot/library/parser.pot
  /locale/pot/library/pdb.pot
  /locale/pot/library/persistence.pot
  /locale/pot/library/pickle.pot
  /locale/pot/library/pickletools.pot
  /locale/pot/library/pipes.pot
  /locale/pot/library/pkgutil.pot
  /locale/pot/library/platform.pot
  /locale/pot/library/plistlib.pot
  /locale/pot/library/poplib.pot
  /locale/pot/library/posix.pot
  /locale/pot/library/pprint.pot
  /locale/pot/library/profile.pot
  /locale/pot/library/pty.pot
  /locale/pot/library/pwd.pot
  /locale/pot/library/py_compile.pot
  /locale/pot/library/pyclbr.pot
  /locale/pot/library/pydoc.pot
  /locale/pot/library/pyexpat.pot
  /locale/pot/library/python.pot
  /locale/pot/library/queue.pot
  /locale/pot/library/quopri.pot
  /locale/pot/library/random.pot
  /locale/pot/library/re.pot
  /locale/pot/library/readline.pot
  /locale/pot/library/reprlib.pot
  /locale/pot/library/resource.pot
  /locale/pot/library/rlcompleter.pot
  /locale/pot/library/runpy.pot
  /locale/pot/library/sched.pot
  /locale/pot/library/select.pot
  /locale/pot/library/shelve.pot
  /locale/pot/library/shlex.pot
  /locale/pot/library/shutil.pot
  /locale/pot/library/signal.pot
  /locale/pot/library/site.pot
  /locale/pot/library/smtpd.pot
  /locale/pot/library/smtplib.pot
  /locale/pot/library/sndhdr.pot
  /locale/pot/library/socket.pot
  /locale/pot/library/socketserver.pot
  /locale/pot/library/spwd.pot
  /locale/pot/library/sqlite3.pot
  /locale/pot/library/ssl.pot
  /locale/pot/library/stat.pot
  /locale/pot/library/stdtypes.pot
  /locale/pot/library/string.pot
  /locale/pot/library/stringprep.pot
  /locale/pot/library/struct.pot
  /locale/pot/library/subprocess.pot
  /locale/pot/library/sunau.pot
  /locale/pot/library/symbol.pot
  /locale/pot/library/symtable.pot
  /locale/pot/library/sys.pot
  /locale/pot/library/sysconfig.pot
  /locale/pot/library/syslog.pot
  /locale/pot/library/tabnanny.pot
  /locale/pot/library/tarfile.pot
  /locale/pot/library/telnetlib.pot
  /locale/pot/library/tempfile.pot
  /locale/pot/library/termios.pot
  /locale/pot/library/test.pot
  /locale/pot/library/text.pot
  /locale/pot/library/textwrap.pot
  /locale/pot/library/threading.pot
  /locale/pot/library/time.pot
  /locale/pot/library/timeit.pot
  /locale/pot/library/tk.pot
  /locale/pot/library/tkinter.pot
  /locale/pot/library/tkinter.scrolledtext.pot
  /locale/pot/library/tkinter.tix.pot
  /locale/pot/library/tkinter.ttk.pot
  /locale/pot/library/token.pot
  /locale/pot/library/tokenize.pot
  /locale/pot/library/trace.pot
  /locale/pot/library/traceback.pot
  /locale/pot/library/tty.pot
  /locale/pot/library/turtle.pot
  /locale/pot/library/types.pot
  /locale/pot/library/undoc.pot
  /locale/pot/library/unicodedata.pot
  /locale/pot/library/unittest.mock-examples.pot
  /locale/pot/library/unittest.mock.pot
  /locale/pot/library/unittest.pot
  /locale/pot/library/unix.pot
  /locale/pot/library/urllib.error.pot
  /locale/pot/library/urllib.parse.pot
  /locale/pot/library/urllib.pot
  /locale/pot/library/urllib.request.pot
  /locale/pot/library/urllib.robotparser.pot
  /locale/pot/library/uu.pot
  /locale/pot/library/uuid.pot
  /locale/pot/library/venv.pot
  /locale/pot/library/warnings.pot
  /locale/pot/library/wave.pot
  /locale/pot/library/weakref.pot
  /locale/pot/library/webbrowser.pot
  /locale/pot/library/windows.pot
  /locale/pot/library/winreg.pot
  /locale/pot/library/winsound.pot
  /locale/pot/library/wsgiref.pot
  /locale/pot/library/xdrlib.pot
  /locale/pot/library/xml.dom.minidom.pot
  /locale/pot/library/xml.dom.pot
  /locale/pot/library/xml.dom.pulldom.pot
  /locale/pot/library/xml.etree.elementtree.pot
  /locale/pot/library/xml.pot
  /locale/pot/library/xml.sax.handler.pot
  /locale/pot/library/xml.sax.pot
  /locale/pot/library/xml.sax.reader.pot
  /locale/pot/library/xml.sax.utils.pot
  /locale/pot/library/xmlrpc.client.pot
  /locale/pot/library/xmlrpc.pot
  /locale/pot/library/xmlrpc.server.pot
  /locale/pot/library/zipfile.pot
  /locale/pot/library/zipimport.pot
  /locale/pot/library/zlib.pot
  /locale/pot/license.pot
  /locale/pot/reference/compound_stmts.pot
  /locale/pot/reference/datamodel.pot
  /locale/pot/reference/executionmodel.pot
  /locale/pot/reference/expressions.pot
  /locale/pot/reference/grammar.pot
  /locale/pot/reference/import.pot
  /locale/pot/reference/index.pot
  /locale/pot/reference/introduction.pot
  /locale/pot/reference/lexical_analysis.pot
  /locale/pot/reference/simple_stmts.pot
  /locale/pot/reference/toplevel_components.pot
  /locale/pot/tutorial/appetite.pot
  /locale/pot/tutorial/classes.pot
  /locale/pot/tutorial/controlflow.pot
  /locale/pot/tutorial/datastructures.pot
  /locale/pot/tutorial/errors.pot
  /locale/pot/tutorial/floatingpoint.pot
  /locale/pot/tutorial/index.pot
  /locale/pot/tutorial/inputoutput.pot
  /locale/pot/tutorial/interactive.pot
  /locale/pot/tutorial/interpreter.pot
  /locale/pot/tutorial/introduction.pot
  /locale/pot/tutorial/modules.pot
  /locale/pot/tutorial/stdlib.pot
  /locale/pot/tutorial/stdlib2.pot
  /locale/pot/tutorial/whatnow.pot
  /locale/pot/using/cmdline.pot
  /locale/pot/using/index.pot
  /locale/pot/using/mac.pot
  /locale/pot/using/scripts.pot
  /locale/pot/using/unix.pot
  /locale/pot/using/windows.pot
  /locale/pot/whatsnew/2.0.pot
  /locale/pot/whatsnew/2.1.pot
  /locale/pot/whatsnew/2.2.pot
  /locale/pot/whatsnew/2.3.pot
  /locale/pot/whatsnew/2.4.pot
  /locale/pot/whatsnew/2.5.pot
  /locale/pot/whatsnew/2.6.pot
  /locale/pot/whatsnew/2.7.pot
  /locale/pot/whatsnew/3.0.pot
  /locale/pot/whatsnew/3.1.pot
  /locale/pot/whatsnew/3.2.pot
  /locale/pot/whatsnew/3.3.pot
  /locale/pot/whatsnew/changelog.pot
  /locale/pot/whatsnew/index.pot

=======================================
--- /dev/null
+++ /locale/pot/about.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,73 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../about.rst:3
+# 3dcaed6bf79f4640b9de5e0b3fa5c995
+msgid "About these documents"
+msgstr ""
+
+#: ../../about.rst:6
+# c681e12816a04c178e5941ff88abe3b9
+msgid "These documents are generated from `reStructuredText`_ sources by  
`Sphinx`_, a document processor specifically written for the Python  
documentation."
+msgstr ""
+
+#: ../../about.rst:15
+# 63136da634194352997270473cd93035
+msgid "Development of the documentation and its toolchain takes place on  
the docs****@pytho***** mailing list.  We're always looking for volunteers  
wanting to help with the docs, so feel free to send a mail there!"
+msgstr ""
+
+#: ../../about.rst:19
+# 42806571915747bcb65026be3a57e1e1
+msgid "Many thanks go to:"
+msgstr ""
+
+#: ../../about.rst:21
+# 4d3f35d461204fb28666037ae2f7db83
+msgid "Fred L. Drake, Jr., the creator of the original Python  
documentation toolset and writer of much of the content;"
+msgstr ""
+
+#: ../../about.rst:23
+# 75ef8701f3ed4b2998961fe449a37a08
+msgid "the `Docutils <http://docutils.sf.net/>`_ project for creating  
reStructuredText and the Docutils suite;"
+msgstr ""
+
+#: ../../about.rst:25
+# 9668128c710f4f1aa1bed6f1c20be40a
+msgid "Fredrik Lundh for his `Alternative Python Reference  
<http://effbot.org/zone/pyref.htm>`_ project from which Sphinx got many  
good ideas."
+msgstr ""
+
+#: ../../about.rst:29
+# c610dc139386412f9c2a36f9407692e7
+msgid "See :ref:`reporting-bugs` for information how to report bugs in  
this documentation, or Python itself."
+msgstr ""
+
+#: ../../about.rst:34
+# fc5fd4dc9063427e8565adab6059466e
+msgid "Contributors to the Python Documentation"
+msgstr ""
+
+#: ../../about.rst:36
+# e9c868c2724f4a6b9827c76c93911c06
+msgid "Many people have contributed to the Python language, the Python  
standard library, and the Python documentation.  See :source:`Misc/ACKS` in  
the Python source distribution for a partial list of contributors."
+msgstr ""
+
+#: ../../about.rst:40
+# d4d4a59e5dad4e84be2883595f44b1cb
+msgid "It is only with the input and contributions of the Python community  
that Python has such wonderful documentation -- Thank You!"
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/bugs.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,118 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../bugs.rst:5
+# 91a3dc8f6b2544d9b5449f8b49dccb64
+msgid "Reporting Bugs"
+msgstr ""
+
+#: ../../bugs.rst:7
+# efa1e57518cc4d0aaf180557f5dd734a
+msgid "Python is a mature programming language which has established a  
reputation for stability.  In order to maintain this reputation, the  
developers would like to know of any deficiencies you find in Python."
+msgstr ""
+
+#: ../../bugs.rst:13
+# dd1e7a43eedd4b8bb8c8bd484a50d05d
+msgid "Documentation bugs"
+msgstr ""
+
+#: ../../bugs.rst:15
+# 1446335b82ae42329442b4f5f9cec950
+msgid "If you find a bug in this documentation or would like to propose an  
improvement, please send an e-mail to docs****@pytho***** describing the bug  
and where you found it.  If you have a suggestion how to fix it, include  
that as well."
+msgstr ""
+
+#: ../../bugs.rst:19
+# 1410d65ddca2409e854454203999b1d7
+msgid "docs****@pytho***** is a mailing list run by volunteers; your request  
will be noticed, even if it takes a while to be processed."
+msgstr ""
+
+#: ../../bugs.rst:22
+# ba2366afa48b4bfba17ca0177a805417
+msgid "Of course, if you want a more persistent record of your issue, you  
can use the issue tracker for documentation bugs as well."
+msgstr ""
+
+#: ../../bugs.rst:27
+# 83ff57abb45940578d2a496607a55555
+msgid "Using the Python issue tracker"
+msgstr ""
+
+#: ../../bugs.rst:29
+# 024e27a138264dd299c1be843177e50a
+msgid "Bug reports for Python itself should be submitted via the Python  
Bug Tracker (http://bugs.python.org/).  The bug tracker offers a Web form  
which allows pertinent information to be entered and submitted to the  
developers."
+msgstr ""
+
+#: ../../bugs.rst:33
+# 07bac0b35247480b95dfc9f229c465a2
+msgid "The first step in filing a report is to determine whether the  
problem has already been reported.  The advantage in doing so, aside from  
saving the developers time, is that you learn what has been done to fix it;  
it may be that the problem has already been fixed for the next release, or  
additional information is needed (in which case you are welcome to provide  
it if you can!). To do this, search the bug database using the search box  
on the top of the page."
+msgstr ""
+
+#: ../../bugs.rst:40
+# b6d6f71e36df4db19f2b25f478e4fe60
+msgid "If the problem you're reporting is not already in the bug tracker,  
go back to the Python Bug Tracker and log in.  If you don't already have a  
tracker account, select the \"Register\" link or, if you use OpenID, one of  
the OpenID provider logos in the sidebar.  It is not possible to submit a  
bug report anonymously."
+msgstr ""
+
+#: ../../bugs.rst:45
+# b79dcab1789940cb9b51457a7f4cc678
+msgid "Being now logged in, you can submit a bug.  Select the \"Create  
New\" link in the sidebar to open the bug reporting form."
+msgstr ""
+
+#: ../../bugs.rst:48
+# ee1ae24f22cf41c6b5d1e204dd42c666
+msgid "The submission form has a number of fields.  For the \"Title\"  
field, enter a *very* short description of the problem; less than ten words  
is good.  In the \"Type\" field, select the type of your problem; also  
select the \"Component\" and \"Versions\" to which the bug relates."
+msgstr ""
+
+#: ../../bugs.rst:53
+# 06f790b93b184fdea5134e399195a3e0
+msgid "In the \"Comment\" field, describe the problem in detail, including  
what you expected to happen and what did happen.  Be sure to include  
whether any extension modules were involved, and what hardware and software  
platform you were using (including version information as appropriate)."
+msgstr ""
+
+#: ../../bugs.rst:58
+# 9eb16068be704ccda4364b5f81ea2447
+msgid "Each bug report will be assigned to a developer who will determine  
what needs to be done to correct the problem.  You will receive an update  
each time action is taken on the bug."
+msgstr ""
+
+#: ../../bugs.rst:65
+# 4f04e6e127434f5ead7ecd486b02107d
+msgid "`Python Developer's Guide <http://docs.python.org/devguide/>`_"
+msgstr ""
+
+#: ../../bugs.rst:66
+# 7c73c0fc4c2949c78ffdb6ff3bbfd6a4
+msgid "Detailed description of the issue workflow and developers tools."
+msgstr ""
+
+#: ../../bugs.rst:69
+# f065eedecc424992bb921970a5158428
+msgid "`How to Report Bugs Effectively  
<http://www.chiark.greenend.org.uk/~sgtatham/bugs.html>`_"
+msgstr ""
+
+#: ../../bugs.rst:69
+# b887e20ba81f4c07bb658457c4d133db
+msgid "Article which goes into some detail about how to create a useful  
bug report. This describes what kind of information is useful and why it is  
useful."
+msgstr ""
+
+#: ../../bugs.rst:72
+# 8b746df31fc641f3b06b31bfcd1a34b1
+msgid "`Bug Writing Guidelines  
<http://developer.mozilla.org/en/docs/Bug_writing_guidelines>`_"
+msgstr ""
+
+#: ../../bugs.rst:73
+# af5f58d592384f54a59ed5cfd7be0e8c
+msgid "Information about writing a good bug report.  Some of this is  
specific to the Mozilla project, but describes general good practices."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/abstract.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,33 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/abstract.rst:7
+# 9b6aad033ae046a4954b66edd940cfb2
+msgid "Abstract Objects Layer"
+msgstr ""
+
+#: ../../c-api/abstract.rst:9
+# dbf48d011f57471f8e00530d64d6db56
+msgid "The functions in this chapter interact with Python objects  
regardless of their type, or with wide classes of object types (e.g. all  
numerical types, or all sequence types).  When used on object types for  
which they do not apply, they will raise a Python exception."
+msgstr ""
+
+#: ../../c-api/abstract.rst:14
+# 2ccfed48d9ff4993a85f44dc8860c3fe
+msgid "It is not possible to use these functions on objects that are not  
properly initialized, such as a list object that has been created  
by :c:func:`PyList_New`, but whose items have not been set to some non-\\  
``NULL`` value yet."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/allocation.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,63 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/allocation.rst:6
+# a20fb78375354f6b8922a250d0732f46
+msgid "Allocating Objects on the Heap"
+msgstr ""
+
+#: ../../c-api/allocation.rst:17
+# 157b8d4c1348466e9ae0f6249674748b
+msgid "Initialize a newly-allocated object *op* with its type and initial  
reference.  Returns the initialized object.  If *type* indicates that the  
object participates in the cyclic garbage detector, it is added to the  
detector's set of observed objects. Other fields of the object are not  
affected."
+msgstr ""
+
+#: ../../c-api/allocation.rst:26
+# c4c23b0a33b4470ebf3b2298050be703
+msgid "This does everything :c:func:`PyObject_Init` does, and also  
initializes the length information for a variable-size object."
+msgstr ""
+
+#: ../../c-api/allocation.rst:32
+# 689ae3ec711244349d3fd397ddc0944f
+msgid "Allocate a new Python object using the C structure type *TYPE* and  
the Python type object *type*.  Fields not defined by the Python object  
header are not initialized; the object's reference count will be one.  The  
size of the memory allocation is determined from the :attr:`tp_basicsize`  
field of the type object."
+msgstr ""
+
+#: ../../c-api/allocation.rst:41
+# 3568dbc5cbc7405c9bd88512e50aadba
+msgid "Allocate a new Python object using the C structure type *TYPE* and  
the Python type object *type*.  Fields not defined by the Python object  
header are not initialized.  The allocated memory allows for the *TYPE*  
structure plus *size* fields of the size given by the :attr:`tp_itemsize`  
field of *type*.  This is useful for implementing objects like tuples,  
which are able to determine their size at construction time.  Embedding the  
array of fields into the same allocation decreases the number of  
allocations, improving the memory management efficiency."
+msgstr ""
+
+#: ../../c-api/allocation.rst:53
+# f615b5934a44469fa803855da3837dc9
+msgid "Releases memory allocated to an object using :c:func:`PyObject_New`  
or :c:func:`PyObject_NewVar`.  This is normally called from  
the :attr:`tp_dealloc` handler specified in the object's type.  The fields  
of the object should not be accessed after this call as the memory is no  
longer a valid Python object."
+msgstr ""
+
+#: ../../c-api/allocation.rst:62
+# 08e45badec3e4861899c2c6587d9ea2f
+msgid "Object which is visible in Python as ``None``.  This should only be  
accessed using the :c:macro:`Py_None` macro, which evaluates to a pointer  
to this object."
+msgstr ""
+
+#: ../../c-api/allocation.rst:68
+# a5f6fa9d4de64812a220457bbadd7b39
+msgid ":c:func:`PyModule_Create`"
+msgstr ""
+
+#: ../../c-api/allocation.rst:70
+# de7454bc061949a4b1d7c29fd16f7947
+msgid "To allocate and create extension modules."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/arg.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,978 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/arg.rst:6
+# d261d4690efd41c583340b3d54d132cf
+msgid "Parsing arguments and building values"
+msgstr ""
+
+#: ../../c-api/arg.rst:8
+# 31c17687303f43cf967cf7d786c108c0
+msgid "These functions are useful when creating your own extensions  
functions and methods.  Additional information and examples are available  
in :ref:`extending-index`."
+msgstr ""
+
+#: ../../c-api/arg.rst:12
+# d2ab19c83c0144179de4052c50430d1e
+msgid "The first three of these functions  
described, :c:func:`PyArg_ParseTuple`, :c:func:`PyArg_ParseTupleAndKeywords`,  
and :c:func:`PyArg_Parse`, all use *format strings* which are used to tell  
the function about the expected arguments.  The format strings use the same  
syntax for each of these functions."
+msgstr ""
+
+#: ../../c-api/arg.rst:19
+# 16a52bbfae8f43beab00eefe89632cb1
+msgid "Parsing arguments"
+msgstr ""
+
+#: ../../c-api/arg.rst:21
+# 11aa9e578cf841dbb309327e28e6e7c0
+msgid "A format string consists of zero or more \"format units.\"  A  
format unit describes one Python object; it is usually a single character  
or a parenthesized sequence of format units.  With a few exceptions, a  
format unit that is not a parenthesized sequence normally corresponds to a  
single address argument to these functions.  In the following description,  
the quoted form is the format unit; the entry in (round) parentheses is the  
Python object type that matches the format unit; and the entry in [square]  
brackets is the type of the C variable(s) whose address should be passed."
+msgstr ""
+
+#: ../../c-api/arg.rst:31
+# 86acdf15de4e4b1ba5a81117734d3e8c
+msgid "Strings and buffers"
+msgstr ""
+
+#: ../../c-api/arg.rst:33
+# 15b171529fb94587ac1d26fba84d2568
+msgid "These formats allow to access an object as a contiguous chunk of  
memory. You don't have to provide raw storage for the returned unicode or  
bytes area.  Also, you won't have to release any memory yourself, except  
with the ``es``, ``es#``, ``et`` and ``et#`` formats."
+msgstr ""
+
+#: ../../c-api/arg.rst:38
+# ebe2faa18a8f4611bc6f76df629c4fb0
+msgid "However, when a :c:type:`Py_buffer` structure gets filled, the  
underlying buffer is locked so that the caller can subsequently use the  
buffer even inside a :c:type:`Py_BEGIN_ALLOW_THREADS` block without the  
risk of mutable data being resized or destroyed.  As a result, **you have  
to call** :c:func:`PyBuffer_Release` after you have finished processing the  
data (or in any early abort case)."
+msgstr ""
+
+#: ../../c-api/arg.rst:45
+# b73e8d4134b8429e9cfc4dfc600de137
+msgid "Unless otherwise stated, buffers are not NUL-terminated."
+msgstr ""
+
+#: ../../c-api/arg.rst:48
+# 8a730078010c42b18c445e2ac73c160d
+msgid "For all ``#`` variants of formats (``s#``, ``y#``, etc.), the type  
of the length argument (int or :c:type:`Py_ssize_t`) is controlled by  
defining the macro :c:macro:`PY_SSIZE_T_CLEAN` before  
including :file:`Python.h`.  If the macro was defined, length is  
a :c:type:`Py_ssize_t` rather than an :c:type:`int`. This behavior will  
change in a future Python version to only support :c:type:`Py_ssize_t` and  
drop :c:type:`int` support. It is best to always  
define :c:macro:`PY_SSIZE_T_CLEAN`."
+msgstr ""
+
+#: ../../c-api/arg.rst:69
+# f30766c056284f9e9b8e06b35f9717e0
+msgid "``s`` (:class:`str`) [const char \\*]"
+msgstr ""
+
+#: ../../c-api/arg.rst:58
+# 47bfce16765c4719bfdbd9ffe6d55367
+msgid "Convert a Unicode object to a C pointer to a character string. A  
pointer to an existing string is stored in the character pointer variable  
whose address you pass.  The C string is NUL-terminated. The Python string  
must not contain embedded NUL bytes; if it does, a :exc:`TypeError`  
exception is raised. Unicode objects are converted to C strings using  
``'utf-8'`` encoding. If this conversion fails, a :exc:`UnicodeError` is  
raised."
+msgstr ""
+
+#: ../../c-api/arg.rst:67
+# 094062ae9a9242e0b9031158f11cb8c5
+msgid "This format does not accept bytes-like objects.  If you want to  
accept filesystem paths and convert them to C character strings, it is  
preferable to use the ``O&`` format with :c:func:`PyUnicode_FSConverter` as  
*converter*."
+msgstr ""
+
+#: ../../c-api/arg.rst:76
+# e111c52cba394801ae7d32bfc33e5afe
+msgid "``s*`` (:class:`str`, :class:`bytes`, :class:`bytearray` or buffer  
compatible object) [Py_buffer]"
+msgstr ""
+
+#: ../../c-api/arg.rst:73
+# 495e3ff0255540cdae9e091a6e765019
+msgid "This format accepts Unicode objects as well as objects supporting  
the buffer protocol. It fills a :c:type:`Py_buffer` structure provided by  
the caller. In this case the resulting C string may contain embedded NUL  
bytes. Unicode objects are converted to C strings using ``'utf-8'``  
encoding."
+msgstr ""
+
+#: ../../c-api/arg.rst:83
+# 30e31db1ae1f40bdb8251fc253ec2f02
+msgid "``s#`` (:class:`str`, :class:`bytes` or read-only buffer compatible  
object) [const char \\*, int or :c:type:`Py_ssize_t`]"
+msgstr ""
+
+#: ../../c-api/arg.rst:80
+# bbe6b74a961b416e901204f06177f4b9
+msgid "Like ``s*``, except that it doesn't accept mutable buffer-like  
objects such as :class:`bytearray`.  The result is stored into two C  
variables, the first one a pointer to a C string, the second one its  
length. The string may contain embedded null bytes. Unicode objects are  
converted to C strings using ``'utf-8'`` encoding."
+msgstr ""
+
+#: ../../c-api/arg.rst:87
+# 12527294dca8485daec0d013d2da6cc9
+msgid "``z`` (:class:`str` or ``None``) [const char \\*]"
+msgstr ""
+
+#: ../../c-api/arg.rst:87
+# 6a5fa6e5ec0e4085bd1e9685851ceff8
+msgid "Like ``s``, but the Python object may also be ``None``, in which  
case the C pointer is set to *NULL*."
+msgstr ""
+
+#: ../../c-api/arg.rst:91
+# a3da1943d33e49b9b0fe430b04939ade
+msgid "``z*`` (:class:`str`, :class:`bytes`, :class:`bytearray`, buffer  
compatible object or ``None``) [Py_buffer]"
+msgstr ""
+
+#: ../../c-api/arg.rst:91
+# 24bfd45f6cae4972a58689c60a180440
+msgid "Like ``s*``, but the Python object may also be ``None``, in which  
case the ``buf`` member of the :c:type:`Py_buffer` structure is set to  
*NULL*."
+msgstr ""
+
+#: ../../c-api/arg.rst:95
+# 9b45e1d9683d45c783293c09f3ae6969
+msgid "``z#`` (:class:`str`, :class:`bytes`, read-only buffer compatible  
object or ``None``) [const char \\*, int]"
+msgstr ""
+
+#: ../../c-api/arg.rst:95
+# a4adef9bdab74cefbfc1c7ac8e779f57
+msgid "Like ``s#``, but the Python object may also be ``None``, in which  
case the C pointer is set to *NULL*."
+msgstr ""
+
+#: ../../c-api/arg.rst:101
+# da78cfe90086415f810bc00684978e1a
+msgid "``y`` (:class:`bytes`) [const char \\*]"
+msgstr ""
+
+#: ../../c-api/arg.rst:99
+# c21945726529404288bba90588161242
+msgid "This format converts a bytes-like object to a C pointer to a  
character string; it does not accept Unicode objects.  The bytes buffer  
must not contain embedded NUL bytes; if it does, a :exc:`TypeError`  
exception is raised."
+msgstr ""
+
+#: ../../c-api/arg.rst:106
+# 789145e25cca4fff9e73160e40b3154e
+msgid "``y*`` (:class:`bytes`, :class:`bytearray` or buffer compatible  
object) [Py_buffer]"
+msgstr ""
+
+#: ../../c-api/arg.rst:105
+# 88fa98b3f6ee4b19828af0e96bb3be51
+msgid "This variant on ``s*`` doesn't accept Unicode objects, only objects  
supporting the buffer protocol.  **This is the recommended way to accept  
binary data.**"
+msgstr ""
+
+#: ../../c-api/arg.rst:110
+# f0eb97bcf8f84524ac4824f4109884f3
+msgid "``y#`` (:class:`bytes`) [const char \\*, int]"
+msgstr ""
+
+#: ../../c-api/arg.rst:110
+# ccf512d0e4a34975951c2f6b268236ce
+msgid "This variant on ``s#`` doesn't accept Unicode objects, only  
bytes-like objects."
+msgstr ""
+
+#: ../../c-api/arg.rst:115
+# c44a73bf8d4740abb64f7e743a52038e
+msgid "``S`` (:class:`bytes`) [PyBytesObject \\*]"
+msgstr ""
+
+#: ../../c-api/arg.rst:114
+# 581185fa457e4461b291ad4f054a113d
+msgid "Requires that the Python object is a :class:`bytes` object, without  
attempting any conversion.  Raises :exc:`TypeError` if the object is not a  
bytes object.  The C variable may also be declared  
as :c:type:`PyObject\\*`."
+msgstr ""
+
+#: ../../c-api/arg.rst:120
+# d91fceb3af3d4fdf823c8156a92989b7
+msgid "``Y`` (:class:`bytearray`) [PyByteArrayObject \\*]"
+msgstr ""
+
+#: ../../c-api/arg.rst:119
+# 78b8a923a1774e5c94d316fb3ebf1445
+msgid "Requires that the Python object is a :class:`bytearray` object,  
without attempting any conversion.  Raises :exc:`TypeError` if the object  
is not a :class:`bytearray` object. The C variable may also be declared  
as :c:type:`PyObject\\*`."
+msgstr ""
+
+#: ../../c-api/arg.rst:134
+#: ../../c-api/arg.rst:531
+# f0ee901bfb014b2ab26b2f4b7120ffbf
+# 8a4ad4ade38843339f36dab50291d57e
+msgid "``u`` (:class:`str`) [Py_UNICODE \\*]"
+msgstr ""
+
+#: ../../c-api/arg.rst:124
+# 588adab2d44541c5a7257bfe26f29e99
+msgid "Convert a Python Unicode object to a C pointer to a NUL-terminated  
buffer of Unicode characters.  You must pass the address of  
a :c:type:`Py_UNICODE` pointer variable, which will be filled with the  
pointer to an existing Unicode buffer.  Please note that the width of  
a :c:type:`Py_UNICODE` character depends on compilation options (it is  
either 16 or 32 bits). The Python string must not contain embedded NUL  
characters; if it does, a :exc:`TypeError` exception is raised."
+msgstr ""
+
+#: ../../c-api/arg.rst:133
+# 2e3755754da14b04814b48346757ba5c
+msgid "Since ``u`` doesn't give you back the length of the string, and it  
may contain embedded NUL characters, it is recommended to use ``u#`` or  
``U`` instead."
+msgstr ""
+
+#: ../../c-api/arg.rst:138
+#: ../../c-api/arg.rst:536
+# 03dd44fa8b0a4038a706a074bc03984e
+# f8c42f5eb3e04bebaa5e58ba6363f594
+msgid "``u#`` (:class:`str`) [Py_UNICODE \\*, int]"
+msgstr ""
+
+#: ../../c-api/arg.rst:138
+# 7b8f22a0942c472e967c8f813fa9e123
+msgid "This variant on ``u`` stores into two C variables, the first one a  
pointer to a Unicode data buffer, the second one its length."
+msgstr ""
+
+#: ../../c-api/arg.rst:142
+# cf85b55d283c44d7a7d6da225e9483f4
+msgid "``Z`` (:class:`str` or ``None``) [Py_UNICODE \\*]"
+msgstr ""
+
+#: ../../c-api/arg.rst:142
+# 6c76b03a296b4533a63c602b274bbee9
+msgid "Like ``u``, but the Python object may also be ``None``, in which  
case the :c:type:`Py_UNICODE` pointer is set to *NULL*."
+msgstr ""
+
+#: ../../c-api/arg.rst:146
+# 5b273daaaa2448fc8a05e2608397ad1f
+msgid "``Z#`` (:class:`str` or ``None``) [Py_UNICODE \\*, int]"
+msgstr ""
+
+#: ../../c-api/arg.rst:146
+# 4e3d4797ae3746128941aa5bb367532d
+msgid "Like ``u#``, but the Python object may also be ``None``, in which  
case the :c:type:`Py_UNICODE` pointer is set to *NULL*."
+msgstr ""
+
+#: ../../c-api/arg.rst:151
+# 099ba4d419f8438789903db01a9b82fc
+msgid "``U`` (:class:`str`) [PyObject \\*]"
+msgstr ""
+
+#: ../../c-api/arg.rst:150
+# 65a365490b0047c9a528f2c2403c2a75
+msgid "Requires that the Python object is a Unicode object, without  
attempting any conversion.  Raises :exc:`TypeError` if the object is not a  
Unicode object.  The C variable may also be declared  
as :c:type:`PyObject\\*`."
+msgstr ""
+
+#: ../../c-api/arg.rst:157
+# fccdcad7db744fab8319456ba727934c
+msgid "``w*`` (:class:`bytearray` or read-write byte-oriented buffer)  
[Py_buffer]"
+msgstr ""
+
+#: ../../c-api/arg.rst:155
+# dad6d633da5748b48ac0442ab6a9161c
+msgid "This format accepts any object which implements the read-write  
buffer interface. It fills a :c:type:`Py_buffer` structure provided by the  
caller. The buffer may contain embedded null bytes. The caller have to  
call :c:func:`PyBuffer_Release` when it is done with the buffer."
+msgstr ""
+
+#: ../../c-api/arg.rst:174
+# 579dfa988ad04e5eb47acbab8584a4a1
+msgid "``es`` (:class:`str`) [const char \\*encoding, char \\*\\*buffer]"
+msgstr ""
+
+#: ../../c-api/arg.rst:161
+# cf64f2a8b82048e999b71059de8ee251
+msgid "This variant on ``s`` is used for encoding Unicode into a character  
buffer. It only works for encoded data without embedded NUL bytes."
+msgstr ""
+
+#: ../../c-api/arg.rst:164
+# 19f5dfbaf73b437f9a6b4cfdb26c46fb
+msgid "This format requires two arguments.  The first is only used as  
input, and must be a :c:type:`const char\\*` which points to the name of an  
encoding as a NUL-terminated string, or *NULL*, in which case ``'utf-8'``  
encoding is used. An exception is raised if the named encoding is not known  
to Python.  The second argument must be a :c:type:`char\\*\\*`; the value  
of the pointer it references will be set to a buffer with the contents of  
the argument text. The text will be encoded in the encoding specified by  
the first argument."
+msgstr ""
+
+#: ../../c-api/arg.rst:172
+# 2232b712469b4d2886b4bd9bdfce02df
+msgid ":c:func:`PyArg_ParseTuple` will allocate a buffer of the needed  
size, copy the encoded data into this buffer and adjust *\\*buffer* to  
reference the newly allocated storage.  The caller is responsible for  
calling :c:func:`PyMem_Free` to free the allocated buffer after use."
+msgstr ""
+
+#: ../../c-api/arg.rst:179
+# a2945926d1e64dd49f0d43a40ebfa466
+msgid "``et`` (:class:`str`, :class:`bytes` or :class:`bytearray`) [const  
char \\*encoding, char \\*\\*buffer]"
+msgstr ""
+
+#: ../../c-api/arg.rst:178
+# aef27ddb80274afb9dab0e1672d120d2
+msgid "Same as ``es`` except that byte string objects are passed through  
without recoding them.  Instead, the implementation assumes that the byte  
string object uses the encoding passed in as parameter."
+msgstr ""
+
+#: ../../c-api/arg.rst:210
+# e4971f55ea494116bc090aadd4d8d074
+msgid "``es#`` (:class:`str`) [const char \\*encoding, char \\*\\*buffer,  
int \\*buffer_length]"
+msgstr ""
+
+#: ../../c-api/arg.rst:183
+# bbef920076a54e64b328ffd59fc39688
+msgid "This variant on ``s#`` is used for encoding Unicode into a  
character buffer. Unlike the ``es`` format, this variant allows input data  
which contains NUL characters."
+msgstr ""
+
+#: ../../c-api/arg.rst:187
+# e5440be27eca47ab9fa58eb1496b6885
+msgid "It requires three arguments.  The first is only used as input, and  
must be a :c:type:`const char\\*` which points to the name of an encoding  
as a NUL-terminated string, or *NULL*, in which case ``'utf-8'`` encoding  
is used. An exception is raised if the named encoding is not known to  
Python.  The second argument must be a :c:type:`char\\*\\*`; the value of  
the pointer it references will be set to a buffer with the contents of the  
argument text. The text will be encoded in the encoding specified by the  
first argument. The third argument must be a pointer to an integer; the  
referenced integer will be set to the number of bytes in the output buffer."
+msgstr ""
+
+#: ../../c-api/arg.rst:197
+# 38e10019c2fb4089b4e6d22dab5827b7
+msgid "There are two modes of operation:"
+msgstr ""
+
+#: ../../c-api/arg.rst:199
+# 09b79d304bc747ddbe953bf57e189e80
+msgid "If *\\*buffer* points a *NULL* pointer, the function will allocate  
a buffer of the needed size, copy the encoded data into this buffer and set  
*\\*buffer* to reference the newly allocated storage.  The caller is  
responsible for calling :c:func:`PyMem_Free` to free the allocated buffer  
after usage."
+msgstr ""
+
+#: ../../c-api/arg.rst:204
+# 6f94a26f71a146a7ba1a23a6f58cfe00
+msgid "If *\\*buffer* points to a non-*NULL* pointer (an already allocated  
buffer), :c:func:`PyArg_ParseTuple` will use this location as the buffer  
and interpret the initial value of *\\*buffer_length* as the buffer size.   
It will then copy the encoded data into the buffer and NUL-terminate it.   
If the buffer is not large enough, a :exc:`ValueError` will be set."
+msgstr ""
+
+#: ../../c-api/arg.rst:210
+# c983af40612e4871831137bdf4fe1eb3
+msgid "In both cases, *\\*buffer_length* is set to the length of the  
encoded data without the trailing NUL byte."
+msgstr ""
+
+#: ../../c-api/arg.rst:215
+# ae431bd3363f47d3b96e4fb424bbfc4d
+msgid "``et#`` (:class:`str`, :class:`bytes` or :class:`bytearray`) [const  
char \\*encoding, char \\*\\*buffer, int \\*buffer_length]"
+msgstr ""
+
+#: ../../c-api/arg.rst:214
+# 336faa21272a414d89c2efa4581cc296
+msgid "Same as ``es#`` except that byte string objects are passed through  
without recoding them. Instead, the implementation assumes that the byte  
string object uses the encoding passed in as parameter."
+msgstr ""
+
+#: ../../c-api/arg.rst:219
+# 08a9aee378b64bd9b56aaea8b75b1cf4
+msgid "Numbers"
+msgstr ""
+
+#: ../../c-api/arg.rst:222
+# 6303b4dc7d8f49b5be707b3d59e008bd
+msgid "``b`` (:class:`int`) [unsigned char]"
+msgstr ""
+
+#: ../../c-api/arg.rst:222
+# c5d77627da9840f9870d1c57ab0bd66a
+msgid "Convert a nonnegative Python integer to an unsigned tiny int,  
stored in a C :c:type:`unsigned char`."
+msgstr ""
+
+#: ../../c-api/arg.rst:226
+#: ../../c-api/arg.rst:557
+# 67bc3b6420d847a699ef4fad28716fdb
+# 232ab433c8ef48f59a7c9afe540015f8
+msgid "``B`` (:class:`int`) [unsigned char]"
+msgstr ""
+
+#: ../../c-api/arg.rst:226
+# 66a98b298c6043dfa1cbe4c4b6662692
+msgid "Convert a Python integer to a tiny int without overflow checking,  
stored in a C :c:type:`unsigned char`."
+msgstr ""
+
+#: ../../c-api/arg.rst:229
+#: ../../c-api/arg.rst:551
+# d57b88a48f9440c4bdb8795f435e66c4
+# 68bcf28d3afe4b5cb8ca41f3b565cf6f
+msgid "``h`` (:class:`int`) [short int]"
+msgstr ""
+
+#: ../../c-api/arg.rst:230
+# 24b6eb97eb974d91b7ba068e69c95ea2
+msgid "Convert a Python integer to a C :c:type:`short int`."
+msgstr ""
+
+#: ../../c-api/arg.rst:233
+#: ../../c-api/arg.rst:560
+# c340350219c248609331a7f5ed312f6d
+# d096eb3de7a54d0f8a5ff4624ddb0f59
+msgid "``H`` (:class:`int`) [unsigned short int]"
+msgstr ""
+
+#: ../../c-api/arg.rst:233
+# 4d9bcb2a5cdb4bf5a4a7fed3aeea4f80
+msgid "Convert a Python integer to a C :c:type:`unsigned short int`,  
without overflow checking."
+msgstr ""
+
+#: ../../c-api/arg.rst:236
+#: ../../c-api/arg.rst:545
+# af4bf409a6d14983b85cd5aa483c378a
+# b5f0a67c6c9d461ea12fd134de8daa1b
+msgid "``i`` (:class:`int`) [int]"
+msgstr ""
+
+#: ../../c-api/arg.rst:237
+# b4157220a241467abc611e4ce9536e6d
+msgid "Convert a Python integer to a plain C :c:type:`int`."
+msgstr ""
+
+#: ../../c-api/arg.rst:240
+#: ../../c-api/arg.rst:563
+# 7d3958a9237743bbbdf58ef3b39793c8
+# 5a7cccdab67c4ce3a216fe5e88c3e083
+msgid "``I`` (:class:`int`) [unsigned int]"
+msgstr ""
+
+#: ../../c-api/arg.rst:240
+# 162356ec2dfb4edb90c053c337d1d208
+msgid "Convert a Python integer to a C :c:type:`unsigned int`, without  
overflow checking."
+msgstr ""
+
+#: ../../c-api/arg.rst:243
+#: ../../c-api/arg.rst:554
+# 0b09bec9c5044a5b9ac1738dcbb516a7
+# 119d0ec8bb7d45ee9529086a11398fbf
+msgid "``l`` (:class:`int`) [long int]"
+msgstr ""
+
+#: ../../c-api/arg.rst:244
+# 1e4324451b274a70b0a45a28b2b7c6bf
+msgid "Convert a Python integer to a C :c:type:`long int`."
+msgstr ""
+
+#: ../../c-api/arg.rst:247
+#: ../../c-api/arg.rst:566
+# 1c8bc26a7fcd47bebc17684e2702aaf7
+# 1aee69603d8447c7b294325f4fdfc154
+msgid "``k`` (:class:`int`) [unsigned long]"
+msgstr ""
+
+#: ../../c-api/arg.rst:247
+# 69bc4249161d4303a93821d2dfed8da3
+msgid "Convert a Python integer to a C :c:type:`unsigned long` without  
overflow checking."
+msgstr ""
+
+#: ../../c-api/arg.rst:252
+#: ../../c-api/arg.rst:571
+# 721278dc3d07496f87a33be0f03e74db
+# e9c9d59138ae41fcafd6f2211bf1441c
+msgid "``L`` (:class:`int`) [PY_LONG_LONG]"
+msgstr ""
+
+#: ../../c-api/arg.rst:251
+# ae57104300264e3cac42093ff85af139
+msgid "Convert a Python integer to a C :c:type:`long long`.  This format  
is only available on platforms that support :c:type:`long long`  
(or :c:type:`_int64` on Windows)."
+msgstr ""
+
+#: ../../c-api/arg.rst:257
+#: ../../c-api/arg.rst:576
+# cb439051be724a3ba4f29eec3fe37c17
+# f361616df5954236966204e03b4b9987
+msgid "``K`` (:class:`int`) [unsigned PY_LONG_LONG]"
+msgstr ""
+
+#: ../../c-api/arg.rst:256
+# e0bd4efdb9424306a3a33f8824782fb6
+msgid "Convert a Python integer to a C :c:type:`unsigned long long`  
without overflow checking.  This format is only available on platforms that  
support :c:type:`unsigned long long` (or :c:type:`unsigned _int64` on  
Windows)."
+msgstr ""
+
+#: ../../c-api/arg.rst:260
+#: ../../c-api/arg.rst:579
+# abea7b4e317944dba7dc1a4a217ea890
+# 8b7146a2e42e442b857d2e4530698d33
+msgid "``n`` (:class:`int`) [Py_ssize_t]"
+msgstr ""
+
+#: ../../c-api/arg.rst:261
+# ca316325a28142c1aae9d0b90aab0fa7
+msgid "Convert a Python integer to a C :c:type:`Py_ssize_t`."
+msgstr ""
+
+#: ../../c-api/arg.rst:267
+# 14d036b828484cb0895b3c384cf4f27c
+msgid "``c`` (:class:`bytes` or :class:`bytearray` of length 1) [char]"
+msgstr ""
+
+#: ../../c-api/arg.rst:264
+# 85e25e996a3e46e896701550395bca6c
+msgid "Convert a Python byte, represented as a :class:`bytes`  
or :class:`bytearray` object of length 1, to a C :c:type:`char`."
+msgstr ""
+
+#: ../../c-api/arg.rst:271
+#: ../../c-api/arg.rst:587
+# 0549ba3d8f824214a8a938bb3c6de43f
+# 1ca823a42d764fc88ddb688aba59105f
+msgid "``C`` (:class:`str` of length 1) [int]"
+msgstr ""
+
+#: ../../c-api/arg.rst:271
+# 883d831012a744bfbd5156438b73e8c1
+msgid "Convert a Python character, represented as a :class:`str` object of  
length 1, to a C :c:type:`int`."
+msgstr ""
+
+#: ../../c-api/arg.rst:274
+#: ../../c-api/arg.rst:593
+# 9969ec89cae742059f4178a3cd202b83
+# f1e2ab95e1884911b9d580c0fb4afacf
+msgid "``f`` (:class:`float`) [float]"
+msgstr ""
+
+#: ../../c-api/arg.rst:275
+# 5510b49fefd54df1b9becbbbb3ecb3a2
+msgid "Convert a Python floating point number to a C :c:type:`float`."
+msgstr ""
+
+#: ../../c-api/arg.rst:277
+#: ../../c-api/arg.rst:590
+# b170dd1feeb84e1197e99cbd5c21bf50
+# 4151f46ecdfb4cb08f7281cd03e230ff
+msgid "``d`` (:class:`float`) [double]"
+msgstr ""
+
+#: ../../c-api/arg.rst:278
+# 4cf178d8433b4b4fa97b15f73e5bc0a8
+msgid "Convert a Python floating point number to a C :c:type:`double`."
+msgstr ""
+
+#: ../../c-api/arg.rst:280
+# 5607eefde1d7470fa2e63212500d41a7
+msgid "``D`` (:class:`complex`) [Py_complex]"
+msgstr ""
+
+#: ../../c-api/arg.rst:281
+# 56df2d7de00940748b6880ce29855bd2
+msgid "Convert a Python complex number to a C :c:type:`Py_complex`  
structure."
+msgstr ""
+
+#: ../../c-api/arg.rst:284
+# d80f4cabca4545828ce26b8098be557c
+msgid "Other objects"
+msgstr ""
+
+#: ../../c-api/arg.rst:288
+#: ../../c-api/arg.rst:604
+# 43fa74f906854cf39462ea490dc5e3e6
+# 35a79570c3b04d6eb0608a96efc34d6d
+msgid "``O`` (object) [PyObject \\*]"
+msgstr ""
+
+#: ../../c-api/arg.rst:287
+# 23a989289ca94871a8c51267ccd43aa4
+msgid "Store a Python object (without any conversion) in a C object  
pointer.  The C program thus receives the actual object that was passed.   
The object's reference count is not increased.  The pointer stored is not  
*NULL*."
+msgstr ""
+
+#: ../../c-api/arg.rst:295
+# afa6eaeea15840428b751aafd17cf76f
+msgid "``O!`` (object) [*typeobject*, PyObject \\*]"
+msgstr ""
+
+#: ../../c-api/arg.rst:292
+# 7f434dfd42c2442ea78f1f604f28cb12
+msgid "Store a Python object in a C object pointer.  This is similar to  
``O``, but takes two C arguments: the first is the address of a Python type  
object, the second is the address of the C variable (of  
type :c:type:`PyObject\\*`) into which the object pointer is stored.  If  
the Python object does not have the required type, :exc:`TypeError` is  
raised."
+msgstr ""
+
+#: ../../c-api/arg.rst:318
+#: ../../c-api/arg.rst:618
+# e1bca2b116964bcab03e05eed688509e
+# e2acc4ad397947fbafff8bb613e8ee99
+msgid "``O&`` (object) [*converter*, *anything*]"
+msgstr ""
+
+#: ../../c-api/arg.rst:299
+# 93968c10924e410991c8f90321c05087
+msgid "Convert a Python object to a C variable through a *converter*  
function.  This takes two arguments: the first is a function, the second is  
the address of a C variable (of arbitrary type), converted to :c:type:`void  
\\*`.  The *converter* function in turn is called as follows::"
+msgstr ""
+
+#: ../../c-api/arg.rst:306
+# 3eb75d1e2cec40d596c1cfe9c5fa06c9
+msgid "where *object* is the Python object to be converted and *address*  
is the :c:type:`void\\*` argument that was passed to  
the :c:func:`PyArg_Parse\\*` function. The returned *status* should be  
``1`` for a successful conversion and ``0`` if the conversion has failed.   
When the conversion fails, the *converter* function should raise an  
exception and leave the content of *address* unmodified."
+msgstr ""
+
+#: ../../c-api/arg.rst:312
+# a9be01b9438644389e314df7b56f3094
+msgid "If the *converter* returns ``Py_CLEANUP_SUPPORTED``, it may get  
called a second time if the argument parsing eventually fails, giving the  
converter a chance to release any memory that it had already allocated. In  
this second call, the *object* parameter will be NULL; *address* will have  
the same value as in the original call."
+msgstr ""
+
+#: ../../c-api/arg.rst:327
+# c4a0a38f85a94549bf22afc946cfe215
+msgid "``p`` (:class:`bool`) [int]"
+msgstr ""
+
+#: ../../c-api/arg.rst:322
+# 2c419bcbee914dfb8e51444b86235617
+msgid "Tests the value passed in for truth (a boolean **p**\\redicate) and  
converts the result to its equivalent C true/false integer value. Sets the  
int to 1 if the expression was true and 0 if it was false. This accepts any  
valid Python value.  See :ref:`truth` for more information about how Python  
tests values for truth."
+msgstr ""
+
+#: ../../c-api/arg.rst:332
+#: ../../c-api/arg.rst:621
+# 7b2b317a906f4ea7ab200cb471da40a9
+# ddad7774f2d149e89c58fb536f6bdd5e
+msgid "``(items)`` (:class:`tuple`) [*matching-items*]"
+msgstr ""
+
+#: ../../c-api/arg.rst:331
+# b4ecc600b23640b0907623cb594b16fa
+msgid "The object must be a Python sequence whose length is the number of  
format units in *items*.  The C arguments must correspond to the individual  
format units in *items*.  Format units for sequences may be nested."
+msgstr ""
+
+#: ../../c-api/arg.rst:335
+# 79b6c135b7fb4bc6ba94f755dec5b4e1
+msgid "It is possible to pass \"long\" integers (integers whose value  
exceeds the platform's :const:`LONG_MAX`) however no proper range checking  
is done --- the most significant bits are silently truncated when the  
receiving field is too small to receive the value (actually, the semantics  
are inherited from downcasts in C --- your mileage may vary)."
+msgstr ""
+
+#: ../../c-api/arg.rst:341
+# 74afbe00452940118c4bac6a41b8fd76
+msgid "A few other characters have a meaning in a format string.  These  
may not occur inside nested parentheses.  They are:"
+msgstr ""
+
+#: ../../c-api/arg.rst:348
+# 019a1d6ed9284f119eae62e1ce1bf238
+msgid "``|``"
+msgstr ""
+
+#: ../../c-api/arg.rst:345
+# 4ad710a0a2914eb2b605a3b38171b249
+msgid "Indicates that the remaining arguments in the Python argument list  
are optional. The C variables corresponding to optional arguments should be  
initialized to their default value --- when an optional argument is not  
specified, :c:func:`PyArg_ParseTuple` does not touch the contents of the  
corresponding C variable(s)."
+msgstr ""
+
+#: ../../c-api/arg.rst:357
+# be3b8466a13e4f8d8b1945f1fed147dc
+msgid "``$``"
+msgstr ""
+
+#: ../../c-api/arg.rst:352
+# c8cb637f9e784d68b8d405c6863022e0
+msgid ":c:func:`PyArg_ParseTupleAndKeywords` only: Indicates that the  
remaining arguments in the Python argument list are keyword-only.   
Currently, all keyword-only arguments must also be optional arguments, so  
``|`` must always be specified before ``$`` in the format string."
+msgstr ""
+
+#: ../../c-api/arg.rst:362
+# bfb533bbc0a5484989cb42e79f59d29e
+msgid "``:``"
+msgstr ""
+
+#: ../../c-api/arg.rst:361
+# a2db81dd1f7e4eb3a52922bd6ac7ada9
+msgid "The list of format units ends here; the string after the colon is  
used as the function name in error messages (the \"associated value\" of  
the exception that :c:func:`PyArg_ParseTuple` raises)."
+msgstr ""
+
+#: ../../c-api/arg.rst:367
+# cf6a4778db2b43dcbc30b2867c8558a9
+msgid "``;``"
+msgstr ""
+
+#: ../../c-api/arg.rst:366
+# d1402e59f9bb4935bd36f22014b9edeb
+msgid "The list of format units ends here; the string after the semicolon  
is used as the error message *instead* of the default error message.  ``:``  
and ``;`` mutually exclude each other."
+msgstr ""
+
+#: ../../c-api/arg.rst:370
+# 320861623ca0478691219a4e57fd92a4
+msgid "Note that any Python object references which are provided to the  
caller are *borrowed* references; do not decrement their reference count!"
+msgstr ""
+
+#: ../../c-api/arg.rst:373
+# 4f51e05fb83149258b6c5c6cac88bae1
+msgid "Additional arguments passed to these functions must be addresses of  
variables whose type is determined by the format string; these are used to  
store values from the input tuple.  There are a few cases, as described in  
the list of format units above, where these parameters are used as input  
values; they should match what is specified for the corresponding format  
unit in that case."
+msgstr ""
+
+#: ../../c-api/arg.rst:379
+# 81bae893050241b59aac1137eb86d571
+msgid "For the conversion to succeed, the *arg* object must match the  
format and the format must be exhausted.  On success,  
the :c:func:`PyArg_Parse\\*` functions return true, otherwise they return  
false and raise an appropriate exception. When the :c:func:`PyArg_Parse\\*`  
functions fail due to conversion failure in one of the format units, the  
variables at the addresses corresponding to that and the following format  
units are left untouched."
+msgstr ""
+
+#: ../../c-api/arg.rst:388
+# 4abd3a09119c4ca287fe748da1f89f2e
+msgid "API Functions"
+msgstr ""
+
+#: ../../c-api/arg.rst:392
+# c90e662203744cc294e61fb09720f9cb
+msgid "Parse the parameters of a function that takes only positional  
parameters into local variables.  Returns true on success; on failure, it  
returns false and raises the appropriate exception."
+msgstr ""
+
+#: ../../c-api/arg.rst:399
+# bca09d4ba1504c8380bbe0ffeebe3659
+msgid "Identical to :c:func:`PyArg_ParseTuple`, except that it accepts a  
va_list rather than a variable number of arguments."
+msgstr ""
+
+#: ../../c-api/arg.rst:405
+# 4382c66e625e4732a434477562fe490b
+msgid "Parse the parameters of a function that takes both positional and  
keyword parameters into local variables.  Returns true on success; on  
failure, it returns false and raises the appropriate exception."
+msgstr ""
+
+#: ../../c-api/arg.rst:412
+# 8f095f909f6042768a550186b9052384
+msgid "Identical to :c:func:`PyArg_ParseTupleAndKeywords`, except that it  
accepts a va_list rather than a variable number of arguments."
+msgstr ""
+
+#: ../../c-api/arg.rst:418
+# 656b19f841f24645802a52a98ef2c560
+msgid "Ensure that the keys in the keywords argument dictionary are  
strings.  This is only needed if :c:func:`PyArg_ParseTupleAndKeywords` is  
not used, since the latter already does this check."
+msgstr ""
+
+#: ../../c-api/arg.rst:428
+# 362d9e949f934b43b30c562fe1b2161c
+msgid "Function used to deconstruct the argument lists of \"old-style\"  
functions --- these are functions which use the :const:`METH_OLDARGS`  
parameter parsing method.  This is not recommended for use in parameter  
parsing in new code, and most code in the standard interpreter has been  
modified to no longer use this for that purpose.  It does remain a  
convenient way to decompose other tuples, however, and may continue to be  
used for that purpose."
+msgstr ""
+
+#: ../../c-api/arg.rst:438
+# ee9ec41e019e43a79b01b8bae9f3c310
+msgid "A simpler form of parameter retrieval which does not use a format  
string to specify the types of the arguments.  Functions which use this  
method to retrieve their parameters should be declared  
as :const:`METH_VARARGS` in function or method tables.  The tuple  
containing the actual parameters should be passed as *args*; it must  
actually be a tuple.  The length of the tuple must be at least *min* and no  
more than *max*; *min* and *max* may be equal.  Additional arguments must  
be passed to the function, each of which should be a pointer to  
a :c:type:`PyObject\\*` variable; these will be filled in with the values  
from *args*; they will contain borrowed references.  The variables which  
correspond to optional parameters not given by *args* will not be filled  
in; these should be initialized by the caller. This function returns true  
on success and false if *args* is not a tuple or contains the wrong number  
of elements; an exception will be set if there was a failure."
+msgstr ""
+
+#: ../../c-api/arg.rst:452
+# b1aace3491e34dbba6ea473f16bbecc5
+msgid "This is an example of the use of this function, taken from the  
sources for the :mod:`_weakref` helper module for weak references::"
+msgstr ""
+
+#: ../../c-api/arg.rst:468
+# 9d3d2f82055c435e83d3689485e4f6f7
+msgid "The call to :c:func:`PyArg_UnpackTuple` in this example is entirely  
equivalent to this call to :c:func:`PyArg_ParseTuple`::"
+msgstr ""
+
+#: ../../c-api/arg.rst:476
+# 0a92556479c74a2fa6151797ef636a6c
+msgid "Building values"
+msgstr ""
+
+#: ../../c-api/arg.rst:480
+# 9dea1dd9a2344f7a9e5225fefb270490
+msgid "Create a new value based on a format string similar to those  
accepted by the :c:func:`PyArg_Parse\\*` family of functions and a sequence  
of values.  Returns the value or *NULL* in the case of an error; an  
exception will be raised if *NULL* is returned."
+msgstr ""
+
+#: ../../c-api/arg.rst:485
+# fd76576603be41b994b6aab7a5652d14
+msgid ":c:func:`Py_BuildValue` does not always build a tuple.  It builds a  
tuple only if its format string contains two or more format units.  If the  
format string is empty, it returns ``None``; if it contains exactly one  
format unit, it returns whatever object is described by that format unit.   
To force it to return a tuple of size 0 or one, parenthesize the format  
string."
+msgstr ""
+
+#: ../../c-api/arg.rst:491
+# 045e627cded14e4ebe6024e6b9c25b69
+msgid "When memory buffers are passed as parameters to supply data to  
build objects, as for the ``s`` and ``s#`` formats, the required data is  
copied.  Buffers provided by the caller are never referenced by the objects  
created by :c:func:`Py_BuildValue`.  In other words, if your code  
invokes :c:func:`malloc` and passes the allocated memory  
to :c:func:`Py_BuildValue`, your code is responsible for  
calling :c:func:`free` for that memory once :c:func:`Py_BuildValue`  
returns."
+msgstr ""
+
+#: ../../c-api/arg.rst:499
+# b92ea182a3f2436e96a1c35e357a574a
+msgid "In the following description, the quoted form is the format unit;  
the entry in (round) parentheses is the Python object type that the format  
unit will return; and the entry in [square] brackets is the type of the C  
value(s) to be passed."
+msgstr ""
+
+#: ../../c-api/arg.rst:503
+# 345b3aa16088422e836ca75f441d5258
+msgid "The characters space, tab, colon and comma are ignored in format  
strings (but not within format units such as ``s#``).  This can be used to  
make long format strings a tad more readable."
+msgstr ""
+
+#: ../../c-api/arg.rst:508
+# 56fd362840264b8388e0c2912daec73c
+msgid "``s`` (:class:`str` or ``None``) [char \\*]"
+msgstr ""
+
+#: ../../c-api/arg.rst:508
+# 7068a5748f24468385491f48c32736e9
+msgid "Convert a null-terminated C string to a Python :class:`str` object  
using ``'utf-8'`` encoding. If the C string pointer is *NULL*, ``None`` is  
used."
+msgstr ""
+
+#: ../../c-api/arg.rst:513
+# 54b7fc9cf1ae4c23932e6ca2ced10d08
+msgid "``s#`` (:class:`str` or ``None``) [char \\*, int]"
+msgstr ""
+
+#: ../../c-api/arg.rst:512
+# 88f4b020d3e0403887a3b2eb81b5b5d5
+msgid "Convert a C string and its length to a Python :class:`str` object  
using ``'utf-8'`` encoding. If the C string pointer is *NULL*, the length  
is ignored and ``None`` is returned."
+msgstr ""
+
+#: ../../c-api/arg.rst:517
+# 0f5b1305a9f142679da17362897d1a65
+msgid "``y`` (:class:`bytes`) [char \\*]"
+msgstr ""
+
+#: ../../c-api/arg.rst:517
+# 98b7ef62ce3a4578a583a5074cbab8ed
+msgid "This converts a C string to a Python :func:`bytes` object.  If the  
C string pointer is *NULL*, ``None`` is returned."
+msgstr ""
+
+#: ../../c-api/arg.rst:521
+# b2db8d0317cf484baf0192f2caf9c93d
+msgid "``y#`` (:class:`bytes`) [char \\*, int]"
+msgstr ""
+
+#: ../../c-api/arg.rst:521
+# 8b0027a92fc4453b81f14b9eef0f45e1
+msgid "This converts a C string and its lengths to a Python object.  If  
the C string pointer is *NULL*, ``None`` is returned."
+msgstr ""
+
+#: ../../c-api/arg.rst:524
+# 1d499fe838ac44aa8ed1a58617be14fc
+msgid "``z`` (:class:`str` or ``None``) [char \\*]"
+msgstr ""
+
+#: ../../c-api/arg.rst:525
+#: ../../c-api/arg.rst:540
+# db14592f446e4d378efe6465a6b92070
+# b55e00526eb24b35aea603d75fc531b4
+msgid "Same as ``s``."
+msgstr ""
+
+#: ../../c-api/arg.rst:527
+# e8a1af66cfb5488a8c5854adac06650f
+msgid "``z#`` (:class:`str` or ``None``) [char \\*, int]"
+msgstr ""
+
+#: ../../c-api/arg.rst:528
+#: ../../c-api/arg.rst:543
+# 8fd546c6330f4e2db26c2e6d418b6862
+# 206e932e41314dbf917221a086076b3f
+msgid "Same as ``s#``."
+msgstr ""
+
+#: ../../c-api/arg.rst:531
+# e59e3053529a47b382920457fce3014a
+msgid "Convert a null-terminated buffer of Unicode (UCS-2 or UCS-4) data  
to a Python Unicode object.  If the Unicode buffer pointer is *NULL*,  
``None`` is returned."
+msgstr ""
+
+#: ../../c-api/arg.rst:535
+# 7c63bb1fa2e74d1cb55841f796e04a0f
+msgid "Convert a Unicode (UCS-2 or UCS-4) data buffer and its length to a  
Python Unicode object.   If the Unicode buffer pointer is *NULL*, the  
length is ignored and ``None`` is returned."
+msgstr ""
+
+#: ../../c-api/arg.rst:539
+# 41152ed12b9c4babaf4860f255d9d87a
+msgid "``U`` (:class:`str` or ``None``) [char \\*]"
+msgstr ""
+
+#: ../../c-api/arg.rst:542
+# b98e9dae97d945f5875c35874c460b45
+msgid "``U#`` (:class:`str` or ``None``) [char \\*, int]"
+msgstr ""
+
+#: ../../c-api/arg.rst:546
+# 1e6b3ad13e3e4c439c1b7e954a188d85
+msgid "Convert a plain C :c:type:`int` to a Python integer object."
+msgstr ""
+
+#: ../../c-api/arg.rst:548
+# 16d18320c0c8431f982bc2f691b398ea
+msgid "``b`` (:class:`int`) [char]"
+msgstr ""
+
+#: ../../c-api/arg.rst:549
+# b981607d696c48908a0b87085a462d5c
+msgid "Convert a plain C :c:type:`char` to a Python integer object."
+msgstr ""
+
+#: ../../c-api/arg.rst:552
+# 7ca2204d264442b68fbd95ec5298945f
+msgid "Convert a plain C :c:type:`short int` to a Python integer object."
+msgstr ""
+
+#: ../../c-api/arg.rst:555
+# dbfa0bbcfdf84abb8da226a404cf8fd5
+msgid "Convert a C :c:type:`long int` to a Python integer object."
+msgstr ""
+
+#: ../../c-api/arg.rst:558
+# 694a281f0efd4591a624fb90a401c7ea
+msgid "Convert a C :c:type:`unsigned char` to a Python integer object."
+msgstr ""
+
+#: ../../c-api/arg.rst:561
+# 3f66848a9700474baf2822c195b88f05
+msgid "Convert a C :c:type:`unsigned short int` to a Python integer  
object."
+msgstr ""
+
+#: ../../c-api/arg.rst:564
+# 9952c9fbde8f47feb2edf24e44a34b03
+msgid "Convert a C :c:type:`unsigned int` to a Python integer object."
+msgstr ""
+
+#: ../../c-api/arg.rst:567
+# ebcff433b8874da4a334a0a3e9953f3e
+msgid "Convert a C :c:type:`unsigned long` to a Python integer object."
+msgstr ""
+
+#: ../../c-api/arg.rst:570
+# c82c1f4f24fe41b8a4185a5ff365a7bd
+msgid "Convert a C :c:type:`long long` to a Python integer object. Only  
available on platforms that support :c:type:`long long`  
(or :c:type:`_int64` on Windows)."
+msgstr ""
+
+#: ../../c-api/arg.rst:575
+# f97bae2e5e804712a025bd06b0fb1538
+msgid "Convert a C :c:type:`unsigned long long` to a Python integer  
object. Only available on platforms that support :c:type:`unsigned long  
long` (or :c:type:`unsigned _int64` on Windows)."
+msgstr ""
+
+#: ../../c-api/arg.rst:580
+# 50be5a813f2042dd9911fdcbe6ffcdce
+msgid "Convert a C :c:type:`Py_ssize_t` to a Python integer."
+msgstr ""
+
+#: ../../c-api/arg.rst:583
+# 349e2a422bd446d0ada4eea06e8a59b0
+msgid "``c`` (:class:`bytes` of length 1) [char]"
+msgstr ""
+
+#: ../../c-api/arg.rst:583
+# 9fcd979487294cb3bfc45ec52b21aed1
+msgid "Convert a C :c:type:`int` representing a byte to a  
Python :class:`bytes` object of length 1."
+msgstr ""
+
+#: ../../c-api/arg.rst:587
+# 05fcb230eb654405a8eca971f7ecbc61
+msgid "Convert a C :c:type:`int` representing a character to  
Python :class:`str` object of length 1."
+msgstr ""
+
+#: ../../c-api/arg.rst:591
+# 573df9a14999455f8abcbc7860313894
+msgid "Convert a C :c:type:`double` to a Python floating point number."
+msgstr ""
+
+#: ../../c-api/arg.rst:594
+# 6687b974721842be9124e9ef2a2ca37f
+msgid "Convert a C :c:type:`float` to a Python floating point number."
+msgstr ""
+
+#: ../../c-api/arg.rst:596
+# f6dc0195f32841b589986771ad944661
+msgid "``D`` (:class:`complex`) [Py_complex \\*]"
+msgstr ""
+
+#: ../../c-api/arg.rst:597
+# 83159f573c34429e88f459d9c8752de8
+msgid "Convert a C :c:type:`Py_complex` structure to a Python complex  
number."
+msgstr ""
+
+#: ../../c-api/arg.rst:600
+# 2dbe383c2f0041e388e11d9c048ff9f5
+msgid "Pass a Python object untouched (except for its reference count,  
which is incremented by one).  If the object passed in is a *NULL* pointer,  
it is assumed that this was caused because the call producing the argument  
found an error and set an exception. Therefore, :c:func:`Py_BuildValue`  
will return *NULL* but won't raise an exception.  If no exception has been  
raised yet, :exc:`SystemError` is set."
+msgstr ""
+
+#: ../../c-api/arg.rst:607
+# 4ad86d9e8284460499994c22f685147f
+msgid "``S`` (object) [PyObject \\*]"
+msgstr ""
+
+#: ../../c-api/arg.rst:608
+# f8857eb5ec714dfe95e275f345d20b3b
+msgid "Same as ``O``."
+msgstr ""
+
+#: ../../c-api/arg.rst:612
+# f5b0471f32274f10ba27db88eb90642b
+msgid "``N`` (object) [PyObject \\*]"
+msgstr ""
+
+#: ../../c-api/arg.rst:611
+# 2debd0dc37374d2c86a7dc203ac1a729
+msgid "Same as ``O``, except it doesn't increment the reference count on  
the object. Useful when the object is created by a call to an object  
constructor in the argument list."
+msgstr ""
+
+#: ../../c-api/arg.rst:616
+# 1f1353e8d8e94883a5c2e180309f729d
+msgid "Convert *anything* to a Python object through a *converter*  
function.  The function is called with *anything* (which should be  
compatible with :c:type:`void \\*`) as its argument and should return a  
\"new\" Python object, or *NULL* if an error occurred."
+msgstr ""
+
+#: ../../c-api/arg.rst:622
+# 0cfe3349a8654527b151aba950abe56f
+msgid "Convert a sequence of C values to a Python tuple with the same  
number of items."
+msgstr ""
+
+#: ../../c-api/arg.rst:624
+# 920f199bc9424546849eb174da07bc81
+msgid "``[items]`` (:class:`list`) [*matching-items*]"
+msgstr ""
+
+#: ../../c-api/arg.rst:625
+# ec54e18de5a44b5ba158e126414f7ae9
+msgid "Convert a sequence of C values to a Python list with the same  
number of items."
+msgstr ""
+
+#: ../../c-api/arg.rst:629
+# e2641bc330d042a1af6bdc9dd9aa1169
+msgid "``{items}`` (:class:`dict`) [*matching-items*]"
+msgstr ""
+
+#: ../../c-api/arg.rst:628
+# d2356dbcf00b4e13ae5ebd1f59715a4a
+msgid "Convert a sequence of C values to a Python dictionary.  Each pair  
of consecutive C values adds one item to the dictionary, serving as key and  
value, respectively."
+msgstr ""
+
+#: ../../c-api/arg.rst:632
+# 7d161cdc6b1b46f880f54cca125aaca9
+msgid "If there is an error in the format string, the :exc:`SystemError`  
exception is set and *NULL* returned."
+msgstr ""
+
+#: ../../c-api/arg.rst:637
+# 66a0956402584394ba2d59ae5ea497f8
+msgid "Identical to :c:func:`Py_BuildValue`, except that it accepts a  
va_list rather than a variable number of arguments."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/bool.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,58 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/bool.rst:6
+# 39ecf6c1137e449182a1b098ccef1767
+msgid "Boolean Objects"
+msgstr ""
+
+#: ../../c-api/bool.rst:8
+# 52270de5dc504e82bd7be93532df5b82
+msgid "Booleans in Python are implemented as a subclass of integers.   
There are only two booleans, :const:`Py_False` and :const:`Py_True`.  As  
such, the normal creation and deletion functions don't apply to booleans.   
The following macros are available, however."
+msgstr ""
+
+#: ../../c-api/bool.rst:16
+# fd3d22d2f3b64f95a9af1ac6b21b0cab
+msgid "Return true if *o* is of type :c:data:`PyBool_Type`."
+msgstr ""
+
+#: ../../c-api/bool.rst:21
+# b870c384c8194e00ad1d87171c3267d9
+msgid "The Python ``False`` object.  This object has no methods.  It needs  
to be treated just like any other object with respect to reference counts."
+msgstr ""
+
+#: ../../c-api/bool.rst:27
+# 0fe7356831144f69ae8ea5bedc4dccdd
+msgid "The Python ``True`` object.  This object has no methods.  It needs  
to be treated just like any other object with respect to reference counts."
+msgstr ""
+
+#: ../../c-api/bool.rst:33
+# e44de6addb0749e18ca605896b32b8dc
+msgid "Return :const:`Py_False` from a function, properly incrementing its  
reference count."
+msgstr ""
+
+#: ../../c-api/bool.rst:39
+# 6e84178a78524f7aa45e576edd8c2dd2
+msgid "Return :const:`Py_True` from a function, properly incrementing its  
reference count."
+msgstr ""
+
+#: ../../c-api/bool.rst:45
+# bba2da1139c846e28eb895fed30c778d
+msgid "Return a new reference to :const:`Py_True` or :const:`Py_False`  
depending on the truth value of *v*."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/buffer.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,660 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/buffer.rst:11
+# 40f455152f3342c6a2f344d853a9a318
+msgid "Buffer Protocol"
+msgstr ""
+
+#: ../../c-api/buffer.rst:18
+# cf41969d766944b1aacd2067de55701d
+msgid "Certain objects available in Python wrap access to an underlying  
memory array or *buffer*.  Such objects include the built-in :class:`bytes`  
and :class:`bytearray`, and some extension types like :class:`array.array`.  
Third-party libraries may define their own types for special purposes, such  
as image processing or numeric analysis."
+msgstr ""
+
+#: ../../c-api/buffer.rst:24
+# d0c667d5f9104a7eaf45c76380cd3c21
+msgid "While each of these types have their own semantics, they share the  
common characteristic of being backed by a possibly large memory buffer.   
It is then desirable, in some situations, to access that buffer directly  
and without intermediate copying."
+msgstr ""
+
+#: ../../c-api/buffer.rst:29
+# bad13fd3423e4218b7b047a3313d8163
+msgid "Python provides such a facility at the C level in the form of  
the :ref:`buffer protocol <bufferobjects>`.  This protocol has two sides:"
+msgstr ""
+
+#: ../../c-api/buffer.rst:34
+# b874f0c6270b4412a1bda9601b6c4951
+msgid "on the producer side, a type can export a \"buffer interface\"  
which allows objects of that type to expose information about their  
underlying buffer. This interface is described in the  
section :ref:`buffer-structs`;"
+msgstr ""
+
+#: ../../c-api/buffer.rst:38
+# 3b4b92e62efb4b6093d7c5a382b60341
+msgid "on the consumer side, several means are available to obtain a  
pointer to the raw underlying data of an object (for example a method  
parameter)."
+msgstr ""
+
+#: ../../c-api/buffer.rst:41
+# 1646e4bae8e34048b95e0df649f1530e
+msgid "Simple objects such as :class:`bytes` and :class:`bytearray` expose  
their underlying buffer in byte-oriented form.  Other forms are possible;  
for example, the elements exposed by a :class:`array.array` can be  
multi-byte values."
+msgstr ""
+
+#: ../../c-api/buffer.rst:45
+# e19165808e1c43f0b8658ab08f82f403
+msgid "An example consumer of the buffer interface is  
the :meth:`~io.BufferedIOBase.write` method of file objects: any object  
that can export a series of bytes through the buffer interface can be  
written to a file.  While :meth:`write` only needs read-only access to the  
internal contents of the object passed to it, other methods such  
as :meth:`~io.BufferedIOBase.readinto` need write access to the contents of  
their argument.  The buffer interface allows objects to selectively allow  
or reject exporting of read-write and read-only buffers."
+msgstr ""
+
+#: ../../c-api/buffer.rst:53
+# 971675483c66445faf03d719a0ae61d4
+msgid "There are two ways for a consumer of the buffer interface to  
acquire a buffer over a target object:"
+msgstr ""
+
+#: ../../c-api/buffer.rst:56
+# 2d03a76cae774f8390ce9a66c78f387f
+msgid "call :c:func:`PyObject_GetBuffer` with the right parameters;"
+msgstr ""
+
+#: ../../c-api/buffer.rst:58
+# 9c94ce9e314a4c64b4a22fcd34fbc7a5
+msgid "call :c:func:`PyArg_ParseTuple` (or one of its siblings) with one  
of the ``y*``, ``w*`` or ``s*`` :ref:`format codes <arg-parsing>`."
+msgstr ""
+
+#: ../../c-api/buffer.rst:61
+# 807c0fbda3494248aff523a6e08c4a2d
+msgid "In both cases, :c:func:`PyBuffer_Release` must be called when the  
buffer isn't needed anymore.  Failure to do so could lead to various issues  
such as resource leaks."
+msgstr ""
+
+#: ../../c-api/buffer.rst:69
+# 367e441bac27442c9e68543043d59765
+msgid "Buffer structure"
+msgstr ""
+
+#: ../../c-api/buffer.rst:71
+# a922b49071de4eeca8b432309f8c51d2
+msgid "Buffer structures (or simply \"buffers\") are useful as a way to  
expose the binary data from another object to the Python programmer.  They  
can also be used as a zero-copy slicing mechanism.  Using their ability to  
reference a block of memory, it is possible to expose any data to the  
Python programmer quite easily.  The memory could be a large, constant  
array in a C extension, it could be a raw block of memory for manipulation  
before passing to an operating system library, or it could be used to pass  
around structured data in its native, in-memory format."
+msgstr ""
+
+#: ../../c-api/buffer.rst:80
+# be589ac24e0a467a9b199dda0208559f
+msgid "Contrary to most data types exposed by the Python interpreter,  
buffers are not :c:type:`PyObject` pointers but rather simple C  
structures.  This allows them to be created and copied very simply.  When a  
generic wrapper around a buffer is needed, a :ref:`memoryview  
<memoryview-objects>` object can be created."
+msgstr ""
+
+#: ../../c-api/buffer.rst:86
+# 754d0f057abd42508ed999d978f3beda
+msgid "For short instructions how to write an exporting object,  
see :ref:`Buffer Object Structures <buffer-structs>`. For obtaining a  
buffer, see :c:func:`PyObject_GetBuffer`."
+msgstr ""
+
+#: ../../c-api/buffer.rst:94
+# 85b578015ebd4e05a78efc8ecd6bad06
+msgid "A new reference to the exporting object. The reference is owned by  
the consumer and automatically decremented and set to *NULL*  
by :c:func:`PyBuffer_Release`. The field is the equivalent of the return  
value of any standard C-API function."
+msgstr ""
+
+#: ../../c-api/buffer.rst:99
+# ae378a7e783c4665b137fdca265708f0
+msgid "As a special case, for *temporary* buffers that are wrapped  
by :c:func:`PyMemoryView_FromBuffer` or :c:func:`PyBuffer_FillInfo` this  
field is *NULL*. In general, exporting objects MUST NOT use this scheme."
+msgstr ""
+
+#: ../../c-api/buffer.rst:106
+# ef33c7f2e8494c97acab98f4408606c5
+msgid "A pointer to the start of the logical structure described by the  
buffer fields. This can be any location within the underlying physical  
memory block of the exporter. For example, with  
negative :c:member:`~Py_buffer.strides` the value may point to the end of  
the memory block."
+msgstr ""
+
+#: ../../c-api/buffer.rst:111
+# b227d44f69e9477fb96602b41c0faf32
+msgid "For contiguous arrays, the value points to the beginning of the  
memory block."
+msgstr ""
+
+#: ../../c-api/buffer.rst:116
+# 3be50e9c86a84b2bac55706958fc3574
+msgid "``product(shape) * itemsize``. For contiguous arrays, this is the  
length of the underlying memory block. For non-contiguous arrays, it is the  
length that the logical structure would have if it were copied to a  
contiguous representation."
+msgstr ""
+
+#: ../../c-api/buffer.rst:121
+# 0c5aca0116484795b676b5741b09c603
+msgid "Accessing ``((char *)buf)[0] up to ((char *)buf)[len-1]`` is only  
valid if the buffer has been obtained by a request that guarantees  
contiguity. In most cases such a request will be :c:macro:`PyBUF_SIMPLE`  
or :c:macro:`PyBUF_WRITABLE`."
+msgstr ""
+
+#: ../../c-api/buffer.rst:127
+# 25c761c35b8a4d37ad4eda07f94ed278
+msgid "An indicator of whether the buffer is read-only. This field is  
controlled by the :c:macro:`PyBUF_WRITABLE` flag."
+msgstr ""
+
+#: ../../c-api/buffer.rst:132
+# 85741f75a98f4f4997dc5fde1262ccc1
+msgid "Item size in bytes of a single element. Same as the value  
of :func:`struct.calcsize` called on non-NULL :c:member:`~Py_buffer.format`  
values."
+msgstr ""
+
+#: ../../c-api/buffer.rst:135
+# 817fe35cc6144a69b6d3be51b2a28b71
+msgid "Important exception: If a consumer requests a buffer without  
the :c:macro:`PyBUF_FORMAT` flag, :c:member:`~Py_Buffer.format` will be set  
to  *NULL*,  but :c:member:`~Py_buffer.itemsize` still has the value for  
the original format."
+msgstr ""
+
+#: ../../c-api/buffer.rst:140
+# 10a7bad93d4c4d62b7538c3c6733cc23
+msgid "If :c:member:`~Py_Buffer.shape` is present, the equality  
``product(shape) * itemsize == len`` still holds and the consumer can  
use :c:member:`~Py_buffer.itemsize` to navigate the buffer."
+msgstr ""
+
+#: ../../c-api/buffer.rst:144
+# fe4303505dff4294b4825f86e6161523
+msgid "If :c:member:`~Py_Buffer.shape` is *NULL* as a result of  
a :c:macro:`PyBUF_SIMPLE` or a :c:macro:`PyBUF_WRITABLE` request, the  
consumer must disregard :c:member:`~Py_buffer.itemsize` and assume  
``itemsize == 1``."
+msgstr ""
+
+#: ../../c-api/buffer.rst:150
+# feba5ceff48c4f12989b3967b89b8370
+msgid "A *NUL* terminated string in :mod:`struct` module style syntax  
describing the contents of a single item. If this is *NULL*, ``\"B\"``  
(unsigned bytes) is assumed."
+msgstr ""
+
+#: ../../c-api/buffer.rst:154
+# 9c4923a97f084831ad8e6faa35f2c887
+msgid "This field is controlled by the :c:macro:`PyBUF_FORMAT` flag."
+msgstr ""
+
+#: ../../c-api/buffer.rst:158
+# 1e262725403041bb9509b234855b4a0e
+msgid "The number of dimensions the memory represents as an n-dimensional  
array. If it is 0, :c:member:`~Py_Buffer.buf` points to a single item  
representing a scalar. In this  
case, :c:member:`~Py_buffer.shape`, :c:member:`~Py_buffer.strides`  
and :c:member:`~Py_buffer.suboffsets` MUST be *NULL*."
+msgstr ""
+
+#: ../../c-api/buffer.rst:163
+# 297ddb781b5847798348423c9141cf34
+msgid "The macro :c:macro:`PyBUF_MAX_NDIM` limits the maximum number of  
dimensions to 64. Exporters MUST respect this limit, consumers of  
multi-dimensional buffers SHOULD be able to handle up  
to :c:macro:`PyBUF_MAX_NDIM` dimensions."
+msgstr ""
+
+#: ../../c-api/buffer.rst:169
+# 4bf36034167f4349867a93058d241516
+msgid "An array of :c:type:`Py_ssize_t` of  
length :c:member:`~Py_buffer.ndim` indicating the shape of the memory as an  
n-dimensional array. Note that ``shape[0] * ... * shape[ndim-1] *  
itemsize`` MUST be equal to :c:member:`~Py_buffer.len`."
+msgstr ""
+
+#: ../../c-api/buffer.rst:174
+# 1d2d1c792d3648fbbc98a792d1212aaf
+msgid "Shape values are restricted to ``shape[n] >= 0``. The case  
``shape[n] == 0`` requires special attention. See `complex arrays`_ for  
further information."
+msgstr ""
+
+#: ../../c-api/buffer.rst:178
+# 6b9b31f5bb05454485b34ae77e3f0e7c
+msgid "The shape array is read-only for the consumer."
+msgstr ""
+
+#: ../../c-api/buffer.rst:182
+# 4ed64f2019a34ee686b8a797b08775a0
+msgid "An array of :c:type:`Py_ssize_t` of  
length :c:member:`~Py_buffer.ndim` giving the number of bytes to skip to  
get to a new element in each dimension."
+msgstr ""
+
+#: ../../c-api/buffer.rst:186
+# a4b238b1cb7243b891d0fbf580692311
+msgid "Stride values can be any integer. For regular arrays, strides are  
usually positive, but a consumer MUST be able to handle the case  
``strides[n] <= 0``. See `complex arrays`_ for further information."
+msgstr ""
+
+#: ../../c-api/buffer.rst:190
+# 0adf92c0be944a3bb12a5796e23b4fdb
+msgid "The strides array is read-only for the consumer."
+msgstr ""
+
+#: ../../c-api/buffer.rst:194
+# 5808254c4e9c44958d6587088c45005b
+msgid "An array of :c:type:`Py_ssize_t` of  
length :c:member:`~Py_buffer.ndim`. If ``suboffsets[n] >= 0``, the values  
stored along the nth dimension are pointers and the suboffset value  
dictates how many bytes to add to each pointer after de-referencing. A  
suboffset value that is negative indicates that no de-referencing should  
occur (striding in a contiguous memory block)."
+msgstr ""
+
+#: ../../c-api/buffer.rst:201
+# 9eed10ed74a74b0e80405fad8bdd7013
+msgid "This type of array representation is used by the Python Imaging  
Library (PIL). See `complex arrays`_ for further information how to access  
elements of such an array."
+msgstr ""
+
+#: ../../c-api/buffer.rst:205
+# a12138da2c60488e8105627e7989f5c1
+msgid "The suboffsets array is read-only for the consumer."
+msgstr ""
+
+#: ../../c-api/buffer.rst:209
+# 5e4e782ecc374e59989a40df996ec6d9
+msgid "This is for use internally by the exporting object. For example,  
this might be re-cast as an integer by the exporter and used to store flags  
about whether or not the shape, strides, and suboffsets arrays must be  
freed when the buffer is released. The consumer MUST NOT alter this value."
+msgstr ""
+
+#: ../../c-api/buffer.rst:218
+# 360873a643744c6181f9bd44bc2cafb5
+msgid "Buffer request types"
+msgstr ""
+
+#: ../../c-api/buffer.rst:220
+# 9ca3493551cd441e863700923b8bf6e1
+msgid "Buffers are usually obtained by sending a buffer request to an  
exporting object via :c:func:`PyObject_GetBuffer`. Since the complexity of  
the logical structure of the memory can vary drastically, the consumer uses  
the *flags* argument to specify the exact buffer type it can handle."
+msgstr ""
+
+#: ../../c-api/buffer.rst:225
+# 28178786a18c4b918c04f5ed3f834660
+msgid "All :c:data:`Py_buffer` fields are unambiguously defined by the  
request type."
+msgstr ""
+
+#: ../../c-api/buffer.rst:229
+# 94824eff1c1846738b60e31c1d1292bd
+msgid "request-independent fields"
+msgstr ""
+
+#: ../../c-api/buffer.rst:230
+# 64dec157d324448e813d9b1afd7d17e5
+msgid "The following fields are not influenced by *flags* and must always  
be filled in with the correct  
values: :c:member:`~Py_buffer.obj`, :c:member:`~Py_buffer.buf`, :c:member:`~Py_buffer.len`, :c:member:`~Py_buffer.itemsize`, :c:member:`~Py_buffer.ndim`."
+msgstr ""
+
+#: ../../c-api/buffer.rst:236
+# 76caf4bd1a7f4698a4216673b14c04aa
+msgid "readonly, format"
+msgstr ""
+
+#: ../../c-api/buffer.rst:240
+# b6fbf0756ab34823804c5f739ac406f1
+msgid "Controls the :c:member:`~Py_buffer.readonly` field. If set, the  
exporter MUST provide a writable buffer or else report failure. Otherwise,  
the exporter MAY provide either a read-only or writable buffer, but the  
choice MUST be consistent for all consumers."
+msgstr ""
+
+#: ../../c-api/buffer.rst:247
+# 719bd5a300524038985b953abab37a9b
+msgid "Controls the :c:member:`~Py_buffer.format` field. If set, this  
field MUST be filled in correctly. Otherwise, this field MUST be *NULL*."
+msgstr ""
+
+#: ../../c-api/buffer.rst:251
+# f652a9d848194e7bafeb8704c204f182
+msgid ":c:macro:`PyBUF_WRITABLE` can be \\|'d to any of the flags in the  
next section. Since :c:macro:`PyBUF_SIMPLE` is defined as  
0, :c:macro:`PyBUF_WRITABLE` can be used as a stand-alone flag to request a  
simple writable buffer."
+msgstr ""
+
+#: ../../c-api/buffer.rst:255
+# a601552ecca14fa5b2c85d405992587e
+msgid ":c:macro:`PyBUF_FORMAT` can be \\|'d to any of the flags  
except :c:macro:`PyBUF_SIMPLE`. The latter already implies format ``B``  
(unsigned bytes)."
+msgstr ""
+
+#: ../../c-api/buffer.rst:260
+# c94e3ba8b909486bac4ba170992a62c9
+msgid "shape, strides, suboffsets"
+msgstr ""
+
+#: ../../c-api/buffer.rst:262
+# 4bc56050266446d88b1ca7eb5b11d461
+msgid "The flags that control the logical structure of the memory are  
listed in decreasing order of complexity. Note that each flag contains all  
bits of the flags below it."
+msgstr ""
+
+#: ../../c-api/buffer.rst:268
+#: ../../c-api/buffer.rst:287
+#: ../../c-api/buffer.rst:312
+# 116ccddc201941ad811396e001e518d9
+# 42df67e0e8444c569e8e76c64f7d5689
+# 7fea01da93a840f1814e3ade7e9e826b
+msgid "Request"
+msgstr ""
+
+#: ../../c-api/buffer.rst:268
+#: ../../c-api/buffer.rst:287
+#: ../../c-api/buffer.rst:312
+# 345acdc505884f6c8fb66f078fe7dc18
+# 941af52fa7224135aee4939d4e8a8d44
+# cec4bb4b243a479da5a7dbaa9a0e4e0a
+msgid "shape"
+msgstr ""
+
+#: ../../c-api/buffer.rst:268
+#: ../../c-api/buffer.rst:287
+#: ../../c-api/buffer.rst:312
+# 9c520b93f1f04098804965c8f4dfaf55
+# 743dc8efa9144e3db735d299879f130e
+# f6b47533061b4b1b9fd64565d43471f9
+msgid "strides"
+msgstr ""
+
+#: ../../c-api/buffer.rst:268
+#: ../../c-api/buffer.rst:287
+#: ../../c-api/buffer.rst:312
+# a8bca96e2a7f4a99a83a331352a4d088
+# 0a227462313a47bbadb36b60649dcacf
+# b87d258cc7e84c7c967e0aecb33ba77c
+msgid "suboffsets"
+msgstr ""
+
+#: ../../c-api/buffer.rst:270
+#: ../../c-api/buffer.rst:270
+#: ../../c-api/buffer.rst:272
+#: ../../c-api/buffer.rst:272
+#: ../../c-api/buffer.rst:274
+#: ../../c-api/buffer.rst:289
+#: ../../c-api/buffer.rst:289
+#: ../../c-api/buffer.rst:291
+#: ../../c-api/buffer.rst:291
+#: ../../c-api/buffer.rst:293
+#: ../../c-api/buffer.rst:293
+#: ../../c-api/buffer.rst:295
+#: ../../c-api/buffer.rst:314
+#: ../../c-api/buffer.rst:314
+#: ../../c-api/buffer.rst:314
+#: ../../c-api/buffer.rst:316
+#: ../../c-api/buffer.rst:316
+#: ../../c-api/buffer.rst:316
+#: ../../c-api/buffer.rst:318
+#: ../../c-api/buffer.rst:318
+#: ../../c-api/buffer.rst:318
+#: ../../c-api/buffer.rst:320
+#: ../../c-api/buffer.rst:320
+#: ../../c-api/buffer.rst:320
+#: ../../c-api/buffer.rst:322
+#: ../../c-api/buffer.rst:322
+#: ../../c-api/buffer.rst:324
+#: ../../c-api/buffer.rst:324
+#: ../../c-api/buffer.rst:326
+#: ../../c-api/buffer.rst:328
+# 260e51918ea64e76bbbb131c9e91db3a
+# 5c65c9e0b6a949d683314b2cbbec7a10
+# e6c69303718d466ab3f8ff02d2aa1d9a
+# 271214dcdfb94b2f9cf0b8cf0cfe6c03
+# a8984de274c74e54a37ad98b6079234a
+# 0d016350b719426ab0cd6a7dc199dc2e
+# 62637041321e4a509df7f2b9b52f1717
+# e020db919ba843b0b379e96f0934dfb5
+# df4d6c4312904e248522eb4cdb19080b
+# 5d929b896530433182d541ac5ffdb680
+# a971e559577b480ba687742073b41554
+# 89e72e736aaa4176b5ddc655e643158f
+# d92b7843d5624deabf0f6921870359d8
+# 63fce709e8a34b80a0fe4e235d90ca51
+# 57e15a4d346d48e58a83d16466e8a186
+# be0aaaa8a79c4984b54594b1d84187f4
+# bdaf6c331d57425a896b784b3f46dc65
+# ff94e4ffeef3411aa0a96c4ca6f74224
+# cccabd6c2e574526b67e56c198b6128a
+# c56d50e3ab58427fb12dd5245198e27f
+# 208108c4267843789609318c77e1b759
+# 233d33c6708043f6a2adbc23622d958b
+# 86aa1bab75564223a7c747a7f39f06c8
+# e780a54e283e41de99e51e46f0365c28
+# 599e9a3680f642428d139eb980d0bc0f
+# b8ba6e151601497584d41f0faf5ef4be
+# c717d479b1e84d10bd9eab8a04bfc4b7
+# cdd3325af62a445db921e59243535485
+# e51ec2fc402b47b68ed9a70d9246f5c8
+# f2faafeb6b374f8ba24458feeec7f68e
+msgid "yes"
+msgstr ""
+
+#: ../../c-api/buffer.rst:270
+#: ../../c-api/buffer.rst:314
+#: ../../c-api/buffer.rst:316
+# 55d42f413b3048fcaac5c0660189d081
+# 8b8abc8cebd64001b3c5d00c08728761
+# 93f1a826ae1743248dde184406cde20b
+msgid "if needed"
+msgstr ""
+
+#: ../../c-api/buffer.rst:272
+#: ../../c-api/buffer.rst:274
+#: ../../c-api/buffer.rst:274
+#: ../../c-api/buffer.rst:276
+#: ../../c-api/buffer.rst:276
+#: ../../c-api/buffer.rst:276
+#: ../../c-api/buffer.rst:289
+#: ../../c-api/buffer.rst:291
+#: ../../c-api/buffer.rst:293
+#: ../../c-api/buffer.rst:295
+#: ../../c-api/buffer.rst:295
+#: ../../c-api/buffer.rst:318
+#: ../../c-api/buffer.rst:320
+#: ../../c-api/buffer.rst:322
+#: ../../c-api/buffer.rst:322
+#: ../../c-api/buffer.rst:324
+#: ../../c-api/buffer.rst:324
+#: ../../c-api/buffer.rst:326
+#: ../../c-api/buffer.rst:326
+#: ../../c-api/buffer.rst:326
+#: ../../c-api/buffer.rst:328
+#: ../../c-api/buffer.rst:328
+#: ../../c-api/buffer.rst:328
+# dae0f298e69f4551bf2dddfaefaada6b
+# 0c87153465a442f488f34dce5ae93bef
+# bd5fcc20a8c74b6294098d1ffd20644e
+# 663bffb2d60b4b36ba57b8f5d5bede4d
+# 282057e476a049b2bd7f32ff74b0371e
+# 7b00fcdfba2647e496f56a819e47c84a
+# 56bad2ed341b440eb2c7b877a03e347b
+# eb76f4de45b14d3fb1957b56dff789d2
+# 3b4c822deda1463c80dd8d5b14291bf2
+# 02f7a0e955f8406c8a498b86f76d072a
+# f3d8d06a24784927b54eb5e80e70eb1a
+# 3ef232d1c0ee4648b4dfb74df8fc7389
+# d7c1a046ca144f8889adb0d5818eb485
+# 91ea2d7fb2c04398b92d0731b2274936
+# d64a47f089744ace983ae60bd394ac48
+# c35bb2813f3844e1ac2c777fc49a6b86
+# 41420008345a4d44ae069ff17be47b31
+# 7c5570d7cb954e43b5578c2d8fa627f8
+# 43e710cfdacf4654b05f44d32e87c0c3
+# 60b5f089a71644d1918753ba465f3925
+# a3db4d36a7204916ab5d1a06fac7dea1
+# a05999418257440eb04b1eb066fcd191
+# 91382b8fe74844aa8ebfb8a6565573d3
+msgid "NULL"
+msgstr ""
+
+#: ../../c-api/buffer.rst:281
+# f806439aabe44a05ba92a73580f77974
+msgid "contiguity requests"
+msgstr ""
+
+#: ../../c-api/buffer.rst:283
+# 9f7e0dbb75874c78b3c4e69bb987bd96
+msgid "C or Fortran contiguity can be explicitly requested, with and  
without stride information. Without stride information, the buffer must be  
C-contiguous."
+msgstr ""
+
+#: ../../c-api/buffer.rst:287
+#: ../../c-api/buffer.rst:312
+# db4ade5319214408b32b8b8e49105086
+# 7c13e87d04824c2b98a8497fe844603b
+msgid "contig"
+msgstr ""
+
+#: ../../c-api/buffer.rst:289
+#: ../../c-api/buffer.rst:295
+#: ../../c-api/buffer.rst:326
+#: ../../c-api/buffer.rst:328
+# ec023b751dec4502bd8d4f2779c29103
+# 9827d2e3382e4e9ca1cc04dd6a409e01
+# 551d16538d4d4e9f94f978a722ded2a0
+# fefbe7bede9945aea4345ca06745ef00
+msgid "C"
+msgstr ""
+
+#: ../../c-api/buffer.rst:291
+# cce1f92d979f4190aa54d082a809aab2
+msgid "F"
+msgstr ""
+
+#: ../../c-api/buffer.rst:293
+# 6050e9d897214203a6763269d37a71ab
+msgid "C or F"
+msgstr ""
+
+#: ../../c-api/buffer.rst:300
+# 68fb32004a6c49cd8905e54b21c6eb3e
+msgid "compound requests"
+msgstr ""
+
+#: ../../c-api/buffer.rst:302
+# 7fb4464a460942d1b5cbb6f585410159
+msgid "All possible requests are fully defined by some combination of the  
flags in the previous section. For convenience, the buffer protocol  
provides frequently used combinations as single flags."
+msgstr ""
+
+#: ../../c-api/buffer.rst:306
+# afdd627e77ef4293a7c500b83b16aa37
+msgid "In the following table *U* stands for undefined contiguity. The  
consumer would have to call :c:func:`PyBuffer_IsContiguous` to determine  
contiguity."
+msgstr ""
+
+#: ../../c-api/buffer.rst:312
+# bd1b70e87320402c936f5d054d2ce085
+msgid "readonly"
+msgstr ""
+
+#: ../../c-api/buffer.rst:312
+# 05fb61fc284a42a292c348868cff2896
+msgid "format"
+msgstr ""
+
+#: ../../c-api/buffer.rst:314
+#: ../../c-api/buffer.rst:316
+#: ../../c-api/buffer.rst:318
+#: ../../c-api/buffer.rst:320
+#: ../../c-api/buffer.rst:322
+#: ../../c-api/buffer.rst:324
+# 5cf480dc5e734fa3bfe990302166f14f
+# 0b75213268734e24b549a4b969bccee2
+# 0fd205ec26e9428383d937eccdbbb65f
+# b5247ed0b31847d5bed5156d256d64da
+# 0eb8d3da537b48059489ba2aa3fcc441
+# a42f9d5dc1d443dcb208681cf781a8b3
+msgid "U"
+msgstr ""
+
+#: ../../c-api/buffer.rst:314
+#: ../../c-api/buffer.rst:318
+#: ../../c-api/buffer.rst:322
+#: ../../c-api/buffer.rst:326
+# 2c27844f58bb46e28d84f6329ea7158e
+# f6efb3cdba0048c7bbcfe3aa3e3f8235
+# 461d59842a2f48b49189fb52cfd1ecfa
+# 3b444d72edf94fc28de4b2a36e312658
+msgid "0"
+msgstr ""
+
+#: ../../c-api/buffer.rst:316
+#: ../../c-api/buffer.rst:320
+#: ../../c-api/buffer.rst:324
+#: ../../c-api/buffer.rst:328
+# 1bf91b076b6c4ff6a54ccd0cdcaea7cf
+# 36c9c639e847428da86f3ade5b1c2ffa
+# ff59d79614e1458d90c8f76a1110047f
+# e82d940259914abb8adef72746c42c0a
+msgid "1 or 0"
+msgstr ""
+
+#: ../../c-api/buffer.rst:333
+# 84a13e7dde63469d86681c5668a3ed49
+msgid "Complex arrays"
+msgstr ""
+
+#: ../../c-api/buffer.rst:336
+# 461039ecf9af450e89f8762d93370689
+msgid "NumPy-style: shape and strides"
+msgstr ""
+
+#: ../../c-api/buffer.rst:338
+# 8e16281d7494459b8a30feb79bfd8f8f
+msgid "The logical structure of NumPy-style arrays is defined  
by :c:member:`~Py_buffer.itemsize`, :c:member:`~Py_buffer.ndim`, :c:member:`~Py_buffer.shape`  
and :c:member:`~Py_buffer.strides`."
+msgstr ""
+
+#: ../../c-api/buffer.rst:341
+# 339e4f170d414fdd9981cbcc1067ee5b
+msgid "If ``ndim == 0``, the memory location pointed to  
by :c:member:`~Py_buffer.buf` is interpreted as a scalar of  
size :c:member:`~Py_buffer.itemsize`. In that case,  
both :c:member:`~Py_buffer.shape` and :c:member:`~Py_buffer.strides` are  
*NULL*."
+msgstr ""
+
+#: ../../c-api/buffer.rst:345
+# e12bae5df0f645dabe476cf08446d741
+msgid "If :c:member:`~Py_buffer.strides` is *NULL*, the array is  
interpreted as a standard n-dimensional C-array. Otherwise, the consumer  
must access an n-dimensional array as follows:"
+msgstr ""
+
+#: ../../c-api/buffer.rst:349
+# bedd52ae3a62481aac709fd90a9b3105
+msgid "``ptr = (char *)buf + indices[0] * strides[0] + ... + indices[n-1]  
* strides[n-1]`` ``item = *((typeof(item) *)ptr);``"
+msgstr ""
+
+#: ../../c-api/buffer.rst:353
+# 5f8c8c24885a4518b26af8097578d104
+msgid "As noted above, :c:member:`~Py_buffer.buf` can point to any  
location within the actual memory block. An exporter can check the validity  
of a buffer with this function:"
+msgstr ""
+
+#: ../../c-api/buffer.rst:387
+# 11ded6c741ba4c1d9e6e5e401264b9b5
+msgid "PIL-style: shape, strides and suboffsets"
+msgstr ""
+
+#: ../../c-api/buffer.rst:389
+# 4cc296fb509949129c12b8bae389dd8c
+msgid "In addition to the regular items, PIL-style arrays can contain  
pointers that must be followed in order to get to the next element in a  
dimension. For example, the regular three-dimensional C-array ``char  
v[2][2][3]`` can also be viewed as an array of 2 pointers to 2  
two-dimensional arrays: ``char (*v[2])[2][3]``. In suboffsets  
representation, those two pointers can be embedded at the start  
of :c:member:`~Py_buffer.buf`, pointing to two ``char x[2][3]`` arrays that  
can be located anywhere in memory."
+msgstr ""
+
+#: ../../c-api/buffer.rst:398
+# 47579a4742b9471ab3a383ebddcb7693
+msgid "Here is a function that returns a pointer to the element in an N-D  
array pointed to by an N-dimensional index when there are both non-NULL  
strides and suboffsets::"
+msgstr ""
+
+#: ../../c-api/buffer.rst:417
+# 07e5a4ecbd8c4377aa8acd0fdf4acd24
+msgid "Buffer-related functions"
+msgstr ""
+
+#: ../../c-api/buffer.rst:421
+# 2154242f34fd41da9637f5c0fffc2861
+msgid "Return 1 if *obj* supports the buffer interface otherwise 0.  When  
1 is returned, it doesn't guarantee that :c:func:`PyObject_GetBuffer` will  
succeed."
+msgstr ""
+
+#: ../../c-api/buffer.rst:428
+# 9be6c09157dc44fb97cb17ddaad58960
+msgid "Send a request to *exporter* to fill in *view* as specified by   
*flags*. If the exporter cannot provide a buffer of the exact type, it MUST  
raise :c:data:`PyExc_BufferError`, set :c:member:`view->obj` to *NULL* and  
return -1."
+msgstr ""
+
+#: ../../c-api/buffer.rst:433
+# e983b138605a45ba896e1960e51168a8
+msgid "On success, fill in *view*, set :c:member:`view->obj` to a new  
reference to *exporter* and return 0. In the case of chained buffer  
providers that redirect requests to a single object, :c:member:`view->obj`  
MAY refer to this object instead of *exporter* (See :ref:`Buffer Object  
Structures <buffer-structs>`)."
+msgstr ""
+
+#: ../../c-api/buffer.rst:438
+# c7cc8fd4cf474b048f2993263c97d985
+msgid "Successful calls to :c:func:`PyObject_GetBuffer` must be paired  
with calls to :c:func:`PyBuffer_Release`, similar to :c:func:`malloc`  
and :c:func:`free`. Thus, after the consumer is done with the  
buffer, :c:func:`PyBuffer_Release` must be called exactly once."
+msgstr ""
+
+#: ../../c-api/buffer.rst:446
+# 379a47e44198405a870e0fe016dc6092
+msgid "Release the buffer *view* and decrement the reference count  
for :c:member:`view->obj`. This function MUST be called when the buffer is  
no longer being used, otherwise reference leaks may occur."
+msgstr ""
+
+#: ../../c-api/buffer.rst:450
+# 9457ac7fee844c318bfdcbc73d0b3844
+msgid "It is an error to call this function on a buffer that was not  
obtained via :c:func:`PyObject_GetBuffer`."
+msgstr ""
+
+#: ../../c-api/buffer.rst:456
+# 20187d75bb0e482592721e235014c95a
+msgid "Return the implied :c:data:`~Py_buffer.itemsize`  
from :c:data:`~Py_buffer.format`. This function is not yet implemented."
+msgstr ""
+
+#: ../../c-api/buffer.rst:462
+# 1d345cdc5b014479bfafaa3d9eedcef6
+msgid "Return 1 if the memory defined by the *view* is C-style (*order* is  
``'C'``) or Fortran-style (*order* is ``'F'``) contiguous or either one  
(*order* is ``'A'``).  Return 0 otherwise."
+msgstr ""
+
+#: ../../c-api/buffer.rst:469
+# 8953aa9baf8a4057b17e6f9841abaa6e
+msgid "Fill the *strides* array with byte-strides of a contiguous (C-style  
if *order* is ``'C'`` or Fortran-style if *order* is ``'F'``) array of the  
given shape with the given number of bytes per element."
+msgstr ""
+
+#: ../../c-api/buffer.rst:476
+# 3d3ea6018d9b4c07a7438b3b494bc641
+msgid "Handle buffer requests for an exporter that wants to expose *buf*  
of size *len* with writability set according to *readonly*. *buf* is  
interpreted as a sequence of unsigned bytes."
+msgstr ""
+
+#: ../../c-api/buffer.rst:480
+# ee558515c50e4cbda56ec4afda368fcd
+msgid "The *flags* argument indicates the request type. This function  
always fills in *view* as specified by flags, unless *buf* has been  
designated as read-only and :c:macro:`PyBUF_WRITABLE` is set in *flags*."
+msgstr ""
+
+#: ../../c-api/buffer.rst:484
+# 82a49fe31d8e4ab8a9df8601ea0a3896
+msgid "On success, set :c:member:`view->obj` to a new reference to  
*exporter* and return 0. Otherwise, raise :c:data:`PyExc_BufferError`,  
set :c:member:`view->obj` to *NULL* and return -1;"
+msgstr ""
+
+#: ../../c-api/buffer.rst:488
+# ed9feeb611ff47498e513901c89cfda4
+msgid "If this function is used as part of a :ref:`getbufferproc  
<buffer-structs>`, *exporter* MUST be set to the exporting object.  
Otherwise, *exporter* MUST be NULL."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/bytearray.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,103 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/bytearray.rst:6
+# a2e6b1fb92ab4be28e5a143b5eb25c2c
+msgid "Byte Array Objects"
+msgstr ""
+
+#: ../../c-api/bytearray.rst:13
+# 2e451c6359bb43e99d48afef22c5729c
+msgid "This subtype of :c:type:`PyObject` represents a Python bytearray  
object."
+msgstr ""
+
+#: ../../c-api/bytearray.rst:18
+# 960e8d614ed84689868a04c4e40010e6
+msgid "This instance of :c:type:`PyTypeObject` represents the Python  
bytearray type; it is the same object as :class:`bytearray` in the Python  
layer."
+msgstr ""
+
+#: ../../c-api/bytearray.rst:23
+# 74ebf57ea56a46348218295310167379
+msgid "Type check macros"
+msgstr ""
+
+#: ../../c-api/bytearray.rst:27
+# 44ab5d27e68c4ef6b8bcdfcfbdbd95fc
+msgid "Return true if the object *o* is a bytearray object or an instance  
of a subtype of the bytearray type."
+msgstr ""
+
+#: ../../c-api/bytearray.rst:33
+# 70ebb5bc84314a26812a426dda8faf56
+msgid "Return true if the object *o* is a bytearray object, but not an  
instance of a subtype of the bytearray type."
+msgstr ""
+
+#: ../../c-api/bytearray.rst:38
+# 81d1784d70954d03bf7c56473c75f3bc
+msgid "Direct API functions"
+msgstr ""
+
+#: ../../c-api/bytearray.rst:42
+# fcc5b8dc8cca4a4a872fb934f119b0c2
+msgid "Return a new bytearray object from any object, *o*, that implements  
the buffer protocol."
+msgstr ""
+
+#: ../../c-api/bytearray.rst:50
+# b73f1873df074d6e86c02d890b8c0b2d
+msgid "Create a new bytearray object from *string* and its length, *len*.   
On failure, *NULL* is returned."
+msgstr ""
+
+#: ../../c-api/bytearray.rst:56
+# 0f65465f89214765b457ee1b3e902c92
+msgid "Concat bytearrays *a* and *b* and return a new bytearray with the  
result."
+msgstr ""
+
+#: ../../c-api/bytearray.rst:61
+# e6c79f9650ee432eb797dbc6b8675f2e
+msgid "Return the size of *bytearray* after checking for a *NULL* pointer."
+msgstr ""
+
+#: ../../c-api/bytearray.rst:66
+# 49f3f8a50a724029ad5408c24a8acf63
+msgid "Return the contents of *bytearray* as a char array after checking  
for a *NULL* pointer."
+msgstr ""
+
+#: ../../c-api/bytearray.rst:72
+# 99b78f70823b40c3ad662064f7906bd5
+msgid "Resize the internal buffer of *bytearray* to *len*."
+msgstr ""
+
+#: ../../c-api/bytearray.rst:75
+# e14c9db51d494f029f7c9af311814f80
+msgid "Macros"
+msgstr ""
+
+#: ../../c-api/bytearray.rst:77
+# 15e66cf7da91417dafd6ea5548c51292
+msgid "These macros trade safety for speed and they don't check pointers."
+msgstr ""
+
+#: ../../c-api/bytearray.rst:81
+# d333f3a5fd5d489e8ea85a957162d1d6
+msgid "Macro version of :c:func:`PyByteArray_AsString`."
+msgstr ""
+
+#: ../../c-api/bytearray.rst:86
+# ad48fee5d6604eea9a3cec2c46044e7e
+msgid "Macro version of :c:func:`PyByteArray_Size`."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/bytes.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,314 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/bytes.rst:6
+# 6b3727ecff0a4249bb8d5f45be5a4c61
+msgid "Bytes Objects"
+msgstr ""
+
+#: ../../c-api/bytes.rst:8
+# 6e5c20063ba642a08321bb600304caf7
+msgid "These functions raise :exc:`TypeError` when expecting a bytes  
parameter and are called with a non-bytes parameter."
+msgstr ""
+
+#: ../../c-api/bytes.rst:16
+# 36e12e7e4ed640169a45ecca9b7370f7
+msgid "This subtype of :c:type:`PyObject` represents a Python bytes  
object."
+msgstr ""
+
+#: ../../c-api/bytes.rst:21
+# db9ea6384640429c93e3b53daae48b90
+msgid "This instance of :c:type:`PyTypeObject` represents the Python bytes  
type; it is the same object as :class:`bytes` in the Python layer."
+msgstr ""
+
+#: ../../c-api/bytes.rst:27
+# 45a32880e90d43749d1dd11a4b18d464
+msgid "Return true if the object *o* is a bytes object or an instance of a  
subtype of the bytes type."
+msgstr ""
+
+#: ../../c-api/bytes.rst:33
+# d4a6fce01ec44f3f8c3a2918ca3054a9
+msgid "Return true if the object *o* is a bytes object, but not an  
instance of a subtype of the bytes type."
+msgstr ""
+
+#: ../../c-api/bytes.rst:39
+# 278333c75802462ab09acce604b45a5c
+msgid "Return a new bytes object with a copy of the string *v* as value on  
success, and *NULL* on failure.  The parameter *v* must not be *NULL*; it  
will not be checked."
+msgstr ""
+
+#: ../../c-api/bytes.rst:46
+# e24aad96a22147368db7ca18c6ff996c
+msgid "Return a new bytes object with a copy of the string *v* as value  
and length *len* on success, and *NULL* on failure.  If *v* is *NULL*, the  
contents of the bytes object are uninitialized."
+msgstr ""
+
+#: ../../c-api/bytes.rst:53
+# b8e10c1e001946d9be0f3a3b1318809d
+msgid "Take a C :c:func:`printf`\\ -style *format* string and a variable  
number of arguments, calculate the size of the resulting Python bytes  
object and return a bytes object with the values formatted into it.  The  
variable arguments must be C types and must correspond exactly to the  
format characters in the *format* string.  The following format characters  
are allowed:"
+msgstr ""
+
+#: ../../c-api/bytes.rst:66
+# a095e1d0a10e43b3a3bc8ac37556c765
+msgid "Format Characters"
+msgstr ""
+
+#: ../../c-api/bytes.rst:66
+# 5b7ffc10dab14c70948d873529e43caf
+msgid "Type"
+msgstr ""
+
+#: ../../c-api/bytes.rst:66
+# 1e93c5d28c1d410dbc9fba1f1a026ebd
+msgid "Comment"
+msgstr ""
+
+#: ../../c-api/bytes.rst:68
+# 58a73f34997148d2a238632cdf921f4d
+msgid ":attr:`%%`"
+msgstr ""
+
+#: ../../c-api/bytes.rst:68
+# 694d98f0edc04bab9c9d58d744a48aba
+msgid "*n/a*"
+msgstr ""
+
+#: ../../c-api/bytes.rst:68
+# 8128e895d4094b60b11f85aabcee2293
+msgid "The literal % character."
+msgstr ""
+
+#: ../../c-api/bytes.rst:70
+# 48befdd31ab04b1b9afdbf44adcb5332
+msgid ":attr:`%c`"
+msgstr ""
+
+#: ../../c-api/bytes.rst:70
+#: ../../c-api/bytes.rst:73
+#: ../../c-api/bytes.rst:91
+#: ../../c-api/bytes.rst:94
+# a51e491685684698a6f0d23d2cc71af0
+# 0e7908f491fd4406adf01923520ce1dd
+# bba80fff6c894984acca522db2910aed
+# 8f364a33c2db4f2abbee98db2e90dbe6
+msgid "int"
+msgstr ""
+
+#: ../../c-api/bytes.rst:70
+# 7b74e17afec4477c94d62a3dd7388ce6
+msgid "A single character, represented as an C int."
+msgstr ""
+
+#: ../../c-api/bytes.rst:73
+# c20d06c96c0046ad9749ddf23d314714
+msgid ":attr:`%d`"
+msgstr ""
+
+#: ../../c-api/bytes.rst:73
+# a52cef924fb446a58b0593d9665445a2
+msgid "Exactly equivalent to ``printf(\"%d\")``."
+msgstr ""
+
+#: ../../c-api/bytes.rst:76
+# 8da2ab9a4c03488ebd7d664d49e1c066
+msgid ":attr:`%u`"
+msgstr ""
+
+#: ../../c-api/bytes.rst:76
+# f2fbaec7f8ca47558f8dbb049a835e9e
+msgid "unsigned int"
+msgstr ""
+
+#: ../../c-api/bytes.rst:76
+# 50dde1250add462ba1e2ea3acf44b488
+msgid "Exactly equivalent to ``printf(\"%u\")``."
+msgstr ""
+
+#: ../../c-api/bytes.rst:79
+# 8312cd4c4f964d92ac2df211553992f7
+msgid ":attr:`%ld`"
+msgstr ""
+
+#: ../../c-api/bytes.rst:79
+# d920abeb18974b2aadec7c1c9e563fcf
+msgid "long"
+msgstr ""
+
+#: ../../c-api/bytes.rst:79
+# 8fff1c3827714baba42d944536b7a51f
+msgid "Exactly equivalent to ``printf(\"%ld\")``."
+msgstr ""
+
+#: ../../c-api/bytes.rst:82
+# 0583225ac8fb4da19c898a67c4fef129
+msgid ":attr:`%lu`"
+msgstr ""
+
+#: ../../c-api/bytes.rst:82
+# 2ab29da00b4a428f9657c673f6a79b08
+msgid "unsigned long"
+msgstr ""
+
+#: ../../c-api/bytes.rst:82
+# 2e134b62f172487eaddf2b2f7fd01764
+msgid "Exactly equivalent to ``printf(\"%lu\")``."
+msgstr ""
+
+#: ../../c-api/bytes.rst:85
+# a3d8aefdad95450da042d7a755a79be2
+msgid ":attr:`%zd`"
+msgstr ""
+
+#: ../../c-api/bytes.rst:85
+# b7ca87a4e2254c8586829c390416c1ff
+msgid "Py_ssize_t"
+msgstr ""
+
+#: ../../c-api/bytes.rst:85
+# 301af41f42f1414da89c7e27625af2ca
+msgid "Exactly equivalent to ``printf(\"%zd\")``."
+msgstr ""
+
+#: ../../c-api/bytes.rst:88
+# 7a5a58140ee54d51a8fbb99a4ea22a77
+msgid ":attr:`%zu`"
+msgstr ""
+
+#: ../../c-api/bytes.rst:88
+# 3e54b12ab2f747b0835355ddad13ff7a
+msgid "size_t"
+msgstr ""
+
+#: ../../c-api/bytes.rst:88
+# 3729a4a492404e74ae538a6219bafe31
+msgid "Exactly equivalent to ``printf(\"%zu\")``."
+msgstr ""
+
+#: ../../c-api/bytes.rst:91
+# 1a68763fc7b0425d86706db080bfcd77
+msgid ":attr:`%i`"
+msgstr ""
+
+#: ../../c-api/bytes.rst:91
+# bcdefdd1cf794650bc0023a6b65f5069
+msgid "Exactly equivalent to ``printf(\"%i\")``."
+msgstr ""
+
+#: ../../c-api/bytes.rst:94
+# 6bb406f8673b46bdb7d7ad7c1d296c49
+msgid ":attr:`%x`"
+msgstr ""
+
+#: ../../c-api/bytes.rst:94
+# 37c9a2a2389141c6854c0084b9c121b3
+msgid "Exactly equivalent to ``printf(\"%x\")``."
+msgstr ""
+
+#: ../../c-api/bytes.rst:97
+# f6bf2054256f4a45921038f8ddfcc596
+msgid ":attr:`%s`"
+msgstr ""
+
+#: ../../c-api/bytes.rst:97
+# 8492456d3dc149029b44c836e50d4b1a
+msgid "char\\*"
+msgstr ""
+
+#: ../../c-api/bytes.rst:97
+# 1f8357809c16430ba866bef6d85e9ff2
+msgid "A null-terminated C character array."
+msgstr ""
+
+#: ../../c-api/bytes.rst:100
+# 36047915ba3e4d2c94389c9792b17776
+msgid ":attr:`%p`"
+msgstr ""
+
+#: ../../c-api/bytes.rst:100
+# 1d6579420ceb4556a172aed1a3922010
+msgid "void\\*"
+msgstr ""
+
+#: ../../c-api/bytes.rst:100
+# 74f6d35e66134430b0cd3385900e0621
+msgid "The hex representation of a C pointer. Mostly equivalent to  
``printf(\"%p\")`` except that it is guaranteed to start with the literal  
``0x`` regardless of what the platform's ``printf`` yields."
+msgstr ""
+
+#: ../../c-api/bytes.rst:109
+# e649e7a443104bdd83045618e08da107
+msgid "An unrecognized format character causes all the rest of the format  
string to be copied as-is to the result string, and any extra arguments  
discarded."
+msgstr ""
+
+#: ../../c-api/bytes.rst:115
+# c3c3c8aacde042769dfeb47bbd25bb9f
+msgid "Identical to :c:func:`PyBytes_FromFormat` except that it takes  
exactly two arguments."
+msgstr ""
+
+#: ../../c-api/bytes.rst:121
+# f3ed9bb5cd6c4814b3cfed038dd8aa4d
+msgid "Return the bytes representation of object *o* that implements the  
buffer protocol."
+msgstr ""
+
+#: ../../c-api/bytes.rst:127
+# afb0c3150deb4889b2c71e4362d7c2a4
+msgid "Return the length of the bytes in bytes object *o*."
+msgstr ""
+
+#: ../../c-api/bytes.rst:132
+# bfbe6d02d05c4e938a0fdd9d708c8f3f
+msgid "Macro form of :c:func:`PyBytes_Size` but without error checking."
+msgstr ""
+
+#: ../../c-api/bytes.rst:137
+# ffe458b56e024010910057bc7b05d5a5
+msgid "Return a NUL-terminated representation of the contents of *o*.  The  
pointer refers to the internal buffer of *o*, not a copy.  The data must  
not be modified in any way, unless the string was just created using  
``PyBytes_FromStringAndSize(NULL, size)``. It must not be deallocated.  If  
*o* is not a string object at all, :c:func:`PyBytes_AsString` returns  
*NULL* and raises :exc:`TypeError`."
+msgstr ""
+
+#: ../../c-api/bytes.rst:147
+# 77c737cd6f1b443c86112a46937f4770
+msgid "Macro form of :c:func:`PyBytes_AsString` but without error  
checking."
+msgstr ""
+
+#: ../../c-api/bytes.rst:152
+# 6a0c394dcd814701b84b050267d57f03
+msgid "Return a NUL-terminated representation of the contents of the  
object *obj* through the output variables *buffer* and *length*."
+msgstr ""
+
+#: ../../c-api/bytes.rst:155
+# 85d322ed1e9843e9b13c5edb075998ca
+msgid "If *length* is *NULL*, the resulting buffer may not contain NUL  
characters; if it does, the function returns ``-1`` and a :exc:`TypeError`  
is raised."
+msgstr ""
+
+#: ../../c-api/bytes.rst:158
+# c1b241eaab214270b107f611bf8c3adf
+msgid "The buffer refers to an internal string buffer of *obj*, not a  
copy. The data must not be modified in any way, unless the string was just  
created using ``PyBytes_FromStringAndSize(NULL, size)``.  It must not be  
deallocated.  If *string* is not a string object at  
all, :c:func:`PyBytes_AsStringAndSize` returns ``-1`` and  
raises :exc:`TypeError`."
+msgstr ""
+
+#: ../../c-api/bytes.rst:167
+# 3997a15442824f9794860d5e8ea4e8f5
+msgid "Create a new bytes object in *\\*bytes* containing the contents of  
*newpart* appended to *bytes*; the caller will own the new reference.  The  
reference to the old value of *bytes* will be stolen.  If the new string  
cannot be created, the old reference to *bytes* will still be discarded and  
the value of *\\*bytes* will be set to *NULL*; the appropriate exception  
will be set."
+msgstr ""
+
+#: ../../c-api/bytes.rst:176
+# 02b898ba17a04d878eff7a83345596f8
+msgid "Create a new string object in *\\*bytes* containing the contents of  
*newpart* appended to *bytes*.  This version decrements the reference count  
of *newpart*."
+msgstr ""
+
+#: ../../c-api/bytes.rst:183
+# 2317eff68e3c485a8c962926ee10d510
+msgid "A way to resize a bytes object even though it is \"immutable\".  
Only use this to build up a brand new bytes object; don't use this if the  
bytes may already be known in other parts of the code.  It is an error to  
call this function if the refcount on the input bytes object is not one.  
Pass the address of an existing bytes object as an lvalue (it may be  
written into), and the new size desired.  On success, *\\*bytes* holds the  
resized bytes object and ``0`` is returned; the address in *\\*bytes* may  
differ from its input value.  If the reallocation fails, the original bytes  
object at *\\*bytes* is deallocated, *\\*bytes* is set to *NULL*, a memory  
exception is set, and ``-1`` is returned."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/capsule.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,169 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/capsule.rst:6
+# 649d99134c6040c3bd791b1680522695
+msgid "Capsules"
+msgstr ""
+
+#: ../../c-api/capsule.rst:10
+# 7c377e5be57847fda68036acf3fc9b18
+msgid "Refer to :ref:`using-capsules` for more information on using these  
objects."
+msgstr ""
+
+#: ../../c-api/capsule.rst:15
+# 869d97477b874cd296375a64e10170ec
+msgid "This subtype of :c:type:`PyObject` represents an opaque value,  
useful for C extension modules who need to pass an opaque value (as  
a :c:type:`void\\*` pointer) through Python code to other C code.  It is  
often used to make a C function pointer defined in one module available to  
other modules, so the regular import mechanism can be used to access C APIs  
defined in dynamically loaded modules."
+msgstr ""
+
+#: ../../c-api/capsule.rst:24
+# b25cd8e55eb541eaa738fe6d3c8f9c43
+msgid "The type of a destructor callback for a capsule.  Defined as::"
+msgstr ""
+
+#: ../../c-api/capsule.rst:28
+# 2359c9732a354c84818d5f7922c2ef23
+msgid "See :c:func:`PyCapsule_New` for the semantics of  
PyCapsule_Destructor callbacks."
+msgstr ""
+
+#: ../../c-api/capsule.rst:34
+# c44cb9fa216a4724b7ff7d4b0f1461c3
+msgid "Return true if its argument is a :c:type:`PyCapsule`."
+msgstr ""
+
+#: ../../c-api/capsule.rst:39
+# f496f1f8bbde4fc79a6339c142d1ee3f
+msgid "Create a :c:type:`PyCapsule` encapsulating the *pointer*.  The  
*pointer* argument may not be *NULL*."
+msgstr ""
+
+#: ../../c-api/capsule.rst:42
+# 937ef1652dda4c48a57e6c2908891da6
+msgid "On failure, set an exception and return *NULL*."
+msgstr ""
+
+#: ../../c-api/capsule.rst:44
+# 371f85ea3d054a20b77b78c0eaff2866
+msgid "The *name* string may either be *NULL* or a pointer to a valid C  
string.  If non-*NULL*, this string must outlive the capsule.  (Though it  
is permitted to free it inside the *destructor*.)"
+msgstr ""
+
+#: ../../c-api/capsule.rst:48
+# 03a6fe1af3954a479db8e306a6fdf66d
+msgid "If the *destructor* argument is not *NULL*, it will be called with  
the capsule as its argument when it is destroyed."
+msgstr ""
+
+#: ../../c-api/capsule.rst:51
+# 7f8084420b7e449887205ae6168199a2
+msgid "If this capsule will be stored as an attribute of a module, the  
*name* should be specified as ``modulename.attributename``.  This will  
enable other modules to import the capsule  
using :c:func:`PyCapsule_Import`."
+msgstr ""
+
+#: ../../c-api/capsule.rst:58
+# 88b15e96a7294b97afb4237c5f8becfa
+msgid "Retrieve the *pointer* stored in the capsule.  On failure, set an  
exception and return *NULL*."
+msgstr ""
+
+#: ../../c-api/capsule.rst:61
+# 758a32b722ca4b0badeef0b2db1cd37b
+msgid "The *name* parameter must compare exactly to the name stored in the  
capsule. If the name stored in the capsule is *NULL*, the *name* passed in  
must also be *NULL*.  Python uses the C function :c:func:`strcmp` to  
compare capsule names."
+msgstr ""
+
+#: ../../c-api/capsule.rst:69
+# c59d0b043816402eb8956159174f1ffe
+msgid "Return the current destructor stored in the capsule.  On failure,  
set an exception and return *NULL*."
+msgstr ""
+
+#: ../../c-api/capsule.rst:72
+# 22b26a75cf9444a88516cd0508c3918e
+msgid "It is legal for a capsule to have a *NULL* destructor.  This makes  
a *NULL* return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid`  
or :c:func:`PyErr_Occurred` to disambiguate."
+msgstr ""
+
+#: ../../c-api/capsule.rst:79
+# 815d7dd8305b4ff39df5c0cf20f52172
+msgid "Return the current context stored in the capsule.  On failure, set  
an exception and return *NULL*."
+msgstr ""
+
+#: ../../c-api/capsule.rst:82
+# 1c19954a86b54f7a8e84bbbd24240d08
+msgid "It is legal for a capsule to have a *NULL* context.  This makes a  
*NULL* return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid`  
or :c:func:`PyErr_Occurred` to disambiguate."
+msgstr ""
+
+#: ../../c-api/capsule.rst:89
+# fd7cc44b3c584af48ffd9147db5e61fe
+msgid "Return the current name stored in the capsule.  On failure, set an  
exception and return *NULL*."
+msgstr ""
+
+#: ../../c-api/capsule.rst:92
+# 07e0194c5f3e44edbc7045ffd1bb90cb
+msgid "It is legal for a capsule to have a *NULL* name.  This makes a  
*NULL* return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid`  
or :c:func:`PyErr_Occurred` to disambiguate."
+msgstr ""
+
+#: ../../c-api/capsule.rst:99
+# 74c2ddf6cfd345edbe68244497c3d2de
+msgid "Import a pointer to a C object from a capsule attribute in a  
module.  The *name* parameter should specify the full name to the  
attribute, as in ``module.attribute``.  The *name* stored in the capsule  
must match this string exactly.  If *no_block* is true, import the module  
without blocking (using :c:func:`PyImport_ImportModuleNoBlock`).  If  
*no_block* is false, import the module conventionally  
(using :c:func:`PyImport_ImportModule`)."
+msgstr ""
+
+#: ../../c-api/capsule.rst:106
+# ac8058b1e0ec42aaaaea92b4770ae040
+msgid "Return the capsule's internal *pointer* on success.  On failure,  
set an exception and return *NULL*.  However, if :c:func:`PyCapsule_Import`  
failed to import the module, and *no_block* was true, no exception is set."
+msgstr ""
+
+#: ../../c-api/capsule.rst:112
+# ba8264c7afb14441b3277e8372f72f0d
+msgid "Determines whether or not *capsule* is a valid capsule.  A valid  
capsule is non-*NULL*, passes :c:func:`PyCapsule_CheckExact`, has a  
non-*NULL* pointer stored in it, and its internal name matches the *name*  
parameter.  (See :c:func:`PyCapsule_GetPointer` for information on how  
capsule names are compared.)"
+msgstr ""
+
+#: ../../c-api/capsule.rst:118
+# 8ce78837a09d4c8880a660b27c182208
+msgid "In other words, if :c:func:`PyCapsule_IsValid` returns a true  
value, calls to any of the accessors (any function starting  
with :c:func:`PyCapsule_Get`) are guaranteed to succeed."
+msgstr ""
+
+#: ../../c-api/capsule.rst:122
+# 1b4e111c826d45cf99d5e7a7ce1dcd7f
+msgid "Return a nonzero value if the object is valid and matches the name  
passed in. Return 0 otherwise.  This function will not fail."
+msgstr ""
+
+#: ../../c-api/capsule.rst:127
+# de69f998c8674037ba1aa833cc9b517c
+msgid "Set the context pointer inside *capsule* to *context*."
+msgstr ""
+
+#: ../../c-api/capsule.rst:129
+#: ../../c-api/capsule.rst:135
+#: ../../c-api/capsule.rst:143
+#: ../../c-api/capsule.rst:150
+# e32dc5349c0b438c9331ad28ed2b64d5
+# d5aa99e077834fc1a90e6bd1e46f17c4
+# 9e875733d23a4940b473becb14ee5b21
+# 33af81b7e4b34bc68076c1543e879c21
+msgid "Return 0 on success.  Return nonzero and set an exception on  
failure."
+msgstr ""
+
+#: ../../c-api/capsule.rst:133
+# 7bec2925ce7743d0be0c3caea6566a79
+msgid "Set the destructor inside *capsule* to *destructor*."
+msgstr ""
+
+#: ../../c-api/capsule.rst:139
+# d46215acc5fb495faad457cfabf3c41b
+msgid "Set the name inside *capsule* to *name*.  If non-*NULL*, the name  
must outlive the capsule.  If the previous *name* stored in the capsule was  
not *NULL*, no attempt is made to free it."
+msgstr ""
+
+#: ../../c-api/capsule.rst:147
+# b45d2412e1d24819a162929583d01cd0
+msgid "Set the void pointer inside *capsule* to *pointer*.  The pointer  
may not be *NULL*."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/cell.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,68 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/cell.rst:6
+# 0243773ca9594c7384c017c01ab0519e
+msgid "Cell Objects"
+msgstr ""
+
+#: ../../c-api/cell.rst:8
+# ab694dc2597949d5b709d27c5d197456
+msgid "\"Cell\" objects are used to implement variables referenced by  
multiple scopes. For each such variable, a cell object is created to store  
the value; the local variables of each stack frame that references the  
value contains a reference to the cells from outer scopes which also use  
that variable.  When the value is accessed, the value contained in the cell  
is used instead of the cell object itself.  This de-referencing of the cell  
object requires support from the generated byte-code; these are not  
automatically de-referenced when accessed. Cell objects are not likely to  
be useful elsewhere."
+msgstr ""
+
+#: ../../c-api/cell.rst:20
+# 4b3fb8235471496dbcbca6d4ec737aa2
+msgid "The C structure used for cell objects."
+msgstr ""
+
+#: ../../c-api/cell.rst:25
+# 6b35c659e9e94ad69e2744f38deb8338
+msgid "The type object corresponding to cell objects."
+msgstr ""
+
+#: ../../c-api/cell.rst:30
+# adf942039c094681a5894e607d6f3c97
+msgid "Return true if *ob* is a cell object; *ob* must not be *NULL*."
+msgstr ""
+
+#: ../../c-api/cell.rst:35
+# c19087ec51e94233ad2493fb102ec8e7
+msgid "Create and return a new cell object containing the value *ob*. The  
parameter may be *NULL*."
+msgstr ""
+
+#: ../../c-api/cell.rst:41
+# 33c0a6e23044467d99fa3ef53d172879
+msgid "Return the contents of the cell *cell*."
+msgstr ""
+
+#: ../../c-api/cell.rst:46
+# 076f195c0a854e7d949e7ae0d9ec90fe
+msgid "Return the contents of the cell *cell*, but without checking that  
*cell* is non-*NULL* and a cell object."
+msgstr ""
+
+#: ../../c-api/cell.rst:52
+# adc6e661d86d4ade8f37f4bd3ad3b8e3
+msgid "Set the contents of the cell object *cell* to *value*.  This  
releases the reference to any current content of the cell. *value* may be  
*NULL*.  *cell* must be non-*NULL*; if it is not a cell object, ``-1`` will  
be returned.  On success, ``0`` will be returned."
+msgstr ""
+
+#: ../../c-api/cell.rst:60
+# 62a47cd7ba0b4455bd0033b13dee3711
+msgid "Sets the value of the cell object *cell* to *value*.  No reference  
counts are adjusted, and no checks are made for safety; *cell* must be  
non-*NULL* and must be a cell object."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/code.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,58 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/code.rst:6
+# b462a65209554b34ad1b366bddc3a762
+msgid "Code Objects"
+msgstr ""
+
+#: ../../c-api/code.rst:14
+# 6741260bc0404e849cfe0e870307ac55
+msgid "Code objects are a low-level detail of the CPython implementation.  
Each one represents a chunk of executable code that hasn't yet been bound  
into a function."
+msgstr ""
+
+#: ../../c-api/code.rst:20
+# 6f12f5622b4946ba8eeee204b00514e1
+msgid "The C structure of the objects used to describe code objects.  The  
fields of this type are subject to change at any time."
+msgstr ""
+
+#: ../../c-api/code.rst:26
+# 4a5abad6c73941ef8b23acfd03beb19f
+msgid "This is an instance of :c:type:`PyTypeObject` representing the  
Python :class:`code` type."
+msgstr ""
+
+#: ../../c-api/code.rst:32
+# 3cf14b6d2e1c4f77bfb4491ab576225d
+msgid "Return true if *co* is a :class:`code` object"
+msgstr ""
+
+#: ../../c-api/code.rst:36
+# 974c1cb9d73c4a8dbfea99c45c1eea1e
+msgid "Return the number of free variables in *co*."
+msgstr ""
+
+#: ../../c-api/code.rst:40
+# bc6366392ce0458bae5e08ff87b1a258
+msgid "Return a new code object.  If you need a dummy code object to  
create a frame, use :c:func:`PyCode_NewEmpty` instead.   
Calling :c:func:`PyCode_New` directly can bind you to a precise Python  
version since the definition of the bytecode changes often."
+msgstr ""
+
+#: ../../c-api/code.rst:48
+# 6c23021ed2bb4d3a8ff3af6a61ce37b7
+msgid "Return a new empty code object with the specified filename,  
function name, and first line number.  It is illegal to :func:`exec`  
or :func:`eval` the resulting code object."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/codec.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,148 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/codec.rst:4
+# acb9732ca1f84f938d106e932b654a4a
+msgid "Codec registry and support functions"
+msgstr ""
+
+#: ../../c-api/codec.rst:8
+# a127cd4c655d4ef7935926fcde5c15dd
+msgid "Register a new codec search function."
+msgstr ""
+
+#: ../../c-api/codec.rst:10
+# 4fcf1b100426430cb89dfb7039770fc0
+msgid "As side effect, this tries to load the :mod:`encodings` package, if  
not yet done, to make sure that it is always first in the list of search  
functions."
+msgstr ""
+
+#: ../../c-api/codec.rst:15
+# a89593a044094262af7a256a626057fa
+msgid "Return ``1`` or ``0`` depending on whether there is a registered  
codec for the given *encoding*."
+msgstr ""
+
+#: ../../c-api/codec.rst:20
+# 7fb9682add95466ea48eca851c1d8e6e
+msgid "Generic codec based encoding API."
+msgstr ""
+
+#: ../../c-api/codec.rst:22
+# 641b402c98af4847a8cc38f91a0fc5c4
+msgid "*object* is passed through the encoder function found for the given  
*encoding* using the error handling method defined by *errors*.  *errors*  
may be *NULL* to use the default method defined for the codec.  Raises  
a :exc:`LookupError` if no encoder can be found."
+msgstr ""
+
+#: ../../c-api/codec.rst:29
+# 7dba8fd053f746da90e4278678d6bfa0
+msgid "Generic codec based decoding API."
+msgstr ""
+
+#: ../../c-api/codec.rst:31
+# f0fa6aea08c44063b66206ac3201cc8f
+msgid "*object* is passed through the decoder function found for the given  
*encoding* using the error handling method defined by *errors*.  *errors*  
may be *NULL* to use the default method defined for the codec.  Raises  
a :exc:`LookupError` if no encoder can be found."
+msgstr ""
+
+#: ../../c-api/codec.rst:38
+# a51c2e40f62844b69e109e5a3d973fc4
+msgid "Codec lookup API"
+msgstr ""
+
+#: ../../c-api/codec.rst:40
+# bbf72216ee334df79f4266cec8aa1554
+msgid "In the following functions, the *encoding* string is looked up  
converted to all lower-case characters, which makes encodings looked up  
through this mechanism effectively case-insensitive.  If no codec is found,  
a :exc:`KeyError` is set and *NULL* returned."
+msgstr ""
+
+#: ../../c-api/codec.rst:47
+# 5c6227b1456c407aafe148706da8aef3
+msgid "Get an encoder function for the given *encoding*."
+msgstr ""
+
+#: ../../c-api/codec.rst:51
+# d3134cc9def647828ab3982cce97c5f4
+msgid "Get a decoder function for the given *encoding*."
+msgstr ""
+
+#: ../../c-api/codec.rst:55
+# a3c45b13738347e4a0102c923797a5f9
+msgid "Get an :class:`IncrementalEncoder` object for the given *encoding*."
+msgstr ""
+
+#: ../../c-api/codec.rst:59
+# 767b79ef31a642e0b6a0788d75991bbb
+msgid "Get an :class:`IncrementalDecoder` object for the given *encoding*."
+msgstr ""
+
+#: ../../c-api/codec.rst:63
+# 69e86dfa002b47ec917e4fd6f24e4bc2
+msgid "Get a :class:`StreamReader` factory function for the given  
*encoding*."
+msgstr ""
+
+#: ../../c-api/codec.rst:67
+# 3843545f00d24f75be33d4941901b2a3
+msgid "Get a :class:`StreamWriter` factory function for the given  
*encoding*."
+msgstr ""
+
+#: ../../c-api/codec.rst:71
+# 51998273661c4785a6851971661abc09
+msgid "Registry API for Unicode encoding error handlers"
+msgstr ""
+
+#: ../../c-api/codec.rst:75
+# e2b3000977bc4d5d8af86909ebba8d43
+msgid "Register the error handling callback function *error* under the  
given *name*. This callback function will be called by a codec when it  
encounters unencodable characters/undecodable bytes and *name* is specified  
as the error parameter in the call to the encode/decode function."
+msgstr ""
+
+#: ../../c-api/codec.rst:80
+# 6f881cb260f541148a98796ededa9bbd
+msgid "The callback gets a single argument, an instance  
of :exc:`UnicodeEncodeError`, :exc:`UnicodeDecodeError`  
or :exc:`UnicodeTranslateError` that holds information about the  
problematic sequence of characters or bytes and their offset in the  
original string (see :ref:`unicodeexceptions` for functions to extract this  
information).  The callback must either raise the given exception, or  
return a two-item tuple containing the replacement for the problematic  
sequence, and an integer giving the offset in the original string at which  
encoding/decoding should be resumed."
+msgstr ""
+
+#: ../../c-api/codec.rst:90
+# 25a72cc55a3f44b1a204c8f7856448a2
+msgid "Return ``0`` on success, ``-1`` on error."
+msgstr ""
+
+#: ../../c-api/codec.rst:94
+# 4dce47c60b7c49f8bd6b6b9dc8fa97f4
+msgid "Lookup the error handling callback function registered under  
*name*.  As a special case *NULL* can be passed, in which case the error  
handling callback for \"strict\" will be returned."
+msgstr ""
+
+#: ../../c-api/codec.rst:100
+# 8772beda3de44fa9a3f6a480f98f7450
+msgid "Raise *exc* as an exception."
+msgstr ""
+
+#: ../../c-api/codec.rst:104
+# aba7aaa1d0cb4b229be6b7581732741f
+msgid "Ignore the unicode error, skipping the faulty input."
+msgstr ""
+
+#: ../../c-api/codec.rst:108
+# 6435b951cb2840039bf0168a1f4de053
+msgid "Replace the unicode encode error with ``?`` or ``U+FFFD``."
+msgstr ""
+
+#: ../../c-api/codec.rst:112
+# fbe921df9b0b443fb5aace98681ef4bd
+msgid "Replace the unicode encode error with XML character references."
+msgstr ""
+
+#: ../../c-api/codec.rst:116
+# c4d8f45afc624a6688295a6fc6e8ec02
+msgid "Replace the unicode encode error with backslash escapes (``\\x``,  
``\\u`` and ``\\U``)."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/complex.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,138 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/complex.rst:6
+# 03f0fa74d6fe482ea72f9e6ee8b6cc77
+msgid "Complex Number Objects"
+msgstr ""
+
+#: ../../c-api/complex.rst:10
+# 0899a171f0c143c6bcad5a0de88ee2da
+msgid "Python's complex number objects are implemented as two distinct  
types when viewed from the C API:  one is the Python object exposed to  
Python programs, and the other is a C structure which represents the actual  
complex number value. The API provides functions for working with both."
+msgstr ""
+
+#: ../../c-api/complex.rst:17
+# 39915a4c88424c46b0e76695686a25f2
+msgid "Complex Numbers as C Structures"
+msgstr ""
+
+#: ../../c-api/complex.rst:19
+# aba7a6c6277146c0beecba9f31d7e298
+msgid "Note that the functions which accept these structures as parameters  
and return them as results do so *by value* rather than dereferencing them  
through pointers.  This is consistent throughout the API."
+msgstr ""
+
+#: ../../c-api/complex.rst:26
+# f5099e9c411942faa40b88aad6cd24f1
+msgid "The C structure which corresponds to the value portion of a Python  
complex number object.  Most of the functions for dealing with complex  
number objects use structures of this type as input or output values, as  
appropriate.  It is defined as::"
+msgstr ""
+
+#: ../../c-api/complex.rst:39
+# 412bc30e7c1d4d8a9458e5faf5d263dd
+msgid "Return the sum of two complex numbers, using the  
C :c:type:`Py_complex` representation."
+msgstr ""
+
+#: ../../c-api/complex.rst:45
+# 73681e9ac2884c019ad3a940ba47c078
+msgid "Return the difference between two complex numbers, using the  
C :c:type:`Py_complex` representation."
+msgstr ""
+
+#: ../../c-api/complex.rst:51
+# 45d67b304aaa40c2a2a8f923dc5695dd
+msgid "Return the negation of the complex number *complex*, using the  
C :c:type:`Py_complex` representation."
+msgstr ""
+
+#: ../../c-api/complex.rst:57
+# 611fcc847a8f419e9b4fbd54ea1d3276
+msgid "Return the product of two complex numbers, using the  
C :c:type:`Py_complex` representation."
+msgstr ""
+
+#: ../../c-api/complex.rst:63
+# 51efe1c7229a438f878a38c92e307a26
+msgid "Return the quotient of two complex numbers, using the  
C :c:type:`Py_complex` representation."
+msgstr ""
+
+#: ../../c-api/complex.rst:66
+# 01e31e05242a4cb994f27fa16fd2a838
+msgid "If *divisor* is null, this method returns zero and  
sets :c:data:`errno` to :c:data:`EDOM`."
+msgstr ""
+
+#: ../../c-api/complex.rst:72
+# 970aef3f84a44a6d81dd7a0edc0ebb78
+msgid "Return the exponentiation of *num* by *exp*, using the  
C :c:type:`Py_complex` representation."
+msgstr ""
+
+#: ../../c-api/complex.rst:75
+# 3ae1abf969494ae0912118a08c753e67
+msgid "If *num* is null and *exp* is not a positive real number, this  
method returns zero and sets :c:data:`errno` to :c:data:`EDOM`."
+msgstr ""
+
+#: ../../c-api/complex.rst:80
+# 3cf4febbaeed453883df3b251d4a2933
+msgid "Complex Numbers as Python Objects"
+msgstr ""
+
+#: ../../c-api/complex.rst:85
+# cde0aaadfa9a42588e957ffb02baa88f
+msgid "This subtype of :c:type:`PyObject` represents a Python complex  
number object."
+msgstr ""
+
+#: ../../c-api/complex.rst:90
+# 10d5e0c9e70447f18826a0bf87508589
+msgid "This instance of :c:type:`PyTypeObject` represents the Python  
complex number type. It is the same object as :class:`complex` in the  
Python layer."
+msgstr ""
+
+#: ../../c-api/complex.rst:96
+# e91a7c9c7f394d218a68916f85456481
+msgid "Return true if its argument is a :c:type:`PyComplexObject` or a  
subtype of :c:type:`PyComplexObject`."
+msgstr ""
+
+#: ../../c-api/complex.rst:102
+# c29432af88de4e3788c6dc09aa2edfc6
+msgid "Return true if its argument is a :c:type:`PyComplexObject`, but not  
a subtype of :c:type:`PyComplexObject`."
+msgstr ""
+
+#: ../../c-api/complex.rst:108
+# 26946dc7342c4ba096cf099a9a946b85
+msgid "Create a new Python complex number object from a  
C :c:type:`Py_complex` value."
+msgstr ""
+
+#: ../../c-api/complex.rst:113
+# b60d92d360b3449eba8780b6243cd6b4
+msgid "Return a new :c:type:`PyComplexObject` object from *real* and  
*imag*."
+msgstr ""
+
+#: ../../c-api/complex.rst:118
+# 7b8519d74685455aa1deb506a0a4b9b2
+msgid "Return the real part of *op* as a C :c:type:`double`."
+msgstr ""
+
+#: ../../c-api/complex.rst:123
+# cfa5bd8f98a74a4e8e98c9d2daffb011
+msgid "Return the imaginary part of *op* as a C :c:type:`double`."
+msgstr ""
+
+#: ../../c-api/complex.rst:128
+# be367bb2bc794622970287074832040d
+msgid "Return the :c:type:`Py_complex` value of the complex number *op*."
+msgstr ""
+
+#: ../../c-api/complex.rst:130
+# eef80fe0b2b84de09d375fea5e117cd3
+msgid "If *op* is not a Python complex number object but has  
a :meth:`__complex__` method, this method will first be called to convert  
*op* to a Python complex number object. Upon failure, this method returns  
``-1.0`` as a real value."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/concrete.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,68 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/concrete.rst:8
+# d0a858d5de804668a1d984e59e67df90
+msgid "Concrete Objects Layer"
+msgstr ""
+
+#: ../../c-api/concrete.rst:10
+# 32f95d3d275943189c6f0b857165766e
+msgid "The functions in this chapter are specific to certain Python object  
types. Passing them an object of the wrong type is not a good idea; if you  
receive an object from a Python program and you are not sure that it has  
the right type, you must perform a type check first; for example, to check  
that an object is a dictionary, use :c:func:`PyDict_Check`.  The chapter is  
structured like the \"family tree\" of Python object types."
+msgstr ""
+
+#: ../../c-api/concrete.rst:19
+# b8a9fa54b22149db8a2361e14723826b
+msgid "While the functions described in this chapter carefully check the  
type of the objects which are passed in, many of them do not check for  
*NULL* being passed instead of a valid object.  Allowing *NULL* to be  
passed in can cause memory access violations and immediate termination of  
the interpreter."
+msgstr ""
+
+#: ../../c-api/concrete.rst:28
+# ca6882fef0f949fcb6a8b02237c0a39f
+msgid "Fundamental Objects"
+msgstr ""
+
+#: ../../c-api/concrete.rst:30
+# 4e571e5b33ae4b75bdb6424365626408
+msgid "This section describes Python type objects and the singleton object  
``None``."
+msgstr ""
+
+#: ../../c-api/concrete.rst:41
+# b20e161f4bd847b7beaa66abf6cc5832
+msgid "Numeric Objects"
+msgstr ""
+
+#: ../../c-api/concrete.rst:56
+# 30419a7126ad4829b021eeaf2670fa53
+msgid "Sequence Objects"
+msgstr ""
+
+#: ../../c-api/concrete.rst:60
+# 38eb913fd7a645b5a826104ef18964bc
+msgid "Generic operations on sequence objects were discussed in the  
previous chapter; this section deals with the specific kinds of sequence  
objects that are intrinsic to the Python language."
+msgstr ""
+
+#: ../../c-api/concrete.rst:78
+# 54d1f4eb82f64c5497930ed658a0f1df
+msgid "Mapping Objects"
+msgstr ""
+
+#: ../../c-api/concrete.rst:90
+# 82e3187bd541482bb3cbe0dd4ce6e414
+msgid "Other Objects"
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/conversion.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,153 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/conversion.rst:6
+# 4b71f99762104a8fb0ee487d86466d80
+msgid "String conversion and formatting"
+msgstr ""
+
+#: ../../c-api/conversion.rst:8
+# fde123b6df6e444997888adcc0d7fd66
+msgid "Functions for number conversion and formatted string output."
+msgstr ""
+
+#: ../../c-api/conversion.rst:13
+# 66201e9931854dfe934d499359642c32
+msgid "Output not more than *size* bytes to *str* according to the format  
string *format* and the extra arguments. See the Unix man  
page :manpage:`snprintf(2)`."
+msgstr ""
+
+#: ../../c-api/conversion.rst:19
+# 15958d6fa02547ceb536a7134b60c531
+msgid "Output not more than *size* bytes to *str* according to the format  
string *format* and the variable argument list *va*. Unix man  
page :manpage:`vsnprintf(2)`."
+msgstr ""
+
+#: ../../c-api/conversion.rst:23
+# 6e82afd4e4304a5b8a1224cafe2b23e8
+msgid ":c:func:`PyOS_snprintf` and :c:func:`PyOS_vsnprintf` wrap the  
Standard C library functions :c:func:`snprintf` and :c:func:`vsnprintf`.  
Their purpose is to guarantee consistent behavior in corner cases, which  
the Standard C functions do not."
+msgstr ""
+
+#: ../../c-api/conversion.rst:28
+# 08aea150726f4044aa8215e6957f28ba
+msgid "The wrappers ensure that *str*[*size*-1] is always ``'\\0'`` upon  
return. They never write more than *size* bytes (including the trailing  
``'\\0'``) into str. Both functions require that ``str != NULL``, ``size >  
0`` and ``format != NULL``."
+msgstr ""
+
+#: ../../c-api/conversion.rst:33
+# 3fbcb1fff201489da52f8baa26d26431
+msgid "If the platform doesn't have :c:func:`vsnprintf` and the buffer  
size needed to avoid truncation exceeds *size* by more than 512 bytes,  
Python aborts with a *Py_FatalError*."
+msgstr ""
+
+#: ../../c-api/conversion.rst:37
+# 969910a8707d414396965204f75d1dbb
+msgid "The return value (*rv*) for these functions should be interpreted  
as follows:"
+msgstr ""
+
+#: ../../c-api/conversion.rst:39
+# 1e7e4b1f97a4459894159a5bd60b4317
+msgid "When ``0 <= rv < size``, the output conversion was successful and  
*rv* characters were written to *str* (excluding the trailing ``'\\0'``  
byte at *str*[*rv*])."
+msgstr ""
+
+#: ../../c-api/conversion.rst:43
+# d590d52ecb2b4b64902b4162d2d0344d
+msgid "When ``rv >= size``, the output conversion was truncated and a  
buffer with ``rv + 1`` bytes would have been needed to succeed.  
*str*[*size*-1] is ``'\\0'`` in this case."
+msgstr ""
+
+#: ../../c-api/conversion.rst:47
+# 01dd150b26784eed91fd806f3053f0cf
+msgid "When ``rv < 0``, \"something bad happened.\" *str*[*size*-1] is  
``'\\0'`` in this case too, but the rest of *str* is undefined. The exact  
cause of the error depends on the underlying platform."
+msgstr ""
+
+#: ../../c-api/conversion.rst:51
+# 3e49b31177ee451da6f83c2362a4346a
+msgid "The following functions provide locale-independent string to number  
conversions."
+msgstr ""
+
+#: ../../c-api/conversion.rst:56
+# 358abf0467404103a9ed80ee028014c4
+msgid "Convert a string ``s`` to a :c:type:`double`, raising a Python  
exception on failure.  The set of accepted strings corresponds to the set  
of strings accepted by Python's :func:`float` constructor, except that  
``s`` must not have leading or trailing whitespace. The conversion is  
independent of the current locale."
+msgstr ""
+
+#: ../../c-api/conversion.rst:62
+# 4937b8d715814418a72c1ab779656801
+msgid "If ``endptr`` is ``NULL``, convert the whole string.  Raise  
ValueError and return ``-1.0`` if the string is not a valid representation  
of a floating-point number."
+msgstr ""
+
+#: ../../c-api/conversion.rst:66
+# 75d3ea41b49245338528742f01cf6328
+msgid "If endptr is not ``NULL``, convert as much of the string as  
possible and set ``*endptr`` to point to the first unconverted character.   
If no initial segment of the string is the valid representation of a  
floating-point number, set ``*endptr`` to point to the beginning of the  
string, raise ValueError, and return ``-1.0``."
+msgstr ""
+
+#: ../../c-api/conversion.rst:73
+# 4b1732d5ab8243e2adc215512ed49a36
+msgid "If ``s`` represents a value that is too large to store in a float  
(for example, ``\"1e500\"`` is such a string on many platforms) then if  
``overflow_exception`` is ``NULL`` return ``Py_HUGE_VAL`` (with an  
appropriate sign) and don't set any exception.  Otherwise,  
``overflow_exception`` must point to a Python exception object; raise that  
exception and return ``-1.0``.  In both cases, set ``*endptr`` to point to  
the first character after the converted value."
+msgstr ""
+
+#: ../../c-api/conversion.rst:81
+# 06048caafdf04d1f806a4133e7981a50
+msgid "If any other error occurs during the conversion (for example an  
out-of-memory error), set the appropriate Python exception and return  
``-1.0``."
+msgstr ""
+
+#: ../../c-api/conversion.rst:90
+# 8386fcc4cab9499c9a060b5b96c7a737
+msgid "Convert a :c:type:`double` *val* to a string using supplied  
*format_code*, *precision*, and *flags*."
+msgstr ""
+
+#: ../../c-api/conversion.rst:93
+# d969c776c35342afa186a513cee37f82
+msgid "*format_code* must be one of ``'e'``, ``'E'``, ``'f'``, ``'F'``,  
``'g'``, ``'G'`` or ``'r'``.  For ``'r'``, the supplied *precision* must be  
0 and is ignored.  The ``'r'`` format code specifies the  
standard :func:`repr` format."
+msgstr ""
+
+#: ../../c-api/conversion.rst:98
+# ade5c9a9452440bf9c71d6ccb101f55d
+msgid "*flags* can be zero or more of the values *Py_DTSF_SIGN*,  
*Py_DTSF_ADD_DOT_0*, or *Py_DTSF_ALT*, or-ed together:"
+msgstr ""
+
+#: ../../c-api/conversion.rst:101
+# 3a7c66c2da3d4665b4f132115f1a1c1c
+msgid "*Py_DTSF_SIGN* means to always precede the returned string with a  
sign character, even if *val* is non-negative."
+msgstr ""
+
+#: ../../c-api/conversion.rst:104
+# a7bc17a177904b84815b01a8fd0fd716
+msgid "*Py_DTSF_ADD_DOT_0* means to ensure that the returned string will  
not look like an integer."
+msgstr ""
+
+#: ../../c-api/conversion.rst:107
+# 91b5258ad2a040d08a8dec36956c0696
+msgid "*Py_DTSF_ALT* means to apply \"alternate\" formatting rules.  See  
the documentation for the :c:func:`PyOS_snprintf` ``'#'`` specifier for  
details."
+msgstr ""
+
+#: ../../c-api/conversion.rst:111
+# 2569440406e34ca095538ca17ad8359d
+msgid "If *ptype* is non-NULL, then the value it points to will be set to  
one of *Py_DTST_FINITE*, *Py_DTST_INFINITE*, or *Py_DTST_NAN*, signifying  
that *val* is a finite number, an infinite number, or not a number,  
respectively."
+msgstr ""
+
+#: ../../c-api/conversion.rst:115
+# 6b3f36c291c24152b193ccb81ab4b1f1
+msgid "The return value is a pointer to *buffer* with the converted string  
or *NULL* if the conversion failed. The caller is responsible for freeing  
the returned string by calling :c:func:`PyMem_Free`."
+msgstr ""
+
+#: ../../c-api/conversion.rst:124
+# ff06fc4d8d704c2d992c64994618757f
+msgid "Case insensitive comparison of strings. The function works almost  
identically to :c:func:`strcmp` except that it ignores the case."
+msgstr ""
+
+#: ../../c-api/conversion.rst:130
+# 0da969cf835d4ec6a32b93f4882c6b47
+msgid "Case insensitive comparison of strings. The function works almost  
identically to :c:func:`strncmp` except that it ignores the case."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/datetime.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,201 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/datetime.rst:6
+# f38bc80bdcf945869eeb78916dbb18c9
+msgid "DateTime Objects"
+msgstr ""
+
+#: ../../c-api/datetime.rst:8
+# 58236faad5314b858612d58d44300aa6
+msgid "Various date and time objects are supplied by the :mod:`datetime`  
module. Before using any of these functions, the header  
file :file:`datetime.h` must be included in your source (note that this is  
not included by :file:`Python.h`), and the  
macro :c:macro:`PyDateTime_IMPORT` must be invoked, usually as part of the  
module initialisation function.  The macro puts a pointer to a C structure  
into a static variable, :c:data:`PyDateTimeAPI`, that is used by the  
following macros."
+msgstr ""
+
+#: ../../c-api/datetime.rst:16
+# e21ed201fd974a06bd872adb6db621e1
+msgid "Type-check macros:"
+msgstr ""
+
+#: ../../c-api/datetime.rst:20
+# 864495355f364addb74cee129dee4db9
+msgid "Return true if *ob* is of type :c:data:`PyDateTime_DateType` or a  
subtype of :c:data:`PyDateTime_DateType`.  *ob* must not be *NULL*."
+msgstr ""
+
+#: ../../c-api/datetime.rst:26
+# 1ca67b163b3c4d9893de0407e45a6a0b
+msgid "Return true if *ob* is of type :c:data:`PyDateTime_DateType`. *ob*  
must not be *NULL*."
+msgstr ""
+
+#: ../../c-api/datetime.rst:32
+# 626c33464c0d48698beac0f76e812864
+msgid "Return true if *ob* is of type :c:data:`PyDateTime_DateTimeType` or  
a subtype of :c:data:`PyDateTime_DateTimeType`.  *ob* must not be *NULL*."
+msgstr ""
+
+#: ../../c-api/datetime.rst:38
+# 613842f2c58c4c7fb59eedc00164e03d
+msgid "Return true if *ob* is of type :c:data:`PyDateTime_DateTimeType`.  
*ob* must not be *NULL*."
+msgstr ""
+
+#: ../../c-api/datetime.rst:44
+# f60c219987f54bf38bce4e958b1a7d54
+msgid "Return true if *ob* is of type :c:data:`PyDateTime_TimeType` or a  
subtype of :c:data:`PyDateTime_TimeType`.  *ob* must not be *NULL*."
+msgstr ""
+
+#: ../../c-api/datetime.rst:50
+# 320de7eeffa14d6eb8311cd8d7221d39
+msgid "Return true if *ob* is of type :c:data:`PyDateTime_TimeType`. *ob*  
must not be *NULL*."
+msgstr ""
+
+#: ../../c-api/datetime.rst:56
+# 92e2bf2e6ec84600aaac8a867d27cbed
+msgid "Return true if *ob* is of type :c:data:`PyDateTime_DeltaType` or a  
subtype of :c:data:`PyDateTime_DeltaType`.  *ob* must not be *NULL*."
+msgstr ""
+
+#: ../../c-api/datetime.rst:62
+# 5e45bbe6c8ab414a81dd2c902461f6bb
+msgid "Return true if *ob* is of type :c:data:`PyDateTime_DeltaType`. *ob*  
must not be *NULL*."
+msgstr ""
+
+#: ../../c-api/datetime.rst:68
+# 8e83760a80214eb59ecc0dd9b8a2dcb5
+msgid "Return true if *ob* is of type :c:data:`PyDateTime_TZInfoType` or a  
subtype of :c:data:`PyDateTime_TZInfoType`.  *ob* must not be *NULL*."
+msgstr ""
+
+#: ../../c-api/datetime.rst:74
+# 832e6bd7fc2e48d5ab137dab9c580dbc
+msgid "Return true if *ob* is of type :c:data:`PyDateTime_TZInfoType`.  
*ob* must not be *NULL*."
+msgstr ""
+
+#: ../../c-api/datetime.rst:78
+# 5f13e0d4d1d94f949eb4840c69fee287
+msgid "Macros to create objects:"
+msgstr ""
+
+#: ../../c-api/datetime.rst:82
+# 5a7e2d30b3f34353a3c3340851282a66
+msgid "Return a ``datetime.date`` object with the specified year, month  
and day."
+msgstr ""
+
+#: ../../c-api/datetime.rst:87
+# ac81e5ab34c74eeda183e3c52f46356d
+msgid "Return a ``datetime.datetime`` object with the specified year,  
month, day, hour, minute, second and microsecond."
+msgstr ""
+
+#: ../../c-api/datetime.rst:93
+# 44082e99e7bb4491b14ac84b021e0878
+msgid "Return a ``datetime.time`` object with the specified hour, minute,  
second and microsecond."
+msgstr ""
+
+#: ../../c-api/datetime.rst:99
+# fe229c23d77e481a86dd4f0687525868
+msgid "Return a ``datetime.timedelta`` object representing the given  
number of days, seconds and microseconds.  Normalization is performed so  
that the resulting number of microseconds and seconds lie in the ranges  
documented for ``datetime.timedelta`` objects."
+msgstr ""
+
+#: ../../c-api/datetime.rst:105
+# 6a491eae38414e51898db785970ad86c
+msgid "Macros to extract fields from date objects.  The argument must be  
an instance of :c:data:`PyDateTime_Date`, including subclasses (such  
as :c:data:`PyDateTime_DateTime`).  The argument must not be *NULL*, and  
the type is not checked:"
+msgstr ""
+
+#: ../../c-api/datetime.rst:112
+# 890f40ddab73458fb4d6e3020bd0718f
+msgid "Return the year, as a positive int."
+msgstr ""
+
+#: ../../c-api/datetime.rst:117
+# ec1b5375d1104f2fa7c3da98a7571ac3
+msgid "Return the month, as an int from 1 through 12."
+msgstr ""
+
+#: ../../c-api/datetime.rst:122
+# a86e237881384e4987f9ea713055241e
+msgid "Return the day, as an int from 1 through 31."
+msgstr ""
+
+#: ../../c-api/datetime.rst:125
+# c0aff0293dc8474eb21ec4d5360f7e89
+msgid "Macros to extract fields from datetime objects.  The argument must  
be an instance of :c:data:`PyDateTime_DateTime`, including subclasses. The  
argument must not be *NULL*, and the type is not checked:"
+msgstr ""
+
+#: ../../c-api/datetime.rst:131
+#: ../../c-api/datetime.rst:155
+# fdd69d34442647b7894e4ed41c0c17bf
+# 6b52160c46ce431898d031d00596f9ad
+msgid "Return the hour, as an int from 0 through 23."
+msgstr ""
+
+#: ../../c-api/datetime.rst:136
+#: ../../c-api/datetime.rst:160
+# 21cb9713f29248508db96269ed16e8d7
+# 6f636ea6b3794b2c8a07d471fea02311
+msgid "Return the minute, as an int from 0 through 59."
+msgstr ""
+
+#: ../../c-api/datetime.rst:141
+#: ../../c-api/datetime.rst:165
+# 615d325299734ba49d8c32cb9a732632
+# ee5b11899c984bcebc85eacc2366ee16
+msgid "Return the second, as an int from 0 through 59."
+msgstr ""
+
+#: ../../c-api/datetime.rst:146
+#: ../../c-api/datetime.rst:170
+# 927144d6b89e4fbea8d1042255af07e7
+# 8de2d6d0ce264819aa1c0526c510a9c2
+msgid "Return the microsecond, as an int from 0 through 999999."
+msgstr ""
+
+#: ../../c-api/datetime.rst:149
+# 9eb7d5b4b6e9482c97df0f505ce1fee4
+msgid "Macros to extract fields from time objects.  The argument must be  
an instance of :c:data:`PyDateTime_Time`, including subclasses. The  
argument must not be *NULL*, and the type is not checked:"
+msgstr ""
+
+#: ../../c-api/datetime.rst:173
+# 1bb3e50c86674abb87ea153c319a8d39
+msgid "Macros to extract fields from time delta objects.  The argument  
must be an instance of :c:data:`PyDateTime_Delta`, including subclasses.  
The argument must not be *NULL*, and the type is not checked:"
+msgstr ""
+
+#: ../../c-api/datetime.rst:179
+# 7c836d3cbd894ccfa447440be09dd2f5
+msgid "Return the number of days, as an int from -999999999 to 999999999."
+msgstr ""
+
+#: ../../c-api/datetime.rst:186
+# f129481ee7aa4352b84b2d4b650f5cf5
+msgid "Return the number of seconds, as an int from 0 through 86399."
+msgstr ""
+
+#: ../../c-api/datetime.rst:193
+# f37f246b983e4c18a8d942a4048cdb98
+msgid "Return the number of microseconds, as an int from 0 through 999999."
+msgstr ""
+
+#: ../../c-api/datetime.rst:198
+# c97892e90fb945b2a84bbea62f3c0987
+msgid "Macros for the convenience of modules implementing the DB API:"
+msgstr ""
+
+#: ../../c-api/datetime.rst:202
+# b1c6479358424a5aabec9ec9bb44c5d3
+msgid "Create and return a new ``datetime.datetime`` object given an  
argument tuple suitable for passing to  
``datetime.datetime.fromtimestamp()``."
+msgstr ""
+
+#: ../../c-api/datetime.rst:208
+# 64c9f7a863a84d7a8c39b2532e44bc7e
+msgid "Create and return a new ``datetime.date`` object given an argument  
tuple suitable for passing to ``datetime.date.fromtimestamp()``."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/descriptor.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/descriptor.rst:6
+# 262b56691d9a486abe348446a69de5ba
+msgid "Descriptor Objects"
+msgstr ""
+
+#: ../../c-api/descriptor.rst:8
+# 6a44872790cb4005829520b4d0125e2b
+msgid "\"Descriptors\" are objects that describe some attribute of an  
object. They are found in the dictionary of type objects."
+msgstr ""
+
+#: ../../c-api/descriptor.rst:15
+# 43199df2889c466381570c648d6da729
+msgid "The type object for the built-in descriptor types."
+msgstr ""
+
+#: ../../c-api/descriptor.rst:35
+# c546e72ed52e4a05b5ed09243b9fde02
+msgid "Return true if the descriptor objects *descr* describes a data  
attribute, or false if it describes a method.  *descr* must be a descriptor  
object; there is no error checking."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/dict.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,158 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/dict.rst:6
+# 3f083f157685443a95d0f427a2551acb
+msgid "Dictionary Objects"
+msgstr ""
+
+#: ../../c-api/dict.rst:13
+# 8d5c605393464e1e8293201016be7a1b
+msgid "This subtype of :c:type:`PyObject` represents a Python dictionary  
object."
+msgstr ""
+
+#: ../../c-api/dict.rst:18
+# f5ed1e671afb4f8bbdb0805455c323c3
+msgid "This instance of :c:type:`PyTypeObject` represents the Python  
dictionary type.  This is the same object as :class:`dict` in the Python  
layer."
+msgstr ""
+
+#: ../../c-api/dict.rst:24
+# 7e0c8f727605403f91f62962597d5dee
+msgid "Return true if *p* is a dict object or an instance of a subtype of  
the dict type."
+msgstr ""
+
+#: ../../c-api/dict.rst:30
+# e9015ccb24664d5da4f289ba59e24aeb
+msgid "Return true if *p* is a dict object, but not an instance of a  
subtype of the dict type."
+msgstr ""
+
+#: ../../c-api/dict.rst:36
+# 0913237be289452bad63fadc878399e5
+msgid "Return a new empty dictionary, or *NULL* on failure."
+msgstr ""
+
+#: ../../c-api/dict.rst:41
+# 386de864757b407580fa3d6ea751fbf5
+msgid "Return a :class:`types.MappingProxyType` object for a mapping which  
enforces read-only behavior.  This is normally used to create a view to  
prevent modification of the dictionary for non-dynamic class types."
+msgstr ""
+
+#: ../../c-api/dict.rst:48
+# 090591005e1a4009b8245b29677adeb1
+msgid "Empty an existing dictionary of all key-value pairs."
+msgstr ""
+
+#: ../../c-api/dict.rst:53
+# fc0fcb23f8a645ffa680fbb9b5db079d
+msgid "Determine if dictionary *p* contains *key*.  If an item in *p* is  
matches *key*, return ``1``, otherwise return ``0``.  On error, return  
``-1``. This is equivalent to the Python expression ``key in p``."
+msgstr ""
+
+#: ../../c-api/dict.rst:60
+# 433c38d29da8413aa72fbe43869c56e6
+msgid "Return a new dictionary that contains the same key-value pairs as  
*p*."
+msgstr ""
+
+#: ../../c-api/dict.rst:65
+# cf75c935c41848cebc03b7c1f9d85a4c
+msgid "Insert *value* into the dictionary *p* with a key of *key*.  *key*  
must be :term:`hashable`; if it isn't, :exc:`TypeError` will be raised.  
Return ``0`` on success or ``-1`` on failure."
+msgstr ""
+
+#: ../../c-api/dict.rst:74
+# 8a9d2ee8837c442aaab5b4dc22ac498d
+msgid "Insert *value* into the dictionary *p* using *key* as a key. *key*  
should be a :c:type:`char\\*`.  The key object is created using  
``PyUnicode_FromString(key)``.  Return ``0`` on success or ``-1`` on  
failure."
+msgstr ""
+
+#: ../../c-api/dict.rst:82
+# 491f62d01ae249808e39bbe9fd1f9457
+msgid "Remove the entry in dictionary *p* with key *key*. *key* must be  
hashable; if it isn't, :exc:`TypeError` is raised.  Return ``0`` on success  
or ``-1`` on failure."
+msgstr ""
+
+#: ../../c-api/dict.rst:89
+# 4f38c48b006342daaefe50038f09c4db
+msgid "Remove the entry in dictionary *p* which has a key specified by the  
string *key*.  Return ``0`` on success or ``-1`` on failure."
+msgstr ""
+
+#: ../../c-api/dict.rst:95
+# 4c2c232cba9943e6850e644e4d26050f
+msgid "Return the object from dictionary *p* which has a key *key*.   
Return *NULL* if the key *key* is not present, but *without* setting an  
exception."
+msgstr ""
+
+#: ../../c-api/dict.rst:101
+# 518c3de94eaf4a3b8f3a35a3c182a9fb
+msgid "Variant of :c:func:`PyDict_GetItem` that does not suppress  
exceptions. Return *NULL* **with** an exception set if an exception  
occurred.  Return *NULL* **without** an exception set if the key wasn't  
present."
+msgstr ""
+
+#: ../../c-api/dict.rst:109
+# d18b97a94fca45aea8ffcf8a8345f4cb
+msgid "This is the same as :c:func:`PyDict_GetItem`, but *key* is  
specified as a :c:type:`char\\*`, rather than a :c:type:`PyObject\\*`."
+msgstr ""
+
+#: ../../c-api/dict.rst:115
+# f9941f37f46240b8be4e088d7bd641a0
+msgid "Return a :c:type:`PyListObject` containing all the items from the  
dictionary."
+msgstr ""
+
+#: ../../c-api/dict.rst:120
+# 2c2297f2d226447290307e930e3b70d8
+msgid "Return a :c:type:`PyListObject` containing all the keys from the  
dictionary."
+msgstr ""
+
+#: ../../c-api/dict.rst:125
+# 450894084103495696aa03d6fafc781d
+msgid "Return a :c:type:`PyListObject` containing all the values from the  
dictionary *p*."
+msgstr ""
+
+#: ../../c-api/dict.rst:133
+# 94be1dd856a74b16b0940ed02a1ea528
+msgid "Return the number of items in the dictionary.  This is equivalent  
to ``len(p)`` on a dictionary."
+msgstr ""
+
+#: ../../c-api/dict.rst:139
+# 44dd97ea38a44fbd8d3df3d2969cea16
+msgid "Iterate over all key-value pairs in the dictionary *p*.   
The :c:type:`Py_ssize_t` referred to by *ppos* must be initialized to ``0``  
prior to the first call to this function to start the iteration; the  
function returns true for each pair in the dictionary, and false once all  
pairs have been reported.  The parameters *pkey* and *pvalue* should either  
point to :c:type:`PyObject\\*` variables that will be filled in with each  
key and value, respectively, or may be *NULL*.  Any references returned  
through them are borrowed.  *ppos* should not be altered during iteration.  
Its value represents offsets within the internal dictionary structure, and  
since the structure is sparse, the offsets are not consecutive."
+msgstr ""
+
+#: ../../c-api/dict.rst:150
+# c77876614c464778a4853d5760dc76cb
+msgid "For example::"
+msgstr ""
+
+#: ../../c-api/dict.rst:160
+# 6aa472ab96e04e14a53b5cd7bfd9b8b2
+msgid "The dictionary *p* should not be mutated during iteration.  It is  
safe to modify the values of the keys as you iterate over the dictionary,  
but only so long as the set of keys does not change.  For example::"
+msgstr ""
+
+#: ../../c-api/dict.rst:185
+# 06aa5114e3174609969dd4ec2be0bd96
+msgid "Iterate over mapping object *b* adding key-value pairs to  
dictionary *a*. *b* may be a dictionary, or any object  
supporting :c:func:`PyMapping_Keys` and :c:func:`PyObject_GetItem`. If  
*override* is true, existing pairs in *a* will be replaced if a matching  
key is found in *b*, otherwise pairs will only be added if there is not a  
matching key in *a*. Return ``0`` on success or ``-1`` if an exception was  
raised."
+msgstr ""
+
+#: ../../c-api/dict.rst:195
+# 60805421d0194c0094520e4d3960ff4e
+msgid "This is the same as ``PyDict_Merge(a, b, 1)`` in C, or  
``a.update(b)`` in Python.  Return ``0`` on success or ``-1`` if an  
exception was raised."
+msgstr ""
+
+#: ../../c-api/dict.rst:201
+# 9d3b1beb91064c79b9117b50e0a65e23
+msgid "Update or merge into dictionary *a*, from the key-value pairs in  
*seq2*. *seq2* must be an iterable object producing iterable objects of  
length 2, viewed as key-value pairs.  In case of duplicate keys, the last  
wins if *override* is true, else the first wins. Return ``0`` on success or  
``-1`` if an exception was raised. Equivalent Python (except for the return  
value)::"
+msgstr ""
+
+#: ../../c-api/dict.rst:216
+# cccad81f6b6342bdb0935fed6d2fde75
+msgid "Clear the free list. Return the total number of freed items."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/exceptions.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,935 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/exceptions.rst:8
+# 18fc39ba91bc436dacf278a3666627ff
+msgid "Exception Handling"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:10
+# 651da07fd4e54a7c93530b69535c1740
+msgid "The functions described in this chapter will let you handle and  
raise Python exceptions.  It is important to understand some of the basics  
of Python exception handling.  It works somewhat like the  
Unix :c:data:`errno` variable: there is a global indicator (per thread) of  
the last error that occurred.  Most functions don't clear this on success,  
but will set it to indicate the cause of the error on failure.  Most  
functions also return an error indicator, usually *NULL* if they are  
supposed to return a pointer, or ``-1`` if they return an integer  
(exception: the :c:func:`PyArg_\\*` functions return ``1`` for success and  
``0`` for failure)."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:20
+# c5c32adb77744e6fb4aadb822769edca
+msgid "When a function must fail because some function it called failed,  
it generally doesn't set the error indicator; the function it called  
already set it.  It is responsible for either handling the error and  
clearing the exception or returning after cleaning up any resources it  
holds (such as object references or memory allocations); it should *not*  
continue normally if it is not prepared to handle the error.  If returning  
due to an error, it is important to indicate to the caller that an error  
has been set.  If the error is not handled or carefully propagated,  
additional calls into the Python/C API may not behave as intended and may  
fail in mysterious ways."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:30
+# 041ccbf697114486aa15b2fa4ea6cfed
+msgid "The error indicator consists of three Python objects corresponding  
to the result of ``sys.exc_info()``.  API functions exist to interact with  
the error indicator in various ways.  There is a separate error indicator  
for each thread."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:40
+# 9f5331b7292d43afa3d2dec2e126da8a
+msgid "Print a standard traceback to ``sys.stderr`` and clear the error  
indicator. Call this function only when the error indicator is set.   
(Otherwise it will cause a fatal error!)"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:44
+# 800fd4da783046eaa794620ba1528b09
+msgid "If *set_sys_last_vars* is nonzero, the  
variables :data:`sys.last_type`, :data:`sys.last_value`  
and :data:`sys.last_traceback` will be set to the type, value and traceback  
of the printed exception, respectively."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:51
+# 367d601b640e47a99e8b99e9faf1bbca
+msgid "Alias for ``PyErr_PrintEx(1)``."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:56
+# c0cfadfc37df4a679406e88735d48c44
+msgid "Test whether the error indicator is set.  If set, return the  
exception *type* (the first argument to the last call to one of  
the :c:func:`PyErr_Set\\*` functions or to :c:func:`PyErr_Restore`).  If  
not set, return *NULL*.  You do not own a reference to the return value, so  
you do not need to :c:func:`Py_DECREF` it."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:64
+# c88dfbb0e4b64ca68b631663267ade0a
+msgid "Do not compare the return value to a specific exception;  
use :c:func:`PyErr_ExceptionMatches` instead, shown below.  (The comparison  
could easily fail since the exception may be an instance instead of a  
class, in the case of a class exception, or it may the a subclass of the  
expected exception.)"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:72
+# cc4184988c65455dad51f6afceb82cf7
+msgid "Equivalent to ``PyErr_GivenExceptionMatches(PyErr_Occurred(),  
exc)``.  This should only be called when an exception is actually set; a  
memory access violation will occur if no exception has been raised."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:79
+# 8a3ee047823e4cef8cd55b7d95c37dbe
+msgid "Return true if the *given* exception matches the exception in  
*exc*.  If *exc* is a class object, this also returns true when *given* is  
an instance of a subclass.  If *exc* is a tuple, all exceptions in the  
tuple (and recursively in subtuples) are searched for a match."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:87
+# e3f1f0fcc2834bff83a6dcdf8004c4bb
+msgid "Under certain circumstances, the values returned  
by :c:func:`PyErr_Fetch` below can be \"unnormalized\", meaning that  
``*exc`` is a class object but ``*val`` is not an instance of the  same  
class.  This function can be used to instantiate the class in that case.   
If the values are already normalized, nothing happens. The delayed  
normalization is implemented to improve performance."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:96
+# 1c01a7c70d90496b8f659670cbb506cb
+msgid "Clear the error indicator.  If the error indicator is not set,  
there is no effect."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:102
+# 7a124ac7f6d14bccaeb9839502605bbf
+msgid "Retrieve the error indicator into three variables whose addresses  
are passed. If the error indicator is not set, set all three variables to  
*NULL*.  If it is set, it will be cleared and you own a reference to each  
object retrieved.  The value and traceback object may be *NULL* even when  
the type object is not."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:109
+# cc7211b493e04364aa00d8883e1d29f1
+msgid "This function is normally only used by code that needs to handle  
exceptions or by code that needs to save and restore the error indicator  
temporarily."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:115
+# fecf79a4b71d418cb6e73d1ff650d267
+msgid "Set  the error indicator from the three objects.  If the error  
indicator is already set, it is cleared first.  If the objects are *NULL*,  
the error indicator is cleared.  Do not pass a *NULL* type and non-*NULL*  
value or traceback.  The exception type should be a class.  Do not pass an  
invalid exception type or value. (Violating these rules will cause subtle  
problems later.)  This call takes away a reference to each object: you must  
own a reference to each object before the call and after the call you no  
longer own these references.  (If you don't understand this, don't use this  
function.  I warned you.)"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:127
+# 939c48a3bd9a4dc3a1ca8bb67081680c
+msgid "This function is normally only used by code that needs to save and  
restore the error indicator temporarily; use :c:func:`PyErr_Fetch` to save  
the current exception state."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:134
+# d737d7fd07554e3180db20a890cb9d51
+msgid "Retrieve the exception info, as known from ``sys.exc_info()``.   
This refers to an exception that was already caught, not to an exception  
that was freshly raised.  Returns new references for the three objects, any  
of which may be *NULL*.  Does not modify the exception info state."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:141
+# 2382e6a3e4964ab299ad22947183229b
+msgid "This function is not normally used by code that wants to handle  
exceptions. Rather, it can be used when code needs to save and restore the  
exception state temporarily.  Use :c:func:`PyErr_SetExcInfo` to restore or  
clear the exception state."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:151
+# ecd6d8ca62f14cee94c3c19b4d64e3e2
+msgid "Set the exception info, as known from ``sys.exc_info()``.  This  
refers to an exception that was already caught, not to an exception that  
was freshly raised.  This function steals the references of the arguments.  
To clear the exception state, pass *NULL* for all three arguments. For  
general rules about the three arguments, see :c:func:`PyErr_Restore`."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:159
+# 7d25151ab69949f2aebd36f8f243368a
+msgid "This function is not normally used by code that wants to handle  
exceptions. Rather, it can be used when code needs to save and restore the  
exception state temporarily.  Use :c:func:`PyErr_GetExcInfo` to read the  
exception state."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:169
+# 66354e828f204f0ab08288ccff82fd84
+msgid "This is the most common way to set the error indicator.  The first  
argument specifies the exception type; it is normally one of the standard  
exceptions, e.g. :c:data:`PyExc_RuntimeError`.  You need not increment its  
reference count. The second argument is an error message; it is decoded  
from ``'utf-8``'."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:177
+# 4bdbf6b744714697947790a6a33d1faf
+msgid "This function is similar to :c:func:`PyErr_SetString` but lets you  
specify an arbitrary Python object for the \"value\" of the exception."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:183
+# 7878c89b6a0a49abb120247915d41f43
+msgid "This function sets the error indicator and returns *NULL*.   
*exception* should be a Python exception class.  The *format* and  
subsequent parameters help format the error message; they have the same  
meaning and values as in :c:func:`PyUnicode_FromFormat`. *format* is an  
ASCII-encoded string."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:192
+# d42629a39b0e4df4b5e3b1b92e118b2f
+msgid "This is a shorthand for ``PyErr_SetObject(type, Py_None)``."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:197
+# 117aca22892e43ebb4188775678cdf95
+msgid "This is a shorthand for ``PyErr_SetString(PyExc_TypeError,  
message)``, where *message* indicates that a built-in operation was invoked  
with an illegal argument.  It is mostly for internal use."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:204
+# 55cc4bd7c5fc488ca6dc67bae3dd4e5f
+msgid "This is a shorthand for ``PyErr_SetNone(PyExc_MemoryError)``; it  
returns *NULL* so an object allocation function can write ``return  
PyErr_NoMemory();`` when it runs out of memory."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:213
+# 3bf1a85172984f088b6f5643feb1a298
+msgid "This is a convenience function to raise an exception when a C  
library function has returned an error and set the C  
variable :c:data:`errno`.  It constructs a tuple object whose first item is  
the integer :c:data:`errno` value and whose second item is the  
corresponding error message (gotten from :c:func:`strerror`), and then  
calls ``PyErr_SetObject(type, object)``.  On Unix, when the :c:data:`errno`  
value is :const:`EINTR`, indicating an interrupted system call, this  
calls :c:func:`PyErr_CheckSignals`, and if that set the error indicator,  
leaves it set to that.  The function always returns *NULL*, so a wrapper  
function around a system call can write ``return  
PyErr_SetFromErrno(type);`` when the system call returns an error."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:227
+# cc4fbbdeae294a0ab04d3b4d3cf411f7
+msgid "Similar to :c:func:`PyErr_SetFromErrno`, with the additional  
behavior that if *filename* is not *NULL*, it is passed to the constructor  
of *type* as a third parameter.  In the case of exceptions such  
as :exc:`IOError` and :exc:`OSError`, this is used to define  
the :attr:`filename` attribute of the exception instance. *filename* is  
decoded from the filesystem encoding (:func:`sys.getfilesystemencoding`)."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:237
+# 4ac681136d9a4790883f87425638e101
+msgid "This is a convenience function to raise :exc:`WindowsError`. If  
called with *ierr* of :c:data:`0`, the error code returned by a call  
to :c:func:`GetLastError` is used instead.  It calls the Win32  
function :c:func:`FormatMessage` to retrieve the Windows description of  
error code given by *ierr* or :c:func:`GetLastError`, then it constructs a  
tuple object whose first item is the *ierr* value and whose second item is  
the corresponding error message (gotten from :c:func:`FormatMessage`), and  
then calls ``PyErr_SetObject(PyExc_WindowsError, object)``. This function  
always returns *NULL*. Availability: Windows."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:249
+# 48cb5a1f27424a68a9dc192bafb8b35e
+msgid "Similar to :c:func:`PyErr_SetFromWindowsErr`, with an additional  
parameter specifying the exception type to be raised. Availability:  
Windows."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:255
+# e2456ae721e340dd8995ebfb8a84f138
+msgid "Similar to :c:func:`PyErr_SetFromWindowsErr`, with the additional  
behavior that if *filename* is not *NULL*, it is passed to the constructor  
of :exc:`WindowsError` as a third parameter.  *filename* is decoded from  
the filesystem encoding (:func:`sys.getfilesystemencoding`).  Availability:  
Windows."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:264
+# f52c8c13356e4ff7857c285f0492679b
+msgid "Similar to :c:func:`PyErr_SetFromWindowsErrWithFilename`, with an  
additional parameter specifying the exception type to be raised.  
Availability: Windows."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:270
+# 4af3bed132b149d5aa246a2488712817
+msgid "This is a convenience function to raise :exc:`ImportError`. *msg*  
will be set as the exception's message string. *name* and *path*, both of  
which can be ``NULL``, will be set as the :exc:`ImportError`'s respective  
``name`` and ``path`` attributes."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:280
+# 7826298037bd499cb352e996ac528c71
+msgid "Set file, line, and offset information for the current exception.   
If the current exception is not a :exc:`SyntaxError`, then it sets  
additional attributes, which make the exception printing subsystem think  
the exception is a :exc:`SyntaxError`. *filename* is decoded from the  
filesystem encoding (:func:`sys.getfilesystemencoding`)."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:291
+# 4ea9ec8a99b84d2da0f89858774cde27
+msgid "Like :c:func:`PyErr_SyntaxLocationExc`, but the col_offset  
parameter is omitted."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:297
+# aa17599d4ecc4193a0c2bfc95c9e0c1e
+msgid "This is a shorthand for ``PyErr_SetString(PyExc_SystemError,  
message)``, where *message* indicates that an internal operation (e.g. a  
Python/C API function) was invoked with an illegal argument.  It is mostly  
for internal use."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:305
+# dad3af52f98940288b08ab907db464b0
+msgid "Issue a warning message.  The *category* argument is a warning  
category (see below) or *NULL*; the *message* argument is an UTF-8 encoded  
string.  *stack_level* is a positive number giving a number of stack  
frames; the warning will be issued from the  currently executing line of  
code in that stack frame.  A *stack_level* of 1 is the function  
calling :c:func:`PyErr_WarnEx`, 2 is  the function above that, and so  
forth."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:312
+# 548709a0b5da445bb6eab8042f002177
+msgid "This function normally prints a warning message to *sys.stderr*;  
however, it is also possible that the user has specified that warnings are  
to be turned into errors, and in that case this will raise an exception.   
It is also possible that the function raises an exception because of a  
problem with the warning machinery (the implementation imports  
the :mod:`warnings` module to do the heavy lifting). The return value is  
``0`` if no exception is raised, or ``-1`` if an exception is raised.  (It  
is not possible to determine whether a warning message is actually printed,  
nor what the reason is for the exception; this is intentional.)  If an  
exception is raised, the caller should do its normal exception handling  
(for example, :c:func:`Py_DECREF` owned references and return an error  
value)."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:324
+# 1b72cfb80f754188958ff6e7f1ad69ce
+msgid "Warning categories must be subclasses of :c:data:`Warning`; the  
default warning category is :c:data:`RuntimeWarning`.  The standard Python  
warning categories are available as global variables whose names are  
``PyExc_`` followed by the Python exception name. These have the  
type :c:type:`PyObject\\*`; they are all class objects. Their names  
are :c:data:`PyExc_Warning`, :c:data:`PyExc_UserWarning`, :c:data:`PyExc_UnicodeWarning`, :c:data:`PyExc_DeprecationWarning`, :c:data:`PyExc_SyntaxWarning`, :c:data:`PyExc_RuntimeWarning`,  
and :c:data:`PyExc_FutureWarning`.  :c:data:`PyExc_Warning` is a subclass  
of :c:data:`PyExc_Exception`; the other warning categories are subclasses  
of :c:data:`PyExc_Warning`."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:335
+# 610b65522d9a4065a5c9c29d27c42a06
+msgid "For information about warning control, see the documentation for  
the :mod:`warnings` module and the :option:`-W` option in the command line  
documentation.  There is no C API for warning control."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:342
+# 7283bbb6453d443497639c9c27e11a2a
+msgid "Issue a warning message with explicit control over all warning  
attributes.  This is a straightforward wrapper around the Python  
function :func:`warnings.warn_explicit`, see there for more information.   
The *module* and *registry* arguments may be set to *NULL* to get the  
default effect described there. *message* and *module* are UTF-8 encoded  
strings, *filename* is decoded from the filesystem encoding  
(:func:`sys.getfilesystemencoding`)."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:353
+# 709d3dc43276493c9ce47dbd1e1c1fed
+msgid "Function similar to :c:func:`PyErr_WarnEx`, but  
use :c:func:`PyUnicode_FromFormat` to format the warning message.  *format*  
is an ASCII-encoded string."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:367
+# bdca0024a3c04ad29acf3f813ce7d66b
+msgid "This function interacts with Python's signal handling.  It checks  
whether a signal has been sent to the processes and if so, invokes the  
corresponding signal handler.  If the :mod:`signal` module is supported,  
this can invoke a signal handler written in Python.  In all cases, the  
default effect for :const:`SIGINT` is to raise  
the  :exc:`KeyboardInterrupt` exception.  If an exception is raised the  
error indicator is set and the function returns ``-1``; otherwise the  
function returns ``0``.  The error indicator may or may not be cleared if  
it was previously set."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:383
+# 9c360d98575740009464887b9dc0a28a
+msgid "This function simulates the effect of a :const:`SIGINT` signal  
arriving --- the next time :c:func:`PyErr_CheckSignals` is  
called,  :exc:`KeyboardInterrupt` will be raised.  It may be called without  
holding the interpreter lock."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:393
+# 04992a8b520a4825922c9da6bd9fd6e2
+msgid "This utility function specifies a file descriptor to which a  
``'\\0'`` byte will be written whenever a signal is received.  It returns  
the previous such file descriptor.  The value ``-1`` disables the feature;  
this is the initial state. This is equivalent  
to :func:`signal.set_wakeup_fd` in Python, but without any error checking.   
*fd* should be a valid file descriptor.  The function should only be called  
from the main thread."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:403
+# 5f6532dddee74395bc13c01f768d7942
+msgid "This utility function creates and returns a new exception class.  
The *name* argument must be the name of the new exception, a C string of  
the form ``module.classname``.  The *base* and *dict* arguments are  
normally *NULL*. This creates a class object derived from :exc:`Exception`  
(accessible in C as :c:data:`PyExc_Exception`)."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:409
+# d98b4851b7cd4cab9cf939eb451f383c
+msgid "The :attr:`__module__` attribute of the new class is set to the  
first part (up to the last dot) of the *name* argument, and the class name  
is set to the last part (after the last dot).  The *base* argument can be  
used to specify alternate base classes; it can either be only one class or  
a tuple of classes. The *dict* argument can be used to specify a dictionary  
of class variables and methods."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:418
+# 53cca871d2d9439ebeafbc114e19784c
+msgid "Same as :c:func:`PyErr_NewException`, except that the new exception  
class can easily be given a docstring: If *doc* is non-*NULL*, it will be  
used as the docstring for the exception class."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:427
+# 94e40164e1ed44d4b99a85bc7e800659
+msgid "This utility function prints a warning message to ``sys.stderr``  
when an exception has been set but it is impossible for the interpreter to  
actually raise the exception.  It is used, for example, when an exception  
occurs in an :meth:`__del__` method."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:432
+# 7641baba0c6542db8162a29a20d9da14
+msgid "The function is called with a single argument *obj* that identifies  
the context in which the unraisable exception occurred. The repr of *obj*  
will be printed in the warning message."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:438
+# 373d1daeaa2b48229d291eb3d223af2a
+msgid "Exception Objects"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:442
+# f548c0630a6b4a1a85b237f8fafb58cf
+msgid "Return the traceback associated with the exception as a new  
reference, as accessible from Python through :attr:`__traceback__`.  If  
there is no traceback associated, this returns *NULL*."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:449
+# 6ab3861d198d4faf905cb814731abc77
+msgid "Set the traceback associated with the exception to *tb*.  Use  
``Py_None`` to clear it."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:455
+# 2b9b1ffad9de4cf7915ccc2ebf7abd37
+msgid "Return the context (another exception instance during whose  
handling *ex* was raised) associated with the exception as a new reference,  
as accessible from Python through :attr:`__context__`.  If there is no  
context associated, this returns *NULL*."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:463
+# e6324ea39b3d4e979700c20398b61670
+msgid "Set the context associated with the exception to *ctx*.  Use *NULL*  
to clear it.  There is no type check to make sure that *ctx* is an  
exception instance. This steals a reference to *ctx*."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:470
+# 9fe5137b92044e6aa47109f547077675
+msgid "Return the cause (either an exception instance, or :const:`None`,  
set by ``raise ... from ...``) associated with the exception as a new  
reference, as accessible from Python through :attr:`__cause__`."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:477
+# bf1310f1c00c4ca2b00f1dc951a03129
+msgid "Set the cause associated with the exception to *ctx*.  Use *NULL*  
to clear it.  There is no type check to make sure that *ctx* is either an  
exception instance or :const:`None`.  This steals a reference to *ctx*."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:481
+# d23e16309bc540008aaf2d7388cda4d2
+msgid ":attr:`__suppress_context__` is implicitly set to ``True`` by this  
function."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:487
+# 9c04d95cb1a8476c9c74bd8c904c23c9
+msgid "Unicode Exception Objects"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:489
+# 514b01d66bdd40e4a880ea82794a7df9
+msgid "The following functions are used to create and modify Unicode  
exceptions from C."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:493
+# 845ae1828edd434cadac98d93e3697e1
+msgid "Create a :class:`UnicodeDecodeError` object with the attributes  
*encoding*, *object*, *length*, *start*, *end* and *reason*. *encoding* and  
*reason* are UTF-8 encoded strings."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:499
+# a3257853eda64982aba8062342a3dd68
+msgid "Create a :class:`UnicodeEncodeError` object with the attributes  
*encoding*, *object*, *length*, *start*, *end* and *reason*. *encoding* and  
*reason* are UTF-8 encoded strings."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:505
+# c6975596c268483587abbe2296e6e87a
+msgid "Create a :class:`UnicodeTranslateError` object with the attributes  
*object*, *length*, *start*, *end* and *reason*. *reason* is an UTF-8  
encoded string."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:511
+# 16c58d11486444879c629bafea4509db
+msgid "Return the *encoding* attribute of the given exception object."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:517
+# 3039e95a82a640f38d8f35dedaae5751
+msgid "Return the *object* attribute of the given exception object."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:523
+# ce8748ba709b4fe9ba973eacbf44724b
+msgid "Get the *start* attribute of the given exception object and place  
it into *\\*start*.  *start* must not be *NULL*.  Return ``0`` on success,  
``-1`` on failure."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:531
+# e46d20786c574bfe9458addccecf24f6
+msgid "Set the *start* attribute of the given exception object to  
*start*.  Return ``0`` on success, ``-1`` on failure."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:538
+# fa92e77fad534bffa16a37a3884a6019
+msgid "Get the *end* attribute of the given exception object and place it  
into *\\*end*.  *end* must not be *NULL*.  Return ``0`` on success, ``-1``  
on failure."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:546
+# f37f95b9021f4aa3ab06a830b7eb3098
+msgid "Set the *end* attribute of the given exception object to *end*.   
Return ``0`` on success, ``-1`` on failure."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:553
+# c5d1f9e328524391996aff121151c0ce
+msgid "Return the *reason* attribute of the given exception object."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:559
+# 54094e2fc654433f91863526c0ad1efb
+msgid "Set the *reason* attribute of the given exception object to  
*reason*.  Return ``0`` on success, ``-1`` on failure."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:564
+# c95786a9add84a1285fa2cf6fe9233b2
+msgid "Recursion Control"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:566
+# c7aafc39b81f443f81ae6754bbbf0546
+msgid "These two functions provide a way to perform safe recursive calls  
at the C level, both in the core and in extension modules.  They are needed  
if the recursive code does not necessarily invoke Python code (which tracks  
its recursion depth automatically)."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:573
+# 7be0725fad354dd98b4d62fc3d9e5dbd
+msgid "Marks a point where a recursive C-level call is about to be  
performed."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:575
+# 4e1a7f7abfc44cf2ac4dff73345451fb
+msgid "If :const:`USE_STACKCHECK` is defined, this function checks if the  
OS stack overflowed using :c:func:`PyOS_CheckStack`.  In this is the case,  
it sets a :exc:`MemoryError` and returns a nonzero value."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:579
+# b4416865420d44e590acc7471c566cd5
+msgid "The function then checks if the recursion limit is reached.  If  
this is the case, a :exc:`RuntimeError` is set and a nonzero value is  
returned. Otherwise, zero is returned."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:583
+# 016dda21be94414f990b437278609056
+msgid "*where* should be a string such as ``\" in instance check\"`` to be  
concatenated to the :exc:`RuntimeError` message caused by the recursion  
depth limit."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:589
+# 216348e54cfd40efb43b7de6d697a8b2
+msgid "Ends a :c:func:`Py_EnterRecursiveCall`.  Must be called once for  
each *successful* invocation of :c:func:`Py_EnterRecursiveCall`."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:592
+# 0d05f32a058e45ecbacf1685dc8624c6
+msgid "Properly implementing :attr:`tp_repr` for container types requires  
special recursion handling.  In addition to protecting the  
stack, :attr:`tp_repr` also needs to track objects to prevent cycles.  The  
following two functions facilitate this functionality.  Effectively, these  
are the C equivalent to :func:`reprlib.recursive_repr`."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:600
+# 688c3bfe43f7477a9ae7b76d686abfee
+msgid "Called at the beginning of the :attr:`tp_repr` implementation to  
detect cycles."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:603
+# 9205b75362714fd3a1a0520491a5085e
+msgid "If the object has already been processed, the function returns a  
positive integer.  In that case the :attr:`tp_repr` implementation should  
return a string object indicating a cycle.  As examples, :class:`dict`  
objects return ``{...}`` and :class:`list` objects return ``[...]``."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:609
+# 219aca66a1824722bb2b120a090116b4
+msgid "The function will return a negative integer if the recursion limit  
is reached.  In that case the :attr:`tp_repr` implementation should  
typically return ``NULL``."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:613
+# 35193e99e968414090d5aef4994ad632
+msgid "Otherwise, the function returns zero and the :attr:`tp_repr`  
implementation can continue normally."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:618
+# 29d150c87db342a7a803d45d1b4b286d
+msgid "Ends a :c:func:`Py_ReprEnter`.  Must be called once for each  
invocation of :c:func:`Py_ReprEnter` that returns zero."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:625
+# 35a222117f89473cb4c52e929d10040d
+msgid "Standard Exceptions"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:627
+# 6f8ec787ae09465f8a7b8695a44c0336
+msgid "All standard Python exceptions are available as global variables  
whose names are ``PyExc_`` followed by the Python exception name.  These  
have the type :c:type:`PyObject\\*`; they are all class objects.  For  
completeness, here are all the variables:"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:633
+#: ../../c-api/exceptions.rst:730
+# 26836392a80b4de18f01110799f9be98
+# 9077843c384a44c7a5391c133fca8d4a
+msgid "C Name"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:633
+# 783c1eae50684895928caead3f807d4f
+msgid "Python Name"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:633
+#: ../../c-api/exceptions.rst:730
+# f88643c353d34ad79e5c8a8b1abe6dac
+# e14aa7ed47764ed385ac081c98840c8e
+msgid "Notes"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:635
+# 2316bfd87ab042fabb5f5c369163acd1
+msgid ":c:data:`PyExc_BaseException`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:635
+# 348079b58e974f909934f8c31fd2732e
+msgid ":exc:`BaseException`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:635
+#: ../../c-api/exceptions.rst:637
+#: ../../c-api/exceptions.rst:639
+#: ../../c-api/exceptions.rst:641
+#: ../../c-api/exceptions.rst:689
+# a8608e0feaa841b8984eba1bdd6bfd1a
+# 788560fc1fc04a8b84a0d557715c0ab4
+# 1eadf43ee75b4de3b611d9c54279bebc
+# 5f8e785c5f944ea09163f0fafe99d5d0
+# 2b861265883c47f1b7a2b147486bddb5
+msgid "\\(1)"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:637
+# 48b970650d0e480c8b0f430c18ef2296
+msgid ":c:data:`PyExc_Exception`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:637
+# 0cdb6d85e6de4653a2971a8e33cf9535
+msgid ":exc:`Exception`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:639
+# 9aaa42fd95f54a3eb3e73384a5441e64
+msgid ":c:data:`PyExc_ArithmeticError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:639
+# 6b49919bd4c54c71809c91f332f69d87
+msgid ":exc:`ArithmeticError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:641
+# ef667f0680e84856894bd9e46752be4d
+msgid ":c:data:`PyExc_LookupError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:641
+# e82dfa8474f04c23b5c1a2f82f7a5201
+msgid ":exc:`LookupError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:643
+# 2c0ec6731e874d48b1a12a36e1cb8455
+msgid ":c:data:`PyExc_AssertionError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:643
+# 8b010696b34a406ba0c8fe185831a88e
+msgid ":exc:`AssertionError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:645
+# ce1cdfaffd65401eb519d4a126229557
+msgid ":c:data:`PyExc_AttributeError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:645
+# 3360427830a649559f663ab34a1b01b2
+msgid ":exc:`AttributeError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:647
+# 5d9a041edb164f979361ce1df60c7677
+msgid ":c:data:`PyExc_BlockingIOError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:647
+# a81bd2e7704b44cb8eab038c679622eb
+msgid ":exc:`BlockingIOError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:649
+# d338441df24e4506867069b282dfc166
+msgid ":c:data:`PyExc_BrokenPipeError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:649
+# 84a55862094b461cb4f2a12cb75f2d48
+msgid ":exc:`BrokenPipeError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:651
+# a3000fbfa8b549949ea679892cdc439e
+msgid ":c:data:`PyExc_ChildProcessError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:651
+# 7aba9caf53fd4a8790535e212af3bf87
+msgid ":exc:`ChildProcessError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:653
+# d0e444f862c94b8db39e8dfb76af0be8
+msgid ":c:data:`PyExc_ConnectionError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:653
+# 46a0c7d08f7249d187c8fc10cf9a32e5
+msgid ":exc:`ConnectionError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:655
+# 44481d95c08f4d2ea86ad3ef9200acb2
+msgid ":c:data:`PyExc_ConnectionAbortedError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:655
+# 7427115726084fdc8a798146783b4fc2
+msgid ":exc:`ConnectionAbortedError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:657
+# 9e3e8c6edc0e4d5e9dcd3955c63f68f2
+msgid ":c:data:`PyExc_ConnectionRefusedError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:657
+# 40ce7b9580724b04b743e8640d2a8f10
+msgid ":exc:`ConnectionRefusedError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:659
+# 561fe5ade22a4b6793121c10ffa83f4a
+msgid ":c:data:`PyExc_ConnectionResetError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:659
+# 1a069d5bdbd14286a0fd4081dd0b72f9
+msgid ":exc:`ConnectionResetError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:661
+# abeac43b70854b7b90fe36d91dcfc446
+msgid ":c:data:`PyExc_FileExistsError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:661
+# 3480e0d58b334d5c806f8b2eefc99618
+msgid ":exc:`FileExistsError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:663
+# 2e4dfe82994e4f4b8d9899b66ecff45e
+msgid ":c:data:`PyExc_FileNotFoundError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:663
+# 14c0c595842b4f58a8f2f441e2ac7217
+msgid ":exc:`FileNotFoundError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:665
+# e68701ca7900481e93b1f2a5d96a5012
+msgid ":c:data:`PyExc_EOFError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:665
+# d3059c93433046adb8167ca371515db3
+msgid ":exc:`EOFError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:667
+# 1a12b56b65574c63ab8777249cfac106
+msgid ":c:data:`PyExc_FloatingPointError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:667
+# f8cb2570dff24dd1bdd528cb09ded82d
+msgid ":exc:`FloatingPointError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:669
+# 5420efe3a791496d803a5e3b7a79e499
+msgid ":c:data:`PyExc_ImportError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:669
+# d4fe71e09eb74b9c8a8bbbcc52259f3a
+msgid ":exc:`ImportError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:671
+# 84a4523c0f1b4dac9822e3b2994a4325
+msgid ":c:data:`PyExc_IndexError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:671
+# 1a29fdc796eb46b1b8b941e8c5ee210b
+msgid ":exc:`IndexError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:673
+# 2731d40fce7d4b3cb66e986b121aa1f8
+msgid ":c:data:`PyExc_InterruptedError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:673
+# f90ecabb04b44a4882516027493d44ac
+msgid ":exc:`InterruptedError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:675
+# 4cee2aedddf7481587090d8885decf7c
+msgid ":c:data:`PyExc_IsADirectoryError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:675
+# 888b509ebbb44494b9e9356966f7caae
+msgid ":exc:`IsADirectoryError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:677
+# 4c66773e79494aea8663dc9667525ac7
+msgid ":c:data:`PyExc_KeyError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:677
+# 9342e92c85f946578b19ebebb13f285f
+msgid ":exc:`KeyError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:679
+# 2d3b513bea5e428584f24df2605be1fe
+msgid ":c:data:`PyExc_KeyboardInterrupt`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:679
+# d3c9cc1525204f13989efac581365a72
+msgid ":exc:`KeyboardInterrupt`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:681
+# 83ac8d53b93e493ab1c5a7c9b913f509
+msgid ":c:data:`PyExc_MemoryError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:681
+# da554fc1eeb64a0882d33f8b385a530a
+msgid ":exc:`MemoryError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:683
+# f47eb7227c7f4b7ea79dbae8686ebc9a
+msgid ":c:data:`PyExc_NameError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:683
+# 3a9153e2497a48ef93fbed7844005816
+msgid ":exc:`NameError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:685
+# 0060603768554c31b95c6477c6a29adc
+msgid ":c:data:`PyExc_NotADirectoryError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:685
+# 6cd6eafab08241e3aeb4003b31987f6c
+msgid ":exc:`NotADirectoryError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:687
+# b0e17a55255e41aca56c42f63d6e2e88
+msgid ":c:data:`PyExc_NotImplementedError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:687
+# b84503386d57474ea7896409375d2cda
+msgid ":exc:`NotImplementedError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:689
+# 681fb2393b6b46179dc74a8b62ff4291
+msgid ":c:data:`PyExc_OSError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:689
+# 01263b8fbacd4d3ebe86677d167b8469
+msgid ":exc:`OSError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:691
+# 9f276ca018d04fc4a2164afff6b2f86a
+msgid ":c:data:`PyExc_OverflowError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:691
+# 9a1bce6f5d7a484db188cc870f20fdf7
+msgid ":exc:`OverflowError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:693
+# cf948773d691485cb643f9c307c17d19
+msgid ":c:data:`PyExc_PermissionError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:693
+# c58caa056d3546ff81d27a6a08b22117
+msgid ":exc:`PermissionError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:695
+# 056aef004bd943c6b54f4b6eceaa7444
+msgid ":c:data:`PyExc_ProcessLookupError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:695
+# cf074bd9dc454bf689b3fb92d10c6c11
+msgid ":exc:`ProcessLookupError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:697
+# 1c557f37226e479489b9dd4f8ab70a49
+msgid ":c:data:`PyExc_ReferenceError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:697
+# 46bf8f44d20f42dcb3dae23395fa5a94
+msgid ":exc:`ReferenceError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:697
+# 5aec980386ba460c8f5c859fbc665773
+msgid "\\(2)"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:699
+# 68d8ffd2aadb41e1aec0ef2c0abba015
+msgid ":c:data:`PyExc_RuntimeError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:699
+# 0d4eecd63e034b8ab40d4f72dda4f842
+msgid ":exc:`RuntimeError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:701
+# 01eaf7c64d0f4930ad8535dd110e1b81
+msgid ":c:data:`PyExc_SyntaxError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:701
+# b76ce44562fb422fa5c28a37d042d94f
+msgid ":exc:`SyntaxError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:703
+# c5614d0087554b9badbb53e3f646a08b
+msgid ":c:data:`PyExc_SystemError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:703
+# 8d2dae86b66a4f689371bd8d0b02a837
+msgid ":exc:`SystemError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:705
+# 87daab60f7714cc39ee78465f19f358f
+msgid ":c:data:`PyExc_TimeoutError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:705
+# 7b2e34af898547fb9d12150a3f90c248
+msgid ":exc:`TimeoutError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:707
+# d4e68f5efd6e4fcda83cd8c69f13c554
+msgid ":c:data:`PyExc_SystemExit`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:707
+# 3340b1e8918347cb9d2291bdab31da9d
+msgid ":exc:`SystemExit`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:709
+# ee8af3e3d8f249a78014e854b1ad84dc
+msgid ":c:data:`PyExc_TypeError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:709
+# d41b39081d9243f9ad25ceadf6474b6f
+msgid ":exc:`TypeError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:711
+# 6214200380c346509061594f325ec268
+msgid ":c:data:`PyExc_ValueError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:711
+# 5214bf469fb842b19d67910293b6c950
+msgid ":exc:`ValueError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:713
+# 5a8c0dbfb94f4600a070829e725ddec3
+msgid ":c:data:`PyExc_ZeroDivisionError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:713
+# 3505d2b4c7ee42fba3a660f615ccd5dd
+msgid ":exc:`ZeroDivisionError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:727
+# c82027ea87f14ee592a9c2f5780b1d9a
+msgid "These are compatibility aliases to :c:data:`PyExc_OSError`:"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:732
+# 6def1784e68645b0a3e51ff44244ba9b
+msgid ":c:data:`PyExc_EnvironmentError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:734
+# 5749b893e5154dfdbb7101639dafda47
+msgid ":c:data:`PyExc_IOError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:736
+# 63d0fb4e1f7c4d5ca217afa4b660febc
+msgid ":c:data:`PyExc_WindowsError`"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:736
+# c6453965f4b34f3aa6c81c100d02510a
+msgid "\\(3)"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:787
+# bc6077e6b72e4d709fa9259877b00dad
+msgid "Notes:"
+msgstr ""
+
+#: ../../c-api/exceptions.rst:790
+# b606255c10a6470198f8adc9b9dcc983
+msgid "This is a base class for other standard exceptions."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:793
+# 2fc03a05ffee4d6084bb549f928e8f84
+msgid "This is the same as :exc:`weakref.ReferenceError`."
+msgstr ""
+
+#: ../../c-api/exceptions.rst:796
+# 5fa7d1945d3644dc82b7859fbdb85e8c
+msgid "Only defined on Windows; protect code that uses this by testing  
that the preprocessor macro ``MS_WINDOWS`` is defined."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/file.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,58 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/file.rst:6
+# 556b86b4404b4f749ac63e24889a69bd
+msgid "File Objects"
+msgstr ""
+
+#: ../../c-api/file.rst:10
+# bd77d5be186a4a888a4e8777147a4631
+msgid "These APIs are a minimal emulation of the Python 2 C API for  
built-in file objects, which used to rely on the buffered I/O  
(:c:type:`FILE\\*`) support from the C standard library.  In Python 3,  
files and streams use the new :mod:`io` module, which defines several  
layers over the low-level unbuffered I/O of the operating system.  The  
functions described below are convenience C wrappers over these new APIs,  
and meant mostly for internal error reporting in the interpreter;  
third-party code is advised to access the :mod:`io` APIs instead."
+msgstr ""
+
+#: ../../c-api/file.rst:22
+# 85337f08a17f4d4787a1c5d5256b638b
+msgid "Create a Python file object from the file descriptor of an already  
opened file *fd*.  The arguments *name*, *encoding*, *errors* and *newline*  
can be *NULL* to use the defaults; *buffering* can be *-1* to use the  
default. *name* is ignored and kept for backward compatibility. Return  
*NULL* on failure. For a more comprehensive description of the arguments,  
please refer to the :func:`io.open` function documentation."
+msgstr ""
+
+#: ../../c-api/file.rst:31
+# 88a0ca693f374e2ab1dacb7512301283
+msgid "Since Python streams have their own buffering layer, mixing them  
with OS-level file descriptors can produce various issues (such as  
unexpected ordering of data)."
+msgstr ""
+
+#: ../../c-api/file.rst:41
+# 2c6389db94ab4945aa9e113e59852ffa
+msgid "Return the file descriptor associated with *p* as  
an :c:type:`int`.  If the object is an integer, its value is returned.  If  
not, the object's :meth:`fileno` method is called if it exists; the method  
must return an integer, which is returned as the file descriptor value.   
Sets an exception and returns ``-1`` on failure."
+msgstr ""
+
+#: ../../c-api/file.rst:52
+# e61b502b479a4bb1ba698c79b35b12dd
+msgid "Equivalent to ``p.readline([n])``, this function reads one line  
from the object *p*.  *p* may be a file object or any object with  
a :meth:`readline` method.  If *n* is ``0``, exactly one line is read,  
regardless of the length of the line.  If *n* is greater than ``0``, no  
more than *n* bytes will be read from the file; a partial line can be  
returned.  In both cases, an empty string is returned if the end of the  
file is reached immediately.  If *n* is less than ``0``, however, one line  
is read regardless of length, but :exc:`EOFError` is raised if the end of  
the file is reached immediately."
+msgstr ""
+
+#: ../../c-api/file.rst:66
+# ab2eb8ac41f84fd7bbad915c58780415
+msgid "Write object *obj* to file object *p*.  The only supported flag for  
*flags* is :const:`Py_PRINT_RAW`; if given, the :func:`str` of the object  
is written instead of the :func:`repr`.  Return ``0`` on success or ``-1``  
on failure; the appropriate exception will be set."
+msgstr ""
+
+#: ../../c-api/file.rst:74
+# a8fc2810d3f14cd499a08f9658e4a05f
+msgid "Write string *s* to file object *p*.  Return ``0`` on success or  
``-1`` on failure; the appropriate exception will be set."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/float.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,83 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/float.rst:6
+# 42ccff5363a74ef38ada31a5078aabb0
+msgid "Floating Point Objects"
+msgstr ""
+
+#: ../../c-api/float.rst:13
+# 69b3569c9e924fa7ad90da824b501220
+msgid "This subtype of :c:type:`PyObject` represents a Python floating  
point object."
+msgstr ""
+
+#: ../../c-api/float.rst:18
+# 14feb4c1f7b64a4fbe527e6c75b81c58
+msgid "This instance of :c:type:`PyTypeObject` represents the Python  
floating point type.  This is the same object as :class:`float` in the  
Python layer."
+msgstr ""
+
+#: ../../c-api/float.rst:24
+# 7e57042eebc84e0fb668c7dad8b558fb
+msgid "Return true if its argument is a :c:type:`PyFloatObject` or a  
subtype of :c:type:`PyFloatObject`."
+msgstr ""
+
+#: ../../c-api/float.rst:30
+# 48c2206c2a554e1da2112173667bbd07
+msgid "Return true if its argument is a :c:type:`PyFloatObject`, but not a  
subtype of :c:type:`PyFloatObject`."
+msgstr ""
+
+#: ../../c-api/float.rst:36
+# f11281182d2f44608c5bf6215cd511e6
+msgid "Create a :c:type:`PyFloatObject` object based on the string value  
in *str*, or *NULL* on failure."
+msgstr ""
+
+#: ../../c-api/float.rst:42
+# e9e3957d4a244e598fa88f6f9b86f41e
+msgid "Create a :c:type:`PyFloatObject` object from *v*, or *NULL* on  
failure."
+msgstr ""
+
+#: ../../c-api/float.rst:47
+# 65b07766f9bd42ce992dee92ccd5d5f7
+msgid "Return a C :c:type:`double` representation of the contents of  
*pyfloat*.  If *pyfloat* is not a Python floating point object but has  
a :meth:`__float__` method, this method will first be called to convert  
*pyfloat* into a float. This method returns ``-1.0`` upon failure, so one  
should call :c:func:`PyErr_Occurred` to check for errors."
+msgstr ""
+
+#: ../../c-api/float.rst:56
+# 51d927e7d659403fb5a518437de90b3f
+msgid "Return a C :c:type:`double` representation of the contents of  
*pyfloat*, but without error checking."
+msgstr ""
+
+#: ../../c-api/float.rst:62
+# a07f61c1e7404a108e603e6f3336b8de
+msgid "Return a structseq instance which contains information about the  
precision, minimum and maximum values of a float. It's a thin wrapper  
around the header file :file:`float.h`."
+msgstr ""
+
+#: ../../c-api/float.rst:69
+# eb3bb745f88f40f0aef646a9d69d9eff
+msgid "Return the maximum representable finite float *DBL_MAX* as  
C :c:type:`double`."
+msgstr ""
+
+#: ../../c-api/float.rst:74
+# 962497c2286e4300b79125d2e20c6e76
+msgid "Return the minimum normalized positive float *DBL_MIN* as  
C :c:type:`double`."
+msgstr ""
+
+#: ../../c-api/float.rst:78
+# 7d5c781e273e4198ba258e408526fd45
+msgid "Clear the float free list. Return the number of items that could  
not be freed."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/function.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,112 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/function.rst:6
+# b44a51000349482e92d40f4a9b5ac777
+msgid "Function Objects"
+msgstr ""
+
+#: ../../c-api/function.rst:10
+# 37c99cd58fc54d5098a14a2d4fb1aa1b
+msgid "There are a few functions specific to Python functions."
+msgstr ""
+
+#: ../../c-api/function.rst:15
+# 43cab77c98144f9fa25da93a4bbaa412
+msgid "The C structure used for functions."
+msgstr ""
+
+#: ../../c-api/function.rst:22
+# bd896feed27d40e9b1dbf7ab1cd33b70
+msgid "This is an instance of :c:type:`PyTypeObject` and represents the  
Python function type.  It is exposed to Python programmers as  
``types.FunctionType``."
+msgstr ""
+
+#: ../../c-api/function.rst:28
+# b1daac19f4b847228df54ed8651050a4
+msgid "Return true if *o* is a function object (has  
type :c:data:`PyFunction_Type`). The parameter must not be *NULL*."
+msgstr ""
+
+#: ../../c-api/function.rst:34
+# 16c0e37748554deca53941bc618b5c01
+msgid "Return a new function object associated with the code object  
*code*. *globals* must be a dictionary with the global variables accessible  
to the function."
+msgstr ""
+
+#: ../../c-api/function.rst:37
+# 36a73b31909a467a92af438939bd633c
+msgid "The function's docstring, name and *__module__* are retrieved from  
the code object, the argument defaults and closure are set to *NULL*."
+msgstr ""
+
+#: ../../c-api/function.rst:43
+# bac5a994d91340e8a97d996f35e4db46
+msgid "As :c:func:`PyFunction_New`, but also allows to set the function  
object's ``__qualname__`` attribute.  *qualname* should be a unicode object  
or NULL; if NULL, the ``__qualname__`` attribute is set to the same value  
as its ``__name__`` attribute."
+msgstr ""
+
+#: ../../c-api/function.rst:53
+# dc41c0d6ad4b4364ab66778bddccb2e9
+msgid "Return the code object associated with the function object *op*."
+msgstr ""
+
+#: ../../c-api/function.rst:58
+# e1e371614207410386622e793438ff90
+msgid "Return the globals dictionary associated with the function object  
*op*."
+msgstr ""
+
+#: ../../c-api/function.rst:63
+# c89f5d3f5a0147af94fef787746e8877
+msgid "Return the *__module__* attribute of the function object *op*. This  
is normally a string containing the module name, but can be set to any  
other object by Python code."
+msgstr ""
+
+#: ../../c-api/function.rst:70
+# ab604b23329747f48494c072eeaf4eb3
+msgid "Return the argument default values of the function object *op*.  
This can be a tuple of arguments or *NULL*."
+msgstr ""
+
+#: ../../c-api/function.rst:76
+# c6169a9a393a43ada648398e71223708
+msgid "Set the argument default values for the function object *op*.  
*defaults* must be *Py_None* or a tuple."
+msgstr ""
+
+#: ../../c-api/function.rst:79
+#: ../../c-api/function.rst:93
+#: ../../c-api/function.rst:107
+# 9aaf715596e9401383edc9286100be02
+# e0d9053b80bb410bb36e937d9bd8a18a
+# dba5dacd8d19460c88aeddcfb46130a8
+msgid "Raises :exc:`SystemError` and returns ``-1`` on failure."
+msgstr ""
+
+#: ../../c-api/function.rst:84
+# 8f8576123ab94182aa6acfa1fe88c164
+msgid "Return the closure associated with the function object *op*. This  
can be *NULL* or a tuple of cell objects."
+msgstr ""
+
+#: ../../c-api/function.rst:90
+# 25fa2971260744c29a28b33fe735f074
+msgid "Set the closure associated with the function object *op*. *closure*  
must be *Py_None* or a tuple of cell objects."
+msgstr ""
+
+#: ../../c-api/function.rst:98
+# 663b886aa7b94908b1bf56826bf942ef
+msgid "Return the annotations of the function object *op*. This can be a  
mutable dictionary or *NULL*."
+msgstr ""
+
+#: ../../c-api/function.rst:104
+# f80c5ee6280f44df9034a473dd8f1713
+msgid "Set the annotations for the function object *op*. *annotations*  
must be a dictionary or *Py_None*."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/gcsupport.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,148 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/gcsupport.rst:6
+# b2690ad8ddf2488abc1056c37c198304
+msgid "Supporting Cyclic Garbage Collection"
+msgstr ""
+
+#: ../../c-api/gcsupport.rst:8
+# 2d0fdffaba0c4fcdbaeed87a8daf5d26
+msgid "Python's support for detecting and collecting garbage which  
involves circular references requires support from object types which are  
\"containers\" for other objects which may also be containers.  Types which  
do not store references to other objects, or which only store references to  
atomic types (such as numbers or strings), do not need to provide any  
explicit support for garbage collection."
+msgstr ""
+
+#: ../../c-api/gcsupport.rst:15
+# 3954c9a9917f4984b96fabe82bd406c2
+msgid "To create a container type, the :attr:`tp_flags` field of the type  
object must include the :const:`Py_TPFLAGS_HAVE_GC` and provide an  
implementation of the :attr:`tp_traverse` handler.  If instances of the  
type are mutable, a :attr:`tp_clear` implementation must also be provided."
+msgstr ""
+
+#: ../../c-api/gcsupport.rst:24
+# b7135e173ceb4edba610a22577ee03f0
+msgid "Objects with a type with this flag set must conform with the rules  
documented here.  For convenience these objects will be referred to as  
container objects."
+msgstr ""
+
+#: ../../c-api/gcsupport.rst:28
+# 87865facedc149e58d43ee271274b71a
+msgid "Constructors for container types must conform to two rules:"
+msgstr ""
+
+#: ../../c-api/gcsupport.rst:30
+# 05886f99ea6e46f3b3c22c9b0640c4ee
+msgid "The memory for the object must be allocated  
using :c:func:`PyObject_GC_New` or :c:func:`PyObject_GC_NewVar`."
+msgstr ""
+
+#: ../../c-api/gcsupport.rst:33
+# 2d72b2657d9f409e9ec5d2e4652bfa2e
+msgid "Once all the fields which may contain references to other  
containers are initialized, it must call :c:func:`PyObject_GC_Track`."
+msgstr ""
+
+#: ../../c-api/gcsupport.rst:39
+# 262c8be5a045479f92355f7325664990
+msgid "Analogous to :c:func:`PyObject_New` but for container objects with  
the :const:`Py_TPFLAGS_HAVE_GC` flag set."
+msgstr ""
+
+#: ../../c-api/gcsupport.rst:45
+# 4efa4efa063b492099ed369dd425a6c3
+msgid "Analogous to :c:func:`PyObject_NewVar` but for container objects  
with the :const:`Py_TPFLAGS_HAVE_GC` flag set."
+msgstr ""
+
+#: ../../c-api/gcsupport.rst:51
+# 8df5dae06184451394f73f055b208387
+msgid "Resize an object allocated by :c:func:`PyObject_NewVar`.  Returns  
the resized object or *NULL* on failure."
+msgstr ""
+
+#: ../../c-api/gcsupport.rst:57
+# 105db9ecd1984b03b696c5deec489e0e
+msgid "Adds the object *op* to the set of container objects tracked by the  
collector.  The collector can run at unexpected times so objects must be  
valid while being tracked.  This should be called once all the fields  
followed by the :attr:`tp_traverse` handler become valid, usually near the  
end of the constructor."
+msgstr ""
+
+#: ../../c-api/gcsupport.rst:66
+# 42fe490e940947b89a91af0f7c15c975
+msgid "A macro version of :c:func:`PyObject_GC_Track`.  It should not be  
used for extension modules."
+msgstr ""
+
+#: ../../c-api/gcsupport.rst:69
+# e7db0d41a87b4986a1f9bce8867e12c3
+msgid "Similarly, the deallocator for the object must conform to a similar  
pair of rules:"
+msgstr ""
+
+#: ../../c-api/gcsupport.rst:72
+# 68936c9e295d4c42990eea58cabab045
+msgid "Before fields which refer to other containers are  
invalidated, :c:func:`PyObject_GC_UnTrack` must be called."
+msgstr ""
+
+#: ../../c-api/gcsupport.rst:75
+# fbf136477cf9431193b4adda22345770
+msgid "The object's memory must be deallocated  
using :c:func:`PyObject_GC_Del`."
+msgstr ""
+
+#: ../../c-api/gcsupport.rst:80
+# 463fa9681578402c820a409662f68272
+msgid "Releases memory allocated to an object  
using :c:func:`PyObject_GC_New` or :c:func:`PyObject_GC_NewVar`."
+msgstr ""
+
+#: ../../c-api/gcsupport.rst:86
+# 0886430dc17d45e0beb0d698c3517edd
+msgid "Remove the object *op* from the set of container objects tracked by  
the collector.  Note that :c:func:`PyObject_GC_Track` can be called again  
on this object to add it back to the set of tracked objects.  The  
deallocator (:attr:`tp_dealloc` handler) should call this for the object  
before any of the fields used by the :attr:`tp_traverse` handler become  
invalid."
+msgstr ""
+
+#: ../../c-api/gcsupport.rst:95
+# 14da08d1763c4f39a5b0931479c3f6d3
+msgid "A macro version of :c:func:`PyObject_GC_UnTrack`.  It should not be  
used for extension modules."
+msgstr ""
+
+#: ../../c-api/gcsupport.rst:98
+# e158a6c0d8ea4f5393a300d6ad35f849
+msgid "The :attr:`tp_traverse` handler accepts a function parameter of  
this type:"
+msgstr ""
+
+#: ../../c-api/gcsupport.rst:103
+# f8c627b75ea04e72a50998faff4354e0
+msgid "Type of the visitor function passed to the :attr:`tp_traverse`  
handler. The function should be called with an object to traverse as  
*object* and the third parameter to the :attr:`tp_traverse` handler as  
*arg*.  The Python core uses several visitor functions to implement cyclic  
garbage detection; it's not expected that users will need to write their  
own visitor functions."
+msgstr ""
+
+#: ../../c-api/gcsupport.rst:110
+# 3df0ba7daec046bb8e82e06f784ac72c
+msgid "The :attr:`tp_traverse` handler must have the following type:"
+msgstr ""
+
+#: ../../c-api/gcsupport.rst:115
+# ffb265ef401c4afc939ab865a37f1e40
+msgid "Traversal function for a container object.  Implementations must  
call the *visit* function for each object directly contained by *self*,  
with the parameters to *visit* being the contained object and the *arg*  
value passed to the handler.  The *visit* function must not be called with  
a *NULL* object argument.  If *visit* returns a non-zero value that value  
should be returned immediately."
+msgstr ""
+
+#: ../../c-api/gcsupport.rst:122
+# d1941df877204d5f909b22180a03426b
+msgid "To simplify writing :attr:`tp_traverse` handlers,  
a :c:func:`Py_VISIT` macro is provided.  In order to use this macro,  
the :attr:`tp_traverse` implementation must name its arguments exactly  
*visit* and *arg*:"
+msgstr ""
+
+#: ../../c-api/gcsupport.rst:129
+# 80ae66e662714db2af77f384d46002f0
+msgid "Call the *visit* callback, with arguments *o* and *arg*. If *visit*  
returns a non-zero value, then return it.  Using this  
macro, :attr:`tp_traverse` handlers look like::"
+msgstr ""
+
+#: ../../c-api/gcsupport.rst:141
+# 2d9942a5599c4d938e9fd34ebcc91e48
+msgid "The :attr:`tp_clear` handler must be of the :c:type:`inquiry` type,  
or *NULL* if the object is immutable."
+msgstr ""
+
+#: ../../c-api/gcsupport.rst:147
+# a78199f47e514e15bbfec0fbf15a6261
+msgid "Drop references that may have created reference cycles.  Immutable  
objects do not have to define this method since they can never directly  
create reference cycles.  Note that the object must still be valid after  
calling this method (don't just call :c:func:`Py_DECREF` on a reference).   
The collector will call this method if it detects that this object is  
involved in a reference cycle."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/gen.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,53 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/gen.rst:6
+# 431aadb7889b448ca03b505a9b49815a
+msgid "Generator Objects"
+msgstr ""
+
+#: ../../c-api/gen.rst:8
+# febdb99d6bea494abaf37ca516560f04
+msgid "Generator objects are what Python uses to implement generator  
iterators. They are normally created by iterating over a function that  
yields values, rather than explicitly calling :c:func:`PyGen_New`."
+msgstr ""
+
+#: ../../c-api/gen.rst:15
+# 4676dbc2daec4c27b31b33318e7874bb
+msgid "The C structure used for generator objects."
+msgstr ""
+
+#: ../../c-api/gen.rst:20
+# 849eff0bb2154eefb21c8e5ee4817665
+msgid "The type object corresponding to generator objects"
+msgstr ""
+
+#: ../../c-api/gen.rst:25
+# 09c5a5102b9e4c29bae23822cd6cbb85
+msgid "Return true if *ob* is a generator object; *ob* must not be *NULL*."
+msgstr ""
+
+#: ../../c-api/gen.rst:30
+# 2e6e48df8c1947b0a43a8c3c94d48d4d
+msgid "Return true if *ob*'s type is *PyGen_Type* is a generator object;  
*ob* must not be *NULL*."
+msgstr ""
+
+#: ../../c-api/gen.rst:36
+# 9b41c43a08124684ba34c64949bac700
+msgid "Create and return a new generator object based on the *frame*  
object. A reference to *frame* is stolen by this function. The parameter  
must not be *NULL*."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/import.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,214 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/import.rst:6
+# 9ed73b4565924115975fa7f68aedca55
+msgid "Importing Modules"
+msgstr ""
+
+#: ../../c-api/import.rst:16
+# 9d42f9bc885e40829bdceee3b3234540
+msgid "This is a simplified interface to :c:func:`PyImport_ImportModuleEx`  
below, leaving the *globals* and *locals* arguments set to *NULL* and  
*level* set to 0.  When the *name* argument contains a dot (when it  
specifies a submodule of a package), the *fromlist* argument is set to the  
list ``['*']`` so that the return value is the named module rather than the  
top-level package containing it as would otherwise be the case.   
(Unfortunately, this has an additional side effect when *name* in fact  
specifies a subpackage instead of a submodule: the submodules specified in  
the package's ``__all__`` variable are  loaded.)  Return a new reference to  
the imported module, or *NULL* with an exception set on failure.  A failing  
import of a module doesn't leave the module in :data:`sys.modules`."
+msgstr ""
+
+#: ../../c-api/import.rst:28
+#: ../../c-api/import.rst:89
+# 1cf85170d38d49a69a7bc9be562642a2
+# cd0ddcf8582d428981eec4cb369abb39
+msgid "This function always uses absolute imports."
+msgstr ""
+
+#: ../../c-api/import.rst:33
+# bbb89d923ef54edeb366e3dfa3593ec3
+msgid "This function is a deprecated alias  
of :c:func:`PyImport_ImportModule`."
+msgstr ""
+
+#: ../../c-api/import.rst:46
+# 5547da3f301b40f9ba36ee3298546be5
+msgid "Import a module.  This is best described by referring to the  
built-in Python function :func:`__import__`."
+msgstr ""
+
+#: ../../c-api/import.rst:49
+#: ../../c-api/import.rst:65
+# 916f57dfe1cf447c85f036b787998721
+# 52d3a15cada342f09d195303ab4c036c
+msgid "The return value is a new reference to the imported module or  
top-level package, or *NULL* with an exception set on failure.  Like  
for :func:`__import__`, the return value when a submodule of a package was  
requested is normally the top-level package, unless a non-empty *fromlist*  
was given."
+msgstr ""
+
+#: ../../c-api/import.rst:55
+# bf26677d47ca4f56979b07fcb6ef4cbc
+msgid "Failing imports remove incomplete module objects, like  
with :c:func:`PyImport_ImportModule`."
+msgstr ""
+
+#: ../../c-api/import.rst:61
+# 578cc7ed9d424de1a57dde9b5afa5172
+msgid "Import a module.  This is best described by referring to the  
built-in Python function :func:`__import__`, as the  
standard :func:`__import__` function calls this function directly."
+msgstr ""
+
+#: ../../c-api/import.rst:75
+# 8119045830704c48a145dde2a34d1df5
+msgid "Similar to :c:func:`PyImport_ImportModuleLevelObject`, but the name  
is an UTF-8 encoded string instead of a Unicode object."
+msgstr ""
+
+#: ../../c-api/import.rst:83
+# c3f28f50f2934edea340f53dd5c3397b
+msgid "This is a higher-level interface that calls the current \"import  
hook function\" (with an explicit *level* of 0, meaning absolute import).   
It invokes the :func:`__import__` function from the ``__builtins__`` of the  
current globals.  This means that the import is done using whatever import  
hooks are installed in the current environment."
+msgstr ""
+
+#: ../../c-api/import.rst:94
+# 47ef18fc56e44897b6c70f8d520eae63
+msgid "Reload a module.  Return a new reference to the reloaded module, or  
*NULL* with an exception set on failure (the module still exists in this  
case)."
+msgstr ""
+
+#: ../../c-api/import.rst:100
+# 85fb4ffca4d843e2b41d55c08edc0cc2
+msgid "Return the module object corresponding to a module name.  The  
*name* argument may be of the form ``package.module``. First check the  
modules dictionary if there's one there, and if not, create a new one and  
insert it in the modules dictionary. Return *NULL* with an exception set on  
failure."
+msgstr ""
+
+#: ../../c-api/import.rst:107
+# c3a551077ed94b6f91c62792e49068c8
+msgid "This function does not load or import the module; if the module  
wasn't already loaded, you will get an empty module object.  
Use :c:func:`PyImport_ImportModule` or one of its variants to import a  
module.  Package structures implied by a dotted name for *name* are not  
created if not already present."
+msgstr ""
+
+#: ../../c-api/import.rst:117
+# f39f13b8334b4216ba42d6be21685b95
+msgid "Similar to :c:func:`PyImport_AddModuleObject`, but the name is a  
UTF-8 encoded string instead of a Unicode object."
+msgstr ""
+
+#: ../../c-api/import.rst:125
+# 645b5ec70d704de9a476048fcd801371
+msgid "Given a module name (possibly of the form ``package.module``) and a  
code object read from a Python bytecode file or obtained from the built-in  
function :func:`compile`, load the module.  Return a new reference to the  
module object, or *NULL* with an exception set if an error occurred.   
*name* is removed from :attr:`sys.modules` in error cases, even if *name*  
was already in :attr:`sys.modules` on entry  
to :c:func:`PyImport_ExecCodeModule`.  Leaving incompletely initialized  
modules in :attr:`sys.modules` is dangerous, as imports of such modules  
have no way to know that the module object is an unknown (and probably  
damaged with respect to the module author's intents) state."
+msgstr ""
+
+#: ../../c-api/import.rst:135
+# 11689f3053ca4f28a6469bf0c6eb9554
+msgid "The module's :attr:`__file__` attribute will be set to the code  
object's :c:member:`co_filename`."
+msgstr ""
+
+#: ../../c-api/import.rst:138
+# 945cfad7138142bba3b98f415452d1ce
+msgid "This function will reload the module if it was already imported.   
See :c:func:`PyImport_ReloadModule` for the intended way to reload a  
module."
+msgstr ""
+
+#: ../../c-api/import.rst:141
+# 8ac4d451417740e4a2f5fa45c5ab9231
+msgid "If *name* points to a dotted name of the form ``package.module``,  
any package structures not already created will still not be created."
+msgstr ""
+
+#: ../../c-api/import.rst:144
+# fd2e410dacc44b938cb797a3015c355e
+msgid "See also :c:func:`PyImport_ExecCodeModuleEx`  
and :c:func:`PyImport_ExecCodeModuleWithPathnames`."
+msgstr ""
+
+#: ../../c-api/import.rst:150
+# aecce65d0268422691e8a280e59a3292
+msgid "Like :c:func:`PyImport_ExecCodeModule`, but the :attr:`__file__`  
attribute of the module object is set to *pathname* if it is non-``NULL``."
+msgstr ""
+
+#: ../../c-api/import.rst:153
+# 081025d827c74d2187ced09b9fdb7fd1
+msgid "See also :c:func:`PyImport_ExecCodeModuleWithPathnames`."
+msgstr ""
+
+#: ../../c-api/import.rst:158
+# e5c48513736349fa9842953f1c18f137
+msgid "Like :c:func:`PyImport_ExecCodeModuleEx`, but  
the :attr:`__cached__` attribute of the module object is set to *cpathname*  
if it is non-``NULL``.  Of the three functions, this is the preferred one  
to use."
+msgstr ""
+
+#: ../../c-api/import.rst:167
+# b604437d4c5246c8abd34e6ad4b50482
+msgid "Like :c:func:`PyImport_ExecCodeModuleObject`, but *name*,  
*pathname* and *cpathname* are UTF-8 encoded strings. Attempts are also  
made to figure out what the value for *pathname* should be from *cpathname*  
if the former is set to ``NULL``."
+msgstr ""
+
+#: ../../c-api/import.rst:180
+# cc94d75386dd43b199616a71fa64d4c9
+msgid "Return the magic number for Python bytecode files  
(a.k.a. :file:`.pyc` and :file:`.pyo` files).  The magic number should be  
present in the first four bytes of the bytecode file, in little-endian byte  
order. Returns -1 on error."
+msgstr ""
+
+#: ../../c-api/import.rst:190
+# 3b2b536f53be415581f22afd7d5868a7
+msgid "Return the magic tag string for :pep:`3147` format Python bytecode  
file names.  Keep in mind that the value at  
``sys.implementation.cache_tag`` is authoritative and should be used  
instead of this function."
+msgstr ""
+
+#: ../../c-api/import.rst:198
+# b9cf85e4c60d48c9b08ef386e8303dfe
+msgid "Return the dictionary used for the module administration (a.k.a.  
``sys.modules``).  Note that this is a per-interpreter variable."
+msgstr ""
+
+#: ../../c-api/import.rst:204
+# 0854861a28ff449fbcbe23ab317b0d90
+msgid "Return an importer object for  
a :data:`sys.path`/:attr:`pkg.__path__` item *path*, possibly by fetching  
it from the :data:`sys.path_importer_cache` dict.  If it wasn't yet cached,  
traverse :data:`sys.path_hooks` until a hook is found that can handle the  
path item.  Return ``None`` if no hook could; this tells our caller it  
should fall back to the built-in import mechanism. Cache the result  
in :data:`sys.path_importer_cache`.  Return a new reference to the importer  
object."
+msgstr ""
+
+#: ../../c-api/import.rst:215
+# b50d72206e144e40b2efef74338ccfe9
+msgid "Initialize the import mechanism.  For internal use only."
+msgstr ""
+
+#: ../../c-api/import.rst:220
+# 8fd6c0de2547441fb69705158ff37624
+msgid "Empty the module table.  For internal use only."
+msgstr ""
+
+#: ../../c-api/import.rst:225
+# decbb68349f74ee49eb67dc6441c7146
+msgid "Finalize the import mechanism.  For internal use only."
+msgstr ""
+
+#: ../../c-api/import.rst:230
+#: ../../c-api/import.rst:235
+# bace7453a28b4b239b2ecfc43c5a9bc2
+# 6b93b15e33144d818305df2c6c54801c
+msgid "For internal use only."
+msgstr ""
+
+#: ../../c-api/import.rst:240
+# 9745286e5b294f86afdee240d7fd4da3
+msgid "Load a frozen module named *name*.  Return ``1`` for success, ``0``  
if the module is not found, and ``-1`` with an exception set if the  
initialization failed.  To access the imported module on a successful load,  
use :c:func:`PyImport_ImportModule`.  (Note the misnomer --- this function  
would reload the module if it was already imported.)"
+msgstr ""
+
+#: ../../c-api/import.rst:251
+# c4bd1977f1f34001b35f5fa7f34afe07
+msgid "Similar to :c:func:`PyImport_ImportFrozenModuleObject`, but the  
name is a UTF-8 encoded string instead of a Unicode object."
+msgstr ""
+
+#: ../../c-api/import.rst:259
+# 1d83a518b42b4f978bd1a8c9507190ec
+msgid "This is the structure type definition for frozen module  
descriptors, as generated by the :program:`freeze` utility  
(see :file:`Tools/freeze/` in the Python source distribution).  Its  
definition, found in :file:`Include/import.h`, is::"
+msgstr ""
+
+#: ../../c-api/import.rst:273
+# 27bdc1e697f742bb9108b71f01492186
+msgid "This pointer is initialized to point to an array of :c:type:`struct  
_frozen` records, terminated by one whose members are all *NULL* or zero.   
When a frozen module is imported, it is searched in this table.   
Third-party code could play tricks with this to provide a dynamically  
created collection of frozen modules."
+msgstr ""
+
+#: ../../c-api/import.rst:281
+# 915423711f074cda9f82399e21bf2c31
+msgid "Add a single module to the existing table of built-in modules.   
This is a convenience wrapper around :c:func:`PyImport_ExtendInittab`,  
returning ``-1`` if the table could not be extended.  The new module can be  
imported by the name *name*, and uses the function *initfunc* as the  
initialization function called on the first attempted import.  This should  
be called before :c:func:`Py_Initialize`."
+msgstr ""
+
+#: ../../c-api/import.rst:291
+# e354c84821bb481c9683743497cdb6c7
+msgid "Structure describing a single entry in the list of built-in  
modules.  Each of these structures gives the name and initialization  
function for a module built into the interpreter.  The name is an ASCII  
encoded string.  Programs which embed Python may use an array of these  
structures in conjunction with :c:func:`PyImport_ExtendInittab` to provide  
additional built-in modules. The structure is defined  
in :file:`Include/import.h` as::"
+msgstr ""
+
+#: ../../c-api/import.rst:306
+# 3e9aa11c37dd4df3a0b9818b5b832c44
+msgid "Add a collection of modules to the table of built-in modules.  The  
*newtab* array must end with a sentinel entry which contains *NULL* for  
the :attr:`name` field; failure to provide the sentinel value can result in  
a memory fault. Returns ``0`` on success or ``-1`` if insufficient memory  
could be allocated to extend the internal table.  In the event of failure,  
no modules are added to the internal table.  This should be called  
before :c:func:`Py_Initialize`."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/index.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,28 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/index.rst:5
+# ccc0795b7dbd4606be17d0c3790f1563
+msgid "Python/C API Reference Manual"
+msgstr ""
+
+#: ../../c-api/index.rst:7
+# 5ba084ca49e048fc9dcc8af87ee70945
+msgid "This manual documents the API used by C and C++ programmers who  
want to write extension modules or embed Python.  It is a companion  
to :ref:`extending-index`, which describes the general principles of  
extension writing but does not document the API functions in detail."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/init.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,901 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/init.rst:8
+# 8eaec39543b2443a9a4b45b0a41ffa8f
+msgid "Initialization, Finalization, and Threads"
+msgstr ""
+
+#: ../../c-api/init.rst:12
+# d0b680fef618458699ed526951643728
+msgid "Initializing and finalizing the interpreter"
+msgstr ""
+
+#: ../../c-api/init.rst:30
+# 8986f7a9e1d94e1cabf82c93539a5f4b
+msgid "Initialize the Python interpreter.  In an application embedding   
Python, this should be called before using any other Python/C API  
functions; with the exception  
of :c:func:`Py_SetProgramName`, :c:func:`Py_SetPythonHome`  
and :c:func:`Py_SetPath`.  This initializes the table of loaded modules  
(``sys.modules``), and creates the fundamental  
modules :mod:`builtins`, :mod:`__main__` and :mod:`sys`.  It also  
initializes the module search path (``sys.path``). It does not set  
``sys.argv``; use :c:func:`PySys_SetArgvEx` for that.  This is a no-op when  
called for a second time (without calling :c:func:`Py_Finalize` first).   
There is no return value; it is a fatal error if the initialization fails."
+msgstr ""
+
+#: ../../c-api/init.rst:43
+# abd49cb4c6894a1ab60af667c778afd3
+msgid "This function works like :c:func:`Py_Initialize` if *initsigs* is  
1. If *initsigs* is 0, it skips initialization registration of signal  
handlers, which might be useful when Python is embedded."
+msgstr ""
+
+#: ../../c-api/init.rst:50
+# f699c3a5f076406080611abd9bd59674
+msgid "Return true (nonzero) when the Python interpreter has been  
initialized, false (zero) if not.  After :c:func:`Py_Finalize` is called,  
this returns false until :c:func:`Py_Initialize` is called again."
+msgstr ""
+
+#: ../../c-api/init.rst:57
+# 529fe5dbfbc847e6a4ae2ea92c6c297c
+msgid "Undo all initializations made by :c:func:`Py_Initialize` and  
subsequent use of Python/C API functions, and destroy all sub-interpreters  
(see :c:func:`Py_NewInterpreter` below) that were created and not yet  
destroyed since the last call to :c:func:`Py_Initialize`.  Ideally, this  
frees all memory allocated by the Python interpreter.  This is a no-op when  
called for a second time (without calling :c:func:`Py_Initialize` again  
first).  There is no return value; errors during finalization are ignored."
+msgstr ""
+
+#: ../../c-api/init.rst:65
+# 9f4448f2fadb4cdbb161869a801ad486
+msgid "This function is provided for a number of reasons.  An embedding  
application might want to restart Python without having to restart the  
application itself. An application that has loaded the Python interpreter  
from a dynamically loadable library (or DLL) might want to free all memory  
allocated by Python before unloading the DLL. During a hunt for memory  
leaks in an application a developer might want to free all memory allocated  
by Python before exiting from the application."
+msgstr ""
+
+#: ../../c-api/init.rst:73
+# 23de868a325544b2a10654de75bdf097
+msgid "**Bugs and caveats:** The destruction of modules and objects in  
modules is done in random order; this may cause destructors  
(:meth:`__del__` methods) to fail when they depend on other objects (even  
functions) or modules.  Dynamically loaded extension modules loaded by  
Python are not unloaded.  Small amounts of memory allocated by the Python  
interpreter may not be freed (if you find a leak, please report it).   
Memory tied up in circular references between objects is not freed.  Some  
memory allocated by extension modules may not be freed.  Some extensions  
may not work properly if their initialization routine is called more than  
once; this can happen if an application calls :c:func:`Py_Initialize`  
and :c:func:`Py_Finalize` more than once."
+msgstr ""
+
+#: ../../c-api/init.rst:86
+# 980c0b8668eb4779bddfd132fc7595b1
+msgid "Process-wide parameters"
+msgstr ""
+
+#: ../../c-api/init.rst:96
+# 5459a3f1c7b54e80b52eb2091042168d
+msgid "This function should be called before :c:func:`Py_Initialize` is  
called for the first time, if it is called at all.  It tells the  
interpreter the value of the ``argv[0]`` argument to the :c:func:`main`  
function of the program (converted to wide characters). This is used  
by :c:func:`Py_GetPath` and some other functions below to find the Python  
run-time libraries relative to the interpreter executable.  The default  
value is ``'python'``.  The argument should point to a zero-terminated wide  
character string in static storage whose contents will not change for the  
duration of the program's execution.  No code in the Python interpreter  
will change the contents of this storage."
+msgstr ""
+
+#: ../../c-api/init.rst:112
+# 10399d23d7dc417194c233a1b3b8e439
+msgid "Return the program name set with :c:func:`Py_SetProgramName`, or  
the default. The returned string points into static storage; the caller  
should not modify its value."
+msgstr ""
+
+#: ../../c-api/init.rst:119
+# de5ed9fd75474a63b67d6696d76c8b3f
+msgid "Return the *prefix* for installed platform-independent files. This  
is derived through a number of complicated rules from the program name set  
with :c:func:`Py_SetProgramName` and some environment variables; for  
example, if the program name is ``'/usr/local/bin/python'``, the prefix is  
``'/usr/local'``. The returned string points into static storage; the  
caller should not modify its value.  This corresponds to  
the :makevar:`prefix` variable in the top-level :file:`Makefile` and the  
``--prefix`` argument to the :program:`configure` script at build time.   
The value is available to Python code as ``sys.prefix``. It is only useful  
on Unix.  See also the next function."
+msgstr ""
+
+#: ../../c-api/init.rst:132
+# ed8d21a3908445e2ae1cb0b8a18d1578
+msgid "Return the *exec-prefix* for installed platform-*dependent* files.   
This is derived through a number of complicated rules from the program name  
set with :c:func:`Py_SetProgramName` and some environment variables; for  
example, if the program name is ``'/usr/local/bin/python'``, the  
exec-prefix is ``'/usr/local'``.  The returned string points into static  
storage; the caller should not modify its value.  This corresponds to  
the :makevar:`exec_prefix` variable in the top-level :file:`Makefile` and  
the ``--exec-prefix`` argument to the :program:`configure` script at build   
time.  The value is available to Python code as ``sys.exec_prefix``.  It is  
only useful on Unix."
+msgstr ""
+
+#: ../../c-api/init.rst:142
+# baa7d20cb16d42aa88ad79cb43450da8
+msgid "Background: The exec-prefix differs from the prefix when platform  
dependent files (such as executables and shared libraries) are installed in  
a different directory tree.  In a typical installation, platform dependent  
files may be installed in the :file:`/usr/local/plat` subtree while  
platform independent may be installed in :file:`/usr/local`."
+msgstr ""
+
+#: ../../c-api/init.rst:148
+# 0e8664d195bb46fc9d3b8a8cfc490a50
+msgid "Generally speaking, a platform is a combination of hardware and  
software families, e.g.  Sparc machines running the Solaris 2.x operating  
system are considered the same platform, but Intel machines running Solaris  
2.x are another platform, and Intel machines running Linux are yet another  
platform.  Different major revisions of the same operating system generally  
also form different platforms.  Non-Unix operating systems are a different  
story; the installation strategies on those systems are so different that  
the prefix and exec-prefix are meaningless, and set to the empty string.  
Note that compiled Python bytecode files are platform independent (but not  
independent from the Python version by which they were compiled!)."
+msgstr ""
+
+#: ../../c-api/init.rst:159
+# 46519325234c40b99a2ac7c01538989b
+msgid "System administrators will know how to configure  
the :program:`mount` or :program:`automount` programs to  
share :file:`/usr/local` between platforms while  
having :file:`/usr/local/plat` be a different filesystem for each platform."
+msgstr ""
+
+#: ../../c-api/init.rst:171
+# e75e12df306446b1846fdc2db91ac538
+msgid "Return the full program name of the Python executable; this is   
computed as a side-effect of deriving the default module search path  from  
the program name (set by :c:func:`Py_SetProgramName` above). The returned  
string points into static storage; the caller should not modify its value.   
The value is available to Python code as ``sys.executable``."
+msgstr ""
+
+#: ../../c-api/init.rst:185
+# b0e86d6e7d7a4f1c9229676b6080ad12
+msgid "Return the default module search path; this is computed from the  
program name (set by :c:func:`Py_SetProgramName` above) and some  
environment variables. The returned string consists of a series of  
directory names separated by a platform dependent delimiter character.  The  
delimiter character is ``':'`` on Unix and Mac OS X, ``';'`` on Windows.   
The returned string points into static storage; the caller should not  
modify its value.  The list :data:`sys.path` is initialized with this value  
on interpreter startup; it can be (and usually is) modified later to change  
the search path for loading modules."
+msgstr ""
+
+#: ../../c-api/init.rst:205
+# 35caeb0b3020454e90f33e8fe8e58f9b
+msgid "Set the default module search path.  If this function is called  
before :c:func:`Py_Initialize`, then :c:func:`Py_GetPath` won't attempt to  
compute a default search path but uses the one provided instead.  This is  
useful if Python is embedded by an application that has full knowledge of  
the location of all modules.  The path components should be separated by  
semicolons."
+msgstr ""
+
+#: ../../c-api/init.rst:211
+# 545604c824964998a142f4398de1b4f9
+msgid "This also causes :data:`sys.executable` to be set only to the raw  
program name (see :c:func:`Py_SetProgramName`) and for :data:`sys.prefix`  
and :data:`sys.exec_prefix` to be empty.  It is up to the caller to modify  
these if required after calling :c:func:`Py_Initialize`."
+msgstr ""
+
+#: ../../c-api/init.rst:219
+# 43bfaa31580943418cd2e6ab4263a13e
+msgid "Return the version of this Python interpreter.  This is a string  
that looks something like ::"
+msgstr ""
+
+#: ../../c-api/init.rst:226
+# 9a64e411a7324e0bb234bf44770ca8e1
+msgid "The first word (up to the first space character) is the current  
Python version; the first three characters are the major and minor version  
separated by a period.  The returned string points into static storage; the  
caller should not modify its value.  The value is available to Python code  
as :data:`sys.version`."
+msgstr ""
+
+#: ../../c-api/init.rst:236
+# b4f6b69b634045b6b1cecd4b66473796
+msgid "Return the platform identifier for the current platform.  On Unix,  
this is formed from the \"official\" name of the operating system,  
converted to lower case, followed by the major revision number; e.g., for  
Solaris 2.x, which is also known as SunOS 5.x, the value is ``'sunos5'``.   
On Mac OS X, it is ``'darwin'``.  On Windows, it is ``'win'``.  The  
returned string points into static storage; the caller should not modify  
its value.  The value is available to Python code as ``sys.platform``."
+msgstr ""
+
+#: ../../c-api/init.rst:247
+# 12c255f6aa0c46a8bd6811159e547d32
+msgid "Return the official copyright string for the current Python  
version, for example"
+msgstr ""
+
+#: ../../c-api/init.rst:249
+# 5d15fee7fdf8417cbafabf12a0546c7e
+msgid "``'Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam'``"
+msgstr ""
+
+#: ../../c-api/init.rst:253
+# 41a8488f167a4e26b5b20b5745ed0b21
+msgid "The returned string points into static storage; the caller should  
not modify its value.  The value is available to Python code as  
``sys.copyright``."
+msgstr ""
+
+#: ../../c-api/init.rst:259
+# 3a8feb4d48bc4b1cac4b2b7979d74b43
+msgid "Return an indication of the compiler used to build the current  
Python version, in square brackets, for example::"
+msgstr ""
+
+#: ../../c-api/init.rst:266
+#: ../../c-api/init.rst:280
+# fa81dd0603534d47a71d55fabd9fd06a
+# a047abfc452e4d2e830a5819924b77e7
+msgid "The returned string points into static storage; the caller should  
not modify its value.  The value is available to Python code as part of the  
variable ``sys.version``."
+msgstr ""
+
+#: ../../c-api/init.rst:273
+# 3a3c735d837147da8d5dbe0124a689bf
+msgid "Return information about the sequence number and build date and  
time  of the current Python interpreter instance, for example ::"
+msgstr ""
+
+#: ../../c-api/init.rst:292
+# 4218761fce1140b783fc546a593759d3
+msgid "Set :data:`sys.argv` based on *argc* and *argv*.  These parameters  
are similar to those passed to the program's :c:func:`main` function with  
the difference that the first entry should refer to the script file to be  
executed rather than the executable hosting the Python interpreter.  If  
there isn't a script that will be run, the first entry in *argv* can be an  
empty string.  If this function fails to initialize :data:`sys.argv`, a  
fatal condition is signalled using :c:func:`Py_FatalError`."
+msgstr ""
+
+#: ../../c-api/init.rst:300
+# f5716c55cf724c70ae523f149befbbf6
+msgid "If *updatepath* is zero, this is all the function does.  If  
*updatepath* is non-zero, the function also modifies :data:`sys.path`  
according to the following algorithm:"
+msgstr ""
+
+#: ../../c-api/init.rst:304
+# 3558313cca67436296fa9796a9177ee9
+msgid "If the name of an existing script is passed in ``argv[0]``, the  
absolute path of the directory where the script is located is prepended  
to :data:`sys.path`."
+msgstr ""
+
+#: ../../c-api/init.rst:307
+# efc2dfc18928494f94f7c8d10aca4ca5
+msgid "Otherwise (that is, if *argc* is 0 or ``argv[0]`` doesn't point to  
an existing file name), an empty string is prepended to :data:`sys.path`,  
which is the same as prepending the current working directory (``\".\"``)."
+msgstr ""
+
+#: ../../c-api/init.rst:313
+# 432ae69717cb443786a1ca5f2eb9ec35
+msgid "It is recommended that applications embedding the Python  
interpreter for purposes other than executing a single script pass 0 as  
*updatepath*, and update :data:`sys.path` themselves if desired. See  
`CVE-2008-5983  
<http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5983>`_."
+msgstr ""
+
+#: ../../c-api/init.rst:318
+# 8fdc7f085b624d65b28253c6ec3d9007
+msgid "On versions before 3.1.3, you can achieve the same effect by  
manually popping the first :data:`sys.path` element after having  
called :c:func:`PySys_SetArgv`, for example using::"
+msgstr ""
+
+#: ../../c-api/init.rst:332
+# f6e195dfe59f4bf98022893754b15530
+msgid "This function works like :c:func:`PySys_SetArgvEx` with  
*updatepath* set to 1."
+msgstr ""
+
+#: ../../c-api/init.rst:337
+# 5f841a37c1cd4d318f906f0044175b1b
+msgid "Set the default \"home\" directory, that is, the location of the  
standard Python libraries.  See :envvar:`PYTHONHOME` for the meaning of the  
argument string."
+msgstr ""
+
+#: ../../c-api/init.rst:341
+# 8cf99e70fd2f4ed99afef159e6bab270
+msgid "The argument should point to a zero-terminated character string in  
static storage whose contents will not change for the duration of the  
program's execution.  No code in the Python interpreter will change the  
contents of this storage."
+msgstr ""
+
+#: ../../c-api/init.rst:349
+# ca135cb7698042e8b4407281c0480102
+msgid "Return the default \"home\", that is, the value set by a previous  
call to :c:func:`Py_SetPythonHome`, or the value of  
the :envvar:`PYTHONHOME` environment variable if it is set."
+msgstr ""
+
+#: ../../c-api/init.rst:357
+# f448e4d9c32442a6a6e6c0bdee3d6dbc
+msgid "Thread State and the Global Interpreter Lock"
+msgstr ""
+
+#: ../../c-api/init.rst:364
+# 0d13ef0e9982465c9003609723b19dd4
+msgid "The Python interpreter is not fully thread-safe.  In order to  
support multi-threaded Python programs, there's a global lock, called  
the :term:`global interpreter lock` or :term:`GIL`, that must be held by  
the current thread before it can safely access Python objects. Without the  
lock, even the simplest operations could cause problems in a multi-threaded  
program: for example, when two threads simultaneously increment the  
reference count of the same object, the reference count could end up being  
incremented only once instead of twice."
+msgstr ""
+
+#: ../../c-api/init.rst:374
+# d436420f808649b299c7b36c592e77f5
+msgid "Therefore, the rule exists that only the thread that has acquired  
the :term:`GIL` may operate on Python objects or call Python/C API  
functions. In order to emulate concurrency of execution, the interpreter  
regularly tries to switch threads (see :func:`sys.setswitchinterval`).  The  
lock is also released around potentially blocking I/O operations like  
reading or writing a file, so that other Python threads can run in the  
meantime."
+msgstr ""
+
+#: ../../c-api/init.rst:385
+# b7f5154d03f84159ab549eb66242bc28
+msgid "The Python interpreter keeps some thread-specific bookkeeping  
information inside a data structure called :c:type:`PyThreadState`.   
There's also one global variable pointing to the  
current :c:type:`PyThreadState`: it can be retrieved  
using :c:func:`PyThreadState_Get`."
+msgstr ""
+
+#: ../../c-api/init.rst:391
+# ed51e59d807d4128b2d64b7883b34449
+msgid "Releasing the GIL from extension code"
+msgstr ""
+
+#: ../../c-api/init.rst:393
+# eac91efec0b6416b894cbb4b2b1c35a2
+msgid "Most extension code manipulating the :term:`GIL` has the following  
simple structure::"
+msgstr ""
+
+#: ../../c-api/init.rst:402
+# b25f5b16c3354d0983722f7baa7e029c
+msgid "This is so common that a pair of macros exists to simplify it::"
+msgstr ""
+
+#: ../../c-api/init.rst:412
+# 0cb6c0683d7c4476a0a399d4f86a5d6d
+msgid "The :c:macro:`Py_BEGIN_ALLOW_THREADS` macro opens a new block and  
declares a hidden local variable; the :c:macro:`Py_END_ALLOW_THREADS` macro  
closes the block.  These two macros are still available when Python is  
compiled without thread support (they simply have an empty expansion)."
+msgstr ""
+
+#: ../../c-api/init.rst:417
+# 50fdfd9cbe4b428ca5f78a3f3f80202d
+msgid "When thread support is enabled, the block above expands to the  
following code::"
+msgstr ""
+
+#: ../../c-api/init.rst:429
+# 35beed35aad54858a17190d0f53213dd
+msgid "Here is how these functions work: the global interpreter lock is  
used to protect the pointer to the current thread state.  When releasing  
the lock and saving the thread state, the current thread state pointer must  
be retrieved before the lock is released (since another thread could  
immediately acquire the lock and store its own thread state in the global  
variable). Conversely, when acquiring the lock and restoring the thread  
state, the lock must be acquired before storing the thread state pointer."
+msgstr ""
+
+#: ../../c-api/init.rst:438
+# 8da5ac83f4b7497c873dbb79e140d177
+msgid "Calling system I/O functions is the most common use case for  
releasing the GIL, but it can also be useful before calling long-running  
computations which don't need access to Python objects, such as compression  
or cryptographic functions operating over memory buffers.  For example, the  
standard :mod:`zlib` and :mod:`hashlib` modules release the GIL when  
compressing or hashing data."
+msgstr ""
+
+#: ../../c-api/init.rst:446
+# 3f9e3be9cdd2496b83a8b097387a1da1
+msgid "Non-Python created threads"
+msgstr ""
+
+#: ../../c-api/init.rst:448
+# 05ac2fa3ab0342a1b113649f071c3eab
+msgid "When threads are created using the dedicated Python APIs (such as  
the :mod:`threading` module), a thread state is automatically associated to  
them and the code showed above is therefore correct.  However, when threads  
are created from C (for example by a third-party library with its own  
thread management), they don't hold the GIL, nor is there a thread state  
structure for them."
+msgstr ""
+
+#: ../../c-api/init.rst:455
+# d540f6d51b7345d696aa3a2fff40cb40
+msgid "If you need to call Python code from these threads (often this will  
be part of a callback API provided by the aforementioned third-party  
library), you must first register these threads with the interpreter by  
creating a thread state data structure, then acquiring the GIL, and finally  
storing their thread state pointer, before you can start using the Python/C  
API.  When you are done, you should reset the thread state pointer, release  
the GIL, and finally free the thread state data structure."
+msgstr ""
+
+#: ../../c-api/init.rst:463
+# 8b7453c76a1e45f787b178b996feff32
+msgid "The :c:func:`PyGILState_Ensure` and :c:func:`PyGILState_Release`  
functions do all of the above automatically.  The typical idiom for calling  
into Python from a C thread is::"
+msgstr ""
+
+#: ../../c-api/init.rst:477
+# 12874d11065541138c88d6e76d3b0c95
+msgid "Note that the :c:func:`PyGILState_\\*` functions assume there is  
only one global interpreter (created automatically  
by :c:func:`Py_Initialize`).  Python supports the creation of additional  
interpreters (using :c:func:`Py_NewInterpreter`), but mixing multiple  
interpreters and the :c:func:`PyGILState_\\*` API is unsupported."
+msgstr ""
+
+#: ../../c-api/init.rst:483
+# cafdde45a16341a09ce8656ec8a247c5
+msgid "Another important thing to note about threads is their behaviour in  
the face of the C :c:func:`fork` call. On most systems with :c:func:`fork`,  
after a process forks only the thread that issued the fork will exist. That  
also means any locks held by other threads will never be released. Python  
solves this for :func:`os.fork` by acquiring the locks it uses internally  
before the fork, and releasing them afterwards. In addition, it resets  
any :ref:`lock-objects` in the child. When extending or embedding Python,  
there is no way to inform Python of additional (non-Python) locks that need  
to be acquired before or reset after a fork. OS facilities such  
as :c:func:`pthread_atfork` would need to be used to accomplish the same  
thing. Additionally, when extending or embedding Python,  
calling :c:func:`fork` directly rather than through :func:`os.fork` (and  
returning to or calling into Python) may result in a deadlock by one of  
Python's internal locks being held by a thread that is defunct after the  
fork. :c:func:`PyOS_AfterFork` tries to reset the necessary locks, but is  
not always able to."
+msgstr ""
+
+#: ../../c-api/init.rst:502
+# bc1b81f69fdd4ac9b49ab76714ac2f2c
+msgid "High-level API"
+msgstr ""
+
+#: ../../c-api/init.rst:504
+# d4571e82cc8f4999904d8fb88d393da2
+msgid "These are the most commonly used types and functions when writing C  
extension code, or when embedding the Python interpreter:"
+msgstr ""
+
+#: ../../c-api/init.rst:509
+# d35f83ad398847c38e33788f403962ab
+msgid "This data structure represents the state shared by a number of  
cooperating threads.  Threads belonging to the same interpreter share their  
module administration and a few other internal items. There are no public  
members in this structure."
+msgstr ""
+
+#: ../../c-api/init.rst:514
+# 7caa215a4aa345a0bbcf615aaa35334c
+msgid "Threads belonging to different interpreters initially share  
nothing, except process state like available memory, open file descriptors  
and such.  The global interpreter lock is also shared by all threads,  
regardless of to which interpreter they belong."
+msgstr ""
+
+#: ../../c-api/init.rst:522
+# ec6245159b8645e191823b52e4134980
+msgid "This data structure represents the state of a single thread.  The  
only public data member is :c:type:`PyInterpreterState \\*`:attr:`interp`,  
which points to this thread's interpreter state."
+msgstr ""
+
+#: ../../c-api/init.rst:535
+# c2b02dab13254ae2a40398d6f6f59a02
+msgid "Initialize and acquire the global interpreter lock.  It should be  
called in the main thread before creating a second thread or engaging in  
any other thread operations such as ``PyEval_ReleaseThread(tstate)``. It is  
not needed before calling :c:func:`PyEval_SaveThread`  
or :c:func:`PyEval_RestoreThread`."
+msgstr ""
+
+#: ../../c-api/init.rst:540
+# 872cffc140874cdb8f95c313f7cca7e4
+msgid "This is a no-op when called for a second time."
+msgstr ""
+
+#: ../../c-api/init.rst:548
+# 2f199b412773426f9c0fc25a06dfc4c8
+msgid "When only the main thread exists, no GIL operations are needed.  
This is a common situation (most Python programs do not use threads), and  
the lock operations slow the interpreter down a bit. Therefore, the lock is  
not created initially.  This situation is equivalent to having acquired the  
lock: when there is only a single thread, all object accesses are safe.   
Therefore, when this function initializes the global interpreter lock, it  
also acquires it.  Before the Python :mod:`_thread` module creates a new  
thread, knowing that either it has the lock or the lock hasn't been created  
yet, it calls :c:func:`PyEval_InitThreads`.  When this call returns, it is  
guaranteed that the lock has been created and that the calling thread has  
acquired it."
+msgstr ""
+
+#: ../../c-api/init.rst:559
+# bc2ff10f78394d5d9cca20df8e4ea0ab
+msgid "It is **not** safe to call this function when it is unknown which  
thread (if any) currently has the global interpreter lock."
+msgstr ""
+
+#: ../../c-api/init.rst:562
+# b6f1adc463264f8499b4ad1a68c46eb6
+msgid "This function is not available when thread support is disabled at  
compile time."
+msgstr ""
+
+#: ../../c-api/init.rst:567
+# 2122468e540a439ab193c81c98479670
+msgid "Returns a non-zero value if :c:func:`PyEval_InitThreads` has been  
called.  This function can be called without holding the GIL, and therefore  
can be used to avoid calls to the locking API when running  
single-threaded.  This function is not available when thread support is  
disabled at compile time."
+msgstr ""
+
+#: ../../c-api/init.rst:575
+# e73bb3f7be894ae1b4e2e7fa2994c102
+msgid "Release the global interpreter lock (if it has been created and  
thread support is enabled) and reset the thread state to *NULL*, returning  
the previous thread state (which is not *NULL*).  If the lock has been  
created, the current thread must have acquired it.  (This function is  
available even when thread support is disabled at compile time.)"
+msgstr ""
+
+#: ../../c-api/init.rst:584
+# 6e19e2070f744147b9a8cbe61df23631
+msgid "Acquire the global interpreter lock (if it has been created and  
thread support is enabled) and set the thread state to *tstate*, which must  
not be *NULL*.  If the lock has been created, the current thread must not  
have acquired it, otherwise deadlock ensues.  (This function is available  
even when thread support is disabled at compile time.)"
+msgstr ""
+
+#: ../../c-api/init.rst:593
+# a53811040b404afba53fb8718f61da34
+msgid "Return the current thread state.  The global interpreter lock must  
be held. When the current thread state is *NULL*, this issues a fatal error  
(so that the caller needn't check for *NULL*)."
+msgstr ""
+
+#: ../../c-api/init.rst:600
+# bd82ea9fa5954af19b09e635b5f6c588
+msgid "Swap the current thread state with the thread state given by the  
argument *tstate*, which may be *NULL*.  The global interpreter lock must  
be held and is not released."
+msgstr ""
+
+#: ../../c-api/init.rst:607
+# 54e47c448b79456f917f952c145bd54a
+msgid "This function is called from :c:func:`PyOS_AfterFork` to ensure  
that newly created child processes don't hold locks referring to threads  
which are not running in the child process."
+msgstr ""
+
+#: ../../c-api/init.rst:612
+# 9e48e1b5b8564d5d84d1f6e5a32af27b
+msgid "The following functions use thread-local storage, and are not  
compatible with sub-interpreters:"
+msgstr ""
+
+#: ../../c-api/init.rst:617
+# d8cf1d783a9143b1a3ee3193b09a8fec
+msgid "Ensure that the current thread is ready to call the Python C API  
regardless of the current state of Python, or of the global interpreter  
lock. This may be called as many times as desired by a thread as long as  
each call is matched with a call to :c:func:`PyGILState_Release`. In  
general, other thread-related APIs may be used  
between :c:func:`PyGILState_Ensure` and :c:func:`PyGILState_Release` calls  
as long as the thread state is restored to its previous state before the  
Release().  For example, normal usage of  
the :c:macro:`Py_BEGIN_ALLOW_THREADS` and :c:macro:`Py_END_ALLOW_THREADS`  
macros is acceptable."
+msgstr ""
+
+#: ../../c-api/init.rst:627
+# 68639b53267a43659f9a712698bcb9de
+msgid "The return value is an opaque \"handle\" to the thread state  
when :c:func:`PyGILState_Ensure` was called, and must be passed  
to :c:func:`PyGILState_Release` to ensure Python is left in the same state.  
Even though recursive calls are allowed, these handles *cannot* be shared -  
each unique call to :c:func:`PyGILState_Ensure` must save the handle for  
its call to :c:func:`PyGILState_Release`."
+msgstr ""
+
+#: ../../c-api/init.rst:634
+# e83ea53a92fd440a880061c2fbb97280
+msgid "When the function returns, the current thread will hold the GIL and  
be able to call arbitrary Python code.  Failure is a fatal error."
+msgstr ""
+
+#: ../../c-api/init.rst:640
+# 058b9f3b37734df48a4b58dccbf99366
+msgid "Release any resources previously acquired.  After this call,  
Python's state will be the same as it was prior to the  
corresponding :c:func:`PyGILState_Ensure` call (but generally this state  
will be unknown to the caller, hence the use of the GILState API)."
+msgstr ""
+
+#: ../../c-api/init.rst:645
+# d85ff0a5bec345848987d0a2dda2f90a
+msgid "Every call to :c:func:`PyGILState_Ensure` must be matched by a call  
to :c:func:`PyGILState_Release` on the same thread."
+msgstr ""
+
+#: ../../c-api/init.rst:651
+# b1cf22fe39994d4e86df44f40fea1110
+msgid "Get the current thread state for this thread.  May return ``NULL``  
if no GILState API has been used on the current thread.  Note that the main  
thread always has such a thread-state, even if no auto-thread-state call  
has been made on the main thread.  This is mainly a helper/diagnostic  
function."
+msgstr ""
+
+#: ../../c-api/init.rst:657
+# 3004487f292c48f8adc5d4971f220a79
+msgid "The following macros are normally used without a trailing  
semicolon; look for example usage in the Python source distribution."
+msgstr ""
+
+#: ../../c-api/init.rst:663
+# bd66e9e5d86c4f36aad29cf4abadefed
+msgid "This macro expands to ``{ PyThreadState *_save; _save =  
PyEval_SaveThread();``. Note that it contains an opening brace; it must be  
matched with a following :c:macro:`Py_END_ALLOW_THREADS` macro.  See above  
for further discussion of this macro.  It is a no-op when thread support is  
disabled at compile time."
+msgstr ""
+
+#: ../../c-api/init.rst:671
+# 4bc6cdf80b3d417cb398c097ed7ed0f7
+msgid "This macro expands to ``PyEval_RestoreThread(_save); }``. Note that  
it contains a closing brace; it must be matched with an  
earlier :c:macro:`Py_BEGIN_ALLOW_THREADS` macro.  See above for further  
discussion of this macro.  It is a no-op when thread support is disabled at  
compile time."
+msgstr ""
+
+#: ../../c-api/init.rst:679
+# 4a02cf6fbf094d2bbaff8acb10b875b0
+msgid "This macro expands to ``PyEval_RestoreThread(_save);``: it is  
equivalent to :c:macro:`Py_END_ALLOW_THREADS` without the closing brace.   
It is a no-op when thread support is disabled at compile time."
+msgstr ""
+
+#: ../../c-api/init.rst:686
+# f16b5561938c4a6da9c46520a5e43f15
+msgid "This macro expands to ``_save = PyEval_SaveThread();``: it is  
equivalent to :c:macro:`Py_BEGIN_ALLOW_THREADS` without the opening brace  
and variable declaration.  It is a no-op when thread support is disabled at  
compile time."
+msgstr ""
+
+#: ../../c-api/init.rst:692
+# e7fe98599d724a79be5323c3083c5bb6
+msgid "Low-level API"
+msgstr ""
+
+#: ../../c-api/init.rst:694
+# b91e728d04ce4744a8be713dad43d5e9
+msgid "All of the following functions are only available when thread  
support is enabled at compile time, and must be called only when the global  
interpreter lock has been created."
+msgstr ""
+
+#: ../../c-api/init.rst:701
+# 3bf138ed954f4b56b47936756a6d0657
+msgid "Create a new interpreter state object.  The global interpreter lock  
need not be held, but may be held if it is necessary to serialize calls to  
this function."
+msgstr ""
+
+#: ../../c-api/init.rst:708
+# 60bb827107544f3db0dac71df3a32a57
+msgid "Reset all information in an interpreter state object.  The global  
interpreter lock must be held."
+msgstr ""
+
+#: ../../c-api/init.rst:714
+# 85b0fcdaca1c422a9c71efb48401c56d
+msgid "Destroy an interpreter state object.  The global interpreter lock  
need not be held.  The interpreter state must have been reset with a  
previous call to :c:func:`PyInterpreterState_Clear`."
+msgstr ""
+
+#: ../../c-api/init.rst:721
+# ace1c21efd394762b9ae21fb3e42fff5
+msgid "Create a new thread state object belonging to the given interpreter  
object. The global interpreter lock need not be held, but may be held if it  
is necessary to serialize calls to this function."
+msgstr ""
+
+#: ../../c-api/init.rst:728
+# 56301fd779594f90a7c4e2925520cc0e
+msgid "Reset all information in a thread state object.  The global  
interpreter lock must be held."
+msgstr ""
+
+#: ../../c-api/init.rst:734
+# 6cba9d012d2a41bebc5cb7671aef0793
+msgid "Destroy a thread state object.  The global interpreter lock need  
not be held. The thread state must have been reset with a previous call  
to :c:func:`PyThreadState_Clear`."
+msgstr ""
+
+#: ../../c-api/init.rst:741
+# 4e40b09617fe4e52bacb145765c7ff2f
+msgid "Return a dictionary in which extensions can store thread-specific  
state information.  Each extension should use a unique key to use to store  
state in the dictionary.  It is okay to call this function when no current  
thread state is available. If this function returns *NULL*, no exception  
has been raised and the caller should assume no current thread state is  
available."
+msgstr ""
+
+#: ../../c-api/init.rst:750
+# b709659619e4486aa5ac9e5fdcc8d866
+msgid "Asynchronously raise an exception in a thread. The *id* argument is  
the thread id of the target thread; *exc* is the exception object to be  
raised. This function does not steal any references to *exc*. To prevent  
naive misuse, you must write your own C extension to call this.  Must be  
called with the GIL held. Returns the number of thread states modified;  
this is normally one, but will be zero if the thread id isn't found.  If  
*exc* is :const:`NULL`, the pending exception (if any) for the thread is  
cleared. This raises no exceptions."
+msgstr ""
+
+#: ../../c-api/init.rst:761
+# e947b416ce0143e8aa812392d8482acb
+msgid "Acquire the global interpreter lock and set the current thread  
state to *tstate*, which should not be *NULL*.  The lock must have been  
created earlier. If this thread already has the lock, deadlock ensues."
+msgstr ""
+
+#: ../../c-api/init.rst:765
+# 86b4b6f0f1494701bf9327cc691bcae4
+msgid ":c:func:`PyEval_RestoreThread` is a higher-level function which is  
always available (even when thread support isn't enabled or when threads  
have not been initialized)."
+msgstr ""
+
+#: ../../c-api/init.rst:772
+# 88eee14125b14a9e95fec2f3958b5d69
+msgid "Reset the current thread state to *NULL* and release the global  
interpreter lock.  The lock must have been created earlier and must be held  
by the current thread.  The *tstate* argument, which must not be *NULL*, is  
only used to check that it represents the current thread state --- if it  
isn't, a fatal error is reported."
+msgstr ""
+
+#: ../../c-api/init.rst:778
+# f4fa41364c26420493e25130d3a207a2
+msgid ":c:func:`PyEval_SaveThread` is a higher-level function which is  
always available (even when thread support isn't enabled or when threads  
have not been initialized)."
+msgstr ""
+
+#: ../../c-api/init.rst:785
+# 29e78fc079fc4d06bc0d65e471886ff2
+msgid "Acquire the global interpreter lock.  The lock must have been  
created earlier. If this thread already has the lock, a deadlock ensues."
+msgstr ""
+
+#: ../../c-api/init.rst:796
+# 88899dc55dd74eeb9c14b8b1d06894f9
+msgid "Release the global interpreter lock.  The lock must have been  
created earlier."
+msgstr ""
+
+#: ../../c-api/init.rst:805
+# 24a2800af55240699b4ea1c5ebee2bad
+msgid "Sub-interpreter support"
+msgstr ""
+
+#: ../../c-api/init.rst:807
+# e6eab45a06374b69be00f0a88df83855
+msgid "While in most uses, you will only embed a single Python  
interpreter, there are cases where you need to create several independent  
interpreters in the same process and perhaps even in the same thread.   
Sub-interpreters allow you to do that.  You can switch between  
sub-interpreters using the :c:func:`PyThreadState_Swap` function.  You can  
create and destroy them using the following functions:"
+msgstr ""
+
+#: ../../c-api/init.rst:825
+# 776f264f1663430c906f9d2a49835a4a
+msgid "Create a new sub-interpreter.  This is an (almost) totally separate  
environment for the execution of Python code.  In particular, the new  
interpreter has separate, independent versions of all imported modules,  
including the fundamental modules :mod:`builtins`, :mod:`__main__`  
and :mod:`sys`.  The table of loaded modules (``sys.modules``) and the  
module search path (``sys.path``) are also separate.  The new environment  
has no ``sys.argv`` variable.  It has new standard I/O stream file objects  
``sys.stdin``, ``sys.stdout`` and ``sys.stderr`` (however these refer to  
the same underlying file descriptors)."
+msgstr ""
+
+#: ../../c-api/init.rst:835
+# 74daf3eb81bd4946bd9959c35a2adb3c
+msgid "The return value points to the first thread state created in the  
new sub-interpreter.  This thread state is made in the current thread  
state. Note that no actual thread is created; see the discussion of thread  
states below.  If creation of the new interpreter is unsuccessful, *NULL*  
is returned; no exception is set since the exception state is stored in the  
current thread state and there may not be a current thread state.  (Like  
all other Python/C API functions, the global interpreter lock must be held  
before calling this function and is still held when it returns; however,  
unlike most other Python/C API functions, there needn't be a current thread  
state on entry.)"
+msgstr ""
+
+#: ../../c-api/init.rst:850
+# 27eee5393fba4dd8ae752f34b8cf5715
+msgid "Extension modules are shared between (sub-)interpreters as follows:  
the first time a particular extension is imported, it is initialized  
normally, and a (shallow) copy of its module's dictionary is squirreled  
away.  When the same extension is imported by another (sub-)interpreter, a  
new module is initialized and filled with the contents of this copy; the  
extension's ``init`` function is not called.  Note that this is different  
from what happens when an extension is imported after the interpreter has  
been completely re-initialized by calling :c:func:`Py_Finalize`  
and :c:func:`Py_Initialize`; in that case, the extension's ``initmodule``  
function *is* called again."
+msgstr ""
+
+#: ../../c-api/init.rst:867
+# f63d24524b3e4b69bd4eb7a97c3cd5bf
+msgid "Destroy the (sub-)interpreter represented by the given thread  
state. The given thread state must be the current thread state.  See the  
discussion of thread states below.  When the call returns, the current  
thread state is *NULL*.  All thread states associated with this interpreter  
are destroyed.  (The global interpreter lock must be held before calling  
this function and is still held when it returns.)  :c:func:`Py_Finalize`  
will destroy all sub-interpreters that haven't been explicitly destroyed at  
that point."
+msgstr ""
+
+#: ../../c-api/init.rst:877
+# eac070fb263e4500a34b68397ec34cbd
+msgid "Bugs and caveats"
+msgstr ""
+
+#: ../../c-api/init.rst:879
+# bb7bb9bec9dc478e9dc513dc4603e525
+msgid "Because sub-interpreters (and the main interpreter) are part of the  
same process, the insulation between them isn't perfect --- for example,  
using low-level file operations like  :func:`os.close` they can  
(accidentally or maliciously) affect each other's open files.  Because of  
the way extensions are shared between (sub-)interpreters, some extensions  
may not work properly; this is especially likely when the extension makes  
use of (static) global variables, or when the extension manipulates its  
module's dictionary after its initialization.  It is possible to insert  
objects created in one sub-interpreter into a namespace of another  
sub-interpreter; this should be done with great care to avoid sharing  
user-defined functions, methods, instances or classes between  
sub-interpreters, since import operations executed by such objects may  
affect the wrong (sub-)interpreter's dictionary of loaded modules."
+msgstr ""
+
+#: ../../c-api/init.rst:893
+# 9fac4ab735714f46982018eca9dd34b0
+msgid "Also note that combining this functionality  
with :c:func:`PyGILState_\\*` APIs is delicate, because these APIs assume a  
bijection between Python thread states and OS-level threads, an assumption  
broken by the presence of sub-interpreters. It is highly recommended that  
you don't switch sub-interpreters between a pair of  
matching :c:func:`PyGILState_Ensure` and :c:func:`PyGILState_Release`  
calls. Furthermore, extensions (such as :mod:`ctypes`) using these APIs to  
allow calling of Python code from non-Python created threads will probably  
be broken when using sub-interpreters."
+msgstr ""
+
+#: ../../c-api/init.rst:904
+# 6813f4fe875a4a2d89b015f3fe07866a
+msgid "Asynchronous Notifications"
+msgstr ""
+
+#: ../../c-api/init.rst:906
+# cf832efb355144a09328d5dd235ec426
+msgid "A mechanism is provided to make asynchronous notifications to the  
main interpreter thread.  These notifications take the form of a function  
pointer and a void argument."
+msgstr ""
+
+#: ../../c-api/init.rst:912
+# 5a1f3330e5d9450187e3d67771402898
+msgid "Every check interval, when the global interpreter lock is released  
and reacquired, Python will also call any such provided functions.  This  
can be used for example by asynchronous IO handlers.  The notification can  
be scheduled from a worker thread and the actual call than made at the  
earliest convenience by the main thread where it has possession of the  
global interpreter lock and can perform any Python API calls."
+msgstr ""
+
+#: ../../c-api/init.rst:923
+# cebe8353419d42cd806a929d9a6addc5
+msgid "Post a notification to the Python main thread.  If successful,  
*func* will be called with the argument *arg* at the earliest convenience.   
*func* will be called having the global interpreter lock held and can thus  
use the full Python API and can take any action such as setting object  
attributes to signal IO completion.  It must return 0 on success, or -1  
signalling an exception.  The notification function won't be interrupted to  
perform another asynchronous notification recursively, but it can still be  
interrupted to switch threads if the global interpreter lock is released,  
for example, if it calls back into Python code."
+msgstr ""
+
+#: ../../c-api/init.rst:933
+# 6bb387cac06b4d7faf14fa8ce21b8ba1
+msgid "This function returns 0 on success in which case the notification  
has been scheduled.  Otherwise, for example if the notification buffer is  
full, it returns -1 without setting any exception."
+msgstr ""
+
+#: ../../c-api/init.rst:937
+# b754fbebc0984613855962a0897c7c19
+msgid "This function can be called on any thread, be it a Python thread or  
some other system thread.  If it is a Python thread, it doesn't matter if  
it holds the global interpreter lock or not."
+msgstr ""
+
+#: ../../c-api/init.rst:947
+# 474b5b51251343e9a96cc8e03d39b21c
+msgid "Profiling and Tracing"
+msgstr ""
+
+#: ../../c-api/init.rst:952
+# c25e0ad75d99477e8d21342e6793c198
+msgid "The Python interpreter provides some low-level support for  
attaching profiling and execution tracing facilities.  These are used for  
profiling, debugging, and coverage analysis tools."
+msgstr ""
+
+#: ../../c-api/init.rst:956
+# fcc84eac052149b797fe4430aa00b81b
+msgid "This C interface allows the profiling or tracing code to avoid the  
overhead of calling through Python-level callable objects, making a direct  
C function call instead.  The essential attributes of the facility have not  
changed; the interface allows trace functions to be installed per-thread,  
and the basic events reported to the trace function are the same as had  
been reported to the Python-level trace functions in previous versions."
+msgstr ""
+
+#: ../../c-api/init.rst:966
+# 43ab1ca5e6f24d7e9f44e70565233f7e
+msgid "The type of the trace function registered  
using :c:func:`PyEval_SetProfile` and :c:func:`PyEval_SetTrace`. The first  
parameter is the object passed to the registration function as *obj*,  
*frame* is the frame object to which the event pertains, *what* is one of  
the  
constants :const:`PyTrace_CALL`, :const:`PyTrace_EXCEPTION`, :const:`PyTrace_LINE`, :const:`PyTrace_RETURN`, :const:`PyTrace_C_CALL`, :const:`PyTrace_C_EXCEPTION`,  
or :const:`PyTrace_C_RETURN`, and *arg* depends on the value of *what*:"
+msgstr ""
+
+#: ../../c-api/init.rst:975
+# 47272623ec0047d9a11fd3bf8d0abe4f
+msgid "Value of *what*"
+msgstr ""
+
+#: ../../c-api/init.rst:975
+# 020e69097eda4aae9aa9f258c7db1554
+msgid "Meaning of *arg*"
+msgstr ""
+
+#: ../../c-api/init.rst:977
+# 2f41c87b20704cb09b26981b7e2b0930
+msgid ":const:`PyTrace_CALL`"
+msgstr ""
+
+#: ../../c-api/init.rst:977
+#: ../../c-api/init.rst:982
+# 85e67c5b79594a6383b08dd92de422f3
+# bfbefbb101b64c138d15313679edf92b
+msgid "Always *NULL*."
+msgstr ""
+
+#: ../../c-api/init.rst:979
+# f9be8383e1f648c08184cf1881e23594
+msgid ":const:`PyTrace_EXCEPTION`"
+msgstr ""
+
+#: ../../c-api/init.rst:979
+# b88910b38e90468e8d6e26b763953c44
+msgid "Exception information as returned by :func:`sys.exc_info`."
+msgstr ""
+
+#: ../../c-api/init.rst:982
+# a63df68d2c2642258fe1987cc89cc136
+msgid ":const:`PyTrace_LINE`"
+msgstr ""
+
+#: ../../c-api/init.rst:984
+# 9f0781f0ef8142df85e4a44ab1ca1a70
+msgid ":const:`PyTrace_RETURN`"
+msgstr ""
+
+#: ../../c-api/init.rst:984
+# c8d70b6722e4496182759033b3506853
+msgid "Value being returned to the caller, or *NULL* if caused by an  
exception."
+msgstr ""
+
+#: ../../c-api/init.rst:987
+# f5d29006805641e89bbbf7221ebc260d
+msgid ":const:`PyTrace_C_CALL`"
+msgstr ""
+
+#: ../../c-api/init.rst:987
+#: ../../c-api/init.rst:989
+#: ../../c-api/init.rst:991
+# 4fec57fea65e4bd8a5cbeb330ce25c58
+# e98442af9edf4f89b13b6f577e9ffbc4
+# 964fc393c6da4e8fae46f1690a5bc6cd
+msgid "Function object being called."
+msgstr ""
+
+#: ../../c-api/init.rst:989
+# cdce8217b3b44dba9d91f3cf1b7f33fe
+msgid ":const:`PyTrace_C_EXCEPTION`"
+msgstr ""
+
+#: ../../c-api/init.rst:991
+# e215ccda4966492aa885accd78b65550
+msgid ":const:`PyTrace_C_RETURN`"
+msgstr ""
+
+#: ../../c-api/init.rst:997
+# 9ccec591bc5c431cb65d5ba9a16640f0
+msgid "The value of the *what* parameter to a :c:type:`Py_tracefunc`  
function when a new call to a function or method is being reported, or a  
new entry into a generator. Note that the creation of the iterator for a  
generator function is not reported as there is no control transfer to the  
Python bytecode in the corresponding frame."
+msgstr ""
+
+#: ../../c-api/init.rst:1006
+# 5307119beb6840ada220138712d09709
+msgid "The value of the *what* parameter to a :c:type:`Py_tracefunc`  
function when an exception has been raised.  The callback function is  
called with this value for *what* when after any bytecode is processed  
after which the exception becomes set within the frame being executed.  The  
effect of this is that as exception propagation causes the Python stack to  
unwind, the callback is called upon return to each frame as the exception  
propagates.  Only trace functions receives these events; they are not  
needed by the profiler."
+msgstr ""
+
+#: ../../c-api/init.rst:1017
+# 09207289322748c9a4b532d7ce3ae7a5
+msgid "The value passed as the *what* parameter to a trace function (but  
not a profiling function) when a line-number event is being reported."
+msgstr ""
+
+#: ../../c-api/init.rst:1023
+# 3fb17ef0363149acb0244ac58718e095
+msgid "The value for the *what* parameter to :c:type:`Py_tracefunc`  
functions when a call is returning without propagating an exception."
+msgstr ""
+
+#: ../../c-api/init.rst:1029
+# 5b594599abe54284ad6869e3b23854c6
+msgid "The value for the *what* parameter to :c:type:`Py_tracefunc`  
functions when a C function is about to be called."
+msgstr ""
+
+#: ../../c-api/init.rst:1035
+# b88eddafb4c54803bc0fefd58cdee09f
+msgid "The value for the *what* parameter to :c:type:`Py_tracefunc`  
functions when a C function has raised an exception."
+msgstr ""
+
+#: ../../c-api/init.rst:1041
+# 0a9684b8da99400bb39599a2944e2c72
+msgid "The value for the *what* parameter to :c:type:`Py_tracefunc`  
functions when a C function has returned."
+msgstr ""
+
+#: ../../c-api/init.rst:1047
+# 262ebf5ab9a847b69e1755ff70f4925b
+msgid "Set the profiler function to *func*.  The *obj* parameter is passed  
to the function as its first parameter, and may be any Python object, or  
*NULL*.  If the profile function needs to maintain state, using a different  
value for *obj* for each thread provides a convenient and thread-safe place  
to store it.  The profile function is called for all monitored events  
except the line-number events."
+msgstr ""
+
+#: ../../c-api/init.rst:1057
+# b4a0caf0df774e558e95d5af22b1726e
+msgid "Set the tracing function to *func*.  This is similar  
to :c:func:`PyEval_SetProfile`, except the tracing function does receive  
line-number events."
+msgstr ""
+
+#: ../../c-api/init.rst:1063
+# dbca57949bab45f79009217b27317d51
+msgid "Return a tuple of function call counts.  There are constants  
defined for the positions within the tuple:"
+msgstr ""
+
+#: ../../c-api/init.rst:1067
+# ecea82c3040a4db3a7909e29260aba8c
+msgid "Name"
+msgstr ""
+
+#: ../../c-api/init.rst:1067
+# 0dd71c7af3a04476a81b54fa9efe2e1c
+msgid "Value"
+msgstr ""
+
+#: ../../c-api/init.rst:1069
+# 72c73a239c2b43c080ccd77bcc47c641
+msgid ":const:`PCALL_ALL`"
+msgstr ""
+
+#: ../../c-api/init.rst:1069
+# 6edce8bdb4f5422cad84dc189f9bd495
+msgid "0"
+msgstr ""
+
+#: ../../c-api/init.rst:1071
+# 25b3e110ecaf4bcb953e032e4d804746
+msgid ":const:`PCALL_FUNCTION`"
+msgstr ""
+
+#: ../../c-api/init.rst:1071
+# 646d930dc19f4e96b22302a080a7c2b3
+msgid "1"
+msgstr ""
+
+#: ../../c-api/init.rst:1073
+# 2b9ca6bcd9744a208ba83c554964f89d
+msgid ":const:`PCALL_FAST_FUNCTION`"
+msgstr ""
+
+#: ../../c-api/init.rst:1073
+# 741000e13a3e49dcb232cf83760cc76c
+msgid "2"
+msgstr ""
+
+#: ../../c-api/init.rst:1075
+# 91192032aac04af69baf528dfc296545
+msgid ":const:`PCALL_FASTER_FUNCTION`"
+msgstr ""
+
+#: ../../c-api/init.rst:1075
+# 4fb40b6be4a640ec80cbb94417e15ff2
+msgid "3"
+msgstr ""
+
+#: ../../c-api/init.rst:1077
+# 22bc8f6ed00c4412991d2ec6c4b342ce
+msgid ":const:`PCALL_METHOD`"
+msgstr ""
+
+#: ../../c-api/init.rst:1077
+# 88f3d3ca5a6842e9afca68e5730ab5a6
+msgid "4"
+msgstr ""
+
+#: ../../c-api/init.rst:1079
+# 86bd3cda927c4453b1115f8f04309f1e
+msgid ":const:`PCALL_BOUND_METHOD`"
+msgstr ""
+
+#: ../../c-api/init.rst:1079
+# 5469548600e64b309549440be5a64f50
+msgid "5"
+msgstr ""
+
+#: ../../c-api/init.rst:1081
+# 72c0b58d007a48679be2f2f05e217e8c
+msgid ":const:`PCALL_CFUNCTION`"
+msgstr ""
+
+#: ../../c-api/init.rst:1081
+# c2cca27c6d0d4a20b1bccf49ac5a8d57
+msgid "6"
+msgstr ""
+
+#: ../../c-api/init.rst:1083
+# e1dcaf2c61f443a68fc70b37c804b202
+msgid ":const:`PCALL_TYPE`"
+msgstr ""
+
+#: ../../c-api/init.rst:1083
+# a8dac0709abc4337b96c668b45c54b90
+msgid "7"
+msgstr ""
+
+#: ../../c-api/init.rst:1085
+# d2ed9957ff7649218005e9221cef79a1
+msgid ":const:`PCALL_GENERATOR`"
+msgstr ""
+
+#: ../../c-api/init.rst:1085
+# e38f3420cf5847e6a0cecbf62f35f711
+msgid "8"
+msgstr ""
+
+#: ../../c-api/init.rst:1087
+# 479ec025058746ffad458d7a506ae142
+msgid ":const:`PCALL_OTHER`"
+msgstr ""
+
+#: ../../c-api/init.rst:1087
+# 584ceabe0d9e4dd781467f21174fb484
+msgid "9"
+msgstr ""
+
+#: ../../c-api/init.rst:1089
+# 08792e2e7e7947fa86cf633f04a6591b
+msgid ":const:`PCALL_POP`"
+msgstr ""
+
+#: ../../c-api/init.rst:1089
+# d3d7bb19ccc74eb39076319e355dcb46
+msgid "10"
+msgstr ""
+
+#: ../../c-api/init.rst:1092
+# 0fbfa510e0634ca2a66d3929a7004b5f
+msgid ":const:`PCALL_FAST_FUNCTION` means no argument tuple needs to be  
created. :const:`PCALL_FASTER_FUNCTION` means that the fast-path frame  
setup code is used."
+msgstr ""
+
+#: ../../c-api/init.rst:1095
+# 7a81ed373b9f4088ae893f02306806c9
+msgid "If there is a method call where the call can be optimized by  
changing the argument tuple and calling the function directly, it gets  
recorded twice."
+msgstr ""
+
+#: ../../c-api/init.rst:1099
+# 84133e86097745198e77b82fe2060c08
+msgid "This function is only present if Python is compiled  
with :const:`CALL_PROFILE` defined."
+msgstr ""
+
+#: ../../c-api/init.rst:1105
+# ea0116e3b1164c3bb383b441d97e2c44
+msgid "Advanced Debugger Support"
+msgstr ""
+
+#: ../../c-api/init.rst:1110
+# c9452e3a92164b4db7c3a39941dc3618
+msgid "These functions are only intended to be used by advanced debugging  
tools."
+msgstr ""
+
+#: ../../c-api/init.rst:1115
+# 7413daadca634fd78c4469aac72c0823
+msgid "Return the interpreter state object at the head of the list of all  
such objects."
+msgstr ""
+
+#: ../../c-api/init.rst:1120
+# af31e813a60946f581099c8d5cce8e08
+msgid "Return the next interpreter state object after *interp* from the  
list of all such objects."
+msgstr ""
+
+#: ../../c-api/init.rst:1126
+# 0a4f36de79ae464b9e70c50a350fe93f
+msgid "Return the a pointer to the first :c:type:`PyThreadState` object in  
the list of threads associated with the interpreter *interp*."
+msgstr ""
+
+#: ../../c-api/init.rst:1132
+# 757f6de730ed4376950a0601f3a8a378
+msgid "Return the next thread state object after *tstate* from the list of  
all such objects belonging to the same :c:type:`PyInterpreterState` object."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/intro.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,373 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/intro.rst:8
+# a38a47f8d54b4b8babfa87cb204c6ac4
+msgid "Introduction"
+msgstr ""
+
+#: ../../c-api/intro.rst:10
+# a7b90ff84e844f5cb862f59787525054
+msgid "The Application Programmer's Interface to Python gives C and C++  
programmers access to the Python interpreter at a variety of levels.  The  
API is equally usable from C++, but for brevity it is generally referred to  
as the Python/C API.  There are two fundamentally different reasons for  
using the Python/C API. The first reason is to write *extension modules*  
for specific purposes; these are C modules that extend the Python  
interpreter.  This is probably the most common use.  The second reason is  
to use Python as a component in a larger application; this technique is  
generally referred to as :dfn:`embedding` Python in an application."
+msgstr ""
+
+#: ../../c-api/intro.rst:20
+# 34747efc95904688bb2861f3b0655408
+msgid "Writing an extension module is a relatively well-understood  
process,  where a \"cookbook\" approach works well.  There are several  
tools  that automate the process to some extent.  While people have  
embedded  Python in other applications since its early existence, the  
process of  embedding Python is less straightforward than writing an  
extension."
+msgstr ""
+
+#: ../../c-api/intro.rst:26
+# 7482d170f8584c9a9d74a93f0ec080d8
+msgid "Many API functions are useful independent of whether you're  
embedding  or extending Python; moreover, most applications that embed  
Python  will need to provide a custom extension as well, so it's probably  
a  good idea to become familiar with writing an extension before   
attempting to embed Python in a real application."
+msgstr ""
+
+#: ../../c-api/intro.rst:36
+# 6d4fcc4e0a1849bf9d90a19751eded82
+msgid "Include Files"
+msgstr ""
+
+#: ../../c-api/intro.rst:38
+# b4daf64a74ea40b3b0f928734a887f58
+msgid "All function, type and macro definitions needed to use the Python/C  
API are included in your code by the following line::"
+msgstr ""
+
+#: ../../c-api/intro.rst:43
+# dd97f728d1a341eaa57c96add45af5f6
+msgid "This implies inclusion of the following standard headers:  
``<stdio.h>``, ``<string.h>``, ``<errno.h>``, ``<limits.h>``,  
``<assert.h>`` and ``<stdlib.h>`` (if available)."
+msgstr ""
+
+#: ../../c-api/intro.rst:49
+# 66bb20bb68d743bea08e04d7dde0612c
+msgid "Since Python may define some pre-processor definitions which affect  
the standard headers on some systems, you *must* include :file:`Python.h`  
before any standard headers are included."
+msgstr ""
+
+#: ../../c-api/intro.rst:53
+# 02571c0eb1e4473ca811c24c640a56a8
+msgid "All user visible names defined by Python.h (except those defined by  
the included standard headers) have one of the prefixes ``Py`` or ``_Py``.   
Names beginning with ``_Py`` are for internal use by the Python  
implementation and should not be used by extension writers. Structure  
member names do not have a reserved prefix."
+msgstr ""
+
+#: ../../c-api/intro.rst:58
+# d21e3040ba7142dfa08d1f5c40e8239d
+msgid "**Important:** user code should never define names that begin with  
``Py`` or ``_Py``.  This confuses the reader, and jeopardizes the  
portability of the user code to future Python versions, which may define  
additional names beginning with one of these prefixes."
+msgstr ""
+
+#: ../../c-api/intro.rst:63
+# 5eecc541d4274983b08bd2ad6e7a9ff4
+msgid "The header files are typically installed with Python.  On Unix,  
these  are located in the  
directories :file:`{prefix}/include/pythonversion/`  
and :file:`{exec_prefix}/include/pythonversion/`, where :envvar:`prefix`  
and :envvar:`exec_prefix` are defined by the corresponding parameters to  
Python's :program:`configure` script and *version* is ``sys.version[:3]``.   
On Windows, the headers are installed in :file:`{prefix}/include`,  
where :envvar:`prefix` is the installation directory specified to the  
installer."
+msgstr ""
+
+#: ../../c-api/intro.rst:71
+# b3657af822b6446caf3ec4e2c2e59dd0
+msgid "To include the headers, place both directories (if different) on  
your compiler's search path for includes.  Do *not* place the parent  
directories on the search path and then use ``#include  
<pythonX.Y/Python.h>``; this will break on multi-platform builds since the  
platform independent headers under :envvar:`prefix` include the platform  
specific headers from :envvar:`exec_prefix`."
+msgstr ""
+
+#: ../../c-api/intro.rst:78
+# 82c7dc5bf17d4eca8cbf96cc5c88af9d
+msgid "C++ users should note that though the API is defined entirely using  
C, the header files do properly declare the entry points to be ``extern  
\"C\"``, so there is no need to do anything special to use the API from  
C++."
+msgstr ""
+
+#: ../../c-api/intro.rst:86
+# 8187cbd0dcdf402aae28b3b69eacb195
+msgid "Objects, Types and Reference Counts"
+msgstr ""
+
+#: ../../c-api/intro.rst:90
+# f3c7d7ce5a06468f8f682639333bc09a
+msgid "Most Python/C API functions have one or more arguments as well as a  
return value of type :c:type:`PyObject\\*`.  This type is a pointer to an  
opaque data type representing an arbitrary Python object.  Since all Python  
object types are treated the same way by the Python language in most  
situations (e.g., assignments, scope rules, and argument passing), it is  
only fitting that they should be represented by a single C type.  Almost  
all Python objects live on the heap: you never declare an automatic or  
static variable of type :c:type:`PyObject`, only pointer variables of  
type :c:type:`PyObject\\*` can  be declared.  The sole exception are the  
type objects; since these must never be deallocated, they are typically  
static :c:type:`PyTypeObject` objects."
+msgstr ""
+
+#: ../../c-api/intro.rst:101
+# b4959f04619d42658e9492a5303042c7
+msgid "All Python objects (even Python integers) have a :dfn:`type` and  
a :dfn:`reference count`.  An object's type determines what kind of object  
it is (e.g., an integer, a list, or a user-defined function; there are many  
more as explained in :ref:`types`).  For each of the well-known types there  
is a macro to check whether an object is of that type; for instance,  
``PyList_Check(a)`` is true if (and only if) the object pointed to by *a*  
is a Python list."
+msgstr ""
+
+#: ../../c-api/intro.rst:112
+# f4e79be811a34ce3aa0ccc3d1a0d1209
+msgid "Reference Counts"
+msgstr ""
+
+#: ../../c-api/intro.rst:114
+# 34aaf6d23492473e986e538445299a38
+msgid "The reference count is important because today's computers have a   
finite (and often severely limited) memory size; it counts how many   
different places there are that have a reference to an object.  Such a   
place could be another object, or a global (or static) C variable, or  a  
local variable in some C function. When an object's reference count   
becomes zero, the object is deallocated.  If it contains references to   
other objects, their reference count is decremented. Those other  objects  
may be deallocated in turn, if this decrement makes their reference count  
become zero, and so on.  (There's an obvious problem  with objects that  
reference each other here; for now, the solution is  \"don't do that.\")"
+msgstr ""
+
+#: ../../c-api/intro.rst:129
+# f39e9d4fafee45d398e229b73e4759c8
+msgid "Reference counts are always manipulated explicitly.  The normal way  
is  to use the macro :c:func:`Py_INCREF` to increment an object's reference  
count by one, and :c:func:`Py_DECREF` to decrement it by   one.   
The :c:func:`Py_DECREF` macro is considerably more complex than the incref  
one, since it must check whether the reference count becomes zero and then  
cause the object's deallocator to be called. The deallocator is a function  
pointer contained in the object's type structure.  The type-specific  
deallocator takes care of decrementing the reference counts for other  
objects contained in the object if this is a compound object type, such as  
a list, as well as performing any additional finalization that's needed.   
There's no chance that the reference count can overflow; at least as many  
bits are used to hold the reference count as there are distinct memory  
locations in virtual memory (assuming ``sizeof(Py_ssize_t) >=  
sizeof(void*)``). Thus, the reference count increment is a simple  
operation."
+msgstr ""
+
+#: ../../c-api/intro.rst:143
+# 40e82fd62dba4805aba85d01ae93b3db
+msgid "It is not necessary to increment an object's reference count for  
every  local variable that contains a pointer to an object.  In theory,  
the  object's reference count goes up by one when the variable is made to   
point to it and it goes down by one when the variable goes out of  scope.   
However, these two cancel each other out, so at the end the  reference  
count hasn't changed.  The only real reason to use the  reference count is  
to prevent the object from being deallocated as  long as our variable is  
pointing to it.  If we know that there is at  least one other reference to  
the object that lives at least as long as our variable, there is no need to  
increment the reference count  temporarily. An important situation where  
this arises is in objects  that are passed as arguments to C functions in  
an extension module  that are called from Python; the call mechanism  
guarantees to hold a  reference to every argument for the duration of the  
call."
+msgstr ""
+
+#: ../../c-api/intro.rst:157
+# e549cfb2dc4c4870b946686ef9c10499
+msgid "However, a common pitfall is to extract an object from a list and  
hold on to it for a while without incrementing its reference count. Some  
other operation might conceivably remove the object from the list,  
decrementing its reference count and possible deallocating it. The real  
danger is that innocent-looking operations may invoke arbitrary Python code  
which could do this; there is a code path which allows control to flow back  
to the user from a :c:func:`Py_DECREF`, so almost any operation is  
potentially dangerous."
+msgstr ""
+
+#: ../../c-api/intro.rst:165
+# efd6099b90524e34af28ad6c20e6e219
+msgid "A safe approach is to always use the generic operations (functions   
whose name begins with ``PyObject_``, ``PyNumber_``, ``PySequence_`` or  
``PyMapping_``). These operations always increment the reference count of  
the object they return. This leaves the caller with the responsibility to  
call :c:func:`Py_DECREF` when they are done with the result; this soon  
becomes second nature."
+msgstr ""
+
+#: ../../c-api/intro.rst:175
+# f3d035676ef4481daf38c26c907e5d72
+msgid "Reference Count Details"
+msgstr ""
+
+#: ../../c-api/intro.rst:177
+# 41b3dd3c7ff341d693c476943eb0ea72
+msgid "The reference count behavior of functions in the Python/C API is  
best  explained in terms of *ownership of references*.  Ownership pertains  
to references, never to objects (objects are not owned: they are always  
shared).  \"Owning a reference\" means being responsible for calling  
Py_DECREF on it when the reference is no longer needed.  Ownership can also  
be transferred, meaning that the code that receives ownership of the  
reference then becomes responsible for eventually decref'ing it by  
calling :c:func:`Py_DECREF` or :c:func:`Py_XDECREF` when it's no longer  
needed---or passing on this responsibility (usually to its caller). When a  
function passes ownership of a reference on to its caller, the caller is  
said to receive a *new* reference.  When no ownership is transferred, the  
caller is said to *borrow* the reference. Nothing needs to be done for a  
borrowed reference."
+msgstr ""
+
+#: ../../c-api/intro.rst:190
+# ac984c062b5e4f9e82bb379bb6edc6a8
+msgid "Conversely, when a calling function passes in a reference to an   
object, there are two possibilities: the function *steals* a  reference to  
the object, or it does not.  *Stealing a reference* means that when you  
pass a reference to a function, that function assumes that it now owns that  
reference, and you are not responsible for it any longer."
+msgstr ""
+
+#: ../../c-api/intro.rst:200
+# d5170bf7b8354fc5b3d6d5e4324c6c8d
+msgid "Few functions steal references; the two notable exceptions  
are :c:func:`PyList_SetItem` and :c:func:`PyTuple_SetItem`, which  steal a  
reference to the item (but not to the tuple or list into which the item is  
put!).  These functions were designed to steal a reference because of a  
common idiom for populating a tuple or list with newly created objects; for  
example, the code to create the tuple ``(1, 2, \"three\")`` could look like  
this (forgetting about error handling for the moment; a better way to code  
this is shown below)::"
+msgstr ""
+
+#: ../../c-api/intro.rst:215
+# 07c834d2b9904ad792f85ece680a6c1e
+msgid "Here, :c:func:`PyLong_FromLong` returns a new reference which is  
immediately stolen by :c:func:`PyTuple_SetItem`.  When you want to keep  
using an object although the reference to it will be stolen,  
use :c:func:`Py_INCREF` to grab another reference before calling the  
reference-stealing function."
+msgstr ""
+
+#: ../../c-api/intro.rst:220
+# 48e22ba316234496953352447dedc7b4
+msgid "Incidentally, :c:func:`PyTuple_SetItem` is the *only* way to set  
tuple items; :c:func:`PySequence_SetItem` and :c:func:`PyObject_SetItem`  
refuse to do this since tuples are an immutable data type.  You should only  
use :c:func:`PyTuple_SetItem` for tuples that you are creating yourself."
+msgstr ""
+
+#: ../../c-api/intro.rst:225
+# 82ff687f468d4adc9c7f30abab4d8909
+msgid "Equivalent code for populating a list can be written  
using :c:func:`PyList_New` and :c:func:`PyList_SetItem`."
+msgstr ""
+
+#: ../../c-api/intro.rst:228
+# 8ed79d75b9ca47b78cc9b359849814ce
+msgid "However, in practice, you will rarely use these ways of creating  
and populating a tuple or list.  There's a generic  
function, :c:func:`Py_BuildValue`, that can create most common objects from  
C values, directed by a :dfn:`format string`. For example, the above two  
blocks of code could be replaced by the following (which also takes care of  
the error checking)::"
+msgstr ""
+
+#: ../../c-api/intro.rst:239
+# 13f148e448f84410875d14151f477365
+msgid "It is much more common to use :c:func:`PyObject_SetItem` and  
friends with items whose references you are only borrowing, like arguments  
that were passed in to the function you are writing.  In that case, their  
behaviour regarding reference counts is much saner, since you don't have to  
increment a reference count so you can give a reference away (\"have it be  
stolen\").  For example, this function sets all items of a list (actually,  
any mutable sequence) to a given item::"
+msgstr ""
+
+#: ../../c-api/intro.rst:269
+# db12a5107ac542fd8a8344eaa67100a4
+msgid "The situation is slightly different for function return values.    
While passing a reference to most functions does not change your  ownership  
responsibilities for that reference, many functions that  return a  
reference to an object give you ownership of the reference. The reason is  
simple: in many cases, the returned object is created  on the fly, and the  
reference you get is the only reference to the  object.  Therefore, the  
generic functions that return object references,  
like :c:func:`PyObject_GetItem` and  :c:func:`PySequence_GetItem`, always  
return a new reference (the caller becomes the owner of the reference)."
+msgstr ""
+
+#: ../../c-api/intro.rst:278
+# 186e847b2f994842bdf5b980cecb5b4c
+msgid "It is important to realize that whether you own a reference  
returned  by a function depends on which function you call only --- *the  
plumage* (the type of the object passed as an argument to the function)  
*doesn't enter into it!* Thus, if you  extract an item from a list  
using :c:func:`PyList_GetItem`, you don't own the reference --- but if you  
obtain the same item from the same list using :c:func:`PySequence_GetItem`  
(which happens to take exactly the same arguments), you do own a reference  
to the returned object."
+msgstr ""
+
+#: ../../c-api/intro.rst:290
+# 6a2bf2e717f34511828365232253502f
+msgid "Here is an example of how you could write a function that computes  
the sum of the items in a list of integers; once  
using  :c:func:`PyList_GetItem`, and once  
using :c:func:`PySequence_GetItem`. ::"
+msgstr ""
+
+#: ../../c-api/intro.rst:354
+# 9fe60a84c2664182a1eaf78ba0c31a32
+msgid "Types"
+msgstr ""
+
+#: ../../c-api/intro.rst:356
+# 5f62fef2788c4e2b897cec9e17ad513f
+msgid "There are few other data types that play a significant role in  the  
Python/C API; most are simple C types such  
as :c:type:`int`,  :c:type:`long`, :c:type:`double` and :c:type:`char\\*`.   
A few structure types  are used to describe static tables used to list the  
functions exported  by a module or the data attributes of a new object  
type, and another is used to describe the value of a complex number.  These  
will  be discussed together with the functions that use them."
+msgstr ""
+
+#: ../../c-api/intro.rst:368
+# 86fc612105804dd6aaa887b724e6cb2f
+msgid "Exceptions"
+msgstr ""
+
+#: ../../c-api/intro.rst:370
+# 47c91488ffb94fdda2258534d130424a
+msgid "The Python programmer only needs to deal with exceptions if  
specific  error handling is required; unhandled exceptions are  
automatically  propagated to the caller, then to the caller's caller, and  
so on, until they reach the top-level interpreter, where they are reported  
to the  user accompanied by a stack traceback."
+msgstr ""
+
+#: ../../c-api/intro.rst:378
+# af2bb62f9a15453590b7b1ce9e71eafa
+msgid "For C programmers, however, error checking always has to be  
explicit.  All functions in the Python/C API can raise exceptions, unless  
an explicit claim is made otherwise in a function's documentation.  In  
general, when a function encounters an error, it sets an exception,  
discards any object references that it owns, and returns an error  
indicator.  If not documented otherwise, this indicator is either *NULL* or  
``-1``, depending on the function's return type. A few functions return a  
Boolean true/false result, with false indicating an error.  Very few  
functions return no explicit error indicator or have an ambiguous return  
value, and require explicit testing for errors  
with :c:func:`PyErr_Occurred`.  These exceptions are always explicitly  
documented."
+msgstr ""
+
+#: ../../c-api/intro.rst:393
+# f4cd1df29eb5497ba655c40ba89535c6
+msgid "Exception state is maintained in per-thread storage (this is   
equivalent to using global storage in an unthreaded application).  A   
thread can be in one of two states: an exception has occurred, or not. The  
function :c:func:`PyErr_Occurred` can be used to check for this: it returns  
a borrowed reference to the exception type object when an exception has  
occurred, and *NULL* otherwise.  There are a number of functions to set the  
exception state: :c:func:`PyErr_SetString` is the most common (though not  
the most general) function to set the exception state,  
and :c:func:`PyErr_Clear` clears the exception state."
+msgstr ""
+
+#: ../../c-api/intro.rst:403
+# c814acff8843430fa227c5f2b4e5a7e6
+msgid "The full exception state consists of three objects (all of which  
can  be *NULL*): the exception type, the corresponding exception  value,  
and the traceback.  These have the same meanings as the Python result of  
``sys.exc_info()``; however, they are not the same: the Python objects  
represent the last exception being handled by a  
Python  :keyword:`try` ... :keyword:`except` statement, while the C level  
exception state only exists while an exception is being passed on between C  
functions until it reaches the Python bytecode interpreter's  main loop,  
which takes care of transferring it to ``sys.exc_info()`` and friends."
+msgstr ""
+
+#: ../../c-api/intro.rst:415
+# 4c560b5b8a9740b8868092ebdd47f393
+msgid "Note that starting with Python 1.5, the preferred, thread-safe way  
to access the exception state from Python code is to call the  
function :func:`sys.exc_info`, which returns the per-thread exception state  
for Python code.  Also, the semantics of both ways to access the exception  
state have changed so that a function which catches an exception will save  
and restore its thread's exception state so as to preserve the exception  
state of its caller.  This prevents common bugs in exception handling code  
caused by an innocent-looking function overwriting the exception being  
handled; it also reduces the often unwanted lifetime extension for objects  
that are referenced by the stack frames in the traceback."
+msgstr ""
+
+#: ../../c-api/intro.rst:426
+# 2e2eed8e21774082a2fbe9533cf3a523
+msgid "As a general principle, a function that calls another function to   
perform some task should check whether the called function raised an   
exception, and if so, pass the exception state on to its caller.  It   
should discard any object references that it owns, and return an  error  
indicator, but it should *not* set another exception --- that would  
overwrite the exception that was just raised, and lose important  
information about the exact cause of the error."
+msgstr ""
+
+#: ../../c-api/intro.rst:435
+# fdee6e200b2f4ac880462fc55f5a07c1
+msgid "A simple example of detecting exceptions and passing them on is  
shown in the :c:func:`sum_sequence` example above.  It so happens that that  
example doesn't need to clean up any owned references when it detects an  
error.  The following example function shows some error cleanup.  First, to  
remind you why you like Python, we show the equivalent Python code::"
+msgstr ""
+
+#: ../../c-api/intro.rst:450
+# 0c72f1aff24b40b59ddecd69b4fb36f9
+msgid "Here is the corresponding C code, in all its glory::"
+msgstr ""
+
+#: ../../c-api/intro.rst:502
+# bb157fed04314b17838509618eae60c0
+msgid "This example represents an endorsed use of the ``goto`` statement   
in C! It illustrates the use of :c:func:`PyErr_ExceptionMatches`  
and :c:func:`PyErr_Clear` to handle specific exceptions, and the use  
of :c:func:`Py_XDECREF` to dispose of owned references that may be *NULL*  
(note the ``'X'`` in the name; :c:func:`Py_DECREF` would crash when  
confronted with a *NULL* reference).  It is important that the variables  
used to hold owned references are initialized to *NULL* for this to work;  
likewise, the proposed return value is initialized to ``-1`` (failure) and  
only set to success after the final call made is successful."
+msgstr ""
+
+#: ../../c-api/intro.rst:516
+# bcf24a18273d4fb988c63ea715ea9399
+msgid "Embedding Python"
+msgstr ""
+
+#: ../../c-api/intro.rst:518
+# ebd4e0079b77494ba21526ea474971ac
+msgid "The one important task that only embedders (as opposed to extension  
writers) of the Python interpreter have to worry about is the  
initialization, and possibly the finalization, of the Python interpreter.   
Most functionality of the interpreter can only be used after the  
interpreter has been initialized."
+msgstr ""
+
+#: ../../c-api/intro.rst:531
+# 7dcab6810a974705b26c85219e062ee6
+msgid "The basic initialization function is :c:func:`Py_Initialize`. This  
initializes the table of loaded modules, and creates the fundamental  
modules :mod:`builtins`, :mod:`__main__`, and :mod:`sys`.  It also  
initializes the module search path (``sys.path``)."
+msgstr ""
+
+#: ../../c-api/intro.rst:538
+# 61e02e40aedb4cd9b27a8dfbc028311a
+msgid ":c:func:`Py_Initialize` does not set the \"script argument list\"   
(``sys.argv``). If this variable is needed by Python code that will be  
executed later, it must be set explicitly with a call to   
``PySys_SetArgvEx(argc, argv, updatepath)`` after the call  
to :c:func:`Py_Initialize`."
+msgstr ""
+
+#: ../../c-api/intro.rst:543
+# e485fbd504614198a1d6561a320ebf49
+msgid "On most systems (in particular, on Unix and Windows, although the  
details are slightly different), :c:func:`Py_Initialize` calculates the  
module search path based upon its best guess for the location of the  
standard Python interpreter executable, assuming that the Python library is  
found in a fixed location relative to the Python interpreter executable.   
In particular, it looks for a directory named :file:`lib/python{X.Y}`  
relative to the parent directory where the executable named :file:`python`  
is found on the shell command search path (the environment  
variable :envvar:`PATH`)."
+msgstr ""
+
+#: ../../c-api/intro.rst:552
+# ccfd544441e14abfa0b85eeab53091ba
+msgid "For instance, if the Python executable is found  
in :file:`/usr/local/bin/python`, it will assume that the libraries are  
in :file:`/usr/local/lib/python{X.Y}`.  (In fact, this particular path is  
also the \"fallback\" location, used when no executable file  
named :file:`python` is found along :envvar:`PATH`.)  The user can override  
this behavior by setting the environment variable :envvar:`PYTHONHOME`, or  
insert additional directories in front of the standard path by  
setting :envvar:`PYTHONPATH`."
+msgstr ""
+
+#: ../../c-api/intro.rst:567
+# 5da09168eaa94680a8450a49a3978c96
+msgid "The embedding application can steer the search by calling  
``Py_SetProgramName(file)`` *before* calling  :c:func:`Py_Initialize`.   
Note that :envvar:`PYTHONHOME` still overrides this  
and :envvar:`PYTHONPATH` is still inserted in front of the standard path.   
An application that requires total control has to provide its own  
implementation  
of :c:func:`Py_GetPath`, :c:func:`Py_GetPrefix`, :c:func:`Py_GetExecPrefix`,  
and :c:func:`Py_GetProgramFullPath` (all defined  
in :file:`Modules/getpath.c`)."
+msgstr ""
+
+#: ../../c-api/intro.rst:577
+# 8f7b55e0208a4df3a42fd2eb2fd6ff8f
+msgid "Sometimes, it is desirable to \"uninitialize\" Python.  For  
instance,  the application may want to start over (make another call  
to :c:func:`Py_Initialize`) or the application is simply done with its  use  
of Python and wants to free memory allocated by Python.  This can be  
accomplished by calling :c:func:`Py_Finalize`.  The  
function :c:func:`Py_IsInitialized` returns true if Python is currently in  
the initialized state.  More information about these functions is given in  
a later chapter. Notice that :c:func:`Py_Finalize` does *not* free all  
memory allocated by the Python interpreter, e.g. memory allocated by  
extension modules currently cannot be released."
+msgstr ""
+
+#: ../../c-api/intro.rst:591
+# 984341acdcb443d781009dba7f1ddbc7
+msgid "Debugging Builds"
+msgstr ""
+
+#: ../../c-api/intro.rst:593
+# 7c71a37af89446db940c514281fbd509
+msgid "Python can be built with several macros to enable extra checks of  
the interpreter and extension modules.  These checks tend to add a large  
amount of overhead to the runtime so they are not enabled by default."
+msgstr ""
+
+#: ../../c-api/intro.rst:597
+# c78217a766ec49a2a5360e6be4c44c73
+msgid "A full list of the various types of debugging builds is in the  
file :file:`Misc/SpecialBuilds.txt` in the Python source distribution.  
Builds are available that support tracing of reference counts, debugging  
the memory allocator, or low-level profiling of the main interpreter loop.   
Only the most frequently-used builds will be described in the remainder of  
this section."
+msgstr ""
+
+#: ../../c-api/intro.rst:603
+# 63ed419d770a4467915b24ead4c2b9fd
+msgid "Compiling the interpreter with the :c:macro:`Py_DEBUG` macro  
defined produces what is generally meant by \"a debug build\" of  
Python. :c:macro:`Py_DEBUG` is enabled in the Unix build by adding  
``--with-pydebug`` to the :file:`./configure` command.  It is also implied  
by the presence of the not-Python-specific :c:macro:`_DEBUG` macro.   
When :c:macro:`Py_DEBUG` is enabled in the Unix build, compiler  
optimization is disabled."
+msgstr ""
+
+#: ../../c-api/intro.rst:610
+# fa54426d5b384bb8b2da77303fed80a7
+msgid "In addition to the reference count debugging described below, the  
following extra checks are performed:"
+msgstr ""
+
+#: ../../c-api/intro.rst:613
+# 05c44b3ed566458483188c6211639b60
+msgid "Extra checks are added to the object allocator."
+msgstr ""
+
+#: ../../c-api/intro.rst:615
+# 772aa51fc02f4fcf8a2c56106ff384c9
+msgid "Extra checks are added to the parser and compiler."
+msgstr ""
+
+#: ../../c-api/intro.rst:617
+# c76fb51da85c45c4ae3f52c2691d9a71
+msgid "Downcasts from wide types to narrow types are checked for loss of  
information."
+msgstr ""
+
+#: ../../c-api/intro.rst:619
+# 8dbf0e3317044a129be4083bc2522101
+msgid "A number of assertions are added to the dictionary and set  
implementations. In addition, the set object acquires a :meth:`test_c_api`  
method."
+msgstr ""
+
+#: ../../c-api/intro.rst:622
+# d22db3b1acd3400f972834a188d9f026
+msgid "Sanity checks of the input arguments are added to frame creation."
+msgstr ""
+
+#: ../../c-api/intro.rst:624
+# 8a5e14882285436896869f3de9b1d8ea
+msgid "The storage for ints is initialized with a known invalid pattern to  
catch reference to uninitialized digits."
+msgstr ""
+
+#: ../../c-api/intro.rst:627
+# c5f9d97ce5974d618c69e526ed900daf
+msgid "Low-level tracing and extra exception checking are added to the  
runtime virtual machine."
+msgstr ""
+
+#: ../../c-api/intro.rst:630
+# 02e3e46b87cd49de8004ef573b6979a6
+msgid "Extra checks are added to the memory arena implementation."
+msgstr ""
+
+#: ../../c-api/intro.rst:632
+# b7edba25cc434392836e35fc5c1c0b24
+msgid "Extra debugging is added to the thread module."
+msgstr ""
+
+#: ../../c-api/intro.rst:634
+# cac4e25abc70402c9e9d1b30e36ca8f7
+msgid "There may be additional checks not mentioned here."
+msgstr ""
+
+#: ../../c-api/intro.rst:636
+# 0b5f8dfc4c8541709d5c6e44a278ca59
+msgid "Defining :c:macro:`Py_TRACE_REFS` enables reference tracing.  When  
defined, a circular doubly linked list of active objects is maintained by  
adding two extra fields to every :c:type:`PyObject`.  Total allocations are  
tracked as well.  Upon exit, all existing references are printed.  (In  
interactive mode this happens after every statement run by the  
interpreter.)  Implied by :c:macro:`Py_DEBUG`."
+msgstr ""
+
+#: ../../c-api/intro.rst:642
+# 8ca0fe58a8d24b02b16e7648826e0099
+msgid "Please refer to :file:`Misc/SpecialBuilds.txt` in the Python source  
distribution for more detailed information."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/iter.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,43 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/iter.rst:6
+# 80853bcfdfb64e67aee98e4028607564
+msgid "Iterator Protocol"
+msgstr ""
+
+#: ../../c-api/iter.rst:8
+# 7c45c312eed5410f9a1b4994e86c47e3
+msgid "There are only a couple of functions specifically for working with  
iterators."
+msgstr ""
+
+#: ../../c-api/iter.rst:12
+# 82eead81c0b74d549e9306e855fb5057
+msgid "Return true if the object *o* supports the iterator protocol."
+msgstr ""
+
+#: ../../c-api/iter.rst:17
+# b43897ade8f347f8b705d819ec962531
+msgid "Return the next value from the iteration *o*.  If the object is an  
iterator, this retrieves the next value from the iteration, and returns  
*NULL* with no exception set if there are no remaining items.  If the  
object is not an iterator, :exc:`TypeError` is raised, or if there is an  
error in retrieving the item, returns *NULL* and passes along the  
exception."
+msgstr ""
+
+#: ../../c-api/iter.rst:23
+# 267d69e4bf56465c97437783c39b0b03
+msgid "To write a loop which iterates over an iterator, the C code should  
look something like this::"
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/iterator.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,58 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/iterator.rst:6
+# aa1ef33bf2c04aa58273868bd229b4cb
+msgid "Iterator Objects"
+msgstr ""
+
+#: ../../c-api/iterator.rst:8
+# 5a3277fe62664038b693ce2db7b15208
+msgid "Python provides two general-purpose iterator objects.  The first, a  
sequence iterator, works with an arbitrary sequence supporting  
the :meth:`__getitem__` method.  The second works with a callable object  
and a sentinel value, calling the callable for each item in the sequence,  
and ending the iteration when the sentinel value is returned."
+msgstr ""
+
+#: ../../c-api/iterator.rst:17
+# e0b096600c4340eeaaac4c3641eddf3f
+msgid "Type object for iterator objects returned  
by :c:func:`PySeqIter_New` and the one-argument form of the :func:`iter`  
built-in function for built-in sequence types."
+msgstr ""
+
+#: ../../c-api/iterator.rst:24
+# 38ef6a449a6d421cae5247d96b653028
+msgid "Return true if the type of *op* is :c:data:`PySeqIter_Type`."
+msgstr ""
+
+#: ../../c-api/iterator.rst:29
+# 7b862f6dc695487aba2a62635b92de43
+msgid "Return an iterator that works with a general sequence object,  
*seq*.  The iteration ends when the sequence raises :exc:`IndexError` for  
the subscripting operation."
+msgstr ""
+
+#: ../../c-api/iterator.rst:36
+# a4f39fe29f5c4b1cb77a8c4c6949f441
+msgid "Type object for iterator objects returned  
by :c:func:`PyCallIter_New` and the two-argument form of the :func:`iter`  
built-in function."
+msgstr ""
+
+#: ../../c-api/iterator.rst:42
+# fb6951416d1f4024ace00d24b85697ee
+msgid "Return true if the type of *op* is :c:data:`PyCallIter_Type`."
+msgstr ""
+
+#: ../../c-api/iterator.rst:47
+# 44347a9a699a40f1947d0742bd8cfbdd
+msgid "Return a new iterator.  The first parameter, *callable*, can be any  
Python callable object that can be called with no parameters; each call to  
it should return the next item in the iteration.  When *callable* returns a  
value equal to *sentinel*, the iteration will be terminated."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/list.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,133 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/list.rst:6
+# 1c15370a451a46c195e6eb838faa09bd
+msgid "List Objects"
+msgstr ""
+
+#: ../../c-api/list.rst:13
+# b31239a2c2df4b65a44fc187bffabc9b
+msgid "This subtype of :c:type:`PyObject` represents a Python list object."
+msgstr ""
+
+#: ../../c-api/list.rst:18
+# a28c8befb0024489b0348d5f644d1af4
+msgid "This instance of :c:type:`PyTypeObject` represents the Python list  
type. This is the same object as :class:`list` in the Python layer."
+msgstr ""
+
+#: ../../c-api/list.rst:24
+# 2840e29f59864087b192f7074ca99dce
+msgid "Return true if *p* is a list object or an instance of a subtype of  
the list type."
+msgstr ""
+
+#: ../../c-api/list.rst:30
+# 078b15019b7c40b09c2943380ca526b1
+msgid "Return true if *p* is a list object, but not an instance of a  
subtype of the list type."
+msgstr ""
+
+#: ../../c-api/list.rst:36
+# 24f3ce10cdd24f19b891329875a1a5c0
+msgid "Return a new list of length *len* on success, or *NULL* on failure."
+msgstr ""
+
+#: ../../c-api/list.rst:40
+# 240870deb88c43359335cff47899c22c
+msgid "If *len* is greater than zero, the returned list object's items are  
set to ``NULL``.  Thus you cannot use abstract API functions such  
as :c:func:`PySequence_SetItem`  or expose the object to Python code before  
setting all items to a real object with :c:func:`PyList_SetItem`."
+msgstr ""
+
+#: ../../c-api/list.rst:50
+# 66fd1d2605e14df7aad3e4499cd4a8ff
+msgid "Return the length of the list object in *list*; this is equivalent  
to ``len(list)`` on a list object."
+msgstr ""
+
+#: ../../c-api/list.rst:56
+# 6cc3824ecee14155be26c738efe1e1df
+msgid "Macro form of :c:func:`PyList_Size` without error checking."
+msgstr ""
+
+#: ../../c-api/list.rst:61
+# c716ffd610d44ec5a5198b2bdd28fe45
+msgid "Return the object at position *index* in the list pointed to by  
*list*.  The position must be positive, indexing from the end of the list  
is not supported.  If *index* is out of bounds, return *NULL* and set  
an :exc:`IndexError` exception."
+msgstr ""
+
+#: ../../c-api/list.rst:69
+# 644edd8a91fb47a88d970fdd1184a76c
+msgid "Macro form of :c:func:`PyList_GetItem` without error checking."
+msgstr ""
+
+#: ../../c-api/list.rst:74
+# e4d473685516427eadd8098898adad53
+msgid "Set the item at index *index* in list to *item*.  Return ``0`` on  
success or ``-1`` on failure."
+msgstr ""
+
+#: ../../c-api/list.rst:79
+# ce1a1180dc064930873ca2ce9c0f3e45
+msgid "This function \"steals\" a reference to *item* and discards a  
reference to an item already in the list at the affected position."
+msgstr ""
+
+#: ../../c-api/list.rst:85
+# 5e4c110cbfc54adc9e4bd6b53b4a1716
+msgid "Macro form of :c:func:`PyList_SetItem` without error checking. This  
is normally only used to fill in new lists where there is no previous  
content."
+msgstr ""
+
+#: ../../c-api/list.rst:90
+# 2f5f4b8d577d4322b2aada003c939bb5
+msgid "This macro \"steals\" a reference to *item*, and,  
unlike :c:func:`PyList_SetItem`, does *not* discard a reference to any item  
that is being replaced; any reference in *list* at position *i* will be  
leaked."
+msgstr ""
+
+#: ../../c-api/list.rst:98
+# 49ffaa481dee40de956dad5725d1b4ba
+msgid "Insert the item *item* into list *list* in front of index *index*.   
Return ``0`` if successful; return ``-1`` and set an exception if  
unsuccessful. Analogous to ``list.insert(index, item)``."
+msgstr ""
+
+#: ../../c-api/list.rst:105
+# 344da336f6ee424ca737856e82ddf08b
+msgid "Append the object *item* at the end of list *list*. Return ``0`` if  
successful; return ``-1`` and set an exception if unsuccessful.  Analogous  
to ``list.append(item)``."
+msgstr ""
+
+#: ../../c-api/list.rst:112
+# e0d8aaf840ee4aed9b8dae160f2e8f19
+msgid "Return a list of the objects in *list* containing the objects  
*between* *low* and *high*.  Return *NULL* and set an exception if  
unsuccessful.  Analogous to ``list[low:high]``.  Negative indices, as when  
slicing from Python, are not supported."
+msgstr ""
+
+#: ../../c-api/list.rst:120
+# 22c231efc2194036a313630eb1f8f2ce
+msgid "Set the slice of *list* between *low* and *high* to the contents of  
*itemlist*.  Analogous to ``list[low:high] = itemlist``. The *itemlist* may  
be *NULL*, indicating the assignment of an empty list (slice deletion).  
Return ``0`` on success, ``-1`` on failure.  Negative indices, as when  
slicing from Python, are not supported."
+msgstr ""
+
+#: ../../c-api/list.rst:129
+# 1c8d38f100a24a15a58ad21b6a2e7c8a
+msgid "Sort the items of *list* in place.  Return ``0`` on success, ``-1``  
on failure.  This is equivalent to ``list.sort()``."
+msgstr ""
+
+#: ../../c-api/list.rst:135
+# 33fab787fe1044a5af45277cb89166c9
+msgid "Reverse the items of *list* in place.  Return ``0`` on success,  
``-1`` on failure.  This is the equivalent of ``list.reverse()``."
+msgstr ""
+
+#: ../../c-api/list.rst:143
+# a2c630a1b4444f53b548582aa6e22ec2
+msgid "Return a new tuple object containing the contents of *list*;  
equivalent to ``tuple(list)``."
+msgstr ""
+
+#: ../../c-api/list.rst:149
+# f140bf1e7fe440088c729c7288d3a466
+msgid "Clear the free list. Return the total number of freed items."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/long.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,214 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/long.rst:6
+# 591e35a1b50f454a984aced71c4e8d06
+msgid "Integer Objects"
+msgstr ""
+
+#: ../../c-api/long.rst:11
+# 0f47c6e6af6b4f818740d0b457e3be9c
+msgid "All integers are implemented as \"long\" integer objects of  
arbitrary size."
+msgstr ""
+
+#: ../../c-api/long.rst:15
+# 2a283c57dcc0411fbbd664f68c446a67
+msgid "This subtype of :c:type:`PyObject` represents a Python integer  
object."
+msgstr ""
+
+#: ../../c-api/long.rst:20
+# fd1d813072f74457aeacfaab8f454469
+msgid "This instance of :c:type:`PyTypeObject` represents the Python  
integer type. This is the same object as :class:`int` in the Python layer."
+msgstr ""
+
+#: ../../c-api/long.rst:26
+# 7b15f331db594281abe3bdf995542af2
+msgid "Return true if its argument is a :c:type:`PyLongObject` or a  
subtype of :c:type:`PyLongObject`."
+msgstr ""
+
+#: ../../c-api/long.rst:32
+# 8a081ecf66034a3c8386fbee40994ea2
+msgid "Return true if its argument is a :c:type:`PyLongObject`, but not a  
subtype of :c:type:`PyLongObject`."
+msgstr ""
+
+#: ../../c-api/long.rst:38
+# 1b49916645114dae95970ea48962e929
+msgid "Return a new :c:type:`PyLongObject` object from *v*, or *NULL* on  
failure."
+msgstr ""
+
+#: ../../c-api/long.rst:40
+# e855e8af87f94f5c8626a2f3d2322ca3
+msgid "The current implementation keeps an array of integer objects for  
all integers between ``-5`` and ``256``, when you create an int in that  
range you actually just get back a reference to the existing object. So it  
should be possible to change the value of ``1``.  I suspect the behaviour  
of Python in this case is undefined. :-)"
+msgstr ""
+
+#: ../../c-api/long.rst:49
+# ad89eb0bf10f48889ab37b4ad8b4c77a
+msgid "Return a new :c:type:`PyLongObject` object from a  
C :c:type:`unsigned long`, or *NULL* on failure."
+msgstr ""
+
+#: ../../c-api/long.rst:55
+# 4738745a7e2c4672a1f5e9817ae54977
+msgid "Return a new :c:type:`PyLongObject` object from a  
C :c:type:`Py_ssize_t`, or *NULL* on failure."
+msgstr ""
+
+#: ../../c-api/long.rst:61
+# dd438a16307d4567beee62093768766c
+msgid "Return a new :c:type:`PyLongObject` object from a  
C :c:type:`size_t`, or *NULL* on failure."
+msgstr ""
+
+#: ../../c-api/long.rst:67
+# bbe3e0f90879482186d051c24a88b92a
+msgid "Return a new :c:type:`PyLongObject` object from a C :c:type:`long  
long`, or *NULL* on failure."
+msgstr ""
+
+#: ../../c-api/long.rst:73
+# 7619c5fd7a854d3597719f9ffdfd0644
+msgid "Return a new :c:type:`PyLongObject` object from a  
C :c:type:`unsigned long long`, or *NULL* on failure."
+msgstr ""
+
+#: ../../c-api/long.rst:79
+# 9bd910a0994e44cfb624b8c69c9d8089
+msgid "Return a new :c:type:`PyLongObject` object from the integer part of  
*v*, or *NULL* on failure."
+msgstr ""
+
+#: ../../c-api/long.rst:85
+# be093bcfdfe042be85bb2f089e0c0390
+msgid "Return a new :c:type:`PyLongObject` based on the string value in  
*str*, which is interpreted according to the radix in *base*.  If *pend* is  
non-*NULL*, *\\*pend* will point to the first character in *str* which  
follows the representation of the number.  If *base* is ``0``, the radix  
will be determined based on the leading characters of *str*: if *str*  
starts with ``'0x'`` or ``'0X'``, radix 16 will be used; if *str* starts  
with ``'0o'`` or ``'0O'``, radix 8 will be used; if *str* starts with  
``'0b'`` or ``'0B'``, radix 2 will be used; otherwise radix 10 will be  
used.  If *base* is not ``0``, it must be between ``2`` and ``36``,  
inclusive.  Leading spaces are ignored.  If there are no  
digits, :exc:`ValueError` will be raised."
+msgstr ""
+
+#: ../../c-api/long.rst:99
+# ff156afc6f1e4f259a663811e86836c8
+msgid "Convert a sequence of Unicode digits to a Python integer value.   
The Unicode string is first encoded to a byte string  
using :c:func:`PyUnicode_EncodeDecimal` and then converted  
using :c:func:`PyLong_FromString`."
+msgstr ""
+
+#: ../../c-api/long.rst:110
+# e4f328d03b364fea9f036c78aa2d42a4
+msgid "Convert a sequence of Unicode digits in the string *u* to a Python  
integer value.  The Unicode string is first encoded to a byte string  
using :c:func:`PyUnicode_EncodeDecimal` and then converted  
using :c:func:`PyLong_FromString`."
+msgstr ""
+
+#: ../../c-api/long.rst:120
+# cd16f47f1fdb4d9296ca80e4ff5bb33d
+msgid "Create a Python integer from the pointer *p*. The pointer value can  
be retrieved from the resulting value using :c:func:`PyLong_AsVoidPtr`."
+msgstr ""
+
+#: ../../c-api/long.rst:131
+#: ../../c-api/long.rst:141
+# 8ace89bbfa2c4371806d1d51a8b2161e
+# 6ad20ba1eca84d67a63c5e43da789eae
+msgid "Return a C :c:type:`long` representation of *obj*.  If *obj* is not  
an instance of :c:type:`PyLongObject`, first call its :meth:`__int__`  
method (if present) to convert it to a :c:type:`PyLongObject`."
+msgstr ""
+
+#: ../../c-api/long.rst:135
+#: ../../c-api/long.rst:160
+# caed6f6ca9654e04be022fe0249d56e2
+# 41af049ff158428bb6f7d2f6998a264b
+msgid "Raise :exc:`OverflowError` if the value of *obj* is out of range  
for a :c:type:`long`."
+msgstr ""
+
+#: ../../c-api/long.rst:145
+# bee061bd9af2428ba5ceb28ba803e93a
+msgid "If the value of *obj* is greater than :const:`LONG_MAX` or less  
than :const:`LONG_MIN`, set *\\*overflow* to ``1`` or ``-1``, respectively,  
and return ``-1``; otherwise, set *\\*overflow* to ``0``.  If any other  
exception occurs set *\\*overflow* to ``0`` and return ``-1`` as usual."
+msgstr ""
+
+#: ../../c-api/long.rst:156
+#: ../../c-api/long.rst:166
+# f0ac2a05e7074bf4ae2eaad0c21004ed
+# be73b117819f4388aee5a91e7d366eaa
+msgid "Return a C :c:type:`long long` representation of *obj*.  If *obj*  
is not an instance of :c:type:`PyLongObject`, first call  
its :meth:`__int__` method (if present) to convert it to  
a :c:type:`PyLongObject`."
+msgstr ""
+
+#: ../../c-api/long.rst:170
+# beb1ca9851d8412897460daecefa2f13
+msgid "If the value of *obj* is greater than :const:`PY_LLONG_MAX` or less  
than :const:`PY_LLONG_MIN`, set *\\*overflow* to ``1`` or ``-1``,  
respectively, and return ``-1``; otherwise, set *\\*overflow* to ``0``.  If  
any other exception occurs set *\\*overflow* to ``0`` and return ``-1`` as  
usual."
+msgstr ""
+
+#: ../../c-api/long.rst:184
+# 37158fd98fdf4bd39b53b57f48f1ca96
+msgid "Return a C :c:type:`Py_ssize_t` representation of *pylong*.   
*pylong* must be an instance of :c:type:`PyLongObject`."
+msgstr ""
+
+#: ../../c-api/long.rst:187
+# ad415eb033424c32a60a8fe6bfaab136
+msgid "Raise :exc:`OverflowError` if the value of *pylong* is out of range  
for a :c:type:`Py_ssize_t`."
+msgstr ""
+
+#: ../../c-api/long.rst:197
+# e92d4db4a90f41349174bb2ac9c0f8f7
+msgid "Return a C :c:type:`unsigned long` representation of *pylong*.   
*pylong* must be an instance of :c:type:`PyLongObject`."
+msgstr ""
+
+#: ../../c-api/long.rst:200
+# ffe915d1589d4c308e9de98f71efd831
+msgid "Raise :exc:`OverflowError` if the value of *pylong* is out of range  
for a :c:type:`unsigned long`."
+msgstr ""
+
+#: ../../c-api/long.rst:206
+# 82c8a667e1954d38aa8595e2ea2dbd52
+msgid "Return a C :c:type:`size_t` representation of of *pylong*.   
*pylong* must be an instance of :c:type:`PyLongObject`."
+msgstr ""
+
+#: ../../c-api/long.rst:209
+# 227c833eaa54427382f66663e15b7a5d
+msgid "Raise :exc:`OverflowError` if the value of *pylong* is out of range  
for a :c:type:`size_t`."
+msgstr ""
+
+#: ../../c-api/long.rst:218
+# 7eef433242134c1d8057d966779a3cec
+msgid "Return a C :c:type:`unsigned PY_LONG_LONG` representation of of  
*pylong*. *pylong* must be an instance of :c:type:`PyLongObject`."
+msgstr ""
+
+#: ../../c-api/long.rst:221
+# 77586e06a9a44d10a08c389ab93a14a4
+msgid "Raise :exc:`OverflowError` if the value of *pylong* is out of range  
for an :c:type:`unsigned PY_LONG_LONG`."
+msgstr ""
+
+#: ../../c-api/long.rst:230
+# 4a37a34386ce40d9ae4971d7a6f13d7c
+msgid "Return a C :c:type:`unsigned long` representation of *obj*.  If  
*obj* is not an instance of :c:type:`PyLongObject`, first call  
its :meth:`__int__` method (if present) to convert it to  
a :c:type:`PyLongObject`."
+msgstr ""
+
+#: ../../c-api/long.rst:234
+# 2e60acd3bff9494cb9132e486bddc4cf
+msgid "If the value of *obj* is out of range for an :c:type:`unsigned  
long`, return the reduction of that value modulo :const:`ULONG_MAX + 1`."
+msgstr ""
+
+#: ../../c-api/long.rst:240
+# cbc38a305b6c4505868a857052c64bd8
+msgid "Return a C :c:type:`unsigned long long` representation of *obj*.   
If *obj* is not an instance of :c:type:`PyLongObject`, first call  
its :meth:`__int__` method (if present) to convert it to  
a :c:type:`PyLongObject`."
+msgstr ""
+
+#: ../../c-api/long.rst:244
+# fe206a0e66914835b45472278b9dae0a
+msgid "If the value of *obj* is out of range for an :c:type:`unsigned long  
long`, return the reduction of that value modulo :const:`PY_ULLONG_MAX +  
1`."
+msgstr ""
+
+#: ../../c-api/long.rst:250
+# 1468c0ba2f0d4407a1c8689f9fe6e235
+msgid "Return a C :c:type:`double` representation of *pylong*.  *pylong*  
must be an instance of :c:type:`PyLongObject`."
+msgstr ""
+
+#: ../../c-api/long.rst:253
+# d73671881f7e4ad0bcb4726efe440a31
+msgid "Raise :exc:`OverflowError` if the value of *pylong* is out of range  
for a :c:type:`double`."
+msgstr ""
+
+#: ../../c-api/long.rst:259
+# 74737c1f15ea4286a1b76476e146ffdf
+msgid "Convert a Python integer *pylong* to a C :c:type:`void` pointer. If  
*pylong* cannot be converted, an :exc:`OverflowError` will be raised.  This  
is only assured to produce a usable :c:type:`void` pointer for values  
created with :c:func:`PyLong_FromVoidPtr`."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/mapping.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,75 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/mapping.rst:6
+# 90cbc99e8c624ec7ab0afc50e73b43df
+msgid "Mapping Protocol"
+msgstr ""
+
+#: ../../c-api/mapping.rst:11
+# ffa6aeeac5f4437290e31a3bcad11f24
+msgid "Return ``1`` if the object provides mapping protocol, and ``0``  
otherwise.  This function always succeeds."
+msgstr ""
+
+#: ../../c-api/mapping.rst:20
+# 1fa6dce388f34394a178520b32023a06
+msgid "Returns the number of keys in object *o* on success, and ``-1`` on  
failure.  For objects that do not provide mapping protocol, this is  
equivalent to the Python expression ``len(o)``."
+msgstr ""
+
+#: ../../c-api/mapping.rst:27
+#: ../../c-api/mapping.rst:33
+# 0dcacb5dade7476da9df83099cb76ba0
+# 9ce3cb53e0464344ab2ed93d15df3d50
+msgid "Remove the mapping for object *key* from the object *o*. Return  
``-1`` on failure.  This is equivalent to the Python statement ``del  
o[key]``."
+msgstr ""
+
+#: ../../c-api/mapping.rst:39
+# 037f1c5c92ce41c38773f53a632ed8a2
+msgid "On success, return ``1`` if the mapping object has the key *key*  
and ``0`` otherwise.  This is equivalent to the Python expression ``key in  
o``. This function always succeeds."
+msgstr ""
+
+#: ../../c-api/mapping.rst:46
+# 98acdae63b8d4539aa9fa59c2abbe459
+msgid "Return ``1`` if the mapping object has the key *key* and ``0``  
otherwise.  This is equivalent to the Python expression ``key in o``.  This  
function always succeeds."
+msgstr ""
+
+#: ../../c-api/mapping.rst:53
+# 73e0440fa3d847ed961aaf42d84c0b90
+msgid "On success, return a list of the keys in object *o*.  On failure,  
return *NULL*. This is equivalent to the Python expression  
``list(o.keys())``."
+msgstr ""
+
+#: ../../c-api/mapping.rst:59
+# bb2e1d88b89f4e57ba43092a3112ad1e
+msgid "On success, return a list of the values in object *o*.  On failure,  
return *NULL*. This is equivalent to the Python expression  
``list(o.values())``."
+msgstr ""
+
+#: ../../c-api/mapping.rst:65
+# d0b1536bc25a4064a24bfcf9989b1718
+msgid "On success, return a list of the items in object *o*, where each  
item is a tuple containing a key-value pair.  On failure, return *NULL*.  
This is equivalent to the Python expression ``list(o.items())``."
+msgstr ""
+
+#: ../../c-api/mapping.rst:72
+# 67b8871922e246b48d3b9dc6c9426409
+msgid "Return element of *o* corresponding to the object *key* or *NULL*  
on failure. This is the equivalent of the Python expression ``o[key]``."
+msgstr ""
+
+#: ../../c-api/mapping.rst:78
+# dbf7608971f541178b66352a675fbb5b
+msgid "Map the object *key* to the value *v* in object *o*. Returns ``-1``  
on failure. This is the equivalent of the Python statement ``o[key] = v``."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/marshal.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,88 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/marshal.rst:6
+# e6687fa4f7154be6b92e5f6ad5eaf279
+msgid "Data marshalling support"
+msgstr ""
+
+#: ../../c-api/marshal.rst:8
+# e66e2a998bc64c129ef8b29b3ab0057d
+msgid "These routines allow C code to work with serialized objects using  
the same data format as the :mod:`marshal` module.  There are functions to  
write data into the serialization format, and additional functions that can  
be used to read the data back.  Files used to store marshalled data must be  
opened in binary mode."
+msgstr ""
+
+#: ../../c-api/marshal.rst:14
+# 8a1ecc9e856f4b14a78519fec35fcba8
+msgid "Numeric values are stored with the least significant byte first."
+msgstr ""
+
+#: ../../c-api/marshal.rst:16
+# b9cf4b0a354044389ec2839acfc668da
+msgid "The module supports two versions of the data format: version 0 is  
the historical version, version 1 shares interned strings in the file, and  
upon unmarshalling.  Version 2 uses a binary format for floating point  
numbers. *Py_MARSHAL_VERSION* indicates the current file format (currently  
2)."
+msgstr ""
+
+#: ../../c-api/marshal.rst:24
+# c472c067e99847bcbd07dfd2ad0831bc
+msgid "Marshal a :c:type:`long` integer, *value*, to *file*.  This will  
only write the least-significant 32 bits of *value*; regardless of the size  
of the native :c:type:`long` type.  *version* indicates the file format."
+msgstr ""
+
+#: ../../c-api/marshal.rst:31
+# 66e5436133fb43bf8a0540be6b8ff235
+msgid "Marshal a Python object, *value*, to *file*. *version* indicates  
the file format."
+msgstr ""
+
+#: ../../c-api/marshal.rst:37
+# dccb03acf1f64de0bd59c8599c4e466a
+msgid "Return a string object containing the marshalled representation of  
*value*. *version* indicates the file format."
+msgstr ""
+
+#: ../../c-api/marshal.rst:41
+# 18daad8ffde14d8f85d46643b304ecdf
+msgid "The following functions allow marshalled values to be read back in."
+msgstr ""
+
+#: ../../c-api/marshal.rst:43
+# 7e0cd9f36f974f6babb6b939f087d3c6
+msgid "XXX What about error detection?  It appears that reading past the  
end of the file will always result in a negative numeric value (where  
that's relevant), but it's not clear that negative values won't be handled  
properly when there's no error.  What's the right way to tell? Should only  
non-negative values be written using these routines?"
+msgstr ""
+
+#: ../../c-api/marshal.rst:52
+# 38f7ab2327e14b6fa04ae88ba32c2f66
+msgid "Return a C :c:type:`long` from the data stream in  
a :c:type:`FILE\\*` opened for reading.  Only a 32-bit value can be read in  
using this function, regardless of the native size of :c:type:`long`."
+msgstr ""
+
+#: ../../c-api/marshal.rst:59
+# dda5442ca2964698b26ae29bd164be50
+msgid "Return a C :c:type:`short` from the data stream in  
a :c:type:`FILE\\*` opened for reading.  Only a 16-bit value can be read in  
using this function, regardless of the native size of :c:type:`short`."
+msgstr ""
+
+#: ../../c-api/marshal.rst:66
+# 33478795c9654dad94117d13faff2656
+msgid "Return a Python object from the data stream in a :c:type:`FILE\\*`  
opened for reading.  On error, sets the appropriate exception  
(:exc:`EOFError` or :exc:`TypeError`) and returns *NULL*."
+msgstr ""
+
+#: ../../c-api/marshal.rst:73
+# 49f7d9d5f53042fdb2dd07d4a4636498
+msgid "Return a Python object from the data stream in a :c:type:`FILE\\*`  
opened for reading.  Unlike :c:func:`PyMarshal_ReadObjectFromFile`, this  
function assumes that no further objects will be read from the file,  
allowing it to aggressively load file data into memory so that the  
de-serialization can operate from data in memory rather than reading a byte  
at a time from the file.  Only use these variant if you are certain that  
you won't be reading anything else from the file.  On error, sets the  
appropriate exception (:exc:`EOFError` or :exc:`TypeError`) and returns  
*NULL*."
+msgstr ""
+
+#: ../../c-api/marshal.rst:85
+# 6f966738c6fa48a0a4421b24268118ae
+msgid "Return a Python object from the data stream in a character buffer  
containing *len* bytes pointed to by *string*.  On error, sets the  
appropriate exception (:exc:`EOFError` or :exc:`TypeError`) and returns  
*NULL*."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/memory.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,148 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/memory.rst:8
+# 06c2ed148b7d411385c2dd26260e8b12
+msgid "Memory Management"
+msgstr ""
+
+#: ../../c-api/memory.rst:17
+# a47d54478e7e49f2851dddd5d74bace3
+msgid "Overview"
+msgstr ""
+
+#: ../../c-api/memory.rst:19
+# 89aaf8c3b790413199075b7684a8180f
+msgid "Memory management in Python involves a private heap containing all  
Python objects and data structures. The management of this private heap is  
ensured internally by the *Python memory manager*.  The Python memory  
manager has different components which deal with various dynamic storage  
management aspects, like sharing, segmentation, preallocation or caching."
+msgstr ""
+
+#: ../../c-api/memory.rst:25
+# b6377d99aa094211ba0ffeaed9a41fd1
+msgid "At the lowest level, a raw memory allocator ensures that there is  
enough room in the private heap for storing all Python-related data by  
interacting with the memory manager of the operating system. On top of the  
raw memory allocator, several object-specific allocators operate on the  
same heap and implement distinct memory management policies adapted to the  
peculiarities of every object type. For example, integer objects are  
managed differently within the heap than strings, tuples or dictionaries  
because integers imply different storage requirements and speed/space  
tradeoffs. The Python memory manager thus delegates some of the work to the  
object-specific allocators, but ensures that the latter operate within the  
bounds of the private heap."
+msgstr ""
+
+#: ../../c-api/memory.rst:36
+# 6af84e4608584914a5250a0252f91a2f
+msgid "It is important to understand that the management of the Python  
heap is performed by the interpreter itself and that the user has no  
control over it, even if she regularly manipulates object pointers to  
memory blocks inside that heap.  The allocation of heap space for Python  
objects and other internal buffers is performed on demand by the Python  
memory manager through the Python/C API functions listed in this document."
+msgstr ""
+
+#: ../../c-api/memory.rst:49
+# 0388f66677064830b1ca54baa9ad7976
+msgid "To avoid memory corruption, extension writers should never try to  
operate on Python objects with the functions exported by the C  
library: :c:func:`malloc`, :c:func:`calloc`, :c:func:`realloc`  
and :c:func:`free`.  This will result in  mixed calls between the C  
allocator and the Python memory manager with fatal consequences, because  
they implement different algorithms and operate on different heaps.   
However, one may safely allocate and release memory blocks with the C  
library allocator for individual purposes, as shown in the following  
example::"
+msgstr ""
+
+#: ../../c-api/memory.rst:68
+# 41748d07a3fd42feb85645046d9f1b89
+msgid "In this example, the memory request for the I/O buffer is handled  
by the C library allocator. The Python memory manager is involved only in  
the allocation of the string object returned as a result."
+msgstr ""
+
+#: ../../c-api/memory.rst:72
+# 6a29a2a0f87b4ac88cb1b52409d30eaf
+msgid "In most situations, however, it is recommended to allocate memory  
from the Python heap specifically because the latter is under control of  
the Python memory manager. For example, this is required when the  
interpreter is extended with new object types written in C. Another reason  
for using the Python heap is the desire to *inform* the Python memory  
manager about the memory needs of the extension module. Even when the  
requested memory is used exclusively for internal, highly-specific  
purposes, delegating all memory requests to the Python memory manager  
causes the interpreter to have a more accurate image of its memory  
footprint as a whole. Consequently, under certain circumstances, the Python  
memory manager may or may not trigger appropriate actions, like garbage  
collection, memory compaction or other preventive procedures. Note that by  
using the C library allocator as shown in the previous example, the  
allocated memory for the I/O buffer escapes completely the Python memory  
manager."
+msgstr ""
+
+#: ../../c-api/memory.rst:90
+# 06bd24eabe7a4b749af96fd3ae16e795
+msgid "Memory Interface"
+msgstr ""
+
+#: ../../c-api/memory.rst:92
+# a1df3b2abdbe44c7ab894d9652f47afb
+msgid "The following function sets, modeled after the ANSI C standard, but  
specifying behavior when requesting zero bytes, are available for  
allocating and releasing memory from the Python heap:"
+msgstr ""
+
+#: ../../c-api/memory.rst:99
+# 17202e67dc22499d93fe6ae4874bf1a3
+msgid "Allocates *n* bytes and returns a pointer of type :c:type:`void\\*`  
to the allocated memory, or *NULL* if the request fails. Requesting zero  
bytes returns a distinct non-*NULL* pointer if possible, as if  
``PyMem_Malloc(1)`` had been called instead. The memory will not have been  
initialized in any way."
+msgstr ""
+
+#: ../../c-api/memory.rst:107
+# 7220b2f21e9c4857aab068c1b62bea67
+msgid "Resizes the memory block pointed to by *p* to *n* bytes. The  
contents will be unchanged to the minimum of the old and the new sizes. If  
*p* is *NULL*, the call is equivalent to ``PyMem_Malloc(n)``; else if *n*  
is equal to zero, the memory block is resized but is not freed, and the  
returned pointer is non-*NULL*.  Unless *p* is *NULL*, it must have been  
returned by a previous call to :c:func:`PyMem_Malloc`  
or :c:func:`PyMem_Realloc`. If the request fails, :c:func:`PyMem_Realloc`  
returns *NULL* and *p* remains a valid pointer to the previous memory area."
+msgstr ""
+
+#: ../../c-api/memory.rst:119
+# 98a5faab3b9f40a4b96cc8e07642c4a9
+msgid "Frees the memory block pointed to by *p*, which must have been  
returned by a previous call to :c:func:`PyMem_Malloc`  
or :c:func:`PyMem_Realloc`.  Otherwise, or if ``PyMem_Free(p)`` has been  
called before, undefined behavior occurs. If *p* is *NULL*, no operation is  
performed."
+msgstr ""
+
+#: ../../c-api/memory.rst:124
+# d6451ce9caaf48d4ab2dd66030c70fd3
+msgid "The following type-oriented macros are provided for convenience.   
Note  that *TYPE* refers to any C type."
+msgstr ""
+
+#: ../../c-api/memory.rst:130
+# 42ed76b480994bb8917186d9802b19ce
+msgid "Same as :c:func:`PyMem_Malloc`, but allocates ``(n *  
sizeof(TYPE))`` bytes of memory.  Returns a pointer cast  
to :c:type:`TYPE\\*`.  The memory will not have been initialized in any  
way."
+msgstr ""
+
+#: ../../c-api/memory.rst:137
+# b08a3857931f42f5a94b4e28cb78f5b8
+msgid "Same as :c:func:`PyMem_Realloc`, but the memory block is resized to  
``(n * sizeof(TYPE))`` bytes.  Returns a pointer cast to :c:type:`TYPE\\*`.  
On return, *p* will be a pointer to the new memory area, or *NULL* in the  
event of failure.  This is a C preprocessor macro; p is always reassigned.   
Save the original value of p to avoid losing memory when handling errors."
+msgstr ""
+
+#: ../../c-api/memory.rst:146
+# b6e683f20231411ca4119c713050068c
+msgid "Same as :c:func:`PyMem_Free`."
+msgstr ""
+
+#: ../../c-api/memory.rst:148
+# 46b610e9cd1a4cb89612f4f4edd1e3c0
+msgid "In addition, the following macro sets are provided for calling the  
Python memory allocator directly, without involving the C API functions  
listed above. However, note that their use does not preserve binary  
compatibility across Python versions and is therefore deprecated in  
extension modules."
+msgstr ""
+
+#: ../../c-api/memory.rst:153
+# 894ec97250994cc0b025c9f40bf01e4c
+msgid ":c:func:`PyMem_MALLOC`, :c:func:`PyMem_REALLOC`, :c:func:`PyMem_FREE`."
+msgstr ""
+
+#: ../../c-api/memory.rst:155
+# 5a888fc3b9b04b96afa7bf6917f6fce9
+msgid ":c:func:`PyMem_NEW`, :c:func:`PyMem_RESIZE`, :c:func:`PyMem_DEL`."
+msgstr ""
+
+#: ../../c-api/memory.rst:161
+# e315f1f9cb7344b6b7b3cc43f0450346
+msgid "Examples"
+msgstr ""
+
+#: ../../c-api/memory.rst:163
+# e0845049d86a4dd9a79519cca745b6ad
+msgid "Here is the example from section :ref:`memoryoverview`, rewritten  
so that the I/O buffer is allocated from the Python heap by using the first  
function set::"
+msgstr ""
+
+#: ../../c-api/memory.rst:176
+# 0a756ba7163746fe8aa656450cc46f2a
+msgid "The same code using the type-oriented function set::"
+msgstr ""
+
+#: ../../c-api/memory.rst:188
+# 1303c45f7cec4756a097f381f5f1aa4b
+msgid "Note that in the two examples above, the buffer is always  
manipulated via functions belonging to the same set. Indeed, it is required  
to use the same memory API family for a given memory block, so that the  
risk of mixing different allocators is reduced to a minimum. The following  
code sequence contains two errors, one of which is labeled as *fatal*  
because it mixes two different allocators operating on different heaps. ::"
+msgstr ""
+
+#: ../../c-api/memory.rst:203
+# 47f4b32101c54f939c2b688fe19019a3
+msgid "In addition to the functions aimed at handling raw memory blocks  
from the Python heap, objects in Python are allocated and released  
with :c:func:`PyObject_New`, :c:func:`PyObject_NewVar`  
and :c:func:`PyObject_Del`."
+msgstr ""
+
+#: ../../c-api/memory.rst:207
+# f74a779c1b304befa8406c1779692f90
+msgid "These will be explained in the next chapter on defining and  
implementing new object types in C."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/memoryview.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,63 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/memoryview.rst:9
+# e0264ca038b848ceb8f0a2fa6a7d5740
+msgid "MemoryView objects"
+msgstr ""
+
+#: ../../c-api/memoryview.rst:11
+# a03d6135140e4efdb22069a8abfe4d61
+msgid "A :class:`memoryview` object exposes the C level :ref:`buffer  
interface <bufferobjects>` as a Python object which can then be passed  
around like any other object."
+msgstr ""
+
+#: ../../c-api/memoryview.rst:18
+# 266c9482b80c4d15bacb008791d80352
+msgid "Create a memoryview object from an object that provides the buffer  
interface. If *obj* supports writable buffer exports, the memoryview object  
will be read/write, otherwise it may be either read-only or read/write at  
the discretion of the exporter."
+msgstr ""
+
+#: ../../c-api/memoryview.rst:25
+# 76ccf4ec01f440508c295a77b742dd70
+msgid "Create a memoryview object using *mem* as the underlying buffer.  
*flags* can be one of :c:macro:`PyBUF_READ` or :c:macro:`PyBUF_WRITE`."
+msgstr ""
+
+#: ../../c-api/memoryview.rst:32
+# 608b8711a5cd4adc8046bf2df77581df
+msgid "Create a memoryview object wrapping the given buffer structure  
*view*. For simple byte buffers, :c:func:`PyMemoryView_FromMemory` is the  
preferred function."
+msgstr ""
+
+#: ../../c-api/memoryview.rst:38
+# f8d051de18b14a2fbdb96fa237cad7c3
+msgid "Create a memoryview object to a contiguous chunk of memory (in  
either 'C' or 'F'ortran *order*) from an object that defines the buffer  
interface. If memory is contiguous, the memoryview object points to the  
original memory. Otherwise, a copy is made and the memoryview points to a  
new bytes object."
+msgstr ""
+
+#: ../../c-api/memoryview.rst:47
+# f3a07d7e19f64ec99c35c61d01a1d2b5
+msgid "Return true if the object *obj* is a memoryview object.  It is not  
currently allowed to create subclasses of :class:`memoryview`."
+msgstr ""
+
+#: ../../c-api/memoryview.rst:53
+# 145d4ad5b88c4fa786c79192da031231
+msgid "Return a pointer to the memoryview's private copy of the exporter's  
buffer. *mview* **must** be a memoryview instance; this macro doesn't check  
its type, you must do it yourself or you will risk crashes."
+msgstr ""
+
+#: ../../c-api/memoryview.rst:59
+# d0230b0a56dd4d81b66a442ea61a2158
+msgid "Return either a pointer to the exporting object that the memoryview  
is based on or *NULL* if the memoryview has been created by one of the  
functions :c:func:`PyMemoryView_FromMemory`  
or :c:func:`PyMemoryView_FromBuffer`. *mview* **must** be a memoryview  
instance."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/method.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,103 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/method.rst:6
+# fc02c1114f624e598a58d54d2be8e25c
+msgid "Instance Method Objects"
+msgstr ""
+
+#: ../../c-api/method.rst:10
+# 73dfd043d22d40b6a32e432e7a5f928f
+msgid "An instance method is a wrapper for a :c:data:`PyCFunction` and the  
new way to bind a :c:data:`PyCFunction` to a class object. It replaces the  
former call ``PyMethod_New(func, NULL, class)``."
+msgstr ""
+
+#: ../../c-api/method.rst:17
+# 1531a2dbde5548a0909ded42215cb940
+msgid "This instance of :c:type:`PyTypeObject` represents the Python  
instance method type. It is not exposed to Python programs."
+msgstr ""
+
+#: ../../c-api/method.rst:23
+# 1cfc4eeb59904e31becc747f71d95d22
+msgid "Return true if *o* is an instance method object (has  
type :c:data:`PyInstanceMethod_Type`).  The parameter must not be *NULL*."
+msgstr ""
+
+#: ../../c-api/method.rst:29
+# 1e71c5881ccd4da7a30961b76aad0e96
+msgid "Return a new instance method object, with *func* being any callable  
object *func* is the function that will be called when the instance method  
is called."
+msgstr ""
+
+#: ../../c-api/method.rst:36
+# 692be702bb204a668a2cd470dde89cd5
+msgid "Return the function object associated with the instance method  
*im*."
+msgstr ""
+
+#: ../../c-api/method.rst:41
+# b0b930af063b458a8bcd8f2c0459c0e3
+msgid "Macro version of :c:func:`PyInstanceMethod_Function` which avoids  
error checking."
+msgstr ""
+
+#: ../../c-api/method.rst:47
+# 2d6ad805c957413387154c30c08718d5
+msgid "Method Objects"
+msgstr ""
+
+#: ../../c-api/method.rst:51
+# 2f8e74ffb3294dacb7a5523445f591a8
+msgid "Methods are bound function objects. Methods are always bound to an  
instance of an user-defined class. Unbound methods (methods bound to a  
class object) are no longer available."
+msgstr ""
+
+#: ../../c-api/method.rst:60
+# 29d50a4f49fc4474a3f8ba6e7a846722
+msgid "This instance of :c:type:`PyTypeObject` represents the Python  
method type.  This is exposed to Python programs as ``types.MethodType``."
+msgstr ""
+
+#: ../../c-api/method.rst:66
+# 3cb56c28d47a4e57ba7d2d3ced67739a
+msgid "Return true if *o* is a method object (has  
type :c:data:`PyMethod_Type`).  The parameter must not be *NULL*."
+msgstr ""
+
+#: ../../c-api/method.rst:72
+# d3d44006280b466ea22b5c6d54e4b06b
+msgid "Return a new method object, with *func* being any callable object  
and *self* the instance the method should be bound. *func* is the function  
that will be called when the method is called. *self* must not be *NULL*."
+msgstr ""
+
+#: ../../c-api/method.rst:79
+# 44e77e2ca95d49ea9a9252d4a1a7416d
+msgid "Return the function object associated with the method *meth*."
+msgstr ""
+
+#: ../../c-api/method.rst:84
+# 381f4ed30aad4d528a0da4baadff4d00
+msgid "Macro version of :c:func:`PyMethod_Function` which avoids error  
checking."
+msgstr ""
+
+#: ../../c-api/method.rst:89
+# 195126e5a5224105a1fdf2d22688d3fe
+msgid "Return the instance associated with the method *meth*."
+msgstr ""
+
+#: ../../c-api/method.rst:94
+# 21ed7d4a4e0f4602babdba7065bba27b
+msgid "Macro version of :c:func:`PyMethod_Self` which avoids error  
checking."
+msgstr ""
+
+#: ../../c-api/method.rst:99
+# caf94be92b504cc58ca58f6794e6eb50
+msgid "Clear the free list. Return the total number of freed items."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/module.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,208 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/module.rst:6
+# 3b49abef9789426882a7c455be8f020d
+msgid "Module Objects"
+msgstr ""
+
+#: ../../c-api/module.rst:10
+# 75a7c29d3d98402ebefc88567d4c2bd6
+msgid "There are only a few functions special to module objects."
+msgstr ""
+
+#: ../../c-api/module.rst:17
+# a011944512c44549b8d2272086053454
+msgid "This instance of :c:type:`PyTypeObject` represents the Python  
module type.  This is exposed to Python programs as ``types.ModuleType``."
+msgstr ""
+
+#: ../../c-api/module.rst:23
+# 29e5ea38562240c38084cb57b60bd6fb
+msgid "Return true if *p* is a module object, or a subtype of a module  
object."
+msgstr ""
+
+#: ../../c-api/module.rst:28
+# b8294c01a21f46b89f0b78087eef1e47
+msgid "Return true if *p* is a module object, but not a subtype  
of :c:data:`PyModule_Type`."
+msgstr ""
+
+#: ../../c-api/module.rst:39
+# 9469ff4e6e5d493c88c470cd596f78c5
+msgid "Return a new module object with the :attr:`__name__` attribute set  
to *name*. Only the module's :attr:`__doc__` and :attr:`__name__`  
attributes are filled in; the caller is responsible for providing  
a :attr:`__file__` attribute."
+msgstr ""
+
+#: ../../c-api/module.rst:48
+# 8599e5edd2764f15ab81ff4e61b398e6
+msgid "Similar to :c:func:`PyImport_NewObject`, but the name is an UTF-8  
encoded string instead of a Unicode object."
+msgstr ""
+
+#: ../../c-api/module.rst:56
+# 008d64b049dc406492b086bd04642421
+msgid "Return the dictionary object that implements *module*'s namespace;  
this object is the same as the :attr:`__dict__` attribute of the module  
object.  This function never fails.  It is recommended extensions use  
other :c:func:`PyModule_\\*` and :c:func:`PyObject_\\*` functions rather  
than directly manipulate a module's :attr:`__dict__`."
+msgstr ""
+
+#: ../../c-api/module.rst:69
+# 12a73ec1926b4849a1790e8a4e954f93
+msgid "Return *module*'s :attr:`__name__` value.  If the module does not  
provide one, or if it is not a string, :exc:`SystemError` is raised and  
*NULL* is returned."
+msgstr ""
+
+#: ../../c-api/module.rst:77
+# 2862331b73f1404ba5c3060ba2ad703f
+msgid "Similar to :c:func:`PyModule_GetNameObject` but return the name  
encoded to ``'utf-8'``."
+msgstr ""
+
+#: ../../c-api/module.rst:87
+# 2aa0d37e0f3f441dbf332731b8370bfb
+msgid "Return the name of the file from which *module* was loaded using  
*module*'s :attr:`__file__` attribute.  If this is not defined, or if it is  
not a unicode string, raise :exc:`SystemError` and return *NULL*; otherwise  
return a reference to a Unicode object."
+msgstr ""
+
+#: ../../c-api/module.rst:97
+# ee9171fdbcb04594a27e61afe3770851
+msgid "Similar to :c:func:`PyModule_GetFilenameObject` but return the  
filename encoded to 'utf-8'."
+msgstr ""
+
+#: ../../c-api/module.rst:107
+# 56ff625ef4b843aeb433fd3647bd3f70
+msgid "Return the \"state\" of the module, that is, a pointer to the block  
of memory allocated at module creation time, or *NULL*.   
See :c:member:`PyModuleDef.m_size`."
+msgstr ""
+
+#: ../../c-api/module.rst:114
+# 0b7d38d239d34d91a3b39dfe12e09b48
+msgid "Return a pointer to the :c:type:`PyModuleDef` struct from which the  
module was created, or *NULL* if the module wasn't created  
with :c:func:`PyModule_Create`.i"
+msgstr ""
+
+#: ../../c-api/module.rst:120
+# 811c86853d1f476dafa1faa6cad5faab
+msgid "Returns the module object that was created from *def* for the  
current interpreter. This method requires that the module object has been  
attached to the interpreter state with :c:func:`PyState_AddModule`  
beforehand. In case the corresponding module object is not found or has not  
been attached to the interpreter state yet, it returns NULL."
+msgstr ""
+
+#: ../../c-api/module.rst:127
+# ab456f35275b4027a5a554d6eb5f03e2
+msgid "Attaches the module object passed to the function to the  
interpreter state. This allows the module object to be accessible  
via :c:func:`PyState_FindModule`."
+msgstr ""
+
+#: ../../c-api/module.rst:135
+# 00b7f7ead582426d85217077a109710e
+msgid "Removes the module object created from *def* from the interpreter  
state."
+msgstr ""
+
+#: ../../c-api/module.rst:140
+# 53f14f746e214c8cbec88f7f0c5089c8
+msgid "Initializing C modules"
+msgstr ""
+
+#: ../../c-api/module.rst:142
+# 59858f3793444fff9c1041819a995abf
+msgid "These functions are usually used in the module initialization  
function."
+msgstr ""
+
+#: ../../c-api/module.rst:146
+# f138b1ade1584f558ce2e169130a6e24
+msgid "Create a new module object, given the definition in *module*.  This  
behaves like :c:func:`PyModule_Create2` with *module_api_version* set  
to :const:`PYTHON_API_VERSION`."
+msgstr ""
+
+#: ../../c-api/module.rst:153
+# 1ebd7dc85b5c494f9ce79450fcda701a
+msgid "Create a new module object, given the definition in *module*,  
assuming the API version *module_api_version*.  If that version does not  
match the version of the running interpreter, a :exc:`RuntimeWarning` is  
emitted."
+msgstr ""
+
+#: ../../c-api/module.rst:159
+# a77a863e351941beb9be2cd4d778d23d
+msgid "Most uses of this function should be  
using :c:func:`PyModule_Create` instead; only use this if you are sure you  
need it."
+msgstr ""
+
+#: ../../c-api/module.rst:165
+# 589525ff95d44240acff48d95c1b3f3e
+msgid "This struct holds all information that is needed to create a module  
object. There is usually only one static variable of that type for each  
module, which is statically initialized and then passed  
to :c:func:`PyModule_Create` in the module initialization function."
+msgstr ""
+
+#: ../../c-api/module.rst:172
+# 0687f2754ef644d2841b9be397a78967
+msgid "Always initialize this member to :const:`PyModuleDef_HEAD_INIT`."
+msgstr ""
+
+#: ../../c-api/module.rst:176
+# c605c528a39448b7a48d95e45a174347
+msgid "Name for the new module."
+msgstr ""
+
+#: ../../c-api/module.rst:180
+# 76a8f8bddd32455bb689f78fb9d2d546
+msgid "Docstring for the module; usually a docstring variable created  
with :c:func:`PyDoc_STRVAR` is used."
+msgstr ""
+
+#: ../../c-api/module.rst:185
+# cd3c9c744f234666893aabfb2ccc0569
+msgid "If the module object needs additional memory, this should be set to  
the number of bytes to allocate; a pointer to the block of memory can be  
retrieved with :c:func:`PyModule_GetState`.  If no memory is needed, set  
this to ``-1``."
+msgstr ""
+
+#: ../../c-api/module.rst:190
+# d3e579d920734d94955f81672869a900
+msgid "This memory should be used, rather than static globals, to hold  
per-module state, since it is then safe for use in multiple  
sub-interpreters.  It is freed when the module object is deallocated, after  
the :c:member:`m_free` function has been called, if present."
+msgstr ""
+
+#: ../../c-api/module.rst:197
+# 15f18bbdf1724f9198ea6cf0f2803a0a
+msgid "A pointer to a table of module-level functions, described  
by :c:type:`PyMethodDef` values.  Can be *NULL* if no functions are  
present."
+msgstr ""
+
+#: ../../c-api/module.rst:202
+# b4649ab12791406590a537423474519f
+msgid "Currently unused, should be *NULL*."
+msgstr ""
+
+#: ../../c-api/module.rst:206
+# aea7e51c01d44bec9abd719c6299d3a0
+msgid "A traversal function to call during GC traversal of the module  
object, or *NULL* if not needed."
+msgstr ""
+
+#: ../../c-api/module.rst:211
+# 9699703d854c46ad8cdd3a903b749041
+msgid "A clear function to call during GC clearing of the module object,  
or *NULL* if not needed."
+msgstr ""
+
+#: ../../c-api/module.rst:216
+# 8a52b7f886f04d36a3143d8e26d0b297
+msgid "A function to call during deallocation of the module object, or  
*NULL* if not needed."
+msgstr ""
+
+#: ../../c-api/module.rst:222
+# 0a0211b152004183a598fd59e5a92ba8
+msgid "Add an object to *module* as *name*.  This is a convenience  
function which can be used from the module's initialization function.  This  
steals a reference to *value*.  Return ``-1`` on error, ``0`` on success."
+msgstr ""
+
+#: ../../c-api/module.rst:229
+# 4d7f5100e3ad4b2f99c8e779cab1644e
+msgid "Add an integer constant to *module* as *name*.  This convenience  
function can be used from the module's initialization function. Return  
``-1`` on error, ``0`` on success."
+msgstr ""
+
+#: ../../c-api/module.rst:236
+# ef16e95972c8412090d31e2069957ee0
+msgid "Add a string constant to *module* as *name*.  This convenience  
function can be used from the module's initialization function.  The string  
*value* must be null-terminated.  Return ``-1`` on error, ``0`` on success."
+msgstr ""
+
+#: ../../c-api/module.rst:243
+# fbdcc36b602c4fa5acbdd6d8607218dc
+msgid "Add an int constant to *module*. The name and the value are taken  
from *macro*. For example ``PyModule_AddIntMacro(module, AF_INET)`` adds  
the int constant *AF_INET* with the value of *AF_INET* to *module*. Return  
``-1`` on error, ``0`` on success."
+msgstr ""
+
+#: ../../c-api/module.rst:251
+# acefbcf4a0e24578b202aa1590161e09
+msgid "Add a string constant to *module*."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/none.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/none.rst:6
+# 65c5ea36d5f740458eb023028d8319d5
+msgid "The None Object"
+msgstr ""
+
+#: ../../c-api/none.rst:10
+# 4ff6af7d167f4d5f9bb81a13d4c67daf
+msgid "Note that the :c:type:`PyTypeObject` for ``None`` is not directly  
exposed in the Python/C API.  Since ``None`` is a singleton, testing for  
object identity (using ``==`` in C) is sufficient. There is  
no :c:func:`PyNone_Check` function for the same reason."
+msgstr ""
+
+#: ../../c-api/none.rst:18
+# 1eb6d2cc3f14414d9bef9ff236a5b351
+msgid "The Python ``None`` object, denoting lack of value.  This object  
has no methods. It needs to be treated just like any other object with  
respect to reference counts."
+msgstr ""
+
+#: ../../c-api/none.rst:25
+# 60df582d2c24412f8d9b31a729184246
+msgid "Properly handle returning :c:data:`Py_None` from within a C  
function (that is, increment the reference count of None and return it.)"
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/number.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,208 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/number.rst:6
+# 4aecea244dee44dc8e7002fb9c0d02ba
+msgid "Number Protocol"
+msgstr ""
+
+#: ../../c-api/number.rst:11
+# f8015dc17fe949469e507d7ba471da22
+msgid "Returns ``1`` if the object *o* provides numeric protocols, and  
false otherwise. This function always succeeds."
+msgstr ""
+
+#: ../../c-api/number.rst:17
+# 736fde9e02824d5dba0bc211718ed6ce
+msgid "Returns the result of adding *o1* and *o2*, or *NULL* on failure.   
This is the equivalent of the Python expression ``o1 + o2``."
+msgstr ""
+
+#: ../../c-api/number.rst:23
+# d915dc8308a440fca5b97e98141ea5e8
+msgid "Returns the result of subtracting *o2* from *o1*, or *NULL* on  
failure.  This is the equivalent of the Python expression ``o1 - o2``."
+msgstr ""
+
+#: ../../c-api/number.rst:29
+# cb1ecb232c9f496f821b79d403be2677
+msgid "Returns the result of multiplying *o1* and *o2*, or *NULL* on  
failure.  This is the equivalent of the Python expression ``o1 * o2``."
+msgstr ""
+
+#: ../../c-api/number.rst:35
+# 90abd267d2af454586a945a9c018644b
+msgid "Return the floor of *o1* divided by *o2*, or *NULL* on failure.   
This is equivalent to the \"classic\" division of integers."
+msgstr ""
+
+#: ../../c-api/number.rst:41
+# 0a6deb438d234538bfd75fe87d9630fe
+msgid "Return a reasonable approximation for the mathematical value of  
*o1* divided by *o2*, or *NULL* on failure.  The return value is  
\"approximate\" because binary floating point numbers are approximate; it  
is not possible to represent all real numbers in base two.  This function  
can return a floating point value when passed two integers."
+msgstr ""
+
+#: ../../c-api/number.rst:50
+# bb89b3cef24048388c60ce39e37fe5e6
+msgid "Returns the remainder of dividing *o1* by *o2*, or *NULL* on  
failure.  This is the equivalent of the Python expression ``o1 % o2``."
+msgstr ""
+
+#: ../../c-api/number.rst:58
+# abe341c1bb6549038c18ff47fffca920
+msgid "See the built-in function :func:`divmod`. Returns *NULL* on  
failure.  This is the equivalent of the Python expression ``divmod(o1,  
o2)``."
+msgstr ""
+
+#: ../../c-api/number.rst:66
+# d328bf9eaf044eaaa0622ef99c24e46b
+msgid "See the built-in function :func:`pow`. Returns *NULL* on failure.   
This is the equivalent of the Python expression ``pow(o1, o2, o3)``, where  
*o3* is optional. If *o3* is to be ignored, pass :c:data:`Py_None` in its  
place (passing *NULL* for *o3* would cause an illegal memory access)."
+msgstr ""
+
+#: ../../c-api/number.rst:74
+# 719d2ab2a95d4912b604b5368dfe1118
+msgid "Returns the negation of *o* on success, or *NULL* on failure. This  
is the equivalent of the Python expression ``-o``."
+msgstr ""
+
+#: ../../c-api/number.rst:80
+# a3b93a9bb44943d98edd1ad6ead94766
+msgid "Returns *o* on success, or *NULL* on failure.  This is the  
equivalent of the Python expression ``+o``."
+msgstr ""
+
+#: ../../c-api/number.rst:88
+# 3d78e249cf804af0a107a16fed83b80c
+msgid "Returns the absolute value of *o*, or *NULL* on failure.  This is  
the equivalent of the Python expression ``abs(o)``."
+msgstr ""
+
+#: ../../c-api/number.rst:94
+# 2014b0c2b161495fac8c05dc51101f74
+msgid "Returns the bitwise negation of *o* on success, or *NULL* on  
failure.  This is the equivalent of the Python expression ``~o``."
+msgstr ""
+
+#: ../../c-api/number.rst:100
+# adf204597f9746619dd5c0871327a45a
+msgid "Returns the result of left shifting *o1* by *o2* on success, or  
*NULL* on failure.  This is the equivalent of the Python expression ``o1 <<  
o2``."
+msgstr ""
+
+#: ../../c-api/number.rst:106
+# 06bf8851b01c4d9a95c5bfb2cba1208a
+msgid "Returns the result of right shifting *o1* by *o2* on success, or  
*NULL* on failure.  This is the equivalent of the Python expression ``o1 >>  
o2``."
+msgstr ""
+
+#: ../../c-api/number.rst:112
+# c793886d78ff419f853b2b910301562b
+msgid "Returns the \"bitwise and\" of *o1* and *o2* on success and *NULL*  
on failure. This is the equivalent of the Python expression ``o1 & o2``."
+msgstr ""
+
+#: ../../c-api/number.rst:118
+# 97b7f8edec5446c9a877bee0f7480a93
+msgid "Returns the \"bitwise exclusive or\" of *o1* by *o2* on success, or  
*NULL* on failure.  This is the equivalent of the Python expression ``o1 ^  
o2``."
+msgstr ""
+
+#: ../../c-api/number.rst:124
+# dd8dd8fe2bde40648cc37d3df39f5d72
+msgid "Returns the \"bitwise or\" of *o1* and *o2* on success, or *NULL*  
on failure. This is the equivalent of the Python expression ``o1 | o2``."
+msgstr ""
+
+#: ../../c-api/number.rst:130
+# d7e1fb7901194d6e9dfb72ad3e684a97
+msgid "Returns the result of adding *o1* and *o2*, or *NULL* on failure.   
The operation is done *in-place* when *o1* supports it.  This is the  
equivalent of the Python statement ``o1 += o2``."
+msgstr ""
+
+#: ../../c-api/number.rst:137
+# 891cf0c3c5c64259b9c79ee0186f556e
+msgid "Returns the result of subtracting *o2* from *o1*, or *NULL* on  
failure.  The operation is done *in-place* when *o1* supports it.  This is  
the equivalent of the Python statement ``o1 -= o2``."
+msgstr ""
+
+#: ../../c-api/number.rst:144
+# 4b81231d4ae0404c8e5279d9b70b62bb
+msgid "Returns the result of multiplying *o1* and *o2*, or *NULL* on  
failure.  The operation is done *in-place* when *o1* supports it.  This is  
the equivalent of the Python statement ``o1 *= o2``."
+msgstr ""
+
+#: ../../c-api/number.rst:151
+# b387d691c31642e6bcad205f1bd10ee8
+msgid "Returns the mathematical floor of dividing *o1* by *o2*, or *NULL*  
on failure. The operation is done *in-place* when *o1* supports it.  This  
is the equivalent of the Python statement ``o1 //= o2``."
+msgstr ""
+
+#: ../../c-api/number.rst:158
+# ad75fec2a8d646cfb5abe4bbca591717
+msgid "Return a reasonable approximation for the mathematical value of  
*o1* divided by *o2*, or *NULL* on failure.  The return value is  
\"approximate\" because binary floating point numbers are approximate; it  
is not possible to represent all real numbers in base two.  This function  
can return a floating point value when passed two integers.  The operation  
is done *in-place* when *o1* supports it."
+msgstr ""
+
+#: ../../c-api/number.rst:167
+# d1fb6f127804448fadfffd77561cc12b
+msgid "Returns the remainder of dividing *o1* by *o2*, or *NULL* on  
failure.  The operation is done *in-place* when *o1* supports it.  This is  
the equivalent of the Python statement ``o1 %= o2``."
+msgstr ""
+
+#: ../../c-api/number.rst:176
+# fc27fa87d0bc4646b8cc3511029e07b0
+msgid "See the built-in function :func:`pow`. Returns *NULL* on failure.   
The operation is done *in-place* when *o1* supports it.  This is the  
equivalent of the Python statement ``o1 **= o2`` when o3  
is :c:data:`Py_None`, or an in-place variant of ``pow(o1, o2, o3)``  
otherwise. If *o3* is to be ignored, pass :c:data:`Py_None` in its place  
(passing *NULL* for *o3* would cause an illegal memory access)."
+msgstr ""
+
+#: ../../c-api/number.rst:185
+# 4b1661cc156240e595beb61c0f1deb06
+msgid "Returns the result of left shifting *o1* by *o2* on success, or  
*NULL* on failure.  The operation is done *in-place* when *o1* supports  
it.  This is the equivalent of the Python statement ``o1 <<= o2``."
+msgstr ""
+
+#: ../../c-api/number.rst:192
+# 6c68d77c9e9c4bfc8564a759676ef0b1
+msgid "Returns the result of right shifting *o1* by *o2* on success, or  
*NULL* on failure.  The operation is done *in-place* when *o1* supports  
it.  This is the equivalent of the Python statement ``o1 >>= o2``."
+msgstr ""
+
+#: ../../c-api/number.rst:199
+# 01ef3811bad1458a963e0f59fe3a0566
+msgid "Returns the \"bitwise and\" of *o1* and *o2* on success and *NULL*  
on failure. The operation is done *in-place* when *o1* supports it.  This  
is the equivalent of the Python statement ``o1 &= o2``."
+msgstr ""
+
+#: ../../c-api/number.rst:206
+# 08ffc448c66543ce9fe4cdfea0d88ba9
+msgid "Returns the \"bitwise exclusive or\" of *o1* by *o2* on success, or  
*NULL* on failure.  The operation is done *in-place* when *o1* supports  
it.  This is the equivalent of the Python statement ``o1 ^= o2``."
+msgstr ""
+
+#: ../../c-api/number.rst:213
+# 3f1a8cbe101a4c0cad4c75bc61023bfb
+msgid "Returns the \"bitwise or\" of *o1* and *o2* on success, or *NULL*  
on failure.  The operation is done *in-place* when *o1* supports it.  This  
is the equivalent of the Python statement ``o1 |= o2``."
+msgstr ""
+
+#: ../../c-api/number.rst:222
+# f488c4428ff048f5b0ced73ed5e2d309
+msgid "Returns the *o* converted to an integer object on success, or  
*NULL* on failure.  This is the equivalent of the Python expression  
``int(o)``."
+msgstr ""
+
+#: ../../c-api/number.rst:230
+# e1fa49afcd464ca9a4c4cf557f59ba11
+msgid "Returns the *o* converted to a float object on success, or *NULL*  
on failure. This is the equivalent of the Python expression ``float(o)``."
+msgstr ""
+
+#: ../../c-api/number.rst:236
+# 3aa8c952c72f427594adc5ff9e0d6c78
+msgid "Returns the *o* converted to a Python int on success or *NULL* with  
a :exc:`TypeError` exception raised on failure."
+msgstr ""
+
+#: ../../c-api/number.rst:242
+# 208aaaa01219439cb1de9b2e817112c7
+msgid "Returns the integer *n* converted to base *base* as a string.  The  
*base* argument must be one of 2, 8, 10, or 16.  For base 2, 8, or 16, the  
returned string is prefixed with a base marker of ``'0b'``, ``'0o'``, or  
``'0x'``, respectively.  If *n* is not a Python int, it is converted  
with :c:func:`PyNumber_Index` first."
+msgstr ""
+
+#: ../../c-api/number.rst:251
+# e732f1736e124a0d9ab8e41c28f1f83c
+msgid "Returns *o* converted to a Py_ssize_t value if *o* can be  
interpreted as an integer.  If the call fails, an exception is raised and  
-1 is returned."
+msgstr ""
+
+#: ../../c-api/number.rst:254
+# d9ad6ca8f2a946c7b51a38b5ef572cd0
+msgid "If *o* can be converted to a Python int but the attempt to convert  
to a Py_ssize_t value would raise an :exc:`OverflowError`, then the *exc*  
argument is the type of exception that will be raised  
(usually :exc:`IndexError` or :exc:`OverflowError`).  If *exc* is *NULL*,  
then the exception is cleared and the value is clipped to *PY_SSIZE_T_MIN*  
for a negative integer or *PY_SSIZE_T_MAX* for a positive integer."
+msgstr ""
+
+#: ../../c-api/number.rst:264
+# ff5f39e6a09f43eebd9c5df2e679f719
+msgid "Returns True if *o* is an index integer (has the nb_index slot of   
the tp_as_number structure filled in)."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/objbuffer.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,53 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/objbuffer.rst:4
+# b0e4a0af955a43459e3c7c338b7c3e11
+msgid "Old Buffer Protocol"
+msgstr ""
+
+#: ../../c-api/objbuffer.rst:8
+# 57e2e1c9a16444bba38f14ae36716578
+msgid "These functions were part of the \"old buffer protocol\" API in  
Python 2. In Python 3, this protocol doesn't exist anymore but the  
functions are still exposed to ease porting 2.x code.  They act as a  
compatibility wrapper around the :ref:`new buffer protocol  
<bufferobjects>`, but they don't give you control over the lifetime of the  
resources acquired when a buffer is exported."
+msgstr ""
+
+#: ../../c-api/objbuffer.rst:15
+# 9cf9e2c8a9664cb5be920a0febc70467
+msgid "Therefore, it is recommended that you  
call :c:func:`PyObject_GetBuffer` (or the ``y*`` or ``w*`` :ref:`format  
codes <arg-parsing>` with the :c:func:`PyArg_ParseTuple` family of  
functions) to get a buffer view over an object,  
and :c:func:`PyBuffer_Release` when the buffer view can be released."
+msgstr ""
+
+#: ../../c-api/objbuffer.rst:23
+# b8a1bc9e7ae94b1db46eccd0624c4283
+msgid "Returns a pointer to a read-only memory location usable as  
character-based input.  The *obj* argument must support the single-segment  
character buffer interface.  On success, returns ``0``, sets *buffer* to  
the memory location and *buffer_len* to the buffer length.  Returns ``-1``  
and sets a :exc:`TypeError` on error."
+msgstr ""
+
+#: ../../c-api/objbuffer.rst:32
+# 7fc6a8cf29a1420e9b474c4412057778
+msgid "Returns a pointer to a read-only memory location containing  
arbitrary data. The *obj* argument must support the single-segment readable  
buffer interface.  On success, returns ``0``, sets *buffer* to the memory  
location and *buffer_len* to the buffer length.  Returns ``-1`` and sets  
a :exc:`TypeError` on error."
+msgstr ""
+
+#: ../../c-api/objbuffer.rst:41
+# 026206c17c4e40f78b7e21410fb9f5a8
+msgid "Returns ``1`` if *o* supports the single-segment readable buffer  
interface. Otherwise returns ``0``."
+msgstr ""
+
+#: ../../c-api/objbuffer.rst:47
+# b1e18573f5a04064ab60b54cd2c3f154
+msgid "Returns a pointer to a writable memory location.  The *obj*  
argument must support the single-segment, character buffer interface.  On  
success, returns ``0``, sets *buffer* to the memory location and  
*buffer_len* to the buffer length.  Returns ``-1`` and sets  
a :exc:`TypeError` on error."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/object.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,234 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/object.rst:6
+# 47105751c22a4e12976499069699abbe
+msgid "Object Protocol"
+msgstr ""
+
+#: ../../c-api/object.rst:11
+# 9a84bb11e9874f9c9d222f16d035642a
+msgid "The ``NotImplemented`` singleton, used to signal that an operation  
is not implemented for the given type combination."
+msgstr ""
+
+#: ../../c-api/object.rst:17
+# fd7977d9693a40dbb1a8797344d1e796
+msgid "Properly handle returning :c:data:`Py_NotImplemented` from within a  
C function (that is, increment the reference count of NotImplemented and  
return it)."
+msgstr ""
+
+#: ../../c-api/object.rst:24
+# 1cbf12dfb6fa4c5fa4c075843af31c17
+msgid "Print an object *o*, on file *fp*.  Returns ``-1`` on error.  The  
flags argument is used to enable certain printing options.  The only option  
currently supported is :const:`Py_PRINT_RAW`; if given, the :func:`str` of  
the object is written instead of the :func:`repr`."
+msgstr ""
+
+#: ../../c-api/object.rst:32
+#: ../../c-api/object.rst:39
+# 018d3d5849d54429b7fed9b86abe6277
+# 2a213351a24a4e0eae2a0f55e7972328
+msgid "Returns ``1`` if *o* has the attribute *attr_name*, and ``0``  
otherwise.  This is equivalent to the Python expression ``hasattr(o,  
attr_name)``.  This function always succeeds."
+msgstr ""
+
+#: ../../c-api/object.rst:46
+# 5791ed3b76d84ffcace6e4dac60e95c8
+msgid "Retrieve an attribute named *attr_name* from object *o*. Returns  
the attribute value on success, or *NULL* on failure.  This is the  
equivalent of the Python expression ``o.attr_name``."
+msgstr ""
+
+#: ../../c-api/object.rst:53
+# 6f33ef0575ee44c68d67198de998e9e4
+msgid "Retrieve an attribute named *attr_name* from object *o*. Returns  
the attribute value on success, or *NULL* on failure. This is the  
equivalent of the Python expression ``o.attr_name``."
+msgstr ""
+
+#: ../../c-api/object.rst:60
+# 0d35626fe8744cbc833a95a5d7c0281e
+msgid "Generic attribute getter function that is meant to be put into a  
type object's ``tp_getattro`` slot.  It looks for a descriptor in the  
dictionary of classes in the object's MRO as well as an attribute in the  
object's :attr:`__dict__` (if present).  As outlined in :ref:`descriptors`,  
data descriptors take preference over instance attributes, while non-data  
descriptors don't.  Otherwise, an :exc:`AttributeError` is raised."
+msgstr ""
+
+#: ../../c-api/object.rst:70
+#: ../../c-api/object.rst:77
+# 98f89c6fb8bf4b24bfdc2c322615b9a4
+# adee0052ddbf4efc8efa37e87d492345
+msgid "Set the value of the attribute named *attr_name*, for object *o*,  
to the value *v*. Returns ``-1`` on failure.  This is the equivalent of the  
Python statement ``o.attr_name = v``."
+msgstr ""
+
+#: ../../c-api/object.rst:84
+# c997b75797fa479dac0cf2e43d062a72
+msgid "Generic attribute setter function that is meant to be put into a  
type object's ``tp_setattro`` slot.  It looks for a data descriptor in the  
dictionary of classes in the object's MRO, and if found it takes preference  
over setting the attribute in the instance dictionary. Otherwise, the  
attribute is set in the object's :attr:`__dict__` (if present).  Otherwise,  
an :exc:`AttributeError` is raised and ``-1`` is returned."
+msgstr ""
+
+#: ../../c-api/object.rst:94
+#: ../../c-api/object.rst:100
+# 6a830110a84d4405b8c434cabf3ef51c
+# 9503e031ea8749bfaa692b178379aa21
+msgid "Delete attribute named *attr_name*, for object *o*. Returns ``-1``  
on failure. This is the equivalent of the Python statement ``del  
o.attr_name``."
+msgstr ""
+
+#: ../../c-api/object.rst:106
+# 5a5b2b1faee24478950289efc320b8a3
+msgid "A generic implementation for the getter of a ``__dict__``  
descriptor. It creates the dictionary if necessary."
+msgstr ""
+
+#: ../../c-api/object.rst:114
+# 24b591edb330478783a75cfe842aeace
+msgid "A generic implementation for the setter of a ``__dict__``  
descriptor. This implementation does not allow the dictionary to be  
deleted."
+msgstr ""
+
+#: ../../c-api/object.rst:122
+# 8c228a9a360b4cc1906433e2eac7dac7
+msgid "Compare the values of *o1* and *o2* using the operation specified  
by *opid*, which must be one  
of :const:`Py_LT`, :const:`Py_LE`, :const:`Py_EQ`, :const:`Py_NE`, :const:`Py_GT`,  
or :const:`Py_GE`, corresponding to ``<``, ``<=``, ``==``, ``!=``, ``>``,  
or ``>=`` respectively. This is the equivalent of the Python expression  
``o1 op o2``, where ``op`` is the operator corresponding to *opid*. Returns  
the value of the comparison on success, or *NULL* on failure."
+msgstr ""
+
+#: ../../c-api/object.rst:132
+# cae1fd42232042c38d03561312e5ba89
+msgid "Compare the values of *o1* and *o2* using the operation specified  
by *opid*, which must be one  
of :const:`Py_LT`, :const:`Py_LE`, :const:`Py_EQ`, :const:`Py_NE`, :const:`Py_GT`,  
or :const:`Py_GE`, corresponding to ``<``, ``<=``, ``==``, ``!=``, ``>``,  
or ``>=`` respectively. Returns ``-1`` on error, ``0`` if the result is  
false, ``1`` otherwise. This is the equivalent of the Python expression  
``o1 op o2``, where ``op`` is the operator corresponding to *opid*."
+msgstr ""
+
+#: ../../c-api/object.rst:141
+# fc859a0da3c74194b151226f7bad6923
+msgid "If *o1* and *o2* are the same  
object, :c:func:`PyObject_RichCompareBool` will always return ``1``  
for :const:`Py_EQ` and ``0`` for :const:`Py_NE`."
+msgstr ""
+
+#: ../../c-api/object.rst:148
+# b4bfc085ad644822b8fbe34eac82b50c
+msgid "Compute a string representation of object *o*.  Returns the string  
representation on success, *NULL* on failure.  This is the equivalent of  
the Python expression ``repr(o)``.  Called by the :func:`repr` built-in  
function."
+msgstr ""
+
+#: ../../c-api/object.rst:157
+# 8b76b3aa168b4c08b287b9b3fe4e571e
+msgid "As :c:func:`PyObject_Repr`, compute a string representation of  
object *o*, but escape the non-ASCII characters in the string returned  
by :c:func:`PyObject_Repr` with ``\\x``, ``\\u`` or ``\\U`` escapes.  This  
generates a string similar to that returned by :c:func:`PyObject_Repr` in  
Python 2. Called by the :func:`ascii` built-in function."
+msgstr ""
+
+#: ../../c-api/object.rst:168
+# 779dd160b1964341b33599ec42cff691
+msgid "Compute a string representation of object *o*.  Returns the string  
representation on success, *NULL* on failure.  This is the equivalent of  
the Python expression ``str(o)``.  Called by the :func:`str` built-in  
function and, therefore, by the :func:`print` function."
+msgstr ""
+
+#: ../../c-api/object.rst:177
+# 8041536d23574334ad9a23933190ed20
+msgid "Compute a bytes representation of object *o*.  *NULL* is returned  
on failure and a bytes object on success.  This is equivalent to the Python  
expression ``bytes(o)``, when *o* is not an integer.  Unlike ``bytes(o)``,  
a TypeError is raised when *o* is an integer instead of a zero-initialized  
bytes object."
+msgstr ""
+
+#: ../../c-api/object.rst:185
+# 1ae8726cc81f469c8ead538b980b6f99
+msgid "Returns ``1`` if *inst* is an instance of the class *cls* or a  
subclass of *cls*, or ``0`` if not.  On error, returns ``-1`` and sets an  
exception.  If *cls* is a type object rather than a class  
object, :c:func:`PyObject_IsInstance` returns ``1`` if *inst* is of type  
*cls*.  If *cls* is a tuple, the check will be done against every entry in  
*cls*. The result will be ``1`` when at least one of the checks returns  
``1``, otherwise it will be ``0``. If *inst* is not a class instance and  
*cls* is neither a type object, nor a class object, nor a tuple, *inst*  
must have a :attr:`__class__` attribute --- the class relationship of the  
value of that attribute with *cls* will be used to determine the result of  
this function."
+msgstr ""
+
+#: ../../c-api/object.rst:197
+# 72d7d9cc26b3432a99b74eff86d4942d
+msgid "Subclass determination is done in a fairly straightforward way, but  
includes a wrinkle that implementors of extensions to the class system may  
want to be aware of.  If :class:`A` and :class:`B` are class  
objects, :class:`B` is a subclass of :class:`A` if it inherits  
from :class:`A` either directly or indirectly.  If either is not a class  
object, a more general mechanism is used to determine the class  
relationship of the two objects.  When testing if *B* is a subclass of *A*,  
if *A* is *B*, :c:func:`PyObject_IsSubclass` returns true.  If *A* and *B*  
are different objects, *B*'s :attr:`__bases__` attribute is searched in a  
depth-first fashion for *A* --- the presence of the :attr:`__bases__`  
attribute is considered sufficient for this determination."
+msgstr ""
+
+#: ../../c-api/object.rst:211
+# 4c01e1e0c5e44f1e9e9cc0f40aa4804b
+msgid "Returns ``1`` if the class *derived* is identical to or derived  
from the class *cls*, otherwise returns ``0``.  In case of an error,  
returns ``-1``. If *cls* is a tuple, the check will be done against every  
entry in *cls*. The result will be ``1`` when at least one of the checks  
returns ``1``, otherwise it will be ``0``. If either *derived* or *cls* is  
not an actual class object (or tuple), this function uses the generic  
algorithm described above."
+msgstr ""
+
+#: ../../c-api/object.rst:221
+# 39cbda83341144b48ffc7272a29f8e8d
+msgid "Determine if the object *o* is callable.  Return ``1`` if the  
object is callable and ``0`` otherwise.  This function always succeeds."
+msgstr ""
+
+#: ../../c-api/object.rst:227
+# 72c4c70a8d484726a2b616af68cc5da0
+msgid "Call a callable Python object *callable_object*, with arguments  
given by the tuple *args*, and named arguments given by the dictionary  
*kw*. If no named arguments are needed, *kw* may be *NULL*. *args* must not  
be *NULL*, use an empty tuple if no arguments are needed. Returns the  
result of the call on success, or *NULL* on failure.  This is the  
equivalent of the Python expression ``callable_object(*args, **kw)``."
+msgstr ""
+
+#: ../../c-api/object.rst:237
+# 32d7988b8739449ba057324a3fa9e6a3
+msgid "Call a callable Python object *callable_object*, with arguments  
given by the tuple *args*.  If no arguments are needed, then *args* may be  
*NULL*.  Returns the result of the call on success, or *NULL* on failure.   
This is the equivalent of the Python expression ``callable_object(*args)``."
+msgstr ""
+
+#: ../../c-api/object.rst:245
+# 31177ad69d8c464cb5bc5a7b480fd1fa
+msgid "Call a callable Python object *callable*, with a variable number of  
C arguments. The C arguments are described using a :c:func:`Py_BuildValue`  
style format string.  The format may be *NULL*, indicating that no  
arguments are provided. Returns the result of the call on success, or  
*NULL* on failure.  This is the equivalent of the Python expression  
``callable(*args)``. Note that if you only pass :c:type:`PyObject \\*`  
args, :c:func:`PyObject_CallFunctionObjArgs` is a faster alternative."
+msgstr ""
+
+#: ../../c-api/object.rst:256
+# 2aa94bd81f1b447aae70ab9e9fc3b235
+msgid "Call the method named *method* of object *o* with a variable number  
of C arguments.  The C arguments are described by a :c:func:`Py_BuildValue`  
format string that should  produce a tuple.  The format may be *NULL*,  
indicating that no arguments are provided. Returns the result of the call  
on success, or *NULL* on failure.  This is the equivalent of the Python  
expression ``o.method(args)``. Note that if you only pass :c:type:`PyObject  
\\*` args, :c:func:`PyObject_CallMethodObjArgs` is a faster alternative."
+msgstr ""
+
+#: ../../c-api/object.rst:267
+# 6cf5283ec1fd491e9e08c43708a7135c
+msgid "Call a callable Python object *callable*, with a variable number  
of :c:type:`PyObject\\*` arguments.  The arguments are provided as a  
variable number of parameters followed by *NULL*. Returns the result of the  
call on success, or *NULL* on failure."
+msgstr ""
+
+#: ../../c-api/object.rst:275
+# 7aa3620960c74bad96a7cc8e6ce49802
+msgid "Calls a method of the object *o*, where the name of the method is  
given as a Python string object in *name*.  It is called with a variable  
number of :c:type:`PyObject\\*` arguments.  The arguments are provided as a  
variable number of parameters followed by *NULL*. Returns the result of the  
call on success, or *NULL* on failure."
+msgstr ""
+
+#: ../../c-api/object.rst:286
+# e10f8ab8c55040d29afb357d13ddcb32
+msgid "Compute and return the hash value of an object *o*.  On failure,  
return ``-1``. This is the equivalent of the Python expression ``hash(o)``."
+msgstr ""
+
+#: ../../c-api/object.rst:296
+# 5b23dfb7aa654f84993ac0235c2c0526
+msgid "Set a :exc:`TypeError` indicating that ``type(o)`` is not hashable  
and return ``-1``. This function receives special treatment when stored in  
a ``tp_hash`` slot, allowing a type to explicitly indicate to the  
interpreter that it is not hashable."
+msgstr ""
+
+#: ../../c-api/object.rst:304
+# 7960540516f64d548ebeeddbea900e00
+msgid "Returns ``1`` if the object *o* is considered to be true, and ``0``  
otherwise. This is equivalent to the Python expression ``not not o``.  On  
failure, return ``-1``."
+msgstr ""
+
+#: ../../c-api/object.rst:311
+# d5ecb5748e8f432fbef9d2443e1fbcec
+msgid "Returns ``0`` if the object *o* is considered to be true, and ``1``  
otherwise. This is equivalent to the Python expression ``not o``.  On  
failure, return ``-1``."
+msgstr ""
+
+#: ../../c-api/object.rst:320
+# 13d58f5f03ca4067936844720c254b7e
+msgid "When *o* is non-*NULL*, returns a type object corresponding to the  
object type of object *o*. On failure, raises :exc:`SystemError` and  
returns *NULL*.  This is equivalent to the Python expression ``type(o)``.  
This function increments the reference count of the return value. There's  
really no reason to use this function instead of the common expression  
``o->ob_type``, which returns a pointer of type :c:type:`PyTypeObject\\*`,  
except when the incremented reference count is needed."
+msgstr ""
+
+#: ../../c-api/object.rst:331
+# bd6cad1fdd314c619d10ed009ca687d0
+msgid "Return true if the object *o* is of type *type* or a subtype of  
*type*.  Both parameters must be non-*NULL*."
+msgstr ""
+
+#: ../../c-api/object.rst:340
+# f89241909a234593b897f8bb571ef8c5
+msgid "Return the length of object *o*.  If the object *o* provides either  
the sequence and mapping protocols, the sequence length is returned.  On  
error, ``-1`` is returned.  This is the equivalent to the Python expression  
``len(o)``."
+msgstr ""
+
+#: ../../c-api/object.rst:347
+# 714679da599f4a808f9f141eb62b809f
+msgid "Return element of *o* corresponding to the object *key* or *NULL*  
on failure. This is the equivalent of the Python expression ``o[key]``."
+msgstr ""
+
+#: ../../c-api/object.rst:353
+# 251ee9176e384044910980d78fe8ee6f
+msgid "Map the object *key* to the value *v*.  Returns ``-1`` on failure.   
This is the equivalent of the Python statement ``o[key] = v``."
+msgstr ""
+
+#: ../../c-api/object.rst:359
+# 787fb677d9944071809c99d0c4607554
+msgid "Delete the mapping for *key* from *o*.  Returns ``-1`` on failure.  
This is the equivalent of the Python statement ``del o[key]``."
+msgstr ""
+
+#: ../../c-api/object.rst:365
+# 15f3b5bfb6f84c9f9bebd33a80669f76
+msgid "This is equivalent to the Python expression ``dir(o)``, returning a  
(possibly empty) list of strings appropriate for the object argument, or  
*NULL* if there was an error.  If the argument is *NULL*, this is like the  
Python ``dir()``, returning the names of the current locals; in this case,  
if no execution frame is active then *NULL* is returned  
but :c:func:`PyErr_Occurred` will return false."
+msgstr ""
+
+#: ../../c-api/object.rst:374
+# a5abe4ea389e453ca33ebdce28aff2c4
+msgid "This is equivalent to the Python expression ``iter(o)``. It returns  
a new iterator for the object argument, or the object  itself if the object  
is already an iterator.  Raises :exc:`TypeError` and returns *NULL* if the  
object cannot be iterated."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/objimpl.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,28 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/objimpl.rst:7
+# c296e5536bf84e58ae2e19e869098021
+msgid "Object Implementation Support"
+msgstr ""
+
+#: ../../c-api/objimpl.rst:9
+# 79bfa8ef407648c9b6850a430f36b6bb
+msgid "This chapter describes the functions, types, and macros used when  
defining new object types."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/refcounting.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,73 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/refcounting.rst:8
+# e7ab9290c0604840981becf472bfde23
+msgid "Reference Counting"
+msgstr ""
+
+#: ../../c-api/refcounting.rst:10
+# 6a9eafe873f049ec8366bfbe73a733be
+msgid "The macros in this section are used for managing reference counts  
of Python objects."
+msgstr ""
+
+#: ../../c-api/refcounting.rst:16
+# 9da65d96bf5a45ffa9d96b4100a0ef1e
+msgid "Increment the reference count for object *o*.  The object must not  
be *NULL*; if you aren't sure that it isn't *NULL*,  
use :c:func:`Py_XINCREF`."
+msgstr ""
+
+#: ../../c-api/refcounting.rst:22
+# 5004487ed9f3458e95e12358018bac9f
+msgid "Increment the reference count for object *o*.  The object may be  
*NULL*, in which case the macro has no effect."
+msgstr ""
+
+#: ../../c-api/refcounting.rst:28
+# f4e36b0aeb0c48079732c4a04ed7d165
+msgid "Decrement the reference count for object *o*.  The object must not  
be *NULL*; if you aren't sure that it isn't *NULL*,  
use :c:func:`Py_XDECREF`.  If the reference count reaches zero, the  
object's type's deallocation function (which must not be *NULL*) is  
invoked."
+msgstr ""
+
+#: ../../c-api/refcounting.rst:35
+# 3e81613138a849f7b383a1e55214efae
+msgid "The deallocation function can cause arbitrary Python code to be  
invoked (e.g. when a class instance with a :meth:`__del__` method is  
deallocated).  While exceptions in such code are not propagated, the  
executed code has free access to all Python global variables.  This means  
that any object that is reachable from a global variable should be in a  
consistent state before :c:func:`Py_DECREF` is invoked.  For example, code  
to delete an object from a list should copy a reference to the deleted  
object in a temporary variable, update the list data structure, and then  
call :c:func:`Py_DECREF` for the temporary variable."
+msgstr ""
+
+#: ../../c-api/refcounting.rst:47
+# 98caea23c6a6413a82645bd75eabb9e2
+msgid "Decrement the reference count for object *o*.  The object may be  
*NULL*, in which case the macro has no effect; otherwise the effect is the  
same as for :c:func:`Py_DECREF`, and the same warning applies."
+msgstr ""
+
+#: ../../c-api/refcounting.rst:54
+# 7973195082674705a9ac58c65e708d4f
+msgid "Decrement the reference count for object *o*.  The object may be  
*NULL*, in which case the macro has no effect; otherwise the effect is the  
same as for :c:func:`Py_DECREF`, except that the argument is also set to  
*NULL*.  The warning for :c:func:`Py_DECREF` does not apply with respect to  
the object passed because the macro carefully uses a temporary variable and  
sets the argument to *NULL* before decrementing its reference count."
+msgstr ""
+
+#: ../../c-api/refcounting.rst:61
+# 094ad3de065847a8b197b2dbf185cadd
+msgid "It is a good idea to use this macro whenever decrementing the value  
of a variable that might be traversed during garbage collection."
+msgstr ""
+
+#: ../../c-api/refcounting.rst:65
+# ccef8b2389804ac6b4c3357af7e63bb3
+msgid "The following functions are for runtime dynamic embedding of  
Python: ``Py_IncRef(PyObject *o)``, ``Py_DecRef(PyObject *o)``. They are  
simply exported function versions of :c:func:`Py_XINCREF`  
and :c:func:`Py_XDECREF`, respectively."
+msgstr ""
+
+#: ../../c-api/refcounting.rst:70
+# 8fb7f38fcf4d4216935e30894843df0c
+msgid "The following functions or macros are only for use within the  
interpreter  
core: :c:func:`_Py_Dealloc`, :c:func:`_Py_ForgetReference`, :c:func:`_Py_NewReference`,  
as well as the global variable :c:data:`_Py_RefTotal`."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/reflection.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,58 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/reflection.rst:6
+# 64881a7fb1554847942df76262e5f6d6
+msgid "Reflection"
+msgstr ""
+
+#: ../../c-api/reflection.rst:10
+# 137fd090a1e849febbbffd331062cb22
+msgid "Return a dictionary of the builtins in the current execution frame,  
or the interpreter of the thread state if no frame is currently executing."
+msgstr ""
+
+#: ../../c-api/reflection.rst:16
+# 350b2417b1b34e858e0ee15ecbdf0384
+msgid "Return a dictionary of the local variables in the current execution  
frame, or *NULL* if no frame is currently executing."
+msgstr ""
+
+#: ../../c-api/reflection.rst:22
+# 8044222080a148608d9409dfce1b8961
+msgid "Return a dictionary of the global variables in the current  
execution frame, or *NULL* if no frame is currently executing."
+msgstr ""
+
+#: ../../c-api/reflection.rst:28
+# 9e31821646df4d86b31577034205ab84
+msgid "Return the current thread state's frame, which is *NULL* if no  
frame is currently executing."
+msgstr ""
+
+#: ../../c-api/reflection.rst:34
+# 3270798cff974c89908e615f7e6400a6
+msgid "Return the line number that *frame* is currently executing."
+msgstr ""
+
+#: ../../c-api/reflection.rst:39
+# d743a85a12ad40d2b7a6c8c507969943
+msgid "Return the name of *func* if it is a function, class or instance  
object, else the name of *func*\\s type."
+msgstr ""
+
+#: ../../c-api/reflection.rst:45
+# bcb72bcb06cf4a2c866e89cc03db735b
+msgid "Return a description string, depending on the type of *func*.  
Return values include \"()\" for functions and methods, \" constructor\",  
\" instance\", and \" object\".  Concatenated with the result  
of :c:func:`PyEval_GetFuncName`, the result will be a description of  
*func*."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/sequence.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,138 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/sequence.rst:6
+# 71ebe0ec5ecc470f9b4b40299e970ffc
+msgid "Sequence Protocol"
+msgstr ""
+
+#: ../../c-api/sequence.rst:11
+# 225b69e2f08f447d893ea3bc45e5f66b
+msgid "Return ``1`` if the object provides sequence protocol, and ``0``  
otherwise. This function always succeeds."
+msgstr ""
+
+#: ../../c-api/sequence.rst:20
+# 426d478984564e70876a8a9021e9c0ef
+msgid "Returns the number of objects in sequence *o* on success, and  
``-1`` on failure. For objects that do not provide sequence protocol, this  
is equivalent to the Python expression ``len(o)``."
+msgstr ""
+
+#: ../../c-api/sequence.rst:27
+# 6668944e30204523aaa2312720736791
+msgid "Return the concatenation of *o1* and *o2* on success, and *NULL* on  
failure. This is the equivalent of the Python expression ``o1 + o2``."
+msgstr ""
+
+#: ../../c-api/sequence.rst:33
+# bc2ea9d1005d4d9ca6a3794e2697a169
+msgid "Return the result of repeating sequence object *o* *count* times,  
or *NULL* on failure.  This is the equivalent of the Python expression ``o  
* count``."
+msgstr ""
+
+#: ../../c-api/sequence.rst:39
+# 18182b481f484432ad72df1533483e3e
+msgid "Return the concatenation of *o1* and *o2* on success, and *NULL* on  
failure. The operation is done *in-place* when *o1* supports it.  This is  
the equivalent of the Python expression ``o1 += o2``."
+msgstr ""
+
+#: ../../c-api/sequence.rst:46
+# 41e23bb7b2e04606912b1e2568494a1e
+msgid "Return the result of repeating sequence object *o* *count* times,  
or *NULL* on failure.  The operation is done *in-place* when *o* supports  
it.  This is the equivalent of the Python expression ``o *= count``."
+msgstr ""
+
+#: ../../c-api/sequence.rst:53
+# 57a6363f79f64122827a107d540a1f94
+msgid "Return the *i*\\ th element of *o*, or *NULL* on failure. This is  
the equivalent of the Python expression ``o[i]``."
+msgstr ""
+
+#: ../../c-api/sequence.rst:59
+# 3369ce2b92ff4b7baab8d88de4753fcf
+msgid "Return the slice of sequence object *o* between *i1* and *i2*, or  
*NULL* on failure. This is the equivalent of the Python expression  
``o[i1:i2]``."
+msgstr ""
+
+#: ../../c-api/sequence.rst:65
+# 429fb913e63049e7a2d9a5261dfed521
+msgid "Assign object *v* to the *i*\\ th element of *o*.  Returns ``-1``  
on failure.  This is the equivalent of the Python statement ``o[i] = v``.   
This function *does not* steal a reference to *v*."
+msgstr ""
+
+#: ../../c-api/sequence.rst:72
+# b438259323604cc798301c05b2076627
+msgid "Delete the *i*\\ th element of object *o*.  Returns ``-1`` on  
failure.  This is the equivalent of the Python statement ``del o[i]``."
+msgstr ""
+
+#: ../../c-api/sequence.rst:78
+# ee9f61f7f63649ec979cd4473fdd26e5
+msgid "Assign the sequence object *v* to the slice in sequence object *o*  
from *i1* to *i2*.  This is the equivalent of the Python statement  
``o[i1:i2] = v``."
+msgstr ""
+
+#: ../../c-api/sequence.rst:84
+# 6639b1279c6c422d98154f088c14c573
+msgid "Delete the slice in sequence object *o* from *i1* to *i2*.  Returns  
``-1`` on failure.  This is the equivalent of the Python statement ``del  
o[i1:i2]``."
+msgstr ""
+
+#: ../../c-api/sequence.rst:90
+# d8a11e10a4674f6bada22bde9cdd76a1
+msgid "Return the number of occurrences of *value* in *o*, that is, return  
the number of keys for which ``o[key] == value``.  On failure, return  
``-1``.  This is equivalent to the Python expression ``o.count(value)``."
+msgstr ""
+
+#: ../../c-api/sequence.rst:97
+# cceecdaaea8c41d5a5aef303f302ce19
+msgid "Determine if *o* contains *value*.  If an item in *o* is equal to  
*value*, return ``1``, otherwise return ``0``. On error, return ``-1``.   
This is equivalent to the Python expression ``value in o``."
+msgstr ""
+
+#: ../../c-api/sequence.rst:104
+# 44f778199e844b2a904581407928bd35
+msgid "Return the first index *i* for which ``o[i] == value``.  On error,  
return ``-1``.    This is equivalent to the Python expression  
``o.index(value)``."
+msgstr ""
+
+#: ../../c-api/sequence.rst:110
+# 8118193c60b94b1da10dc770e43d9e0e
+msgid "Return a list object with the same contents as the arbitrary  
sequence *o*.  The returned list is guaranteed to be new."
+msgstr ""
+
+#: ../../c-api/sequence.rst:118
+# fa494bcbac87472d99b2c63b1547cbe8
+msgid "Return a tuple object with the same contents as the arbitrary  
sequence *o* or *NULL* on failure.  If *o* is a tuple, a new reference will  
be returned, otherwise a tuple will be constructed with the appropriate  
contents.  This is equivalent to the Python expression ``tuple(o)``."
+msgstr ""
+
+#: ../../c-api/sequence.rst:126
+# 35fda7b1990f4015a6af1516f827a5e7
+msgid "Returns the sequence *o* as a tuple, unless it is already a tuple  
or list, in which case *o* is returned.   
Use :c:func:`PySequence_Fast_GET_ITEM` to access the members of the  
result.  Returns *NULL* on failure.  If the object is not a sequence,  
raises :exc:`TypeError` with *m* as the message text."
+msgstr ""
+
+#: ../../c-api/sequence.rst:134
+# 5f3264d4305d424fa549d29ff2a59e84
+msgid "Return the *i*\\ th element of *o*, assuming that *o* was returned  
by :c:func:`PySequence_Fast`, *o* is not *NULL*, and that *i* is within  
bounds."
+msgstr ""
+
+#: ../../c-api/sequence.rst:140
+# 57b9505568254ad080050f93210c0805
+msgid "Return the underlying array of PyObject pointers.  Assumes that *o*  
was returned by :c:func:`PySequence_Fast` and *o* is not *NULL*."
+msgstr ""
+
+#: ../../c-api/sequence.rst:143
+# 5c3d6ed1e1f94527b7d549770709cbf3
+msgid "Note, if a list gets resized, the reallocation may relocate the  
items array. So, only use the underlying array pointer in contexts where  
the sequence cannot change."
+msgstr ""
+
+#: ../../c-api/sequence.rst:150
+# 5dd05509166d4460a69a91dc097b41f0
+msgid "Return the *i*\\ th element of *o* or *NULL* on failure. Macro form  
of :c:func:`PySequence_GetItem` but without checking  
that :c:func:`PySequence_Check` on *o* is true and without adjustment for  
negative indices."
+msgstr ""
+
+#: ../../c-api/sequence.rst:158
+# 23749c1dbef94bcebc3063cfd4983b59
+msgid "Returns the length of *o*, assuming that *o* was returned  
by :c:func:`PySequence_Fast` and that *o* is not *NULL*.  The size can also  
be gotten by calling :c:func:`PySequence_Size` on *o*,  
but :c:func:`PySequence_Fast_GET_SIZE` is faster because it can assume *o*  
is a list or tuple."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/set.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,133 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/set.rst:6
+# b742e80328c54d5ba316e4fc8010c510
+msgid "Set Objects"
+msgstr ""
+
+#: ../../c-api/set.rst:15
+# c9d3b96ed0304e28bbbe84c6bd90c315
+msgid "This section details the public API for :class:`set`  
and :class:`frozenset` objects.  Any functionality not listed below is best  
accessed using the either the abstract object protocol  
(including :c:func:`PyObject_CallMethod`, :c:func:`PyObject_RichCompareBool`, :c:func:`PyObject_Hash`, :c:func:`PyObject_Repr`, :c:func:`PyObject_IsTrue`, :c:func:`PyObject_Print`,  
and :c:func:`PyObject_GetIter`) or the abstract number protocol  
(including :c:func:`PyNumber_And`, :c:func:`PyNumber_Subtract`, :c:func:`PyNumber_Or`, :c:func:`PyNumber_Xor`, :c:func:`PyNumber_InPlaceAnd`, :c:func:`PyNumber_InPlaceSubtract`, :c:func:`PyNumber_InPlaceOr`,  
and :c:func:`PyNumber_InPlaceXor`)."
+msgstr ""
+
+#: ../../c-api/set.rst:29
+# d41d046fcb9b44e7b1f73a5da1a9d74c
+msgid "This subtype of :c:type:`PyObject` is used to hold the internal  
data for both :class:`set` and :class:`frozenset` objects.  It is like  
a :c:type:`PyDictObject` in that it is a fixed size for small sets (much  
like tuple storage) and will point to a separate, variable sized block of  
memory for medium and large sized sets (much like list storage). None of  
the fields of this structure should be considered public and are subject to  
change.  All access should be done through the documented API rather than  
by manipulating the values in the structure."
+msgstr ""
+
+#: ../../c-api/set.rst:40
+# c74091320b644976b042647d7b6faa01
+msgid "This is an instance of :c:type:`PyTypeObject` representing the  
Python :class:`set` type."
+msgstr ""
+
+#: ../../c-api/set.rst:46
+# 007aad53f9fa49c1a9c8629760888265
+msgid "This is an instance of :c:type:`PyTypeObject` representing the  
Python :class:`frozenset` type."
+msgstr ""
+
+#: ../../c-api/set.rst:49
+# 8f0ad012a67b43a8a1ff81ab952934b7
+msgid "The following type check macros work on pointers to any Python  
object. Likewise, the constructor functions work with any iterable Python  
object."
+msgstr ""
+
+#: ../../c-api/set.rst:55
+# cc055eb162e54ef9ba2672308c1bab09
+msgid "Return true if *p* is a :class:`set` object or an instance of a  
subtype."
+msgstr ""
+
+#: ../../c-api/set.rst:59
+# c2745651e0184ba39466fac95e69ed8f
+msgid "Return true if *p* is a :class:`frozenset` object or an instance of  
a subtype."
+msgstr ""
+
+#: ../../c-api/set.rst:64
+# 4cf31b710b4045d8a4ddccab4181cba0
+msgid "Return true if *p* is a :class:`set` object, a :class:`frozenset`  
object, or an instance of a subtype."
+msgstr ""
+
+#: ../../c-api/set.rst:70
+# 02b61a51368f47d98862e09e00906246
+msgid "Return true if *p* is a :class:`set` object or a :class:`frozenset`  
object but not an instance of a subtype."
+msgstr ""
+
+#: ../../c-api/set.rst:76
+# 1fc0518447d24f59bebf70df7cf85918
+msgid "Return true if *p* is a :class:`frozenset` object but not an  
instance of a subtype."
+msgstr ""
+
+#: ../../c-api/set.rst:82
+# 019892f70deb4388a58d2fe7d15f1451
+msgid "Return a new :class:`set` containing objects returned by the  
*iterable*.  The *iterable* may be *NULL* to create a new empty set.   
Return the new set on success or *NULL* on failure.  Raise :exc:`TypeError`  
if *iterable* is not actually iterable.  The constructor is also useful for  
copying a set (``c=set(s)``)."
+msgstr ""
+
+#: ../../c-api/set.rst:91
+# 4ea139bb9bcd4576b0740afddb9c7dac
+msgid "Return a new :class:`frozenset` containing objects returned by the  
*iterable*. The *iterable* may be *NULL* to create a new empty frozenset.   
Return the new set on success or *NULL* on failure.  Raise :exc:`TypeError`  
if *iterable* is not actually iterable."
+msgstr ""
+
+#: ../../c-api/set.rst:97
+# cc45017b79ef464da8219dbdd9b6725c
+msgid "The following functions and macros are available for instances  
of :class:`set` or :class:`frozenset` or instances of their subtypes."
+msgstr ""
+
+#: ../../c-api/set.rst:105
+# 50ed7cb914674898aa18ad2f1647fa16
+msgid "Return the length of a :class:`set` or :class:`frozenset` object.  
Equivalent to ``len(anyset)``.  Raises a :exc:`PyExc_SystemError` if  
*anyset* is not a :class:`set`, :class:`frozenset`, or an instance of a  
subtype."
+msgstr ""
+
+#: ../../c-api/set.rst:112
+# 7c4a203f95744e379884ee2cffc36659
+msgid "Macro form of :c:func:`PySet_Size` without error checking."
+msgstr ""
+
+#: ../../c-api/set.rst:117
+# 6b7854375a0d46ebadf7609982d059b7
+msgid "Return 1 if found, 0 if not found, and -1 if an error is  
encountered.  Unlike the Python :meth:`__contains__` method, this function  
does not automatically convert unhashable sets into temporary frozensets.   
Raise a :exc:`TypeError` if the *key* is unhashable.  
Raise :exc:`PyExc_SystemError` if *anyset* is not  
a :class:`set`, :class:`frozenset`, or an instance of a subtype."
+msgstr ""
+
+#: ../../c-api/set.rst:126
+# 8b5bfea61a394802ad56488b02318540
+msgid "Add *key* to a :class:`set` instance.  Also works  
with :class:`frozenset` instances (like :c:func:`PyTuple_SetItem` it can be  
used to fill-in the values of brand new frozensets before they are exposed  
to other code).  Return 0 on success or -1 on failure. Raise  
a :exc:`TypeError` if the *key* is unhashable. Raise a :exc:`MemoryError`  
if there is no room to grow.  Raise a :exc:`SystemError` if *set* is an not  
an instance of :class:`set` or its subtype."
+msgstr ""
+
+#: ../../c-api/set.rst:135
+# 234090324f4b455696c614dcaa56f337
+msgid "The following functions are available for instances of :class:`set`  
or its subtypes but not for instances of :class:`frozenset` or its  
subtypes."
+msgstr ""
+
+#: ../../c-api/set.rst:141
+# 77f15603b4a9407ba7f133a9cd274ffe
+msgid "Return 1 if found and removed, 0 if not found (no action taken),  
and -1 if an error is encountered.  Does not raise :exc:`KeyError` for  
missing keys.  Raise a :exc:`TypeError` if the *key* is unhashable.  Unlike  
the Python :meth:`discard` method, this function does not automatically  
convert unhashable sets into temporary frozensets.  
Raise :exc:`PyExc_SystemError` if *set* is an not an instance  
of :class:`set` or its subtype."
+msgstr ""
+
+#: ../../c-api/set.rst:151
+# 18e606a82f3248ba961c85d5f1218850
+msgid "Return a new reference to an arbitrary object in the *set*, and  
removes the object from the *set*.  Return *NULL* on failure.   
Raise :exc:`KeyError` if the set is empty. Raise a :exc:`SystemError` if  
*set* is an not an instance of :class:`set` or its subtype."
+msgstr ""
+
+#: ../../c-api/set.rst:159
+# 176db21f281f45b3b7f44f74fea8bf75
+msgid "Empty an existing set of all elements."
+msgstr ""
+
+#: ../../c-api/set.rst:164
+# a2caef8db8544378bd848d9b4d69f368
+msgid "Clear the free list. Return the total number of freed items."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/slice.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,63 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/slice.rst:6
+# 0616b376945347fb87a7c601c2a57062
+msgid "Slice Objects"
+msgstr ""
+
+#: ../../c-api/slice.rst:11
+# c55213588b544f69a81a24dcb337a286
+msgid "The type object for slice objects.  This is the same  
as :class:`slice` in the Python layer."
+msgstr ""
+
+#: ../../c-api/slice.rst:17
+# e08ae672adf14e32b7e19a0c2e13716c
+msgid "Return true if *ob* is a slice object; *ob* must not be *NULL*."
+msgstr ""
+
+#: ../../c-api/slice.rst:22
+# 1d5aaab51d8f48f8aec0b5fe264729da
+msgid "Return a new slice object with the given values.  The *start*,  
*stop*, and *step* parameters are used as the values of the slice object  
attributes of the same names.  Any of the values may be *NULL*, in which  
case the ``None`` will be used for the corresponding attribute.  Return  
*NULL* if the new object could not be allocated."
+msgstr ""
+
+#: ../../c-api/slice.rst:31
+# 29e41ba3823d40ada7b66c5d8d66b036
+msgid "Retrieve the start, stop and step indices from the slice object  
*slice*, assuming a sequence of length *length*. Treats indices greater  
than *length* as errors."
+msgstr ""
+
+#: ../../c-api/slice.rst:35
+# 04a5f5c95c0243ab8e68522022610474
+msgid "Returns 0 on success and -1 on error with no exception set (unless  
one of the indices was not :const:`None` and failed to be converted to an  
integer, in which case -1 is returned with an exception set)."
+msgstr ""
+
+#: ../../c-api/slice.rst:39
+# f6201fab016349b7a1a10090a7e1d397
+msgid "You probably do not want to use this function."
+msgstr ""
+
+#: ../../c-api/slice.rst:48
+# cb740e3c39cb4406b6ba1a3c5cefe2bd
+msgid "Usable replacement for :c:func:`PySlice_GetIndices`.  Retrieve the  
start, stop, and step indices from the slice object *slice* assuming a  
sequence of length *length*, and store the length of the slice in  
*slicelength*.  Out of bounds indices are clipped in a manner consistent  
with the handling of normal slices."
+msgstr ""
+
+#: ../../c-api/slice.rst:54
+# aef8f381eb9048149a5151642f2b420c
+msgid "Returns 0 on success and -1 on error with exception set."
+msgstr ""
+
=======================================
--- /dev/null
+++ /locale/pot/c-api/stable.pot	Sat Nov 24 00:49:32 2012
@@ -0,0 +1,43 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1990-2012, Python Software Foundation
+# This file is distributed under the same license as the Python package.
+# FIRST AUTHOR <EMAIL @ ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python 3.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-11-24 10:25\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL @ ADDRESS>\n"
+"Language-Team: LANGUAGE <LL****@li*****>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../c-api/stable.rst:7
+# 3489cdf94f4d46ba8bb64d41844ede3c
+msgid "Stable Appliction Binary Interface"
+msgstr ""
+
+#: ../../c-api/stable.rst:9
+# fbfdf24350944079a8e1b1aaf8e12002
+msgid "Traditionally, the C API of Python will change with every release.  
Most changes will be source-compatible, typically by only adding API,  
rather than changing existing API or removing API (although some interfaces  
do get removed after being deprecated first)."
+msgstr ""
+
+#: ../../c-api/stable.rst:14
+# 79701d68667f45d9bf20755cbfb91b88
+msgid "Unfortunately, the API compatibility does not extend to binary  
compatibility (the ABI). The reason is primarily the evolution of struct  
definitions, where addition of a new field, or changing the type of a  
field, might not break the API, but can break the ABI. As a consequence,  
extension modules need to be recompiled for every Python release (although  
an exception is possible on Unix when none of the affected interfaces are  
used). In addition, on Windows, extension modules link with a specific  
pythonXY.dll and need to be recompiled to link with a newer one."
+msgstr ""
+
+#: ../../c-api/stable.rst:24
+# 303bcc68dcd74fdc8ffbfb1b0c77bbf5
+msgid "Since Python 3.2, a subset of the API has been declared to  
guarantee a stable ABI. Extension modules wishing to use this API need to  
define Py_LIMITED_API. A number of interpreter details then become hidden  
from the extension module; in return, a module is built that works on any  
3.x version (x>=2) without recompilation. In some cases, the stable ABI  
needs to be extended with new functions. Extensions modules wishing to use  
these new APIs need to set Py_LIMITED_API to the PY_VERSION_HEX value of  
the minimum Python version they want to support (e.g. 0x03030000 for Python  
3.3). Such modules will work on all subsequent Python releases, but fail to  
load (because of missing symbols) on the older releases."
+msgstr ""
+
+#: ../../c-api/stable.rst:36
+# 618242ab0c874f609e237cb01885a08f
+msgid "As of Python 3.2, the set of functions available to the limited API  
is documented in PEP 384."
+msgstr ""
+
=======================================
***Additional files exist in this changeset.***

==============================================================================
Revision: b109f74c521d
Branch:   default
Author:   "INADA Naoki  <songo****@gmail*****>
Date:     Sat Nov 24 00:50:26 2012
Log:      Don't ignore *.pot
http://code.google.com/p/python-doc-ja/source/detail?r=b109f74c521d&repo=py33

Modified:
  /.hgignore

=======================================
--- /.hgignore	Sun Nov 11 02:50:42 2012
+++ /.hgignore	Sat Nov 24 00:50:26 2012
@@ -1,5 +1,4 @@
  syntax: glob
  *.pyc
-*.pot
  *.mo
  build




Pythonjp-checkins メーリングリストの案内
アーカイブの一覧に戻る