forked from AFPy/python-docs-fr
Hi, gettext_compact=0.
This commit is contained in:
parent
4d988458ea
commit
feef2f882b
684
about.po
684
about.po
|
@ -1,20 +1,20 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2010, Python Software Foundation
|
||||
# Copyright (C) 1990-2016, 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: \n"
|
||||
"Project-Id-Version: Python 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-03-12 23:37+0100\n"
|
||||
"PO-Revision-Date: 2016-01-21 23:24+0100\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: fr\n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.8.6\n"
|
||||
|
||||
#: ../Doc/about.rst:3
|
||||
msgid "About these documents"
|
||||
|
@ -61,7 +61,6 @@ msgstr ""
|
|||
"le projet `Docutils <http://docutils.sourceforge.net/>`_ pour avoir créé "
|
||||
"reStructuredText et la suite d'outils Docutils ;"
|
||||
|
||||
# sphix a pris des idées *du* projet `Alternative Python Reference
|
||||
#: ../Doc/about.rst:26
|
||||
msgid ""
|
||||
"Fredrik Lundh for his `Alternative Python Reference <http://effbot.org/zone/"
|
||||
|
@ -92,670 +91,3 @@ msgid ""
|
|||
msgstr ""
|
||||
"Ce n'est que grâce aux suggestions et contributions de la communauté Python "
|
||||
"que Python a une documentation si merveilleuse -- Merci !"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Development of the documentation and its toolchain takes place on the "
|
||||
#~ "docs@python.org mailing list. We're always looking for volunteers "
|
||||
#~ "wanting to help with the docs, so feel free to send a mail there!"
|
||||
#~ msgstr ""
|
||||
#~ "Le développement de la documentation et de ses outils se passe sur la "
|
||||
#~ "liste de diffusion docs@python.org. Nous sommes toujours à la recherche "
|
||||
#~ "de volontaires souhaitant aider avec les documentations, alors n'hésitez "
|
||||
#~ "pas à envoyer un mail !"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "See :ref:`reporting-bugs` for information how to report bugs in this "
|
||||
#~ "documentation, or Python itself."
|
||||
#~ msgstr ""
|
||||
#~ "Veuillez consulter :ref:`reporting-bugs` pour savoir comment signaler des "
|
||||
#~ "bugs dans cette documentation ou dans Python lui-même."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This section lists people who have contributed in some way to the Python "
|
||||
#~ "documentation. It is probably not complete -- if you feel that you or "
|
||||
#~ "anyone else should be on this list, please let us know (send email to "
|
||||
#~ "docs@python.org), and we'll be glad to correct the problem."
|
||||
#~ msgstr ""
|
||||
#~ "Cette section recense les personnes qui ont contribué à la documentation "
|
||||
#~ "Python. Elle n'est probablement pas complète -- si vous pensez que vous "
|
||||
#~ "ou quiconque devrait y figurer, faites-le nous savoir (envoyez un e-mail "
|
||||
#~ "à docs@python.org), nous nous ferons un plaisir de corriger ce problème."
|
||||
|
||||
#~ msgid "Aahz"
|
||||
#~ msgstr "Aahz"
|
||||
|
||||
#~ msgid "Michael Abbott"
|
||||
#~ msgstr "Michael Abbott"
|
||||
|
||||
#~ msgid "Steve Alexander"
|
||||
#~ msgstr "Steve Alexander"
|
||||
|
||||
#~ msgid "Jim Ahlstrom"
|
||||
#~ msgstr "Jim Ahlstrom"
|
||||
|
||||
#~ msgid "Fred Allen"
|
||||
#~ msgstr "Fred Allen"
|
||||
|
||||
#~ msgid "A. Amoroso"
|
||||
#~ msgstr "A. Amoroso"
|
||||
|
||||
#~ msgid "Pehr Anderson"
|
||||
#~ msgstr "Pehr Anderson"
|
||||
|
||||
#~ msgid "Oliver Andrich"
|
||||
#~ msgstr "Oliver Andrich"
|
||||
|
||||
#~ msgid "Heidi Annexstad"
|
||||
#~ msgstr "Heidi Annexstad"
|
||||
|
||||
#~ msgid "Jesús Cea Avión"
|
||||
#~ msgstr "Jesús Cea Avión"
|
||||
|
||||
#~ msgid "Manuel Balsera"
|
||||
#~ msgstr "Manuel Balsera"
|
||||
|
||||
#~ msgid "Daniel Barclay"
|
||||
#~ msgstr "Daniel Barclay"
|
||||
|
||||
#~ msgid "Chris Barker"
|
||||
#~ msgstr "Chris Barker"
|
||||
|
||||
#~ msgid "Don Bashford"
|
||||
#~ msgstr "Don Bashford"
|
||||
|
||||
#~ msgid "Anthony Baxter"
|
||||
#~ msgstr "Anthony Baxter"
|
||||
|
||||
#~ msgid "Alexander Belopolsky"
|
||||
#~ msgstr "Alexander Belopolsky"
|
||||
|
||||
#~ msgid "Bennett Benson"
|
||||
#~ msgstr "Bennett Benson"
|
||||
|
||||
#~ msgid "Jonathan Black"
|
||||
#~ msgstr "Jonathan Black"
|
||||
|
||||
#~ msgid "Robin Boerdijk"
|
||||
#~ msgstr "Robin Boerdijk"
|
||||
|
||||
#~ msgid "Michal Bozon"
|
||||
#~ msgstr "Michal Bozon"
|
||||
|
||||
#~ msgid "Aaron Brancotti"
|
||||
#~ msgstr "Aaron Brancotti"
|
||||
|
||||
#~ msgid "Georg Brandl"
|
||||
#~ msgstr "Georg Brandl"
|
||||
|
||||
#~ msgid "Keith Briggs"
|
||||
#~ msgstr "Keith Briggs"
|
||||
|
||||
#~ msgid "Ian Bruntlett"
|
||||
#~ msgstr "Ian Bruntlett"
|
||||
|
||||
#~ msgid "Lee Busby"
|
||||
#~ msgstr "Lee Busby"
|
||||
|
||||
#~ msgid "Lorenzo M. Catucci"
|
||||
#~ msgstr "Lorenzo M. Catucci"
|
||||
|
||||
#~ msgid "Carl Cerecke"
|
||||
#~ msgstr "Carl Cerecke"
|
||||
|
||||
#~ msgid "Mauro Cicognini"
|
||||
#~ msgstr "Mauro Cicognini"
|
||||
|
||||
#~ msgid "Gilles Civario"
|
||||
#~ msgstr "Gilles Civario"
|
||||
|
||||
#~ msgid "Mike Clarkson"
|
||||
#~ msgstr "Mike Clarkson"
|
||||
|
||||
#~ msgid "Steve Clift"
|
||||
#~ msgstr "Steve Clift"
|
||||
|
||||
#~ msgid "Dave Cole"
|
||||
#~ msgstr "Dave Cole"
|
||||
|
||||
#~ msgid "Matthew Cowles"
|
||||
#~ msgstr "Matthew Cowles"
|
||||
|
||||
#~ msgid "Jeremy Craven"
|
||||
#~ msgstr "Jeremy Craven"
|
||||
|
||||
#~ msgid "Andrew Dalke"
|
||||
#~ msgstr "Andrew Dalke"
|
||||
|
||||
#~ msgid "Ben Darnell"
|
||||
#~ msgstr "Ben Darnell"
|
||||
|
||||
#~ msgid "L. Peter Deutsch"
|
||||
#~ msgstr "L. Peter Deutsch"
|
||||
|
||||
#~ msgid "Robert Donohue"
|
||||
#~ msgstr "Robert Donohue"
|
||||
|
||||
#~ msgid "Fred L. Drake, Jr."
|
||||
#~ msgstr "Fred L. Drake, Jr."
|
||||
|
||||
#~ msgid "Josip Dzolonga"
|
||||
#~ msgstr "Josip Dzolonga"
|
||||
|
||||
#~ msgid "Jeff Epler"
|
||||
#~ msgstr "Jeff Epler"
|
||||
|
||||
#~ msgid "Michael Ernst"
|
||||
#~ msgstr "Michael Ernst"
|
||||
|
||||
#~ msgid "Blame Andy Eskilsson"
|
||||
#~ msgstr "Blame Andy Eskilsson"
|
||||
|
||||
#~ msgid "Carey Evans"
|
||||
#~ msgstr "Carey Evans"
|
||||
|
||||
#~ msgid "Martijn Faassen"
|
||||
#~ msgstr "Martijn Faassen"
|
||||
|
||||
#~ msgid "Carl Feynman"
|
||||
#~ msgstr "Carl Feynman"
|
||||
|
||||
#~ msgid "Dan Finnie"
|
||||
#~ msgstr "Dan Finnie"
|
||||
|
||||
#~ msgid "Hernán Martínez Foffani"
|
||||
#~ msgstr "Hernán Martínez Foffani"
|
||||
|
||||
#~ msgid "Stefan Franke"
|
||||
#~ msgstr "Stefan Franke"
|
||||
|
||||
#~ msgid "Jim Fulton"
|
||||
#~ msgstr "Jim Fulton"
|
||||
|
||||
#~ msgid "Peter Funk"
|
||||
#~ msgstr "Peter Funk"
|
||||
|
||||
#~ msgid "Lele Gaifax"
|
||||
#~ msgstr "Lele Gaifax"
|
||||
|
||||
#~ msgid "Matthew Gallagher"
|
||||
#~ msgstr "Matthew Gallagher"
|
||||
|
||||
#~ msgid "Gabriel Genellina"
|
||||
#~ msgstr "Gabriel Genellina"
|
||||
|
||||
#~ msgid "Ben Gertzfield"
|
||||
#~ msgstr "Ben Gertzfield"
|
||||
|
||||
#~ msgid "Nadim Ghaznavi"
|
||||
#~ msgstr "Nadim Ghaznavi"
|
||||
|
||||
#~ msgid "Jonathan Giddy"
|
||||
#~ msgstr "Jonathan Giddy"
|
||||
|
||||
#~ msgid "Matt Giuca"
|
||||
#~ msgstr "Matt Giuca"
|
||||
|
||||
#~ msgid "Shelley Gooch"
|
||||
#~ msgstr "Shelley Gooch"
|
||||
|
||||
#~ msgid "Nathaniel Gray"
|
||||
#~ msgstr "Nathaniel Gray"
|
||||
|
||||
#~ msgid "Grant Griffin"
|
||||
#~ msgstr "Grant Griffin"
|
||||
|
||||
#~ msgid "Thomas Guettler"
|
||||
#~ msgstr "Thomas Guettler"
|
||||
|
||||
#~ msgid "Anders Hammarquist"
|
||||
#~ msgstr "Anders Hammarquist"
|
||||
|
||||
#~ msgid "Mark Hammond"
|
||||
#~ msgstr "Mark Hammond"
|
||||
|
||||
#~ msgid "Harald Hanche-Olsen"
|
||||
#~ msgstr "Harald Hanche-Olsen"
|
||||
|
||||
#~ msgid "Manus Hand"
|
||||
#~ msgstr "Manus Hand"
|
||||
|
||||
#~ msgid "Gerhard Häring"
|
||||
#~ msgstr "Gerhard Häring"
|
||||
|
||||
#~ msgid "Travis B. Hartwell"
|
||||
#~ msgstr "Travis B. Hartwell"
|
||||
|
||||
#~ msgid "Tim Hatch"
|
||||
#~ msgstr "Tim Hatch"
|
||||
|
||||
#~ msgid "Janko Hauser"
|
||||
#~ msgstr "Janko Hauser"
|
||||
|
||||
#~ msgid "Thomas Heller"
|
||||
#~ msgstr "Thomas Heller"
|
||||
|
||||
#~ msgid "Bernhard Herzog"
|
||||
#~ msgstr "Bernhard Herzog"
|
||||
|
||||
#~ msgid "Magnus L. Hetland"
|
||||
#~ msgstr "Magnus L. Hetland"
|
||||
|
||||
#~ msgid "Konrad Hinsen"
|
||||
#~ msgstr "Konrad Hinsen"
|
||||
|
||||
#~ msgid "Stefan Hoffmeister"
|
||||
#~ msgstr "Stefan Hoffmeister"
|
||||
|
||||
#~ msgid "Albert Hofkamp"
|
||||
#~ msgstr "Albert Hofkamp"
|
||||
|
||||
#~ msgid "Gregor Hoffleit"
|
||||
#~ msgstr "Gregor Hoffleit"
|
||||
|
||||
#~ msgid "Steve Holden"
|
||||
#~ msgstr "Steve Holden"
|
||||
|
||||
#~ msgid "Thomas Holenstein"
|
||||
#~ msgstr "Thomas Holenstein"
|
||||
|
||||
#~ msgid "Gerrit Holl"
|
||||
#~ msgstr "Gerrit Holl"
|
||||
|
||||
#~ msgid "Rob Hooft"
|
||||
#~ msgstr "Rob Hooft"
|
||||
|
||||
#~ msgid "Brian Hooper"
|
||||
#~ msgstr "Brian Hooper"
|
||||
|
||||
#~ msgid "Randall Hopper"
|
||||
#~ msgstr "Randall Hopper"
|
||||
|
||||
#~ msgid "Michael Hudson"
|
||||
#~ msgstr "Michael Hudson"
|
||||
|
||||
#~ msgid "Eric Huss"
|
||||
#~ msgstr "Eric Huss"
|
||||
|
||||
#~ msgid "Jeremy Hylton"
|
||||
#~ msgstr "Jeremy Hylton"
|
||||
|
||||
#~ msgid "Roger Irwin"
|
||||
#~ msgstr "Roger Irwin"
|
||||
|
||||
#~ msgid "Jack Jansen"
|
||||
#~ msgstr "Jack Jansen"
|
||||
|
||||
#~ msgid "Philip H. Jensen"
|
||||
#~ msgstr "Philip H. Jensen"
|
||||
|
||||
#~ msgid "Pedro Diaz Jimenez"
|
||||
#~ msgstr "Pedro Diaz Jimenez"
|
||||
|
||||
#~ msgid "Kent Johnson"
|
||||
#~ msgstr "Kent Johnson"
|
||||
|
||||
#~ msgid "Lucas de Jonge"
|
||||
#~ msgstr "Lucas de Jonge"
|
||||
|
||||
#~ msgid "Andreas Jung"
|
||||
#~ msgstr "Andreas Jung"
|
||||
|
||||
#~ msgid "Robert Kern"
|
||||
#~ msgstr "Robert Kern"
|
||||
|
||||
#~ msgid "Jim Kerr"
|
||||
#~ msgstr "Jim Kerr"
|
||||
|
||||
#~ msgid "Jan Kim"
|
||||
#~ msgstr "Jan Kim"
|
||||
|
||||
#~ msgid "Greg Kochanski"
|
||||
#~ msgstr "Greg Kochanski"
|
||||
|
||||
#~ msgid "Guido Kollerie"
|
||||
#~ msgstr "Guido Kollerie"
|
||||
|
||||
#~ msgid "Peter A. Koren"
|
||||
#~ msgstr "Peter A. Koren"
|
||||
|
||||
#~ msgid "Daniel Kozan"
|
||||
#~ msgstr "Daniel Kozan"
|
||||
|
||||
#~ msgid "Andrew M. Kuchling"
|
||||
#~ msgstr "Andrew M. Kuchling"
|
||||
|
||||
#~ msgid "Dave Kuhlman"
|
||||
#~ msgstr "Dave Kuhlman"
|
||||
|
||||
#~ msgid "Erno Kuusela"
|
||||
#~ msgstr "Erno Kuusela"
|
||||
|
||||
#~ msgid "Thomas Lamb"
|
||||
#~ msgstr "Thomas Lamb"
|
||||
|
||||
#~ msgid "Detlef Lannert"
|
||||
#~ msgstr "Detlef Lannert"
|
||||
|
||||
#~ msgid "Piers Lauder"
|
||||
#~ msgstr "Piers Lauder"
|
||||
|
||||
#~ msgid "Glyph Lefkowitz"
|
||||
#~ msgstr "Glyph Lefkowitz"
|
||||
|
||||
#~ msgid "Robert Lehmann"
|
||||
#~ msgstr "Robert Lehmann"
|
||||
|
||||
#~ msgid "Marc-André Lemburg"
|
||||
#~ msgstr "Marc-André Lemburg"
|
||||
|
||||
#~ msgid "Ross Light"
|
||||
#~ msgstr "Ross Light"
|
||||
|
||||
#~ msgid "Ulf A. Lindgren"
|
||||
#~ msgstr "Ulf A. Lindgren"
|
||||
|
||||
#~ msgid "Everett Lipman"
|
||||
#~ msgstr "Everett Lipman"
|
||||
|
||||
#~ msgid "Mirko Liss"
|
||||
#~ msgstr "Mirko Liss"
|
||||
|
||||
#~ msgid "Martin von Löwis"
|
||||
#~ msgstr "Martin von Löwis"
|
||||
|
||||
#~ msgid "Fredrik Lundh"
|
||||
#~ msgstr "Fredrik Lundh"
|
||||
|
||||
#~ msgid "Jeff MacDonald"
|
||||
#~ msgstr "Jeff MacDonald"
|
||||
|
||||
#~ msgid "John Machin"
|
||||
#~ msgstr "John Machin"
|
||||
|
||||
#~ msgid "Andrew MacIntyre"
|
||||
#~ msgstr "Andrew MacIntyre"
|
||||
|
||||
#~ msgid "Vladimir Marangozov"
|
||||
#~ msgstr "Vladimir Marangozov"
|
||||
|
||||
#~ msgid "Vincent Marchetti"
|
||||
#~ msgstr "Vincent Marchetti"
|
||||
|
||||
#~ msgid "Laura Matson"
|
||||
#~ msgstr "Laura Matson"
|
||||
|
||||
#~ msgid "Daniel May"
|
||||
#~ msgstr "Daniel May"
|
||||
|
||||
#~ msgid "Rebecca McCreary"
|
||||
#~ msgstr "Rebecca McCreary"
|
||||
|
||||
#~ msgid "Doug Mennella"
|
||||
#~ msgstr "Doug Mennella"
|
||||
|
||||
#~ msgid "Paolo Milani"
|
||||
#~ msgstr "Paolo Milani"
|
||||
|
||||
#~ msgid "Skip Montanaro"
|
||||
#~ msgstr "Skip Montanaro"
|
||||
|
||||
#~ msgid "Paul Moore"
|
||||
#~ msgstr "Paul Moore"
|
||||
|
||||
#~ msgid "Ross Moore"
|
||||
#~ msgstr "Ross Moore"
|
||||
|
||||
#~ msgid "Sjoerd Mullender"
|
||||
#~ msgstr "Sjoerd Mullender"
|
||||
|
||||
#~ msgid "Dale Nagata"
|
||||
#~ msgstr "Dale Nagata"
|
||||
|
||||
#~ msgid "Ng Pheng Siong"
|
||||
#~ msgstr "Ng Pheng Siong"
|
||||
|
||||
#~ msgid "Koray Oner"
|
||||
#~ msgstr "Koray Oner"
|
||||
|
||||
#~ msgid "Tomas Oppelstrup"
|
||||
#~ msgstr "Tomas Oppelstrup"
|
||||
|
||||
#~ msgid "Denis S. Otkidach"
|
||||
#~ msgstr "Denis S. Otkidach"
|
||||
|
||||
#~ msgid "Zooko O'Whielacronx"
|
||||
#~ msgstr "Zooko O'Whielacronx"
|
||||
|
||||
#~ msgid "Shriphani Palakodety"
|
||||
#~ msgstr "Shriphani Palakodety"
|
||||
|
||||
#~ msgid "William Park"
|
||||
#~ msgstr "William Park"
|
||||
|
||||
#~ msgid "Joonas Paalasmaa"
|
||||
#~ msgstr "Joonas Paalasmaa"
|
||||
|
||||
#~ msgid "Harri Pasanen"
|
||||
#~ msgstr "Harri Pasanen"
|
||||
|
||||
#~ msgid "Bo Peng"
|
||||
#~ msgstr "Bo Peng"
|
||||
|
||||
#~ msgid "Tim Peters"
|
||||
#~ msgstr "Tim Peters"
|
||||
|
||||
#~ msgid "Benjamin Peterson"
|
||||
#~ msgstr "Benjamin Peterson"
|
||||
|
||||
#~ msgid "Christopher Petrilli"
|
||||
#~ msgstr "Christopher Petrilli"
|
||||
|
||||
#~ msgid "Justin D. Pettit"
|
||||
#~ msgstr "Justin D. Pettit"
|
||||
|
||||
#~ msgid "Chris Phoenix"
|
||||
#~ msgstr "Chris Phoenix"
|
||||
|
||||
#~ msgid "François Pinard"
|
||||
#~ msgstr "François Pinard"
|
||||
|
||||
#~ msgid "Paul Prescod"
|
||||
#~ msgstr "Paul Prescod"
|
||||
|
||||
#~ msgid "Eric S. Raymond"
|
||||
#~ msgstr "Eric S. Raymond"
|
||||
|
||||
#~ msgid "Edward K. Ream"
|
||||
#~ msgstr "Edward K. Ream"
|
||||
|
||||
#~ msgid "Terry J. Reedy"
|
||||
#~ msgstr "Terry J. Reedy"
|
||||
|
||||
#~ msgid "Sean Reifschneider"
|
||||
#~ msgstr "Sean Reifschneider"
|
||||
|
||||
#~ msgid "Bernhard Reiter"
|
||||
#~ msgstr "Bernhard Reiter"
|
||||
|
||||
#~ msgid "Armin Rigo"
|
||||
#~ msgstr "Armin Rigo"
|
||||
|
||||
#~ msgid "Wes Rishel"
|
||||
#~ msgstr "Wes Rishel"
|
||||
|
||||
#~ msgid "Armin Ronacher"
|
||||
#~ msgstr "Armin Ronacher"
|
||||
|
||||
#~ msgid "Jim Roskind"
|
||||
#~ msgstr "Jim Roskind"
|
||||
|
||||
#~ msgid "Guido van Rossum"
|
||||
#~ msgstr "Guido van Rossum"
|
||||
|
||||
#~ msgid "Donald Wallace Rouse II"
|
||||
#~ msgstr "Donald Wallace Rouse II"
|
||||
|
||||
#~ msgid "Mark Russell"
|
||||
#~ msgstr "Mark Russell"
|
||||
|
||||
#~ msgid "Nick Russo"
|
||||
#~ msgstr "Nick Russo"
|
||||
|
||||
#~ msgid "Chris Ryland"
|
||||
#~ msgstr "Chris Ryland"
|
||||
|
||||
#~ msgid "Constantina S."
|
||||
#~ msgstr "Constantina S."
|
||||
|
||||
#~ msgid "Hugh Sasse"
|
||||
#~ msgstr "Hugh Sasse"
|
||||
|
||||
#~ msgid "Bob Savage"
|
||||
#~ msgstr "Bob Savage"
|
||||
|
||||
#~ msgid "Scott Schram"
|
||||
#~ msgstr "Scott Schram"
|
||||
|
||||
#~ msgid "Neil Schemenauer"
|
||||
#~ msgstr "Neil Schemenauer"
|
||||
|
||||
#~ msgid "Barry Scott"
|
||||
#~ msgstr "Barry Scott"
|
||||
|
||||
#~ msgid "Joakim Sernbrant"
|
||||
#~ msgstr "Joakim Sernbrant"
|
||||
|
||||
#~ msgid "Justin Sheehy"
|
||||
#~ msgstr "Justin Sheehy"
|
||||
|
||||
#~ msgid "Charlie Shepherd"
|
||||
#~ msgstr "Charlie Shepherd"
|
||||
|
||||
#~ msgid "Michael Simcich"
|
||||
#~ msgstr "Michael Simcich"
|
||||
|
||||
#~ msgid "Ionel Simionescu"
|
||||
#~ msgstr "Ionel Simionescu"
|
||||
|
||||
#~ msgid "Michael Sloan"
|
||||
#~ msgstr "Michael Sloan"
|
||||
|
||||
#~ msgid "Gregory P. Smith"
|
||||
#~ msgstr "Gregory P. Smith"
|
||||
|
||||
#~ msgid "Roy Smith"
|
||||
#~ msgstr "Roy Smith"
|
||||
|
||||
#~ msgid "Clay Spence"
|
||||
#~ msgstr "Clay Spence"
|
||||
|
||||
#~ msgid "Nicholas Spies"
|
||||
#~ msgstr "Nicholas Spies"
|
||||
|
||||
#~ msgid "Tage Stabell-Kulo"
|
||||
#~ msgstr "Tage Stabell-Kulo"
|
||||
|
||||
#~ msgid "Frank Stajano"
|
||||
#~ msgstr "Frank Stajano"
|
||||
|
||||
#~ msgid "Anthony Starks"
|
||||
#~ msgstr "Anthony Starks"
|
||||
|
||||
#~ msgid "Greg Stein"
|
||||
#~ msgstr "Greg Stein"
|
||||
|
||||
#~ msgid "Peter Stoehr"
|
||||
#~ msgstr "Peter Stoehr"
|
||||
|
||||
#~ msgid "Mark Summerfield"
|
||||
#~ msgstr "Mark Summerfield"
|
||||
|
||||
#~ msgid "Reuben Sumner"
|
||||
#~ msgstr "Reuben Sumner"
|
||||
|
||||
#~ msgid "Kalle Svensson"
|
||||
#~ msgstr "Kalle Svensson"
|
||||
|
||||
#~ msgid "Jim Tittsler"
|
||||
#~ msgstr "Jim Tittsler"
|
||||
|
||||
#~ msgid "David Turner"
|
||||
#~ msgstr "David Turner"
|
||||
|
||||
#~ msgid "Ville Vainio"
|
||||
#~ msgstr "Ville Vainio"
|
||||
|
||||
#~ msgid "Martijn Vries"
|
||||
#~ msgstr "Martijn Vries"
|
||||
|
||||
#~ msgid "Charles G. Waldman"
|
||||
#~ msgstr "Charles G. Waldman"
|
||||
|
||||
#~ msgid "Greg Ward"
|
||||
#~ msgstr "Greg Ward"
|
||||
|
||||
#~ msgid "Barry Warsaw"
|
||||
#~ msgstr "Barry Warsaw"
|
||||
|
||||
#~ msgid "Corran Webster"
|
||||
#~ msgstr "Corran Webster"
|
||||
|
||||
#~ msgid "Glyn Webster"
|
||||
#~ msgstr "Glyn Webster"
|
||||
|
||||
#~ msgid "Bob Weiner"
|
||||
#~ msgstr "Bob Weiner"
|
||||
|
||||
#~ msgid "Eddy Welbourne"
|
||||
#~ msgstr "Eddy Welbourne"
|
||||
|
||||
#~ msgid "Jeff Wheeler"
|
||||
#~ msgstr "Jeff Wheeler"
|
||||
|
||||
#~ msgid "Mats Wichmann"
|
||||
#~ msgstr "Mats Wichmann"
|
||||
|
||||
#~ msgid "Gerry Wiener"
|
||||
#~ msgstr "Gerry Wiener"
|
||||
|
||||
#~ msgid "Timothy Wild"
|
||||
#~ msgstr "Timothy Wild"
|
||||
|
||||
#~ msgid "Paul Winkler"
|
||||
#~ msgstr "Paul Winkler"
|
||||
|
||||
#~ msgid "Collin Winter"
|
||||
#~ msgstr "Collin Winter"
|
||||
|
||||
#~ msgid "Blake Winton"
|
||||
#~ msgstr "Blake Winton"
|
||||
|
||||
#~ msgid "Dan Wolfe"
|
||||
#~ msgstr "Dan Wolfe"
|
||||
|
||||
#~ msgid "Steven Work"
|
||||
#~ msgstr "Steven Work"
|
||||
|
||||
#~ msgid "Thomas Wouters"
|
||||
#~ msgstr "Thomas Wouters"
|
||||
|
||||
#~ msgid "Ka-Ping Yee"
|
||||
#~ msgstr "Ka-Ping Yee"
|
||||
|
||||
#~ msgid "Rory Yorke"
|
||||
#~ msgstr "Rory Yorke"
|
||||
|
||||
#~ msgid "Moshe Zadka"
|
||||
#~ msgstr "Moshe Zadka"
|
||||
|
||||
#~ msgid "Milan Zamazal"
|
||||
#~ msgstr "Milan Zamazal"
|
||||
|
||||
#~ msgid "Cheng Zhang"
|
||||
#~ msgstr "Cheng Zhang"
|
||||
|
||||
#~ msgid "Trent Nelson"
|
||||
#~ msgstr "Trent Nelson"
|
||||
|
||||
#~ msgid "Michael Foord"
|
||||
#~ msgstr "Michael Foord"
|
||||
|
|
35
bugs.po
35
bugs.po
|
@ -1,21 +1,20 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2010, Python Software Foundation
|
||||
# Copyright (C) 1990-2016, 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: PACKAGE VERSION\n"
|
||||
"Project-Id-Version: Python 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-03-12 23:37+0100\n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Translate Toolkit 1.7.0\n"
|
||||
|
||||
#: ../Doc/bugs.rst:5
|
||||
msgid "Reporting Bugs"
|
||||
|
@ -71,7 +70,6 @@ msgstr "`Documentation bugs`_ sur le gestionnaire de ticket de Python"
|
|||
msgid "Using the Python issue tracker"
|
||||
msgstr "Utilisation du gestionnaire de ticket Python"
|
||||
|
||||
# aconrad: "traqueur de bogues" ? Comment traduire ça ?
|
||||
#: ../Doc/bugs.rst:32
|
||||
msgid ""
|
||||
"Bug reports for Python itself should be submitted via the Python Bug Tracker "
|
||||
|
@ -116,15 +114,6 @@ msgstr ""
|
|||
"barre latérale. Il n'est pas possible de soumettre un rapport de bug de "
|
||||
"manière anonyme."
|
||||
|
||||
# est-ce que le lien "Create New" est traduit dans l'interface ?
|
||||
#
|
||||
# aconrad: je ne sais pas si l'interface est traduite, mais je pense qu'à
|
||||
# terme tout sera traduit, même le bug tracker. Je pense que nous pouvons
|
||||
# dors-et-déjà traduire les boutons. Nous nous adressons à une communauté
|
||||
# parlant généralement un minimum l'anglais et je pense qu'ils ne seront pas
|
||||
# perdus.
|
||||
#
|
||||
# aconrad: j'aurais tendance à remplacer "identifié" par "connecté".
|
||||
#: ../Doc/bugs.rst:48
|
||||
msgid ""
|
||||
"Being now logged in, you can submit a bug. Select the \"Create New\" link "
|
||||
|
@ -221,19 +210,3 @@ msgstr ""
|
|||
"Developer's Guide`_. Si vous avez des questions, le `core-mentorship mailing "
|
||||
"list`_ est un endroit amical pour obtenir des réponses à toutes les "
|
||||
"questions à propos du processus de corrections de bugs dans Python."
|
||||
|
||||
#~ msgid "How to Report Bugs Effectively"
|
||||
#~ msgstr "Comment remonter des bugs de manière efficiente"
|
||||
|
||||
#~ msgid "Bug Writing Guidelines"
|
||||
#~ msgstr "Recommandations pour la rédaction de bugs"
|
||||
|
||||
#~ 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 ""
|
||||
#~ "Bien sûr, si vous voulez un suivi plus persistant de votre problème, vous "
|
||||
#~ "pouvez aussi utiliser le tracker pour les bugs de documentation."
|
||||
|
||||
#~ msgid "See also"
|
||||
#~ msgstr "Voir aussi"
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/abstract.rst:8
|
||||
msgid "Abstract Objects Layer"
|
||||
msgstr "Couche d'Abstraction des Objets"
|
||||
|
||||
#: ../Doc/c-api/abstract.rst:10
|
||||
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 ""
|
||||
"Dans ce chapitre, les fonctions s'appliquent à des objets Python sans tenir "
|
||||
"compte de leur type, ou des classes d'objets au sens large (par exemple, "
|
||||
"tous les types numériques, ou tous les types de séquence). Quand ils sont "
|
||||
"utilisés sur des types d'objets qui ne correspondent pas, ils lèveront une "
|
||||
"exception Python."
|
||||
|
||||
#: ../Doc/c-api/abstract.rst:15
|
||||
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 ""
|
||||
"Il n'est pas possible d'utiliser ces fonctions sur des objets qui n'ont pas "
|
||||
"été correctement initialisés, comme un objet liste qui a été créé avec :c:"
|
||||
"func:`PyList_New` mais dont les éléments n'ont pas encore été mis à une "
|
||||
"valeur non-\\ ``NULL``."
|
|
@ -0,0 +1,121 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/allocation.rst:6
|
||||
msgid "Allocating Objects on the Heap"
|
||||
msgstr "Allouer des objets dans le tas"
|
||||
|
||||
#: ../Doc/c-api/allocation.rst:14 ../Doc/c-api/allocation.rst:36
|
||||
#: ../Doc/c-api/allocation.rst:61
|
||||
msgid ""
|
||||
"This function used an :c:type:`int` type for *size*. This might require "
|
||||
"changes in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/allocation.rst:24
|
||||
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 ""
|
||||
"Permet d'initialiser un objet *op* nouvellement alloué ainsi que son type et "
|
||||
"sa référence initiale. Retourne l'objet initialisé. La présence de *type* "
|
||||
"indique que l'objet doit être traité par le détecteur d'ordures cycliques, "
|
||||
"il est de ce fait ajouté à l'ensemble du détecteur d'objets observés. Les "
|
||||
"autres champs de l'objet ne sont pas affectés."
|
||||
|
||||
#: ../Doc/c-api/allocation.rst:33
|
||||
msgid ""
|
||||
"This does everything :c:func:`PyObject_Init` does, and also initializes the "
|
||||
"length information for a variable-size object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/allocation.rst:43
|
||||
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 :c:member:`~PyTypeObject."
|
||||
"tp_basicsize` field of the type object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/allocation.rst:52
|
||||
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 :c:member:`~PyTypeObject."
|
||||
"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 ""
|
||||
|
||||
#: ../Doc/c-api/allocation.rst:68
|
||||
msgid ""
|
||||
"Releases memory allocated to an object using :c:func:`PyObject_New` or :c:"
|
||||
"func:`PyObject_NewVar`. This is normally called from the :c:member:"
|
||||
"`~PyTypeObject.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 ""
|
||||
|
||||
#: ../Doc/c-api/allocation.rst:77
|
||||
msgid ""
|
||||
"Create a new module object based on a name and table of functions, returning "
|
||||
"the new module object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/allocation.rst:80 ../Doc/c-api/allocation.rst:91
|
||||
#: ../Doc/c-api/allocation.rst:113
|
||||
msgid ""
|
||||
"Older versions of Python did not support *NULL* as the value for the "
|
||||
"*methods* argument."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/allocation.rst:87
|
||||
msgid ""
|
||||
"Create a new module object based on a name and table of functions, returning "
|
||||
"the new module object. If *doc* is non-*NULL*, it will be used to define "
|
||||
"the docstring for the module."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/allocation.rst:98
|
||||
msgid ""
|
||||
"Create a new module object based on a name and table of functions, returning "
|
||||
"the new module object. If *doc* is non-*NULL*, it will be used to define "
|
||||
"the docstring for the module. If *self* is non-*NULL*, it will be passed to "
|
||||
"the functions of the module as their (otherwise *NULL*) first parameter. "
|
||||
"(This was added as an experimental feature, and there are no known uses in "
|
||||
"the current version of Python.) For *apiver*, the only value which should "
|
||||
"be passed is defined by the constant :const:`PYTHON_API_VERSION`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/allocation.rst:109
|
||||
msgid ""
|
||||
"Most uses of this function should probably be using the :c:func:"
|
||||
"`Py_InitModule3` instead; only use this if you are sure you need it."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/allocation.rst:120
|
||||
msgid ""
|
||||
"Object which is visible in Python as ``None``. This should only be accessed "
|
||||
"using the ``Py_None`` macro, which evaluates to a pointer to this object."
|
||||
msgstr ""
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,68 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/bool.rst:6
|
||||
msgid "Boolean Objects"
|
||||
msgstr "Les objets booléens"
|
||||
|
||||
#: ../Doc/c-api/bool.rst:8
|
||||
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 ""
|
||||
"Les booléens en Python sont implémentés comme une classe dérivée des "
|
||||
"entiers. Il y a seulement deux booléens, :const:`Py_False` et :const:"
|
||||
"`Py_True`. Comme tel, les fonctions de création de suppression ne "
|
||||
"s'appliquent pas aux booléens. Toutefois, les macros suivantes sont "
|
||||
"disponibles."
|
||||
|
||||
#: ../Doc/c-api/bool.rst:16
|
||||
msgid "Return true if *o* is of type :c:data:`PyBool_Type`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/bool.rst:23
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/bool.rst:29
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/bool.rst:35
|
||||
msgid ""
|
||||
"Return :const:`Py_False` from a function, properly incrementing its "
|
||||
"reference count."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/bool.rst:43
|
||||
msgid ""
|
||||
"Return :const:`Py_True` from a function, properly incrementing its reference "
|
||||
"count."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/bool.rst:51
|
||||
msgid ""
|
||||
"Return a new reference to :const:`Py_True` or :const:`Py_False` depending on "
|
||||
"the truth value of *v*."
|
||||
msgstr ""
|
|
@ -0,0 +1,561 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:6
|
||||
msgid "Buffers and Memoryview Objects"
|
||||
msgstr "Objets de type MemoryView"
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:16
|
||||
msgid ""
|
||||
"Python objects implemented in C can export a group of functions called the "
|
||||
"\"buffer interface.\" These functions can be used by an object to expose "
|
||||
"its data in a raw, byte-oriented format. Clients of the object can use the "
|
||||
"buffer interface to access the object data directly, without needing to copy "
|
||||
"it first."
|
||||
msgstr ""
|
||||
"Les objets Python implémentés en C peuvent exporter une \"interface sur des "
|
||||
"tampons\". Ces fonctions peuvent être utilisées par un objets pour rendre "
|
||||
"publiques ses données, dans un format brut orienté octets. Les clients de "
|
||||
"ces objets peuvent utiliser l'interface sur les tampons pour accéder "
|
||||
"directement aux données de l'objet, sans nécessiter une copie préalable."
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:22
|
||||
msgid ""
|
||||
"Two examples of objects that support the buffer interface are strings and "
|
||||
"arrays. The string object exposes the character contents in the buffer "
|
||||
"interface's byte-oriented form. An array can only expose its contents via "
|
||||
"the old-style buffer interface. This limitation does not apply to Python 3, "
|
||||
"where :class:`memoryview` objects can be constructed from arrays, too. Array "
|
||||
"elements may be multi-byte values."
|
||||
msgstr ""
|
||||
"Deux exemples d'objets qui supportent l'interfaces sur les tampons sont les "
|
||||
"octets et les tableaux. Les objets octets exposent leur contenu en tant que "
|
||||
"caractètres, dans une interface sur tampon orientée octets. Un tableau peut "
|
||||
"également exposer son contenu, mais il doit être remarqué que les éléments "
|
||||
"du tableau peuvent être des valeurs multi-octets."
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:29
|
||||
msgid ""
|
||||
"An example user of the buffer interface is the file object's :meth:`write` "
|
||||
"method. Any object that can export a series of bytes through the buffer "
|
||||
"interface can be written to a file. There are a number of format codes to :c:"
|
||||
"func:`PyArg_ParseTuple` that operate against an object's buffer interface, "
|
||||
"returning data from the target object."
|
||||
msgstr ""
|
||||
"Un exemple d'utilisation de l'interface sur les tampons est la méthode :meth:"
|
||||
"`write` de l'objet fichier. Tout objet qui peut exporter une série d'octets "
|
||||
"en utilisant l'interface tampons peut être écrit dans un fichier. Il y a un "
|
||||
"nombre de codes de format pour :cfunc:`PyArg_ParseTuple` qui contredisent "
|
||||
"l'interface tampon de l'objet, en retournant les données de l'objet cible."
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:35
|
||||
msgid ""
|
||||
"Starting from version 1.6, Python has been providing Python-level buffer "
|
||||
"objects and a C-level buffer API so that any built-in or used-defined type "
|
||||
"can expose its characteristics. Both, however, have been deprecated because "
|
||||
"of various shortcomings, and have been officially removed in Python 3 in "
|
||||
"favour of a new C-level buffer API and a new Python-level object named :"
|
||||
"class:`memoryview`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:42
|
||||
msgid ""
|
||||
"The new buffer API has been backported to Python 2.6, and the :class:"
|
||||
"`memoryview` object has been backported to Python 2.7. It is strongly "
|
||||
"advised to use them rather than the old APIs, unless you are blocked from "
|
||||
"doing so for compatibility reasons."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:49
|
||||
msgid "The new-style Py_buffer struct"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:56
|
||||
msgid "A pointer to the start of the memory for the object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:61
|
||||
msgid "The total length of the memory in bytes."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:65
|
||||
msgid "An indicator of whether the buffer is read only."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:70
|
||||
msgid ""
|
||||
"A *NULL* terminated string in :mod:`struct` module style syntax giving the "
|
||||
"contents of the elements available through the buffer. If this is *NULL*, ``"
|
||||
"\"B\"`` (unsigned bytes) is assumed."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:76
|
||||
msgid ""
|
||||
"The number of dimensions the memory represents as a multi-dimensional "
|
||||
"array. If it is 0, :c:data:`strides` and :c:data:`suboffsets` must be "
|
||||
"*NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:82
|
||||
msgid ""
|
||||
"An array of :c:type:`Py_ssize_t`\\s the length of :c:data:`ndim` giving the "
|
||||
"shape of the memory as a multi-dimensional array. Note that ``((*shape)[0] "
|
||||
"* ... * (*shape)[ndims-1])*itemsize`` should be equal to :c:data:`len`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:89
|
||||
msgid ""
|
||||
"An array of :c:type:`Py_ssize_t`\\s the length of :c:data:`ndim` giving the "
|
||||
"number of bytes to skip to get to a new element in each dimension."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:94
|
||||
msgid ""
|
||||
"An array of :c:type:`Py_ssize_t`\\s the length of :c:data:`ndim`. If these "
|
||||
"suboffset numbers are greater than or equal to 0, then the value stored "
|
||||
"along the indicated dimension is a pointer and the suboffset value dictates "
|
||||
"how many bytes to add to the pointer after de-referencing. A suboffset value "
|
||||
"that it negative indicates that no de-referencing should occur (striding in "
|
||||
"a contiguous memory block)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:101
|
||||
msgid ""
|
||||
"If all suboffsets are negative (i.e. no de-referencing is needed, then this "
|
||||
"field must be NULL (the default value)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:104
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:124
|
||||
msgid ""
|
||||
"This is a storage for the itemsize (in bytes) of each element of the shared "
|
||||
"memory. It is technically un-necessary as it can be obtained using :c:func:"
|
||||
"`PyBuffer_SizeFromFormat`, however an exporter may know this information "
|
||||
"without parsing the format string and it is necessary to know the itemsize "
|
||||
"for proper interpretation of striding. Therefore, storing it is more "
|
||||
"convenient and faster."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:133
|
||||
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 should never alter this value."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:141
|
||||
msgid "Buffer related functions"
|
||||
msgstr "Fonctions relatives aux tampons"
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:146
|
||||
msgid "Return 1 if *obj* supports the buffer interface otherwise 0."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:151
|
||||
msgid ""
|
||||
"Export *obj* into a :c:type:`Py_buffer`, *view*. These arguments must never "
|
||||
"be *NULL*. The *flags* argument is a bit field indicating what kind of "
|
||||
"buffer the caller is prepared to deal with and therefore what kind of buffer "
|
||||
"the exporter is allowed to return. The buffer interface allows for "
|
||||
"complicated memory sharing possibilities, but some caller may not be able to "
|
||||
"handle all the complexity but may want to see if the exporter will let them "
|
||||
"take a simpler view to its memory."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:159
|
||||
msgid ""
|
||||
"Some exporters may not be able to share memory in every possible way and may "
|
||||
"need to raise errors to signal to some consumers that something is just not "
|
||||
"possible. These errors should be a :exc:`BufferError` unless there is "
|
||||
"another error that is actually causing the problem. The exporter can use "
|
||||
"flags information to simplify how much of the :c:data:`Py_buffer` structure "
|
||||
"is filled in with non-default values and/or raise an error if the object "
|
||||
"can't support a simpler view of its memory."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:167
|
||||
msgid "0 is returned on success and -1 on error."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:169
|
||||
msgid "The following table gives possible values to the *flags* arguments."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:172
|
||||
msgid "Flag"
|
||||
msgstr "Option"
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:172
|
||||
msgid "Description"
|
||||
msgstr "Description"
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:174
|
||||
msgid ":c:macro:`PyBUF_SIMPLE`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:174
|
||||
msgid ""
|
||||
"This is the default flag state. The returned buffer may or may not have "
|
||||
"writable memory. The format of the data will be assumed to be unsigned "
|
||||
"bytes. This is a \"stand-alone\" flag constant. It never needs to be '|'d "
|
||||
"to the others. The exporter will raise an error if it cannot provide such a "
|
||||
"contiguous buffer of bytes."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:183
|
||||
msgid ":c:macro:`PyBUF_WRITABLE`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:183
|
||||
msgid ""
|
||||
"The returned buffer must be writable. If it is not writable, then raise an "
|
||||
"error."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:186
|
||||
msgid ":c:macro:`PyBUF_STRIDES`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:186
|
||||
msgid ""
|
||||
"This implies :c:macro:`PyBUF_ND`. The returned buffer must provide strides "
|
||||
"information (i.e. the strides cannot be NULL). This would be used when the "
|
||||
"consumer can handle strided, discontiguous arrays. Handling strides "
|
||||
"automatically assumes you can handle shape. The exporter can raise an error "
|
||||
"if a strided representation of the data is not possible (i.e. without the "
|
||||
"suboffsets)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:196
|
||||
msgid ":c:macro:`PyBUF_ND`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:196
|
||||
msgid ""
|
||||
"The returned buffer must provide shape information. The memory will be "
|
||||
"assumed C-style contiguous (last dimension varies the fastest). The exporter "
|
||||
"may raise an error if it cannot provide this kind of contiguous buffer. If "
|
||||
"this is not given then shape will be *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:206
|
||||
msgid ""
|
||||
":c:macro:`PyBUF_C_CONTIGUOUS` :c:macro:`PyBUF_F_CONTIGUOUS` :c:macro:"
|
||||
"`PyBUF_ANY_CONTIGUOUS`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:206
|
||||
msgid ""
|
||||
"These flags indicate that the contiguity returned buffer must be "
|
||||
"respectively, C-contiguous (last dimension varies the fastest), Fortran "
|
||||
"contiguous (first dimension varies the fastest) or either one. All of these "
|
||||
"flags imply :c:macro:`PyBUF_STRIDES` and guarantee that the strides buffer "
|
||||
"info structure will be filled in correctly."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:216
|
||||
msgid ":c:macro:`PyBUF_INDIRECT`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:216
|
||||
msgid ""
|
||||
"This flag indicates the returned buffer must have suboffsets information "
|
||||
"(which can be NULL if no suboffsets are needed). This can be used when the "
|
||||
"consumer can handle indirect array referencing implied by these suboffsets. "
|
||||
"This implies :c:macro:`PyBUF_STRIDES`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:226
|
||||
msgid ":c:macro:`PyBUF_FORMAT`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:226
|
||||
msgid ""
|
||||
"The returned buffer must have true format information if this flag is "
|
||||
"provided. This would be used when the consumer is going to be checking for "
|
||||
"what 'kind' of data is actually stored. An exporter should always be able to "
|
||||
"provide this information if requested. If format is not explicitly requested "
|
||||
"then the format must be returned as *NULL* (which means ``'B'``, or unsigned "
|
||||
"bytes)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:236
|
||||
msgid ":c:macro:`PyBUF_STRIDED`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:236
|
||||
msgid "This is equivalent to ``(PyBUF_STRIDES | PyBUF_WRITABLE)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:239
|
||||
msgid ":c:macro:`PyBUF_STRIDED_RO`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:239
|
||||
msgid "This is equivalent to ``(PyBUF_STRIDES)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:242
|
||||
msgid ":c:macro:`PyBUF_RECORDS`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:242
|
||||
msgid ""
|
||||
"This is equivalent to ``(PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:245
|
||||
msgid ":c:macro:`PyBUF_RECORDS_RO`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:245
|
||||
msgid "This is equivalent to ``(PyBUF_STRIDES | PyBUF_FORMAT)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:248
|
||||
msgid ":c:macro:`PyBUF_FULL`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:248
|
||||
msgid ""
|
||||
"This is equivalent to ``(PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:251
|
||||
msgid ":c:macro:`PyBUF_FULL_RO`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:251
|
||||
msgid "This is equivalent to ``(PyBUF_INDIRECT | PyBUF_FORMAT)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:254
|
||||
msgid ":c:macro:`PyBUF_CONTIG`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:254
|
||||
msgid "This is equivalent to ``(PyBUF_ND | PyBUF_WRITABLE)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:257
|
||||
msgid ":c:macro:`PyBUF_CONTIG_RO`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:257
|
||||
msgid "This is equivalent to ``(PyBUF_ND)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:264
|
||||
msgid ""
|
||||
"Release the buffer *view*. This should be called when the buffer is no "
|
||||
"longer being used as it may free memory from it."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:270
|
||||
msgid ""
|
||||
"Return the implied :c:data:`~Py_buffer.itemsize` from the struct-stype :c:"
|
||||
"data:`~Py_buffer.format`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:276
|
||||
msgid ""
|
||||
"Return 1 if the memory defined by the *view* is C-style (*fortran* is "
|
||||
"``'C'``) or Fortran-style (*fortran* is ``'F'``) contiguous or either one "
|
||||
"(*fortran* is ``'A'``). Return 0 otherwise."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:283
|
||||
msgid ""
|
||||
"Fill the *strides* array with byte-strides of a contiguous (C-style if "
|
||||
"*fortran* is ``'C'`` or Fortran-style if *fortran* is ``'F'``) array of the "
|
||||
"given shape with the given number of bytes per element."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:290
|
||||
msgid ""
|
||||
"Fill in a buffer-info structure, *view*, correctly for an exporter that can "
|
||||
"only share a contiguous chunk of memory of \"unsigned bytes\" of the given "
|
||||
"length. Return 0 on success and -1 (with raising an error) on error."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:296
|
||||
msgid "MemoryView objects"
|
||||
msgstr "Objets de type MemoryView"
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:300
|
||||
msgid ""
|
||||
"A :class:`memoryview` object exposes the new C level buffer interface as a "
|
||||
"Python object which can then be passed around like any other object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:305
|
||||
msgid ""
|
||||
"Create a memoryview object from an object that defines the new buffer "
|
||||
"interface."
|
||||
msgstr "Un objet MemoryView expose l'interface tampon au niveau C à Python."
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:311
|
||||
msgid ""
|
||||
"Create a memoryview object wrapping the given buffer-info structure *view*. "
|
||||
"The memoryview object then owns the buffer, which means you shouldn't try to "
|
||||
"release it yourself: it will be released on deallocation of the memoryview "
|
||||
"object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:319
|
||||
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 copy is made and the memoryview points to a new bytes object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:328
|
||||
msgid ""
|
||||
"Return true if the object *obj* is a memoryview object. It is not currently "
|
||||
"allowed to create subclasses of :class:`memoryview`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:334
|
||||
msgid ""
|
||||
"Return a pointer to the buffer-info structure wrapped by the given object. "
|
||||
"The object **must** be a memoryview instance; this macro doesn't check its "
|
||||
"type, you must do it yourself or you will risk crashes."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:340
|
||||
msgid "Old-style buffer objects"
|
||||
msgstr "Autres objets"
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:344
|
||||
msgid ""
|
||||
"More information on the old buffer interface is provided in the section :ref:"
|
||||
"`buffer-structs`, under the description for :c:type:`PyBufferProcs`."
|
||||
msgstr ""
|
||||
"Plus d'informations sur l'interface sur les tampons sont données dans la "
|
||||
"section :ref:`buffer-structs`, dans la description sur :ctype:"
|
||||
"`PyBufferProcs`."
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:347
|
||||
msgid ""
|
||||
"A \"buffer object\" is defined in the :file:`bufferobject.h` header "
|
||||
"(included by :file:`Python.h`). These objects look very similar to string "
|
||||
"objects at the Python programming level: they support slicing, indexing, "
|
||||
"concatenation, and some other standard string operations. However, their "
|
||||
"data can come from one of two sources: from a block of memory, or from "
|
||||
"another object which exports the buffer interface."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:354
|
||||
msgid ""
|
||||
"Buffer objects are useful as a way to expose the data from another object's "
|
||||
"buffer interface 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 ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:366
|
||||
msgid "This subtype of :c:type:`PyObject` represents a buffer object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:373
|
||||
msgid ""
|
||||
"The instance of :c:type:`PyTypeObject` which represents the Python buffer "
|
||||
"type; it is the same object as ``buffer`` and ``types.BufferType`` in the "
|
||||
"Python layer. ."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:380
|
||||
msgid ""
|
||||
"This constant may be passed as the *size* parameter to :c:func:"
|
||||
"`PyBuffer_FromObject` or :c:func:`PyBuffer_FromReadWriteObject`. It "
|
||||
"indicates that the new :c:type:`PyBufferObject` should refer to *base* "
|
||||
"object from the specified *offset* to the end of its exported buffer. Using "
|
||||
"this enables the caller to avoid querying the *base* object for its length."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:390
|
||||
msgid "Return true if the argument has type :c:data:`PyBuffer_Type`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:395
|
||||
msgid ""
|
||||
"Return a new read-only buffer object. This raises :exc:`TypeError` if "
|
||||
"*base* doesn't support the read-only buffer protocol or doesn't provide "
|
||||
"exactly one buffer segment, or it raises :exc:`ValueError` if *offset* is "
|
||||
"less than zero. The buffer will hold a reference to the *base* object, and "
|
||||
"the buffer's contents will refer to the *base* object's buffer interface, "
|
||||
"starting as position *offset* and extending for *size* bytes. If *size* is :"
|
||||
"const:`Py_END_OF_BUFFER`, then the new buffer's contents extend to the "
|
||||
"length of the *base* object's exported buffer data."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:404 ../Doc/c-api/buffer.rst:416
|
||||
msgid ""
|
||||
"This function used an :c:type:`int` type for *offset* and *size*. This might "
|
||||
"require changes in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:412
|
||||
msgid ""
|
||||
"Return a new writable buffer object. Parameters and exceptions are similar "
|
||||
"to those for :c:func:`PyBuffer_FromObject`. If the *base* object does not "
|
||||
"export the writeable buffer protocol, then :exc:`TypeError` is raised."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:424
|
||||
msgid ""
|
||||
"Return a new read-only buffer object that reads from a specified location in "
|
||||
"memory, with a specified size. The caller is responsible for ensuring that "
|
||||
"the memory buffer, passed in as *ptr*, is not deallocated while the returned "
|
||||
"buffer object exists. Raises :exc:`ValueError` if *size* is less than "
|
||||
"zero. Note that :const:`Py_END_OF_BUFFER` may *not* be passed for the "
|
||||
"*size* parameter; :exc:`ValueError` will be raised in that case."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:431 ../Doc/c-api/buffer.rst:441
|
||||
#: ../Doc/c-api/buffer.rst:453
|
||||
msgid ""
|
||||
"This function used an :c:type:`int` type for *size*. This might require "
|
||||
"changes in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:438
|
||||
msgid ""
|
||||
"Similar to :c:func:`PyBuffer_FromMemory`, but the returned buffer is "
|
||||
"writable."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:448
|
||||
msgid ""
|
||||
"Return a new writable buffer object that maintains its own memory buffer of "
|
||||
"*size* bytes. :exc:`ValueError` is returned if *size* is not zero or "
|
||||
"positive. Note that the memory buffer (as returned by :c:func:"
|
||||
"`PyObject_AsWriteBuffer`) is not specifically aligned."
|
||||
msgstr ""
|
|
@ -0,0 +1,101 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/bytearray.rst:6
|
||||
msgid "Byte Array Objects"
|
||||
msgstr "Objets Tableau d'Octets"
|
||||
|
||||
#: ../Doc/c-api/bytearray.rst:15
|
||||
msgid ""
|
||||
"This subtype of :c:type:`PyObject` represents a Python bytearray object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/bytearray.rst:20
|
||||
msgid ""
|
||||
"This instance of :c:type:`PyTypeObject` represents the Python bytearray "
|
||||
"type; it is the same object as ``bytearray`` in the Python layer."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/bytearray.rst:24
|
||||
msgid "Type check macros"
|
||||
msgstr "Macros de vérification de type"
|
||||
|
||||
#: ../Doc/c-api/bytearray.rst:28
|
||||
msgid ""
|
||||
"Return true if the object *o* is a bytearray object or an instance of a "
|
||||
"subtype of the bytearray type."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/bytearray.rst:34
|
||||
msgid ""
|
||||
"Return true if the object *o* is a bytearray object, but not an instance of "
|
||||
"a subtype of the bytearray type."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/bytearray.rst:39
|
||||
msgid "Direct API functions"
|
||||
msgstr "Fonctions directes sur l'API"
|
||||
|
||||
#: ../Doc/c-api/bytearray.rst:43
|
||||
msgid ""
|
||||
"Return a new bytearray object from any object, *o*, that implements the "
|
||||
"buffer protocol."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/bytearray.rst:51
|
||||
msgid ""
|
||||
"Create a new bytearray object from *string* and its length, *len*. On "
|
||||
"failure, *NULL* is returned."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/bytearray.rst:57
|
||||
msgid ""
|
||||
"Concat bytearrays *a* and *b* and return a new bytearray with the result."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/bytearray.rst:62
|
||||
msgid "Return the size of *bytearray* after checking for a *NULL* pointer."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/bytearray.rst:67
|
||||
msgid ""
|
||||
"Return the contents of *bytearray* as a char array after checking for a "
|
||||
"*NULL* pointer."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/bytearray.rst:73
|
||||
msgid "Resize the internal buffer of *bytearray* to *len*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/bytearray.rst:76
|
||||
msgid "Macros"
|
||||
msgstr "Macros"
|
||||
|
||||
#: ../Doc/c-api/bytearray.rst:78
|
||||
msgid "These macros trade safety for speed and they don't check pointers."
|
||||
msgstr ""
|
||||
"Ces macros sont taillées pour la vitesse d'exécution et ne vérifient pas les "
|
||||
"pointeurs."
|
||||
|
||||
#: ../Doc/c-api/bytearray.rst:82
|
||||
msgid "Macro version of :c:func:`PyByteArray_AsString`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/bytearray.rst:87
|
||||
msgid "Macro version of :c:func:`PyByteArray_Size`."
|
||||
msgstr ""
|
|
@ -0,0 +1,200 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:6
|
||||
msgid "Capsules"
|
||||
msgstr "Capsules"
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:10
|
||||
msgid ""
|
||||
"Refer to :ref:`using-capsules` for more information on using these objects."
|
||||
msgstr ""
|
||||
"Reportez-vous à :ref:`using-capsules` pour plus d'informations sur "
|
||||
"l'utilisation de ces objets."
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:15
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:24
|
||||
msgid "The type of a destructor callback for a capsule. Defined as::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:28
|
||||
msgid ""
|
||||
"See :c:func:`PyCapsule_New` for the semantics of PyCapsule_Destructor "
|
||||
"callbacks."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:34
|
||||
msgid "Return true if its argument is a :c:type:`PyCapsule`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:39
|
||||
msgid ""
|
||||
"Create a :c:type:`PyCapsule` encapsulating the *pointer*. The *pointer* "
|
||||
"argument may not be *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:42
|
||||
msgid "On failure, set an exception and return *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:44
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:48
|
||||
msgid ""
|
||||
"If the *destructor* argument is not *NULL*, it will be called with the "
|
||||
"capsule as its argument when it is destroyed."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:51
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:58
|
||||
msgid ""
|
||||
"Retrieve the *pointer* stored in the capsule. On failure, set an exception "
|
||||
"and return *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:61
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:69
|
||||
msgid ""
|
||||
"Return the current destructor stored in the capsule. On failure, set an "
|
||||
"exception and return *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:72
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:79
|
||||
msgid ""
|
||||
"Return the current context stored in the capsule. On failure, set an "
|
||||
"exception and return *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:82
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:89
|
||||
msgid ""
|
||||
"Return the current name stored in the capsule. On failure, set an exception "
|
||||
"and return *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:92
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:99
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:106
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:112
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:118
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:122
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:127
|
||||
msgid "Set the context pointer inside *capsule* to *context*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:129 ../Doc/c-api/capsule.rst:135
|
||||
#: ../Doc/c-api/capsule.rst:143 ../Doc/c-api/capsule.rst:150
|
||||
msgid "Return 0 on success. Return nonzero and set an exception on failure."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:133
|
||||
msgid "Set the destructor inside *capsule* to *destructor*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:139
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/capsule.rst:147
|
||||
msgid ""
|
||||
"Set the void pointer inside *capsule* to *pointer*. The pointer may not be "
|
||||
"*NULL*."
|
||||
msgstr ""
|
|
@ -0,0 +1,86 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/cell.rst:6
|
||||
msgid "Cell Objects"
|
||||
msgstr "Objets Cellules"
|
||||
|
||||
#: ../Doc/c-api/cell.rst:8
|
||||
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 ""
|
||||
"Les objets \"Cellules\" sont utilisés pour implémenter des variables "
|
||||
"référencées dans de multiples enviromments. Pour chacune de ces variables, "
|
||||
"un objet cellule est créé pour stocker sa valeur ; les variables locales de "
|
||||
"chaque pile d'exécution qui référence cette valeur contiennent une référence "
|
||||
"sur les cellules des autres environnements qui utilisent aussi cette "
|
||||
"variable. Quand la valeur est accédée, la valeur de la cellule est utilisée, "
|
||||
"au lei de celle de l'objet cellule proprement dit. Ce dé-référencement de "
|
||||
"l'objet cellule requiert l'intervention du bytecode généré ; il n'est pas "
|
||||
"automatiquement dé-référencé quand il est accédé. Il est plausible que les "
|
||||
"objets cellules ne soit utilisés ailleurs."
|
||||
|
||||
#: ../Doc/c-api/cell.rst:20
|
||||
msgid "The C structure used for cell objects."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/cell.rst:25
|
||||
msgid "The type object corresponding to cell objects."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/cell.rst:30
|
||||
msgid "Return true if *ob* is a cell object; *ob* must not be *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/cell.rst:35
|
||||
msgid ""
|
||||
"Create and return a new cell object containing the value *ob*. The parameter "
|
||||
"may be *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/cell.rst:41
|
||||
msgid "Return the contents of the cell *cell*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/cell.rst:46
|
||||
msgid ""
|
||||
"Return the contents of the cell *cell*, but without checking that *cell* is "
|
||||
"non-*NULL* and a cell object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/cell.rst:52
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/cell.rst:60
|
||||
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 ""
|
|
@ -0,0 +1,79 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/class.rst:6
|
||||
msgid "Class and Instance Objects"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/class.rst:10
|
||||
msgid ""
|
||||
"Note that the class objects described here represent old-style classes, "
|
||||
"which will go away in Python 3. When creating new types for extension "
|
||||
"modules, you will want to work with type objects (section :ref:"
|
||||
"`typeobjects`)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/class.rst:17
|
||||
msgid "The C structure of the objects used to describe built-in classes."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/class.rst:24
|
||||
msgid ""
|
||||
"This is the type object for class objects; it is the same object as ``types."
|
||||
"ClassType`` in the Python layer."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/class.rst:30
|
||||
msgid ""
|
||||
"Return true if the object *o* is a class object, including instances of "
|
||||
"types derived from the standard class object. Return false in all other "
|
||||
"cases."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/class.rst:36
|
||||
msgid ""
|
||||
"Return true if *klass* is a subclass of *base*. Return false in all other "
|
||||
"cases."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/class.rst:41
|
||||
msgid "There are very few functions specific to instance objects."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/class.rst:46
|
||||
msgid "Type object for class instances."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/class.rst:51
|
||||
msgid "Return true if *obj* is an instance."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/class.rst:56
|
||||
msgid ""
|
||||
"Create a new instance of a specific class. The parameters *arg* and *kw* "
|
||||
"are used as the positional and keyword parameters to the object's "
|
||||
"constructor."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/class.rst:62
|
||||
msgid ""
|
||||
"Create a new instance of a specific class without calling its constructor. "
|
||||
"*class* is the class of new object. The *dict* parameter will be used as "
|
||||
"the object's :attr:`~object.__dict__`; if *NULL*, a new dictionary will be "
|
||||
"created for the instance."
|
||||
msgstr ""
|
|
@ -0,0 +1,72 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/cobject.rst:6
|
||||
msgid "CObjects"
|
||||
msgstr "Objets Cellules"
|
||||
|
||||
#: ../Doc/c-api/cobject.rst:13
|
||||
msgid ""
|
||||
"The CObject API is deprecated as of Python 2.7. Please switch to the new :"
|
||||
"ref:`capsules` API."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/cobject.rst:18
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/cobject.rst:28
|
||||
msgid "Return true if its argument is a :c:type:`PyCObject`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/cobject.rst:33
|
||||
msgid ""
|
||||
"Create a :c:type:`PyCObject` from the ``void *`` *cobj*. The *destr* "
|
||||
"function will be called when the object is reclaimed, unless it is *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/cobject.rst:39
|
||||
msgid ""
|
||||
"Create a :c:type:`PyCObject` from the :c:type:`void \\*` *cobj*. The "
|
||||
"*destr* function will be called when the object is reclaimed. The *desc* "
|
||||
"argument can be used to pass extra callback data for the destructor function."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/cobject.rst:46
|
||||
msgid ""
|
||||
"Return the object :c:type:`void \\*` that the :c:type:`PyCObject` *self* was "
|
||||
"created with."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/cobject.rst:52
|
||||
msgid ""
|
||||
"Return the description :c:type:`void \\*` that the :c:type:`PyCObject` "
|
||||
"*self* was created with."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/cobject.rst:58
|
||||
msgid ""
|
||||
"Set the void pointer inside *self* to *cobj*. The :c:type:`PyCObject` must "
|
||||
"not have an associated destructor. Return true on success, false on failure."
|
||||
msgstr ""
|
|
@ -0,0 +1,66 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/code.rst:8
|
||||
msgid "Code Objects"
|
||||
msgstr "Objets Code"
|
||||
|
||||
#: ../Doc/c-api/code.rst:12
|
||||
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 ""
|
||||
"Les objets Code sont un détail bas-niveau de l'implémentation CPython. "
|
||||
"Chacun d'eux représente une partie de code exécutable, qui n'a pas encore "
|
||||
"été lié dans une fonction."
|
||||
|
||||
#: ../Doc/c-api/code.rst:18
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/code.rst:24
|
||||
msgid ""
|
||||
"This is an instance of :c:type:`PyTypeObject` representing the Python :class:"
|
||||
"`code` type."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/code.rst:30
|
||||
msgid "Return true if *co* is a :class:`code` object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/code.rst:34
|
||||
msgid "Return the number of free variables in *co*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/code.rst:38
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/code.rst:46
|
||||
msgid ""
|
||||
"Return a new empty code object with the specified filename, function name, "
|
||||
"and first line number. It is illegal to :keyword:`exec` or :func:`eval` the "
|
||||
"resulting code object."
|
||||
msgstr ""
|
|
@ -0,0 +1,161 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/codec.rst:4
|
||||
msgid "Codec registry and support functions"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/codec.rst:8
|
||||
msgid "Register a new codec search function."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/codec.rst:10
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/codec.rst:15
|
||||
msgid ""
|
||||
"Return ``1`` or ``0`` depending on whether there is a registered codec for "
|
||||
"the given *encoding*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/codec.rst:20
|
||||
msgid "Generic codec based encoding API."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/codec.rst:22
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/codec.rst:29
|
||||
msgid "Generic codec based decoding API."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/codec.rst:31
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/codec.rst:38
|
||||
msgid "Codec lookup API"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/codec.rst:40
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/codec.rst:47
|
||||
msgid "Get an encoder function for the given *encoding*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/codec.rst:51
|
||||
msgid "Get a decoder function for the given *encoding*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/codec.rst:55
|
||||
msgid ""
|
||||
"Get an :class:`~codecs.IncrementalEncoder` object for the given *encoding*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/codec.rst:59
|
||||
msgid ""
|
||||
"Get an :class:`~codecs.IncrementalDecoder` object for the given *encoding*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/codec.rst:63
|
||||
msgid ""
|
||||
"Get a :class:`~codecs.StreamReader` factory function for the given "
|
||||
"*encoding*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/codec.rst:67
|
||||
msgid ""
|
||||
"Get a :class:`~codecs.StreamWriter` factory function for the given "
|
||||
"*encoding*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/codec.rst:71
|
||||
msgid "Registry API for Unicode encoding error handlers"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/codec.rst:75
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/codec.rst:80
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/codec.rst:90
|
||||
msgid "Return ``0`` on success, ``-1`` on error."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/codec.rst:94
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/codec.rst:100
|
||||
msgid "Raise *exc* as an exception."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/codec.rst:104
|
||||
msgid "Ignore the unicode error, skipping the faulty input."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/codec.rst:108
|
||||
msgid "Replace the unicode encode error with ``?`` or ``U+FFFD``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/codec.rst:112
|
||||
msgid "Replace the unicode encode error with XML character references."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/codec.rst:116
|
||||
msgid ""
|
||||
"Replace the unicode encode error with backslash escapes (``\\x``, ``\\u`` "
|
||||
"and ``\\U``)."
|
||||
msgstr ""
|
|
@ -0,0 +1,166 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/complex.rst:6
|
||||
msgid "Complex Number Objects"
|
||||
msgstr "Objets Nombres Complexes"
|
||||
|
||||
#: ../Doc/c-api/complex.rst:10
|
||||
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 ""
|
||||
"Les objets Python nombres complexes sont implémentés comme deux types "
|
||||
"distincts, lorsqu'ils sont vus de l'API C : l'un est l'objet Python tel "
|
||||
"qu'il est vu par les programmes Python, et l'autre est une structure C qui "
|
||||
"représente la valeur complexe courante. L'API fournit des fonctions pour "
|
||||
"travailler avec ces deux représentations."
|
||||
|
||||
#: ../Doc/c-api/complex.rst:17
|
||||
msgid "Complex Numbers as C Structures"
|
||||
msgstr "Nombres complexes en tant que structures C"
|
||||
|
||||
#: ../Doc/c-api/complex.rst:19
|
||||
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 ""
|
||||
"Remarquez que les fonctions qui acceptent ces structures comme paramètres et "
|
||||
"les retournent comme résultats le font *par valeur* au lieur de les dé-"
|
||||
"référencer en utilisant des pointeurs. Cela est constant dans toute l'API."
|
||||
|
||||
#: ../Doc/c-api/complex.rst:26
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/complex.rst:39
|
||||
msgid ""
|
||||
"Return the sum of two complex numbers, using the C :c:type:`Py_complex` "
|
||||
"representation."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/complex.rst:45
|
||||
msgid ""
|
||||
"Return the difference between two complex numbers, using the C :c:type:"
|
||||
"`Py_complex` representation."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/complex.rst:51
|
||||
msgid ""
|
||||
"Return the negation of the complex number *complex*, using the C :c:type:"
|
||||
"`Py_complex` representation."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/complex.rst:57
|
||||
msgid ""
|
||||
"Return the product of two complex numbers, using the C :c:type:`Py_complex` "
|
||||
"representation."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/complex.rst:63
|
||||
msgid ""
|
||||
"Return the quotient of two complex numbers, using the C :c:type:`Py_complex` "
|
||||
"representation."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/complex.rst:66
|
||||
msgid ""
|
||||
"If *divisor* is null, this method returns zero and sets :c:data:`errno` to :"
|
||||
"c:data:`EDOM`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/complex.rst:72
|
||||
msgid ""
|
||||
"Return the exponentiation of *num* by *exp*, using the C :c:type:"
|
||||
"`Py_complex` representation."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/complex.rst:75
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/complex.rst:80
|
||||
msgid "Complex Numbers as Python Objects"
|
||||
msgstr "Nombres complexes en tant qu'objets Python"
|
||||
|
||||
#: ../Doc/c-api/complex.rst:85
|
||||
msgid ""
|
||||
"This subtype of :c:type:`PyObject` represents a Python complex number object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/complex.rst:90
|
||||
msgid ""
|
||||
"This instance of :c:type:`PyTypeObject` represents the Python complex number "
|
||||
"type. It is the same object as ``complex`` and ``types.ComplexType``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/complex.rst:96
|
||||
msgid ""
|
||||
"Return true if its argument is a :c:type:`PyComplexObject` or a subtype of :"
|
||||
"c:type:`PyComplexObject`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/complex.rst:99
|
||||
msgid "Allowed subtypes to be accepted."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/complex.rst:105
|
||||
msgid ""
|
||||
"Return true if its argument is a :c:type:`PyComplexObject`, but not a "
|
||||
"subtype of :c:type:`PyComplexObject`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/complex.rst:113
|
||||
msgid ""
|
||||
"Create a new Python complex number object from a C :c:type:`Py_complex` "
|
||||
"value."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/complex.rst:118
|
||||
msgid "Return a new :c:type:`PyComplexObject` object from *real* and *imag*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/complex.rst:123
|
||||
msgid "Return the real part of *op* as a C :c:type:`double`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/complex.rst:128
|
||||
msgid "Return the imaginary part of *op* as a C :c:type:`double`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/complex.rst:133
|
||||
msgid ""
|
||||
"Return the :c:type:`Py_complex` value of the complex number *op*. Upon "
|
||||
"failure, this method returns ``-1.0`` as a real value."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/complex.rst:136
|
||||
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."
|
||||
msgstr ""
|
|
@ -0,0 +1,80 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/concrete.rst:8
|
||||
msgid "Concrete Objects Layer"
|
||||
msgstr "Couche des Objets Concrets"
|
||||
|
||||
#: ../Doc/c-api/concrete.rst:10
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/concrete.rst:19
|
||||
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 ""
|
||||
"Tandis que les fonctions décrites dans ce chapitre vérifient avec soin le "
|
||||
"type des objets qui leur sont passés, beaucoup d'entre elles ne vérifient "
|
||||
"pas que *NULL* est passé au lieu d'un objet valide. Autoriser *NULL* à être "
|
||||
"passé peut provoquer des violations d'accès à la mémoire et ainsi terminer "
|
||||
"immédiatement l'interpréteur."
|
||||
|
||||
#: ../Doc/c-api/concrete.rst:28
|
||||
msgid "Fundamental Objects"
|
||||
msgstr "Objets fondamentaux"
|
||||
|
||||
#: ../Doc/c-api/concrete.rst:30
|
||||
msgid ""
|
||||
"This section describes Python type objects and the singleton object ``None``."
|
||||
msgstr ""
|
||||
"Cette section décrit les objets de type Python et l'objet singleton ``None``."
|
||||
|
||||
#: ../Doc/c-api/concrete.rst:41
|
||||
msgid "Numeric Objects"
|
||||
msgstr "Objets numériques"
|
||||
|
||||
#: ../Doc/c-api/concrete.rst:57
|
||||
msgid "Sequence Objects"
|
||||
msgstr "Objets séquences"
|
||||
|
||||
#: ../Doc/c-api/concrete.rst:61
|
||||
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 ""
|
||||
"Les opérations génériques sur les objets séquences ont été discutées dans le "
|
||||
"chapitre précédent. Cette section traite des genres spécifiques d'objets "
|
||||
"séquences qui sont intrinsèques au langage Python."
|
||||
|
||||
#: ../Doc/c-api/concrete.rst:78
|
||||
msgid "Mapping Objects"
|
||||
msgstr "Objets association"
|
||||
|
||||
#: ../Doc/c-api/concrete.rst:90
|
||||
msgid "Other Objects"
|
||||
msgstr "Autres Objets"
|
|
@ -0,0 +1,251 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:6
|
||||
msgid "String conversion and formatting"
|
||||
msgstr "Conversion et formatage de chaînes"
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:8
|
||||
msgid "Functions for number conversion and formatted string output."
|
||||
msgstr ""
|
||||
"Fonctions de conversion pour les nombres et pour la sortie des chaînes "
|
||||
"formattées."
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:13
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:19
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:23
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:28
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:33
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:37
|
||||
msgid ""
|
||||
"The return value (*rv*) for these functions should be interpreted as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:39
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:43
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:47
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:51
|
||||
msgid ""
|
||||
"The following functions provide locale-independent string to number "
|
||||
"conversions."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:56
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:62
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:66
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:73
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:81
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:90
|
||||
msgid ""
|
||||
"Convert a string to a :c:type:`double`. This function behaves like the "
|
||||
"Standard C function :c:func:`strtod` does in the C locale. It does this "
|
||||
"without changing the current locale, since that would not be thread-safe."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:94
|
||||
msgid ""
|
||||
":c:func:`PyOS_ascii_strtod` should typically be used for reading "
|
||||
"configuration files or other non-user input that should be locale "
|
||||
"independent."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:97
|
||||
msgid "See the Unix man page :manpage:`strtod(2)` for details."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:101 ../Doc/c-api/conversion.rst:164
|
||||
msgid "Use :c:func:`PyOS_string_to_double` instead."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:108
|
||||
msgid ""
|
||||
"Convert a :c:type:`double` to a string using the ``'.'`` as the decimal "
|
||||
"separator. *format* is a :c:func:`printf`\\ -style format string specifying "
|
||||
"the number format. Allowed conversion characters are ``'e'``, ``'E'``, "
|
||||
"``'f'``, ``'F'``, ``'g'`` and ``'G'``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:113
|
||||
msgid ""
|
||||
"The return value is a pointer to *buffer* with the converted string or NULL "
|
||||
"if the conversion failed."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:117
|
||||
msgid ""
|
||||
"This function is removed in Python 2.7 and 3.1. Use :func:"
|
||||
"`PyOS_double_to_string` instead."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:124
|
||||
msgid ""
|
||||
"Convert a :c:type:`double` *val* to a string using supplied *format_code*, "
|
||||
"*precision*, and *flags*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:127
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:132
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:135
|
||||
msgid ""
|
||||
"*Py_DTSF_SIGN* means to always precede the returned string with a sign "
|
||||
"character, even if *val* is non-negative."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:138
|
||||
msgid ""
|
||||
"*Py_DTSF_ADD_DOT_0* means to ensure that the returned string will not look "
|
||||
"like an integer."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:141
|
||||
msgid ""
|
||||
"*Py_DTSF_ALT* means to apply \"alternate\" formatting rules. See the "
|
||||
"documentation for the :c:func:`PyOS_snprintf` ``'#'`` specifier for details."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:145
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:149
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:158
|
||||
msgid "Convert a string to a :c:type:`double` in a locale-independent way."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:160
|
||||
msgid "See the Unix man page :manpage:`atof(2)` for details."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:170
|
||||
msgid ""
|
||||
"Case insensitive comparison of strings. The function works almost "
|
||||
"identically to :c:func:`strcmp` except that it ignores the case."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/conversion.rst:178
|
||||
msgid ""
|
||||
"Case insensitive comparison of strings. The function works almost "
|
||||
"identically to :c:func:`strncmp` except that it ignores the case."
|
||||
msgstr ""
|
|
@ -0,0 +1,191 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:6
|
||||
msgid "DateTime Objects"
|
||||
msgstr "Objets DateTime"
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:8
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:16
|
||||
msgid "Type-check macros:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:21
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:29
|
||||
msgid ""
|
||||
"Return true if *ob* is of type :c:data:`PyDateTime_DateType`. *ob* must not "
|
||||
"be *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:37
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:45
|
||||
msgid ""
|
||||
"Return true if *ob* is of type :c:data:`PyDateTime_DateTimeType`. *ob* must "
|
||||
"not be *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:53
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:61
|
||||
msgid ""
|
||||
"Return true if *ob* is of type :c:data:`PyDateTime_TimeType`. *ob* must not "
|
||||
"be *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:69
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:77
|
||||
msgid ""
|
||||
"Return true if *ob* is of type :c:data:`PyDateTime_DeltaType`. *ob* must not "
|
||||
"be *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:85
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:93
|
||||
msgid ""
|
||||
"Return true if *ob* is of type :c:data:`PyDateTime_TZInfoType`. *ob* must "
|
||||
"not be *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:98
|
||||
msgid "Macros to create objects:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:103
|
||||
msgid ""
|
||||
"Return a ``datetime.date`` object with the specified year, month and day."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:110
|
||||
msgid ""
|
||||
"Return a ``datetime.datetime`` object with the specified year, month, day, "
|
||||
"hour, minute, second and microsecond."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:118
|
||||
msgid ""
|
||||
"Return a ``datetime.time`` object with the specified hour, minute, second "
|
||||
"and microsecond."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:126
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:133
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:141
|
||||
msgid "Return the year, as a positive int."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:148
|
||||
msgid "Return the month, as an int from 1 through 12."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:155
|
||||
msgid "Return the day, as an int from 1 through 31."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:159
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:166 ../Doc/c-api/datetime.rst:198
|
||||
msgid "Return the hour, as an int from 0 through 23."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:173 ../Doc/c-api/datetime.rst:205
|
||||
msgid "Return the minute, as an int from 0 through 59."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:180 ../Doc/c-api/datetime.rst:212
|
||||
msgid "Return the second, as an int from 0 through 59."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:187 ../Doc/c-api/datetime.rst:219
|
||||
msgid "Return the microsecond, as an int from 0 through 999999."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:191
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:223
|
||||
msgid "Macros for the convenience of modules implementing the DB API:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:228
|
||||
msgid ""
|
||||
"Create and return a new ``datetime.datetime`` object given an argument tuple "
|
||||
"suitable for passing to ``datetime.datetime.fromtimestamp()``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/datetime.rst:236
|
||||
msgid ""
|
||||
"Create and return a new ``datetime.date`` object given an argument tuple "
|
||||
"suitable for passing to ``datetime.date.fromtimestamp()``."
|
||||
msgstr ""
|
|
@ -0,0 +1,38 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/descriptor.rst:6
|
||||
msgid "Descriptor Objects"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/descriptor.rst:8
|
||||
msgid ""
|
||||
"\"Descriptors\" are objects that describe some attribute of an object. They "
|
||||
"are found in the dictionary of type objects."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/descriptor.rst:14
|
||||
msgid "The type object for the built-in descriptor types."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/descriptor.rst:46
|
||||
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 ""
|
|
@ -0,0 +1,203 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/dict.rst:6
|
||||
msgid "Dictionary Objects"
|
||||
msgstr "Objets dictionnaires"
|
||||
|
||||
#: ../Doc/c-api/dict.rst:13
|
||||
msgid ""
|
||||
"This subtype of :c:type:`PyObject` represents a Python dictionary object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:22
|
||||
msgid ""
|
||||
"This instance of :c:type:`PyTypeObject` represents the Python dictionary "
|
||||
"type. This is exposed to Python programs as ``dict`` and ``types.DictType``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:29
|
||||
msgid ""
|
||||
"Return true if *p* is a dict object or an instance of a subtype of the dict "
|
||||
"type."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:32
|
||||
msgid "Allowed subtypes to be accepted."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:38
|
||||
msgid ""
|
||||
"Return true if *p* is a dict object, but not an instance of a subtype of the "
|
||||
"dict type."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:46
|
||||
msgid "Return a new empty dictionary, or *NULL* on failure."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:51
|
||||
msgid ""
|
||||
"Return a proxy object for a mapping which enforces read-only behavior. This "
|
||||
"is normally used to create a proxy to prevent modification of the dictionary "
|
||||
"for non-dynamic class types."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:60
|
||||
msgid "Empty an existing dictionary of all key-value pairs."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:65
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:74
|
||||
msgid "Return a new dictionary that contains the same key-value pairs as *p*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:81
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:90
|
||||
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 "
|
||||
"``PyString_FromString(key)``. Return ``0`` on success or ``-1`` on failure."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:98
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:105
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:111
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:117
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:123
|
||||
msgid ""
|
||||
"Return a :c:type:`PyListObject` containing all the items from the "
|
||||
"dictionary, as in the dictionary method :meth:`dict.items`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:129
|
||||
msgid ""
|
||||
"Return a :c:type:`PyListObject` containing all the keys from the dictionary, "
|
||||
"as in the dictionary method :meth:`dict.keys`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:135
|
||||
msgid ""
|
||||
"Return a :c:type:`PyListObject` containing all the values from the "
|
||||
"dictionary *p*, as in the dictionary method :meth:`dict.values`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:143
|
||||
msgid ""
|
||||
"Return the number of items in the dictionary. This is equivalent to "
|
||||
"``len(p)`` on a dictionary."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:146
|
||||
msgid ""
|
||||
"This function returned an :c:type:`int` type. This might require changes in "
|
||||
"your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:153
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:164
|
||||
msgid "For example::"
|
||||
msgstr "Par exemple : ::"
|
||||
|
||||
#: ../Doc/c-api/dict.rst:174
|
||||
msgid ""
|
||||
"The dictionary *p* should not be mutated during iteration. It is safe "
|
||||
"(since Python 2.1) 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 ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:194
|
||||
msgid ""
|
||||
"This function used an :c:type:`int *` type for *ppos*. This might require "
|
||||
"changes in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:201
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:213
|
||||
msgid ""
|
||||
"This is the same as ``PyDict_Merge(a, b, 1)`` in C, and is similar to ``a."
|
||||
"update(b)`` in Python except that :c:func:`PyDict_Update` doesn't fall back "
|
||||
"to the iterating over a sequence of key value pairs if the second argument "
|
||||
"has no \"keys\" attribute. Return ``0`` on success or ``-1`` if an "
|
||||
"exception was raised."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/dict.rst:224
|
||||
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 ""
|
|
@ -0,0 +1,840 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:8
|
||||
msgid "Exception Handling"
|
||||
msgstr "Gestion des exceptions"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:10
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:20
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:35
|
||||
msgid ""
|
||||
"The error indicator consists of three Python objects corresponding to the "
|
||||
"Python variables ``sys.exc_type``, ``sys.exc_value`` and ``sys."
|
||||
"exc_traceback``. API functions exist to interact with the error indicator in "
|
||||
"various ways. There is a separate error indicator for each thread."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:46
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:50
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:57
|
||||
msgid "Alias for ``PyErr_PrintEx(1)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:62
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:70
|
||||
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 be a subclass of the expected exception.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:78
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:85
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:93
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:102
|
||||
msgid ""
|
||||
"Clear the error indicator. If the error indicator is not set, there is no "
|
||||
"effect."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:108
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:115
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:121
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:133
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:140
|
||||
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 converted to a string "
|
||||
"object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:148
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:154
|
||||
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:`PyString_FromFormat`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:162
|
||||
msgid "This is a shorthand for ``PyErr_SetObject(type, Py_None)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:167
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:174
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:183
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:197
|
||||
msgid ""
|
||||
"Similar to :c:func:`PyErr_SetFromErrno`, with the additional behavior that "
|
||||
"if *filenameObject* 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."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:206
|
||||
msgid ""
|
||||
"Similar to :c:func:`PyErr_SetFromErrnoWithFilenameObject`, but the filename "
|
||||
"is given as a C string."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:212
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:224
|
||||
msgid ""
|
||||
"Similar to :c:func:`PyErr_SetFromWindowsErr`, with an additional parameter "
|
||||
"specifying the exception type to be raised. Availability: Windows."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:232
|
||||
msgid ""
|
||||
"Similar to :c:func:`PyErr_SetFromWindowsErr`, with the additional behavior "
|
||||
"that if *filenameObject* is not *NULL*, it is passed to the constructor of :"
|
||||
"exc:`WindowsError` as a third parameter. Availability: Windows."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:239
|
||||
msgid ""
|
||||
"Similar to :c:func:`PyErr_SetFromWindowsErrWithFilenameObject`, but the "
|
||||
"filename is given as a C string. Availability: Windows."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:245
|
||||
msgid ""
|
||||
"Similar to :c:func:`PyErr_SetFromWindowsErrWithFilenameObject`, with an "
|
||||
"additional parameter specifying the exception type to be raised. "
|
||||
"Availability: Windows."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:254
|
||||
msgid ""
|
||||
"Similar to :c:func:`PyErr_SetFromWindowsErrWithFilename`, with an additional "
|
||||
"parameter specifying the exception type to be raised. Availability: Windows."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:262
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:270
|
||||
msgid ""
|
||||
"Issue a warning message. The *category* argument is a warning category (see "
|
||||
"below) or *NULL*; the *message* argument is a message string. *stacklevel* "
|
||||
"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 "
|
||||
"*stacklevel* of 1 is the function calling :c:func:`PyErr_WarnEx`, 2 is the "
|
||||
"function above that, and so forth."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:277
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:289
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:300
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:307
|
||||
msgid ""
|
||||
"Issue a warning message. The *category* argument is a warning category (see "
|
||||
"below) or *NULL*; the *message* argument is a message string. The warning "
|
||||
"will appear to be issued from the function calling :c:func:`PyErr_Warn`, "
|
||||
"equivalent to calling :c:func:`PyErr_WarnEx` with a *stacklevel* of 1."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:312
|
||||
msgid "Deprecated; use :c:func:`PyErr_WarnEx` instead."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:317
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:326
|
||||
msgid ""
|
||||
"Issue a :exc:`DeprecationWarning` with the given *message* and *stacklevel* "
|
||||
"if the :c:data:`Py_Py3kWarningFlag` flag is enabled."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:339
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:355
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:365
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:377
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:383
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:392
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:401
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:406
|
||||
msgid ""
|
||||
"The function is called with a single argument *obj* that identifies the "
|
||||
"context in which the unraisable exception occurred. If possible, the repr of "
|
||||
"*obj* will be printed in the warning message."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:414
|
||||
msgid "Unicode Exception Objects"
|
||||
msgstr "Objets Exception Unicode"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:416
|
||||
msgid ""
|
||||
"The following functions are used to create and modify Unicode exceptions "
|
||||
"from C."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:420
|
||||
msgid ""
|
||||
"Create a :class:`UnicodeDecodeError` object with the attributes *encoding*, "
|
||||
"*object*, *length*, *start*, *end* and *reason*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:425
|
||||
msgid ""
|
||||
"Create a :class:`UnicodeEncodeError` object with the attributes *encoding*, "
|
||||
"*object*, *length*, *start*, *end* and *reason*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:430
|
||||
msgid ""
|
||||
"Create a :class:`UnicodeTranslateError` object with the attributes *object*, "
|
||||
"*length*, *start*, *end* and *reason*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:436
|
||||
msgid "Return the *encoding* attribute of the given exception object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:442
|
||||
msgid "Return the *object* attribute of the given exception object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:448
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:456
|
||||
msgid ""
|
||||
"Set the *start* attribute of the given exception object to *start*. Return "
|
||||
"``0`` on success, ``-1`` on failure."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:463
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:471
|
||||
msgid ""
|
||||
"Set the *end* attribute of the given exception object to *end*. Return "
|
||||
"``0`` on success, ``-1`` on failure."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:478
|
||||
msgid "Return the *reason* attribute of the given exception object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:484
|
||||
msgid ""
|
||||
"Set the *reason* attribute of the given exception object to *reason*. "
|
||||
"Return ``0`` on success, ``-1`` on failure."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:489
|
||||
msgid "Recursion Control"
|
||||
msgstr "Contrôle de la récursion"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:491
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:498
|
||||
msgid "Marks a point where a recursive C-level call is about to be performed."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:500
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:504
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:508
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:514
|
||||
msgid ""
|
||||
"Ends a :c:func:`Py_EnterRecursiveCall`. Must be called once for each "
|
||||
"*successful* invocation of :c:func:`Py_EnterRecursiveCall`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:521
|
||||
msgid "Standard Exceptions"
|
||||
msgstr "Exceptions standards"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:523
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:529
|
||||
msgid "C Name"
|
||||
msgstr "Nom C"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:529
|
||||
msgid "Python Name"
|
||||
msgstr "Nom Python"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:529
|
||||
msgid "Notes"
|
||||
msgstr "Notes"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:531
|
||||
msgid ":c:data:`PyExc_BaseException`"
|
||||
msgstr ":c:data:`PyExc_BaseException`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:531
|
||||
msgid ":exc:`BaseException`"
|
||||
msgstr ":exc:`BaseException`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:531
|
||||
msgid "(1), (4)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:533
|
||||
msgid ":c:data:`PyExc_Exception`"
|
||||
msgstr ":c:data:`PyExc_Exception`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:533
|
||||
msgid ":exc:`Exception`"
|
||||
msgstr ":exc:`Exception`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:533 ../Doc/c-api/exceptions.rst:535
|
||||
#: ../Doc/c-api/exceptions.rst:537 ../Doc/c-api/exceptions.rst:539
|
||||
#: ../Doc/c-api/exceptions.rst:547
|
||||
msgid "\\(1)"
|
||||
msgstr "\\(1)"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:535
|
||||
msgid ":c:data:`PyExc_StandardError`"
|
||||
msgstr ":c:data:`PyExc_StandardError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:535
|
||||
msgid ":exc:`StandardError`"
|
||||
msgstr ":exc:`StandardError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:537
|
||||
msgid ":c:data:`PyExc_ArithmeticError`"
|
||||
msgstr ":c:data:`PyExc_ArithmeticError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:537
|
||||
msgid ":exc:`ArithmeticError`"
|
||||
msgstr ":exc:`ArithmeticError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:539
|
||||
msgid ":c:data:`PyExc_LookupError`"
|
||||
msgstr ":c:data:`PyExc_LookupError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:539
|
||||
msgid ":exc:`LookupError`"
|
||||
msgstr ":exc:`LookupError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:541
|
||||
msgid ":c:data:`PyExc_AssertionError`"
|
||||
msgstr ":c:data:`PyExc_AssertionError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:541
|
||||
msgid ":exc:`AssertionError`"
|
||||
msgstr ":exc:`AssertionError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:543
|
||||
msgid ":c:data:`PyExc_AttributeError`"
|
||||
msgstr ":c:data:`PyExc_AttributeError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:543
|
||||
msgid ":exc:`AttributeError`"
|
||||
msgstr ":exc:`AttributeError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:545
|
||||
msgid ":c:data:`PyExc_EOFError`"
|
||||
msgstr ":c:data:`PyExc_EOFError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:545
|
||||
msgid ":exc:`EOFError`"
|
||||
msgstr ":exc:`EOFError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:547
|
||||
msgid ":c:data:`PyExc_EnvironmentError`"
|
||||
msgstr ":c:data:`PyExc_EnvironmentError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:547
|
||||
msgid ":exc:`EnvironmentError`"
|
||||
msgstr ":exc:`EnvironmentError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:549
|
||||
msgid ":c:data:`PyExc_FloatingPointError`"
|
||||
msgstr ":c:data:`PyExc_FloatingPointError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:549
|
||||
msgid ":exc:`FloatingPointError`"
|
||||
msgstr ":exc:`FloatingPointError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:551
|
||||
msgid ":c:data:`PyExc_IOError`"
|
||||
msgstr ":c:data:`PyExc_IOError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:551
|
||||
msgid ":exc:`IOError`"
|
||||
msgstr ":exc:`IOError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:553
|
||||
msgid ":c:data:`PyExc_ImportError`"
|
||||
msgstr ":c:data:`PyExc_ImportError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:553
|
||||
msgid ":exc:`ImportError`"
|
||||
msgstr ":exc:`ImportError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:555
|
||||
msgid ":c:data:`PyExc_IndexError`"
|
||||
msgstr ":c:data:`PyExc_IndexError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:555
|
||||
msgid ":exc:`IndexError`"
|
||||
msgstr ":exc:`IndexError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:557
|
||||
msgid ":c:data:`PyExc_KeyError`"
|
||||
msgstr ":c:data:`PyExc_KeyError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:557
|
||||
msgid ":exc:`KeyError`"
|
||||
msgstr ":exc:`KeyError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:559
|
||||
msgid ":c:data:`PyExc_KeyboardInterrupt`"
|
||||
msgstr ":c:data:`PyExc_KeyboardInterrupt`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:559
|
||||
msgid ":exc:`KeyboardInterrupt`"
|
||||
msgstr ":exc:`KeyboardInterrupt`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:561
|
||||
msgid ":c:data:`PyExc_MemoryError`"
|
||||
msgstr ":c:data:`PyExc_MemoryError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:561
|
||||
msgid ":exc:`MemoryError`"
|
||||
msgstr ":exc:`MemoryError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:563
|
||||
msgid ":c:data:`PyExc_NameError`"
|
||||
msgstr ":c:data:`PyExc_NameError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:563
|
||||
msgid ":exc:`NameError`"
|
||||
msgstr ":exc:`NameError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:565
|
||||
msgid ":c:data:`PyExc_NotImplementedError`"
|
||||
msgstr ":c:data:`PyExc_NotImplementedError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:565
|
||||
msgid ":exc:`NotImplementedError`"
|
||||
msgstr ":exc:`NotImplementedError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:567
|
||||
msgid ":c:data:`PyExc_OSError`"
|
||||
msgstr ":c:data:`PyExc_OSError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:567
|
||||
msgid ":exc:`OSError`"
|
||||
msgstr ":exc:`OSError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:569
|
||||
msgid ":c:data:`PyExc_OverflowError`"
|
||||
msgstr ":c:data:`PyExc_OverflowError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:569
|
||||
msgid ":exc:`OverflowError`"
|
||||
msgstr ":exc:`OverflowError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:571
|
||||
msgid ":c:data:`PyExc_ReferenceError`"
|
||||
msgstr ":c:data:`PyExc_ReferenceError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:571
|
||||
msgid ":exc:`ReferenceError`"
|
||||
msgstr ":exc:`ReferenceError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:571
|
||||
msgid "\\(2)"
|
||||
msgstr "\\(2)"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:573
|
||||
msgid ":c:data:`PyExc_RuntimeError`"
|
||||
msgstr ":c:data:`PyExc_RuntimeError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:573
|
||||
msgid ":exc:`RuntimeError`"
|
||||
msgstr ":exc:`RuntimeError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:575
|
||||
msgid ":c:data:`PyExc_SyntaxError`"
|
||||
msgstr ":c:data:`PyExc_SyntaxError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:575
|
||||
msgid ":exc:`SyntaxError`"
|
||||
msgstr ":exc:`SyntaxError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:577
|
||||
msgid ":c:data:`PyExc_SystemError`"
|
||||
msgstr ":c:data:`PyExc_SystemError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:577
|
||||
msgid ":exc:`SystemError`"
|
||||
msgstr ":exc:`SystemError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:579
|
||||
msgid ":c:data:`PyExc_SystemExit`"
|
||||
msgstr ":c:data:`PyExc_SystemExit`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:579
|
||||
msgid ":exc:`SystemExit`"
|
||||
msgstr ":exc:`SystemExit`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:581
|
||||
msgid ":c:data:`PyExc_TypeError`"
|
||||
msgstr ":c:data:`PyExc_TypeError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:581
|
||||
msgid ":exc:`TypeError`"
|
||||
msgstr ":exc:`TypeError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:583
|
||||
msgid ":c:data:`PyExc_ValueError`"
|
||||
msgstr ":c:data:`PyExc_ValueError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:583
|
||||
msgid ":exc:`ValueError`"
|
||||
msgstr ":exc:`ValueError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:585
|
||||
msgid ":c:data:`PyExc_WindowsError`"
|
||||
msgstr ":c:data:`PyExc_WindowsError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:585
|
||||
msgid ":exc:`WindowsError`"
|
||||
msgstr ":exc:`WindowsError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:585
|
||||
msgid "\\(3)"
|
||||
msgstr "\\(3)"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:587
|
||||
msgid ":c:data:`PyExc_ZeroDivisionError`"
|
||||
msgstr ":c:data:`PyExc_ZeroDivisionError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:587
|
||||
msgid ":exc:`ZeroDivisionError`"
|
||||
msgstr ":exc:`ZeroDivisionError`"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:621
|
||||
msgid "Notes:"
|
||||
msgstr "Notes : "
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:624
|
||||
msgid "This is a base class for other standard exceptions."
|
||||
msgstr "C'est la classe de base pour les autres exceptions standards"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:627
|
||||
msgid "This is the same as :exc:`weakref.ReferenceError`."
|
||||
msgstr "Identique à :exc:`weakref.ReferenceError`."
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:630
|
||||
msgid ""
|
||||
"Only defined on Windows; protect code that uses this by testing that the "
|
||||
"preprocessor macro ``MS_WINDOWS`` is defined."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:638
|
||||
msgid "String Exceptions"
|
||||
msgstr "Exceptions standards"
|
||||
|
||||
#: ../Doc/c-api/exceptions.rst:640
|
||||
msgid ""
|
||||
"All exceptions to be raised or caught must be derived from :exc:"
|
||||
"`BaseException`. Trying to raise a string exception now raises :exc:"
|
||||
"`TypeError`."
|
||||
msgstr ""
|
|
@ -0,0 +1,174 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/file.rst:6
|
||||
msgid "File Objects"
|
||||
msgstr "Objets fichiers"
|
||||
|
||||
#: ../Doc/c-api/file.rst:10
|
||||
msgid ""
|
||||
"Python's built-in file objects are implemented entirely on the :c:type:`FILE"
|
||||
"\\*` support from the C standard library. This is an implementation detail "
|
||||
"and may change in future releases of Python."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/file.rst:17
|
||||
msgid "This subtype of :c:type:`PyObject` represents a Python file object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/file.rst:24
|
||||
msgid ""
|
||||
"This instance of :c:type:`PyTypeObject` represents the Python file type. "
|
||||
"This is exposed to Python programs as ``file`` and ``types.FileType``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/file.rst:30
|
||||
msgid ""
|
||||
"Return true if its argument is a :c:type:`PyFileObject` or a subtype of :c:"
|
||||
"type:`PyFileObject`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/file.rst:33
|
||||
msgid "Allowed subtypes to be accepted."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/file.rst:39
|
||||
msgid ""
|
||||
"Return true if its argument is a :c:type:`PyFileObject`, but not a subtype "
|
||||
"of :c:type:`PyFileObject`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/file.rst:49
|
||||
msgid ""
|
||||
"On success, return a new file object that is opened on the file given by "
|
||||
"*filename*, with a file mode given by *mode*, where *mode* has the same "
|
||||
"semantics as the standard C routine :c:func:`fopen`. On failure, return "
|
||||
"*NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/file.rst:56
|
||||
msgid ""
|
||||
"Create a new :c:type:`PyFileObject` from the already-open standard C file "
|
||||
"pointer, *fp*. The function *close* will be called when the file should be "
|
||||
"closed. Return *NULL* and close the file using *close* on failure. *close* "
|
||||
"is optional and can be set to *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/file.rst:64
|
||||
msgid "Return the file object associated with *p* as a :c:type:`FILE\\*`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/file.rst:66
|
||||
msgid ""
|
||||
"If the caller will ever use the returned :c:type:`FILE\\*` object while the :"
|
||||
"term:`GIL` is released it must also call the :c:func:`PyFile_IncUseCount` "
|
||||
"and :c:func:`PyFile_DecUseCount` functions described below as appropriate."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/file.rst:73
|
||||
msgid ""
|
||||
"Increments the PyFileObject's internal use count to indicate that the "
|
||||
"underlying :c:type:`FILE\\*` is being used. This prevents Python from "
|
||||
"calling f_close() on it from another thread. Callers of this must call :c:"
|
||||
"func:`PyFile_DecUseCount` when they are finished with the :c:type:`FILE"
|
||||
"\\*`. Otherwise the file object will never be closed by Python."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/file.rst:80
|
||||
msgid "The :term:`GIL` must be held while calling this function."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/file.rst:82
|
||||
msgid ""
|
||||
"The suggested use is to call this after :c:func:`PyFile_AsFile` and before "
|
||||
"you release the GIL::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/file.rst:99
|
||||
msgid ""
|
||||
"Decrements the PyFileObject's internal unlocked_count member to indicate "
|
||||
"that the caller is done with its own use of the :c:type:`FILE\\*`. This may "
|
||||
"only be called to undo a prior call to :c:func:`PyFile_IncUseCount`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/file.rst:103
|
||||
msgid ""
|
||||
"The :term:`GIL` must be held while calling this function (see the example "
|
||||
"above)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/file.rst:113
|
||||
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:`~io.IOBase."
|
||||
"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 ""
|
||||
|
||||
#: ../Doc/c-api/file.rst:126
|
||||
msgid "Return the name of the file specified by *p* as a string object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/file.rst:133
|
||||
msgid ""
|
||||
"Available on systems with :c:func:`setvbuf` only. This should only be "
|
||||
"called immediately after file object creation."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/file.rst:139
|
||||
msgid ""
|
||||
"Set the file's encoding for Unicode output to *enc*. Return 1 on success and "
|
||||
"0 on failure."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/file.rst:147
|
||||
msgid ""
|
||||
"Set the file's encoding for Unicode output to *enc*, and its error mode to "
|
||||
"*err*. Return 1 on success and 0 on failure."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/file.rst:157
|
||||
msgid ""
|
||||
"This function exists for internal use by the interpreter. Set the :attr:"
|
||||
"`softspace` attribute of *p* to *newflag* and return the previous value. *p* "
|
||||
"does not have to be a file object for this function to work properly; any "
|
||||
"object is supported (thought its only interesting if the :attr:`softspace` "
|
||||
"attribute can be set). This function clears any errors, and will return "
|
||||
"``0`` as the previous value if the attribute either does not exist or if "
|
||||
"there were errors in retrieving it. There is no way to detect errors from "
|
||||
"this function, but doing so should not be needed."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/file.rst:171
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/file.rst:179
|
||||
msgid ""
|
||||
"Write string *s* to file object *p*. Return ``0`` on success or ``-1`` on "
|
||||
"failure; the appropriate exception will be set."
|
||||
msgstr ""
|
|
@ -0,0 +1,124 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/float.rst:6
|
||||
msgid "Floating Point Objects"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/float.rst:13
|
||||
msgid ""
|
||||
"This subtype of :c:type:`PyObject` represents a Python floating point object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/float.rst:20
|
||||
msgid ""
|
||||
"This instance of :c:type:`PyTypeObject` represents the Python floating point "
|
||||
"type. This is the same object as ``float`` and ``types.FloatType``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/float.rst:26
|
||||
msgid ""
|
||||
"Return true if its argument is a :c:type:`PyFloatObject` or a subtype of :c:"
|
||||
"type:`PyFloatObject`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/float.rst:29
|
||||
msgid "Allowed subtypes to be accepted."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/float.rst:35
|
||||
msgid ""
|
||||
"Return true if its argument is a :c:type:`PyFloatObject`, but not a subtype "
|
||||
"of :c:type:`PyFloatObject`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/float.rst:43
|
||||
msgid ""
|
||||
"Create a :c:type:`PyFloatObject` object based on the string value in *str*, "
|
||||
"or *NULL* on failure. The *pend* argument is ignored. It remains only for "
|
||||
"backward compatibility."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/float.rst:50
|
||||
msgid "Create a :c:type:`PyFloatObject` object from *v*, or *NULL* on failure."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/float.rst:55
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/float.rst:64
|
||||
msgid ""
|
||||
"Return a C :c:type:`double` representation of the contents of *pyfloat*, but "
|
||||
"without error checking."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/float.rst:70
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/float.rst:79
|
||||
msgid ""
|
||||
"Return the maximum representable finite float *DBL_MAX* as C :c:type:"
|
||||
"`double`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/float.rst:86
|
||||
msgid ""
|
||||
"Return the minimum normalized positive float *DBL_MIN* as C :c:type:`double`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/float.rst:93
|
||||
msgid ""
|
||||
"Clear the float free list. Return the number of items that could not be "
|
||||
"freed."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/float.rst:101
|
||||
msgid ""
|
||||
"Convert the argument *v* to a string, using the same rules as :func:`str`. "
|
||||
"The length of *buf* should be at least 100."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/float.rst:104 ../Doc/c-api/float.rst:116
|
||||
msgid ""
|
||||
"This function is unsafe to call because it writes to a buffer whose length "
|
||||
"it does not know."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/float.rst:107
|
||||
msgid "Use :func:`PyObject_Str` or :func:`PyOS_double_to_string` instead."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/float.rst:113
|
||||
msgid ""
|
||||
"Same as PyFloat_AsString, except uses the same rules as :func:`repr`. The "
|
||||
"length of *buf* should be at least 100."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/float.rst:119
|
||||
msgid "Use :func:`PyObject_Repr` or :func:`PyOS_double_to_string` instead."
|
||||
msgstr ""
|
|
@ -0,0 +1,98 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/function.rst:6
|
||||
msgid "Function Objects"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/function.rst:10
|
||||
msgid "There are a few functions specific to Python functions."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/function.rst:15
|
||||
msgid "The C structure used for functions."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/function.rst:22
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/function.rst:28
|
||||
msgid ""
|
||||
"Return true if *o* is a function object (has type :c:data:"
|
||||
"`PyFunction_Type`). The parameter must not be *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/function.rst:34
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/function.rst:37
|
||||
msgid ""
|
||||
"The function's docstring, name and *__module__* are retrieved from the code "
|
||||
"object, the argument defaults and closure are set to *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/function.rst:43
|
||||
msgid "Return the code object associated with the function object *op*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/function.rst:48
|
||||
msgid "Return the globals dictionary associated with the function object *op*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/function.rst:53
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/function.rst:60
|
||||
msgid ""
|
||||
"Return the argument default values of the function object *op*. This can be "
|
||||
"a tuple of arguments or *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/function.rst:66
|
||||
msgid ""
|
||||
"Set the argument default values for the function object *op*. *defaults* "
|
||||
"must be *Py_None* or a tuple."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/function.rst:69 ../Doc/c-api/function.rst:83
|
||||
msgid "Raises :exc:`SystemError` and returns ``-1`` on failure."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/function.rst:74
|
||||
msgid ""
|
||||
"Return the closure associated with the function object *op*. This can be "
|
||||
"*NULL* or a tuple of cell objects."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/function.rst:80
|
||||
msgid ""
|
||||
"Set the closure associated with the function object *op*. *closure* must be "
|
||||
"*Py_None* or a tuple of cell objects."
|
||||
msgstr ""
|
|
@ -0,0 +1,210 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:6
|
||||
msgid "Supporting Cyclic Garbage Collection"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:8
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:18
|
||||
msgid ""
|
||||
"To create a container type, the :c:member:`~PyTypeObject.tp_flags` field of "
|
||||
"the type object must include the :const:`Py_TPFLAGS_HAVE_GC` and provide an "
|
||||
"implementation of the :c:member:`~PyTypeObject.tp_traverse` handler. If "
|
||||
"instances of the type are mutable, a :c:member:`~PyTypeObject.tp_clear` "
|
||||
"implementation must also be provided."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:27
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:31
|
||||
msgid "Constructors for container types must conform to two rules:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:33
|
||||
msgid ""
|
||||
"The memory for the object must be allocated using :c:func:`PyObject_GC_New` "
|
||||
"or :c:func:`PyObject_GC_NewVar`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:36
|
||||
msgid ""
|
||||
"Once all the fields which may contain references to other containers are "
|
||||
"initialized, it must call :c:func:`PyObject_GC_Track`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:42
|
||||
msgid ""
|
||||
"Analogous to :c:func:`PyObject_New` but for container objects with the :"
|
||||
"const:`Py_TPFLAGS_HAVE_GC` flag set."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:48
|
||||
msgid ""
|
||||
"Analogous to :c:func:`PyObject_NewVar` but for container objects with the :"
|
||||
"const:`Py_TPFLAGS_HAVE_GC` flag set."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:51
|
||||
msgid ""
|
||||
"This function used an :c:type:`int` type for *size*. This might require "
|
||||
"changes in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:58
|
||||
msgid ""
|
||||
"Resize an object allocated by :c:func:`PyObject_NewVar`. Returns the "
|
||||
"resized object or *NULL* on failure."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:61
|
||||
msgid ""
|
||||
"This function used an :c:type:`int` type for *newsize*. This might require "
|
||||
"changes in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:68
|
||||
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 :c:member:`~PyTypeObject.tp_traverse` handler become valid, "
|
||||
"usually near the end of the constructor."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:77
|
||||
msgid ""
|
||||
"A macro version of :c:func:`PyObject_GC_Track`. It should not be used for "
|
||||
"extension modules."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:80
|
||||
msgid ""
|
||||
"Similarly, the deallocator for the object must conform to a similar pair of "
|
||||
"rules:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:83
|
||||
msgid ""
|
||||
"Before fields which refer to other containers are invalidated, :c:func:"
|
||||
"`PyObject_GC_UnTrack` must be called."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:86
|
||||
msgid ""
|
||||
"The object's memory must be deallocated using :c:func:`PyObject_GC_Del`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:91
|
||||
msgid ""
|
||||
"Releases memory allocated to an object using :c:func:`PyObject_GC_New` or :c:"
|
||||
"func:`PyObject_GC_NewVar`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:97
|
||||
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 (:"
|
||||
"c:member:`~PyTypeObject.tp_dealloc` handler) should call this for the object "
|
||||
"before any of the fields used by the :c:member:`~PyTypeObject.tp_traverse` "
|
||||
"handler become invalid."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:106
|
||||
msgid ""
|
||||
"A macro version of :c:func:`PyObject_GC_UnTrack`. It should not be used for "
|
||||
"extension modules."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:109
|
||||
msgid ""
|
||||
"The :c:member:`~PyTypeObject.tp_traverse` handler accepts a function "
|
||||
"parameter of this type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:114
|
||||
msgid ""
|
||||
"Type of the visitor function passed to the :c:member:`~PyTypeObject."
|
||||
"tp_traverse` handler. The function should be called with an object to "
|
||||
"traverse as *object* and the third parameter to the :c:member:`~PyTypeObject."
|
||||
"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 ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:121
|
||||
msgid ""
|
||||
"The :c:member:`~PyTypeObject.tp_traverse` handler must have the following "
|
||||
"type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:126
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:133
|
||||
msgid ""
|
||||
"To simplify writing :c:member:`~PyTypeObject.tp_traverse` handlers, a :c:"
|
||||
"func:`Py_VISIT` macro is provided. In order to use this macro, the :c:"
|
||||
"member:`~PyTypeObject.tp_traverse` implementation must name its arguments "
|
||||
"exactly *visit* and *arg*:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:140
|
||||
msgid ""
|
||||
"If *o* is not *NULL*, call the *visit* callback, with arguments *o* and "
|
||||
"*arg*. If *visit* returns a non-zero value, then return it. Using this "
|
||||
"macro, :c:member:`~PyTypeObject.tp_traverse` handlers look like::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:155
|
||||
msgid ""
|
||||
"The :c:member:`~PyTypeObject.tp_clear` handler must be of the :c:type:"
|
||||
"`inquiry` type, or *NULL* if the object is immutable."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gcsupport.rst:161
|
||||
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 ""
|
|
@ -0,0 +1,53 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/gen.rst:6
|
||||
msgid "Generator Objects"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gen.rst:8
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/gen.rst:15
|
||||
msgid "The C structure used for generator objects."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gen.rst:20
|
||||
msgid "The type object corresponding to generator objects."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gen.rst:25
|
||||
msgid "Return true if *ob* is a generator object; *ob* must not be *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gen.rst:30
|
||||
msgid ""
|
||||
"Return true if *ob*'s type is *PyGen_Type* is a generator object; *ob* must "
|
||||
"not be *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/gen.rst:36
|
||||
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 ""
|
|
@ -0,0 +1,261 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/import.rst:6
|
||||
msgid "Importing Modules"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:16
|
||||
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. Before Python 2.4, the "
|
||||
"module may still be created in the failure case --- examine ``sys.modules`` "
|
||||
"to find out. Starting with Python 2.4, a failing import of a module no "
|
||||
"longer leaves the module in ``sys.modules``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:30 ../Doc/c-api/import.rst:64
|
||||
msgid "Failing imports remove incomplete module objects."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:33 ../Doc/c-api/import.rst:97
|
||||
msgid "Always uses absolute imports."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:39
|
||||
msgid ""
|
||||
"This version of :c:func:`PyImport_ImportModule` does not block. It's "
|
||||
"intended to be used in C functions that import other modules to execute a "
|
||||
"function. The import may block if another thread holds the import lock. The "
|
||||
"function :c:func:`PyImport_ImportModuleNoBlock` never blocks. It first tries "
|
||||
"to fetch the module from sys.modules and falls back to :c:func:"
|
||||
"`PyImport_ImportModule` unless the lock is held, in which case the function "
|
||||
"will raise an :exc:`ImportError`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:54 ../Doc/c-api/import.rst:74
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:58
|
||||
msgid ""
|
||||
"The return value is a new reference to the imported module or top-level "
|
||||
"package, or *NULL* with an exception set on failure (before Python 2.4, the "
|
||||
"module may still be created in this case). 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 ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:67
|
||||
msgid ""
|
||||
"The function is an alias for :c:func:`PyImport_ImportModuleLevel` with -1 as "
|
||||
"level, meaning relative import."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:78
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:92
|
||||
msgid ""
|
||||
"This is a higher-level interface that calls the current \"import hook "
|
||||
"function\". 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, e.g. "
|
||||
"by :mod:`rexec` or :mod:`ihooks`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:105
|
||||
msgid ""
|
||||
"Reload a module. This is best described by referring to the built-in Python "
|
||||
"function :func:`reload`, as the standard :func:`reload` function calls this "
|
||||
"function directly. Return a new reference to the reloaded module, or *NULL* "
|
||||
"with an exception set on failure (the module still exists in this case)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:113
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:120
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:130
|
||||
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. Before "
|
||||
"Python 2.4, the module could still be created in error cases. Starting with "
|
||||
"Python 2.4, *name* is removed from :attr:`sys.modules` in error cases, and "
|
||||
"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 ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:141
|
||||
msgid ""
|
||||
"The module's :attr:`__file__` attribute will be set to the code object's :c:"
|
||||
"member:`co_filename`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:144
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:147
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:150
|
||||
msgid "*name* is removed from :attr:`sys.modules` in error cases."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:156
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:162
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:169
|
||||
msgid ""
|
||||
"Return the dictionary used for the module administration (a.k.a. ``sys."
|
||||
"modules``). Note that this is a per-interpreter variable."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:175
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:188
|
||||
msgid "Initialize the import mechanism. For internal use only."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:193
|
||||
msgid "Empty the module table. For internal use only."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:198
|
||||
msgid "Finalize the import mechanism. For internal use only."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:203 ../Doc/c-api/import.rst:208
|
||||
msgid "For internal use only."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:213
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:224
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:238
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:246
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:256
|
||||
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. 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 ""
|
||||
|
||||
#: ../Doc/c-api/import.rst:271
|
||||
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 ""
|
|
@ -0,0 +1,29 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/index.rst:5
|
||||
msgid "Python/C API Reference Manual"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/index.rst:7
|
||||
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 ""
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,136 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/int.rst:6
|
||||
msgid "Plain Integer Objects"
|
||||
msgstr "Objets association"
|
||||
|
||||
#: ../Doc/c-api/int.rst:13
|
||||
msgid "This subtype of :c:type:`PyObject` represents a Python integer object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/int.rst:20
|
||||
msgid ""
|
||||
"This instance of :c:type:`PyTypeObject` represents the Python plain integer "
|
||||
"type. This is the same object as ``int`` and ``types.IntType``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/int.rst:26
|
||||
msgid ""
|
||||
"Return true if *o* is of type :c:data:`PyInt_Type` or a subtype of :c:data:"
|
||||
"`PyInt_Type`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/int.rst:29
|
||||
msgid "Allowed subtypes to be accepted."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/int.rst:35
|
||||
msgid ""
|
||||
"Return true if *o* is of type :c:data:`PyInt_Type`, but not a subtype of :c:"
|
||||
"data:`PyInt_Type`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/int.rst:43
|
||||
msgid ""
|
||||
"Return a new :c:type:`PyIntObject` or :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 ``'0'``, radix 8 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. If the string represents a number too "
|
||||
"large to be contained within the machine's :c:type:`long int` type and "
|
||||
"overflow warnings are being suppressed, a :c:type:`PyLongObject` will be "
|
||||
"returned. If overflow warnings are not being suppressed, *NULL* will be "
|
||||
"returned in this case."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/int.rst:60
|
||||
msgid "Create a new integer object with a value of *ival*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/int.rst:62
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/int.rst:71
|
||||
msgid ""
|
||||
"Create a new integer object with a value of *ival*. If the value is larger "
|
||||
"than ``LONG_MAX`` or smaller than ``LONG_MIN``, a long integer object is "
|
||||
"returned."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/int.rst:80
|
||||
msgid ""
|
||||
"Create a new integer object with a value of *ival*. If the value exceeds "
|
||||
"``LONG_MAX``, a long integer object is returned."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/int.rst:88
|
||||
msgid ""
|
||||
"Will first attempt to cast the object to a :c:type:`PyIntObject`, if it is "
|
||||
"not already one, and then return its value. If there is an error, ``-1`` is "
|
||||
"returned, and the caller should check ``PyErr_Occurred()`` to find out "
|
||||
"whether there was an error, or whether the value just happened to be -1."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/int.rst:96
|
||||
msgid "Return the value of the object *io*. No error checking is performed."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/int.rst:101
|
||||
msgid ""
|
||||
"Will first attempt to cast the object to a :c:type:`PyIntObject` or :c:type:"
|
||||
"`PyLongObject`, if it is not already one, and then return its value as "
|
||||
"unsigned long. This function does not check for overflow."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/int.rst:110
|
||||
msgid ""
|
||||
"Will first attempt to cast the object to a :c:type:`PyIntObject` or :c:type:"
|
||||
"`PyLongObject`, if it is not already one, and then return its value as "
|
||||
"unsigned long long, without checking for overflow."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/int.rst:119
|
||||
msgid ""
|
||||
"Will first attempt to cast the object to a :c:type:`PyIntObject` or :c:type:"
|
||||
"`PyLongObject`, if it is not already one, and then return its value as :c:"
|
||||
"type:`Py_ssize_t`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/int.rst:130
|
||||
msgid ""
|
||||
"Return the system's idea of the largest integer it can handle (:const:"
|
||||
"`LONG_MAX`, as defined in the system header files)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/int.rst:136
|
||||
msgid ""
|
||||
"Clear the integer free list. Return the number of items that could not be "
|
||||
"freed."
|
||||
msgstr ""
|
|
@ -0,0 +1,640 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/intro.rst:8
|
||||
msgid "Introduction"
|
||||
msgstr "Introduction"
|
||||
|
||||
#: ../Doc/c-api/intro.rst:10
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:20
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:26
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:36
|
||||
msgid "Include Files"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:38
|
||||
msgid ""
|
||||
"All function, type and macro definitions needed to use the Python/C API are "
|
||||
"included in your code by the following line::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:43
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:49
|
||||
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 ""
|
||||
"Python pouvant définir certaines définitions pré-processeur qui affectent "
|
||||
"les têtes standard sur certains systèmes, vous *devez* inclure :file:`Python."
|
||||
"h` avant les en-têtes standards."
|
||||
|
||||
#: ../Doc/c-api/intro.rst:53
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:58
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:63
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:71
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:78
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:86
|
||||
msgid "Objects, Types and Reference Counts"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:90
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:101
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:112
|
||||
msgid "Reference Counts"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:114
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:129
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:143
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:157
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:165
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:175
|
||||
msgid "Reference Count Details"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:177
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:190
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:200
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:215
|
||||
msgid ""
|
||||
"Here, :c:func:`PyInt_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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:220
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:225
|
||||
msgid ""
|
||||
"Equivalent code for populating a list can be written using :c:func:"
|
||||
"`PyList_New` and :c:func:`PyList_SetItem`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:228
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:239
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:269
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:278
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:290
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:342
|
||||
msgid "Types"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:344
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:356
|
||||
msgid "Exceptions"
|
||||
msgstr "Les exceptions"
|
||||
|
||||
#: ../Doc/c-api/intro.rst:358
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:366
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:381
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:396
|
||||
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 objects ``sys."
|
||||
"exc_type``, ``sys.exc_value``, and ``sys.exc_traceback``; 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_type`` and friends."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:408
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:419
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:428
|
||||
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 this 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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:443
|
||||
msgid "Here is the corresponding C code, in all its glory::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:495
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:509
|
||||
msgid "Embedding Python"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:511
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:525
|
||||
msgid ""
|
||||
"The basic initialization function is :c:func:`Py_Initialize`. This "
|
||||
"initializes the table of loaded modules, and creates the fundamental "
|
||||
"modules :mod:`__builtin__`, :mod:`__main__`, :mod:`sys`, and :mod:"
|
||||
"`exceptions`. It also initializes the module search path (``sys.path``)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:532
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:537
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:546
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:561
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:571
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:585
|
||||
msgid "Debugging Builds"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:587
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:591
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:597
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:604
|
||||
msgid ""
|
||||
"In addition to the reference count debugging described below, the following "
|
||||
"extra checks are performed:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:607
|
||||
msgid "Extra checks are added to the object allocator."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:609
|
||||
msgid "Extra checks are added to the parser and compiler."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:611
|
||||
msgid ""
|
||||
"Downcasts from wide types to narrow types are checked for loss of "
|
||||
"information."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:613
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:616
|
||||
msgid "Sanity checks of the input arguments are added to frame creation."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:618
|
||||
msgid ""
|
||||
"The storage for long ints is initialized with a known invalid pattern to "
|
||||
"catch reference to uninitialized digits."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:621
|
||||
msgid ""
|
||||
"Low-level tracing and extra exception checking are added to the runtime "
|
||||
"virtual machine."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:624
|
||||
msgid "Extra checks are added to the memory arena implementation."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:626
|
||||
msgid "Extra debugging is added to the thread module."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:628
|
||||
msgid "There may be additional checks not mentioned here."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:630
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/intro.rst:636
|
||||
msgid ""
|
||||
"Please refer to :file:`Misc/SpecialBuilds.txt` in the Python source "
|
||||
"distribution for more detailed information."
|
||||
msgstr ""
|
|
@ -0,0 +1,50 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/iter.rst:6
|
||||
msgid "Iterator Protocol"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/iter.rst:10
|
||||
msgid "There are two functions specifically for working with iterators."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/iter.rst:15
|
||||
msgid "Return true if the object *o* supports the iterator protocol."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/iter.rst:17
|
||||
msgid ""
|
||||
"This function can return a false positive in the case of old-style classes "
|
||||
"because those classes always define a :c:member:`tp_iternext` slot with "
|
||||
"logic that either invokes a :meth:`next` method or raises a :exc:`TypeError`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/iter.rst:24
|
||||
msgid ""
|
||||
"Return the next value from the iteration *o*. The object must be an "
|
||||
"iterator (it is up to the caller to check this). If there are no remaining "
|
||||
"values, returns *NULL* with no exception set. If an error occurs while "
|
||||
"retrieving the item, returns *NULL* and passes along the exception."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/iter.rst:29
|
||||
msgid ""
|
||||
"To write a loop which iterates over an iterator, the C code should look "
|
||||
"something like this::"
|
||||
msgstr ""
|
|
@ -0,0 +1,66 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/iterator.rst:6
|
||||
msgid "Iterator Objects"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/iterator.rst:8
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/iterator.rst:17
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/iterator.rst:26
|
||||
msgid "Return true if the type of *op* is :c:data:`PySeqIter_Type`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/iterator.rst:33
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/iterator.rst:42
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/iterator.rst:50
|
||||
msgid "Return true if the type of *op* is :c:data:`PyCallIter_Type`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/iterator.rst:57
|
||||
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 ""
|
|
@ -0,0 +1,191 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/list.rst:6
|
||||
msgid "List Objects"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:13
|
||||
msgid "This subtype of :c:type:`PyObject` represents a Python list object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:18
|
||||
msgid ""
|
||||
"This instance of :c:type:`PyTypeObject` represents the Python list type. "
|
||||
"This is the same object as ``list`` in the Python layer."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:24
|
||||
msgid ""
|
||||
"Return true if *p* is a list object or an instance of a subtype of the list "
|
||||
"type."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:27
|
||||
msgid "Allowed subtypes to be accepted."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:33
|
||||
msgid ""
|
||||
"Return true if *p* is a list object, but not an instance of a subtype of the "
|
||||
"list type."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:41
|
||||
msgid "Return a new list of length *len* on success, or *NULL* on failure."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:45
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:50
|
||||
msgid ""
|
||||
"This function used an :c:type:`int` for *size*. This might require changes "
|
||||
"in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:59
|
||||
msgid ""
|
||||
"Return the length of the list object in *list*; this is equivalent to "
|
||||
"``len(list)`` on a list object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:62
|
||||
msgid ""
|
||||
"This function returned an :c:type:`int`. This might require changes in your "
|
||||
"code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:69
|
||||
msgid "Macro form of :c:func:`PyList_Size` without error checking."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:71
|
||||
msgid ""
|
||||
"This macro returned an :c:type:`int`. This might require changes in your "
|
||||
"code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:78
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:83 ../Doc/c-api/list.rst:107 ../Doc/c-api/list.rst:135
|
||||
msgid ""
|
||||
"This function used an :c:type:`int` for *index*. This might require changes "
|
||||
"in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:90
|
||||
msgid "Macro form of :c:func:`PyList_GetItem` without error checking."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:92 ../Doc/c-api/list.rst:124
|
||||
msgid ""
|
||||
"This macro used an :c:type:`int` for *i*. This might require changes in your "
|
||||
"code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:99
|
||||
msgid ""
|
||||
"Set the item at index *index* in list to *item*. Return ``0`` on success or "
|
||||
"``-1`` on failure."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:104
|
||||
msgid ""
|
||||
"This function \"steals\" a reference to *item* and discards a reference to "
|
||||
"an item already in the list at the affected position."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:114
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:119
|
||||
msgid ""
|
||||
"This macro \"steals\" a reference to *item*, and, unlike :c:func:"
|
||||
"`PyList_SetItem`, does *not* discard a reference to any item that it being "
|
||||
"replaced; any reference in *list* at position *i* will be leaked."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:131
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:142
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:149
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:154 ../Doc/c-api/list.rst:167
|
||||
msgid ""
|
||||
"This function used an :c:type:`int` for *low* and *high*. This might require "
|
||||
"changes in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:161
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:174
|
||||
msgid ""
|
||||
"Sort the items of *list* in place. Return ``0`` on success, ``-1`` on "
|
||||
"failure. This is equivalent to ``list.sort()``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:180
|
||||
msgid ""
|
||||
"Reverse the items of *list* in place. Return ``0`` on success, ``-1`` on "
|
||||
"failure. This is the equivalent of ``list.reverse()``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/list.rst:188
|
||||
msgid ""
|
||||
"Return a new tuple object containing the contents of *list*; equivalent to "
|
||||
"``tuple(list)``."
|
||||
msgstr ""
|
|
@ -0,0 +1,222 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/long.rst:6
|
||||
msgid "Long Integer Objects"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:13
|
||||
msgid ""
|
||||
"This subtype of :c:type:`PyObject` represents a Python long integer object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:20
|
||||
msgid ""
|
||||
"This instance of :c:type:`PyTypeObject` represents the Python long integer "
|
||||
"type. This is the same object as ``long`` and ``types.LongType``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:26
|
||||
msgid ""
|
||||
"Return true if its argument is a :c:type:`PyLongObject` or a subtype of :c:"
|
||||
"type:`PyLongObject`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:29
|
||||
msgid "Allowed subtypes to be accepted."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:35
|
||||
msgid ""
|
||||
"Return true if its argument is a :c:type:`PyLongObject`, but not a subtype "
|
||||
"of :c:type:`PyLongObject`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:43
|
||||
msgid ""
|
||||
"Return a new :c:type:`PyLongObject` object from *v*, or *NULL* on failure."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:48
|
||||
msgid ""
|
||||
"Return a new :c:type:`PyLongObject` object from a C :c:type:`unsigned long`, "
|
||||
"or *NULL* on failure."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:54
|
||||
msgid ""
|
||||
"Return a new :c:type:`PyLongObject` object from a C :c:type:`Py_ssize_t`, or "
|
||||
"*NULL* on failure."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:62
|
||||
msgid ""
|
||||
"Return a new :c:type:`PyLongObject` object from a C :c:type:`size_t`, or "
|
||||
"*NULL* on failure."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:70
|
||||
msgid ""
|
||||
"Return a new :c:type:`PyLongObject` object from a C :c:type:`long long`, or "
|
||||
"*NULL* on failure."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:76
|
||||
msgid ""
|
||||
"Return a new :c:type:`PyLongObject` object from a C :c:type:`unsigned long "
|
||||
"long`, or *NULL* on failure."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:82
|
||||
msgid ""
|
||||
"Return a new :c:type:`PyLongObject` object from the integer part of *v*, or "
|
||||
"*NULL* on failure."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:88
|
||||
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 ``'0'``, "
|
||||
"radix 8 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 ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:101
|
||||
msgid ""
|
||||
"Convert a sequence of Unicode digits to a Python long integer value. The "
|
||||
"first parameter, *u*, points to the first character of the Unicode string, "
|
||||
"*length* gives the number of characters, and *base* is the radix for the "
|
||||
"conversion. The radix must be in the range [2, 36]; if it is out of range, :"
|
||||
"exc:`ValueError` will be raised."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:109
|
||||
msgid ""
|
||||
"This function used an :c:type:`int` for *length*. This might require changes "
|
||||
"in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:116
|
||||
msgid ""
|
||||
"Create a Python integer or long integer from the pointer *p*. The pointer "
|
||||
"value can be retrieved from the resulting value using :c:func:"
|
||||
"`PyLong_AsVoidPtr`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:121
|
||||
msgid ""
|
||||
"If the integer is larger than LONG_MAX, a positive long integer is returned."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:131
|
||||
msgid ""
|
||||
"Return a C :c:type:`long` representation of the contents of *pylong*. If "
|
||||
"*pylong* is greater than :const:`LONG_MAX`, an :exc:`OverflowError` is "
|
||||
"raised and ``-1`` will be returned."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:138
|
||||
msgid ""
|
||||
"Return a C :c:type:`long` representation of the contents of *pylong*. If "
|
||||
"*pylong* 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 (for "
|
||||
"example a TypeError or MemoryError), then ``-1`` will be returned and *"
|
||||
"\\*overflow* will be ``0``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:151
|
||||
msgid ""
|
||||
"Return a C :c:type:`long long` representation of the contents of *pylong*. "
|
||||
"If *pylong* 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 (for example a TypeError or MemoryError), then ``-1`` will "
|
||||
"be returned and *\\*overflow* will be ``0``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:168
|
||||
msgid ""
|
||||
"Return a C :c:type:`Py_ssize_t` representation of the contents of *pylong*. "
|
||||
"If *pylong* is greater than :const:`PY_SSIZE_T_MAX`, an :exc:`OverflowError` "
|
||||
"is raised and ``-1`` will be returned."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:181
|
||||
msgid ""
|
||||
"Return a C :c:type:`unsigned long` representation of the contents of "
|
||||
"*pylong*. If *pylong* is greater than :const:`ULONG_MAX`, an :exc:"
|
||||
"`OverflowError` is raised."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:191
|
||||
msgid ""
|
||||
"Return a C :c:type:`long long` from a Python long integer. If *pylong* "
|
||||
"cannot be represented as a :c:type:`long long`, an :exc:`OverflowError` is "
|
||||
"raised and ``-1`` is returned."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:203
|
||||
msgid ""
|
||||
"Return a C :c:type:`unsigned long long` from a Python long integer. If "
|
||||
"*pylong* cannot be represented as an :c:type:`unsigned long long`, an :exc:"
|
||||
"`OverflowError` is raised and ``(unsigned long long)-1`` is returned."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:210
|
||||
msgid ""
|
||||
"A negative *pylong* now raises :exc:`OverflowError`, not :exc:`TypeError`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:217
|
||||
msgid ""
|
||||
"Return a C :c:type:`unsigned long` from a Python long integer, without "
|
||||
"checking for overflow."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:225
|
||||
msgid ""
|
||||
"Return a C :c:type:`unsigned long long` from a Python long integer, without "
|
||||
"checking for overflow."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:233
|
||||
msgid ""
|
||||
"Return a C :c:type:`double` representation of the contents of *pylong*. If "
|
||||
"*pylong* cannot be approximately represented as a :c:type:`double`, an :exc:"
|
||||
"`OverflowError` exception is raised and ``-1.0`` will be returned."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:240
|
||||
msgid ""
|
||||
"Convert a Python integer or long 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 ""
|
||||
|
||||
#: ../Doc/c-api/long.rst:247
|
||||
msgid ""
|
||||
"For values outside 0..LONG_MAX, both signed and unsigned integers are "
|
||||
"accepted."
|
||||
msgstr ""
|
|
@ -0,0 +1,91 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/mapping.rst:6
|
||||
msgid "Mapping Protocol"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/mapping.rst:11
|
||||
msgid ""
|
||||
"Return ``1`` if the object provides mapping protocol, and ``0`` otherwise. "
|
||||
"This function always succeeds."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/mapping.rst:20
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/mapping.rst:24
|
||||
msgid ""
|
||||
"These functions returned an :c:type:`int` type. This might require changes "
|
||||
"in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/mapping.rst:31 ../Doc/c-api/mapping.rst:37
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/mapping.rst:43
|
||||
msgid ""
|
||||
"On success, return ``1`` if the mapping object has the key *key* and ``0`` "
|
||||
"otherwise. This is equivalent to ``o[key]``, returning ``True`` on success "
|
||||
"and ``False`` on an exception. This function always succeeds."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/mapping.rst:50
|
||||
msgid ""
|
||||
"Return ``1`` if the mapping object has the key *key* and ``0`` otherwise. "
|
||||
"This is equivalent to ``o[key]``, returning ``True`` on success and "
|
||||
"``False`` on an exception. This function always succeeds."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/mapping.rst:57
|
||||
msgid ""
|
||||
"On success, return a list of the keys in object *o*. On failure, return "
|
||||
"*NULL*. This is equivalent to the Python expression ``o.keys()``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/mapping.rst:63
|
||||
msgid ""
|
||||
"On success, return a list of the values in object *o*. On failure, return "
|
||||
"*NULL*. This is equivalent to the Python expression ``o.values()``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/mapping.rst:69
|
||||
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 ``o.items()``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/mapping.rst:76
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/mapping.rst:82
|
||||
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 ""
|
|
@ -0,0 +1,123 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/marshal.rst:6
|
||||
msgid "Data marshalling support"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/marshal.rst:8
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/marshal.rst:14
|
||||
msgid "Numeric values are stored with the least significant byte first."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/marshal.rst:16
|
||||
msgid ""
|
||||
"The module supports two versions of the data format: version 0 is the "
|
||||
"historical version, version 1 (new in Python 2.4) shares interned strings in "
|
||||
"the file, and upon unmarshalling. Version 2 (new in Python 2.5) uses a "
|
||||
"binary format for floating point numbers. *Py_MARSHAL_VERSION* indicates "
|
||||
"the current file format (currently 2)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/marshal.rst:25
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/marshal.rst:29 ../Doc/c-api/marshal.rst:37
|
||||
#: ../Doc/c-api/marshal.rst:45
|
||||
msgid "*version* indicates the file format."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/marshal.rst:35
|
||||
msgid "Marshal a Python object, *value*, to *file*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/marshal.rst:43
|
||||
msgid ""
|
||||
"Return a string object containing the marshalled representation of *value*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/marshal.rst:49
|
||||
msgid "The following functions allow marshalled values to be read back in."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/marshal.rst:51
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/marshal.rst:60
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/marshal.rst:67
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/marshal.rst:74
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/marshal.rst:81
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/marshal.rst:93
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/marshal.rst:98
|
||||
msgid ""
|
||||
"This function used an :c:type:`int` type for *len*. This might require "
|
||||
"changes in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
|
@ -0,0 +1,215 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/memory.rst:8
|
||||
msgid "Memory Management"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/memory.rst:17
|
||||
msgid "Overview"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/memory.rst:19
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/memory.rst:25
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/memory.rst:36
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/memory.rst:49
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/memory.rst:68
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/memory.rst:72
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/memory.rst:90
|
||||
msgid "Memory Interface"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/memory.rst:92
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/memory.rst:99
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/memory.rst:107
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/memory.rst:119
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/memory.rst:124
|
||||
msgid ""
|
||||
"The following type-oriented macros are provided for convenience. Note that "
|
||||
"*TYPE* refers to any C type."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/memory.rst:130
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/memory.rst:137
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/memory.rst:146
|
||||
msgid "Same as :c:func:`PyMem_Free`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/memory.rst:148
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/memory.rst:153
|
||||
msgid ":c:func:`PyMem_MALLOC`, :c:func:`PyMem_REALLOC`, :c:func:`PyMem_FREE`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/memory.rst:155
|
||||
msgid ":c:func:`PyMem_NEW`, :c:func:`PyMem_RESIZE`, :c:func:`PyMem_DEL`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/memory.rst:161
|
||||
msgid "Examples"
|
||||
msgstr "Exemples"
|
||||
|
||||
#: ../Doc/c-api/memory.rst:163
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/memory.rst:176
|
||||
msgid "The same code using the type-oriented function set::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/memory.rst:188
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/memory.rst:203
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/memory.rst:207
|
||||
msgid ""
|
||||
"These will be explained in the next chapter on defining and implementing new "
|
||||
"object types in C."
|
||||
msgstr ""
|
|
@ -0,0 +1,81 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/method.rst:6
|
||||
msgid "Method Objects"
|
||||
msgstr "Les objets méthode"
|
||||
|
||||
#: ../Doc/c-api/method.rst:10
|
||||
msgid ""
|
||||
"There are some useful functions that are useful for working with method "
|
||||
"objects."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/method.rst:17
|
||||
msgid ""
|
||||
"This instance of :c:type:`PyTypeObject` represents the Python method type. "
|
||||
"This is exposed to Python programs as ``types.MethodType``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/method.rst:23
|
||||
msgid ""
|
||||
"Return true if *o* is a method object (has type :c:data:`PyMethod_Type`). "
|
||||
"The parameter must not be *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/method.rst:29
|
||||
msgid ""
|
||||
"Return a new method object, with *func* being any callable object; this is "
|
||||
"the function that will be called when the method is called. If this method "
|
||||
"should be bound to an instance, *self* should be the instance and *class* "
|
||||
"should be the class of *self*, otherwise *self* should be *NULL* and *class* "
|
||||
"should be the class which provides the unbound method.."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/method.rst:38
|
||||
msgid ""
|
||||
"Return the class object from which the method *meth* was created; if this "
|
||||
"was created from an instance, it will be the class of the instance."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/method.rst:44
|
||||
msgid "Macro version of :c:func:`PyMethod_Class` which avoids error checking."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/method.rst:49
|
||||
msgid "Return the function object associated with the method *meth*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/method.rst:54
|
||||
msgid ""
|
||||
"Macro version of :c:func:`PyMethod_Function` which avoids error checking."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/method.rst:59
|
||||
msgid ""
|
||||
"Return the instance associated with the method *meth* if it is bound, "
|
||||
"otherwise return *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/method.rst:65
|
||||
msgid "Macro version of :c:func:`PyMethod_Self` which avoids error checking."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/method.rst:70
|
||||
msgid "Clear the free list. Return the total number of freed items."
|
||||
msgstr ""
|
|
@ -0,0 +1,109 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/module.rst:6
|
||||
msgid "Module Objects"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/module.rst:10
|
||||
msgid "There are only a few functions special to module objects."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/module.rst:17
|
||||
msgid ""
|
||||
"This instance of :c:type:`PyTypeObject` represents the Python module type. "
|
||||
"This is exposed to Python programs as ``types.ModuleType``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/module.rst:23
|
||||
msgid "Return true if *p* is a module object, or a subtype of a module object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/module.rst:25
|
||||
msgid "Allowed subtypes to be accepted."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/module.rst:31
|
||||
msgid ""
|
||||
"Return true if *p* is a module object, but not a subtype of :c:data:"
|
||||
"`PyModule_Type`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/module.rst:44
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/module.rst:53
|
||||
msgid ""
|
||||
"Return the dictionary object that implements *module*'s namespace; this "
|
||||
"object is the same as the :attr:`~object.__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:`~object.__dict__`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/module.rst:66
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/module.rst:76
|
||||
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 "
|
||||
"string, raise :exc:`SystemError` and return *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/module.rst:83
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/module.rst:92
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/module.rst:101
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/module.rst:109
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/module.rst:118
|
||||
msgid "Add a string constant to *module*."
|
||||
msgstr ""
|
|
@ -0,0 +1,40 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/none.rst:6
|
||||
msgid "The ``None`` Object"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/none.rst:10
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/none.rst:18
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/none.rst:25
|
||||
msgid "Properly handle returning :c:data:`Py_None` from within a C function."
|
||||
msgstr ""
|
|
@ -0,0 +1,307 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/number.rst:6
|
||||
msgid "Number Protocol"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:11
|
||||
msgid ""
|
||||
"Returns ``1`` if the object *o* provides numeric protocols, and false "
|
||||
"otherwise. This function always succeeds."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:17
|
||||
msgid ""
|
||||
"Returns the result of adding *o1* and *o2*, or *NULL* on failure. This is "
|
||||
"the equivalent of the Python expression ``o1 + o2``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:23
|
||||
msgid ""
|
||||
"Returns the result of subtracting *o2* from *o1*, or *NULL* on failure. "
|
||||
"This is the equivalent of the Python expression ``o1 - o2``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:29
|
||||
msgid ""
|
||||
"Returns the result of multiplying *o1* and *o2*, or *NULL* on failure. This "
|
||||
"is the equivalent of the Python expression ``o1 * o2``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:35
|
||||
msgid ""
|
||||
"Returns the result of dividing *o1* by *o2*, or *NULL* on failure. This is "
|
||||
"the equivalent of the Python expression ``o1 / o2``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:41
|
||||
msgid ""
|
||||
"Return the floor of *o1* divided by *o2*, or *NULL* on failure. This is "
|
||||
"equivalent to the \"classic\" division of integers."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:49
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:60
|
||||
msgid ""
|
||||
"Returns the remainder of dividing *o1* by *o2*, or *NULL* on failure. This "
|
||||
"is the equivalent of the Python expression ``o1 % o2``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:68
|
||||
msgid ""
|
||||
"See the built-in function :func:`divmod`. Returns *NULL* on failure. This "
|
||||
"is the equivalent of the Python expression ``divmod(o1, o2)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:76
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:84
|
||||
msgid ""
|
||||
"Returns the negation of *o* on success, or *NULL* on failure. This is the "
|
||||
"equivalent of the Python expression ``-o``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:90
|
||||
msgid ""
|
||||
"Returns *o* on success, or *NULL* on failure. This is the equivalent of the "
|
||||
"Python expression ``+o``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:98
|
||||
msgid ""
|
||||
"Returns the absolute value of *o*, or *NULL* on failure. This is the "
|
||||
"equivalent of the Python expression ``abs(o)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:104
|
||||
msgid ""
|
||||
"Returns the bitwise negation of *o* on success, or *NULL* on failure. This "
|
||||
"is the equivalent of the Python expression ``~o``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:110
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:116
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:122
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:128
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:134
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:140
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:147
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:154
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:161
|
||||
msgid ""
|
||||
"Returns the result 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 ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:168
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:177
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:188
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:197
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:206
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:213
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:220
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:227
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:234
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:243
|
||||
msgid ""
|
||||
"This function takes the addresses of two variables of type :c:type:`PyObject"
|
||||
"\\*`. If the objects pointed to by ``*p1`` and ``*p2`` have the same type, "
|
||||
"increment their reference count and return ``0`` (success). If the objects "
|
||||
"can be converted to a common numeric type, replace ``*p1`` and ``*p2`` by "
|
||||
"their converted value (with 'new' reference counts), and return ``0``. If no "
|
||||
"conversion is possible, or if some other error occurs, return ``-1`` "
|
||||
"(failure) and don't increment the reference counts. The call "
|
||||
"``PyNumber_Coerce(&o1, &o2)`` is equivalent to the Python statement ``o1, o2 "
|
||||
"= coerce(o1, o2)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:255
|
||||
msgid ""
|
||||
"This function is similar to :c:func:`PyNumber_Coerce`, except that it "
|
||||
"returns ``1`` when the conversion is not possible and when no error is "
|
||||
"raised. Reference counts are still not increased in this case."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:264
|
||||
msgid ""
|
||||
"Returns the *o* converted to an integer object on success, or *NULL* on "
|
||||
"failure. If the argument is outside the integer range a long object will be "
|
||||
"returned instead. This is the equivalent of the Python expression ``int(o)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:273
|
||||
msgid ""
|
||||
"Returns the *o* converted to a long integer object on success, or *NULL* on "
|
||||
"failure. This is the equivalent of the Python expression ``long(o)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:281
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:287
|
||||
msgid ""
|
||||
"Returns the *o* converted to a Python int or long on success or *NULL* with "
|
||||
"a :exc:`TypeError` exception raised on failure."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:295
|
||||
msgid ""
|
||||
"Returns the integer *n* converted to *base* as a string with a base marker "
|
||||
"of ``'0b'``, ``'0o'``, or ``'0x'`` if applicable. When *base* is not 2, 8, "
|
||||
"10, or 16, the format is ``'x#num'`` where x is the base. If *n* is not an "
|
||||
"int object, it is converted with :c:func:`PyNumber_Index` first."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:306
|
||||
msgid ""
|
||||
"Returns *o* converted to a Py_ssize_t value if *o* can be interpreted as an "
|
||||
"integer. If *o* can be converted to a Python int or long 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 ""
|
||||
|
||||
#: ../Doc/c-api/number.rst:319
|
||||
msgid ""
|
||||
"Returns ``1`` if *o* is an index integer (has the nb_index slot of the "
|
||||
"tp_as_number structure filled in), and ``0`` otherwise."
|
||||
msgstr ""
|
|
@ -0,0 +1,69 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/objbuffer.rst:7
|
||||
msgid "Old Buffer Protocol"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/objbuffer.rst:9
|
||||
msgid ""
|
||||
"This section describes the legacy buffer protocol, which has been introduced "
|
||||
"in Python 1.6. It is still supported but deprecated in the Python 2.x "
|
||||
"series. Python 3 introduces a new buffer protocol which fixes weaknesses and "
|
||||
"shortcomings of the protocol, and has been backported to Python 2.6. See :"
|
||||
"ref:`bufferobjects` for more information."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/objbuffer.rst:18
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/objbuffer.rst:26 ../Doc/c-api/objbuffer.rst:41
|
||||
#: ../Doc/c-api/objbuffer.rst:63
|
||||
msgid ""
|
||||
"This function used an :c:type:`int *` type for *buffer_len*. This might "
|
||||
"require changes in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/objbuffer.rst:33
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/objbuffer.rst:48
|
||||
msgid ""
|
||||
"Returns ``1`` if *o* supports the single-segment readable buffer interface. "
|
||||
"Otherwise returns ``0``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/objbuffer.rst:56
|
||||
msgid ""
|
||||
"Returns a pointer to a writeable 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 ""
|
|
@ -0,0 +1,376 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/object.rst:6
|
||||
msgid "Object Protocol"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:11
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:19 ../Doc/c-api/object.rst:26
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:33
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:40
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:47
|
||||
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:"
|
||||
"`~object.__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 ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:57 ../Doc/c-api/object.rst:64
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:71
|
||||
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:`~object.__dict__` (if present). "
|
||||
"Otherwise, an :exc:`AttributeError` is raised and ``-1`` is returned."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:81 ../Doc/c-api/object.rst:87
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:93
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:103
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:112
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:119
|
||||
msgid ""
|
||||
"Compare the values of *o1* and *o2* using a routine provided by *o1*, if one "
|
||||
"exists, otherwise with a routine provided by *o2*. The result of the "
|
||||
"comparison is returned in *result*. Returns ``-1`` on failure. This is the "
|
||||
"equivalent of the Python statement ``result = cmp(o1, o2)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:129
|
||||
msgid ""
|
||||
"Compare the values of *o1* and *o2* using a routine provided by *o1*, if one "
|
||||
"exists, otherwise with a routine provided by *o2*. Returns the result of "
|
||||
"the comparison on success. On error, the value returned is undefined; use :"
|
||||
"c:func:`PyErr_Occurred` to detect an error. This is equivalent to the "
|
||||
"Python expression ``cmp(o1, o2)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:140
|
||||
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 "
|
||||
"and by reverse quotes."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:150
|
||||
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 by the :keyword:`print` statement."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:160
|
||||
msgid ""
|
||||
"Compute a bytes representation of object *o*. In 2.x, this is just an alias "
|
||||
"for :c:func:`PyObject_Str`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:168
|
||||
msgid ""
|
||||
"Compute a Unicode string representation of object *o*. Returns the Unicode "
|
||||
"string representation on success, *NULL* on failure. This is the equivalent "
|
||||
"of the Python expression ``unicode(o)``. Called by the :func:`unicode` "
|
||||
"built-in function."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:176
|
||||
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:`~instance."
|
||||
"__class__` attribute --- the class relationship of the value of that "
|
||||
"attribute with *cls* will be used to determine the result of this function."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:189
|
||||
msgid "Support for a tuple as the second argument added."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:192
|
||||
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:`~class."
|
||||
"__bases__` attribute is searched in a depth-first fashion for *A* --- the "
|
||||
"presence of the :attr:`~class.__bases__` attribute is considered sufficient "
|
||||
"for this determination."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:206
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:215
|
||||
msgid ""
|
||||
"Older versions of Python did not support a tuple as the second argument."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:221
|
||||
msgid ""
|
||||
"Determine if the object *o* is callable. Return ``1`` if the object is "
|
||||
"callable and ``0`` otherwise. This function always succeeds."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:229
|
||||
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 ``apply(callable_object, args, kw)`` or ``callable_object(*args, "
|
||||
"**kw)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:243
|
||||
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 ``apply(callable_object, args)`` or "
|
||||
"``callable_object(*args)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:254
|
||||
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 ``apply(callable, "
|
||||
"args)`` or ``callable(*args)``. Note that if you only pass :c:type:`PyObject "
|
||||
"\\*` args, :c:func:`PyObject_CallFunctionObjArgs` is a faster alternative."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:265
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:276
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:286
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:299
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:305
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:315
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:322
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:331
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:342
|
||||
msgid ""
|
||||
"Return true if the object *o* is of type *type* or a subtype of *type*. "
|
||||
"Both parameters must be non-*NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:353
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:357
|
||||
msgid ""
|
||||
"These functions returned an :c:type:`int` type. This might require changes "
|
||||
"in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:364
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:370
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:376
|
||||
msgid ""
|
||||
"Delete the mapping for *key* from *o*. Returns ``-1`` on failure. This is "
|
||||
"the equivalent of the Python statement ``del o[key]``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:382
|
||||
msgid ""
|
||||
"Derives a file descriptor from a Python object. If the object is an integer "
|
||||
"or long integer, its value is returned. If not, the object's :meth:`fileno` "
|
||||
"method is called if it exists; the method must return an integer or long "
|
||||
"integer, which is returned as the file descriptor value. Returns ``-1`` on "
|
||||
"failure."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:390
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/object.rst:399
|
||||
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 ""
|
|
@ -0,0 +1,27 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/objimpl.rst:8
|
||||
msgid "Object Implementation Support"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/objimpl.rst:10
|
||||
msgid ""
|
||||
"This chapter describes the functions, types, and macros used when defining "
|
||||
"new object types."
|
||||
msgstr ""
|
|
@ -0,0 +1,98 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/refcounting.rst:8
|
||||
msgid "Reference Counting"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/refcounting.rst:10
|
||||
msgid ""
|
||||
"The macros in this section are used for managing reference counts of Python "
|
||||
"objects."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/refcounting.rst:16
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/refcounting.rst:22
|
||||
msgid ""
|
||||
"Increment the reference count for object *o*. The object may be *NULL*, in "
|
||||
"which case the macro has no effect."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/refcounting.rst:28
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/refcounting.rst:35
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/refcounting.rst:47
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/refcounting.rst:54
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/refcounting.rst:61
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/refcounting.rst:66
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/refcounting.rst:71
|
||||
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 ""
|
|
@ -0,0 +1,69 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/reflection.rst:6
|
||||
msgid "Reflection"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/reflection.rst:10
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/reflection.rst:16
|
||||
msgid ""
|
||||
"Return a dictionary of the local variables in the current execution frame, "
|
||||
"or *NULL* if no frame is currently executing."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/reflection.rst:22
|
||||
msgid ""
|
||||
"Return a dictionary of the global variables in the current execution frame, "
|
||||
"or *NULL* if no frame is currently executing."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/reflection.rst:28
|
||||
msgid ""
|
||||
"Return the current thread state's frame, which is *NULL* if no frame is "
|
||||
"currently executing."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/reflection.rst:34
|
||||
msgid "Return the line number that *frame* is currently executing."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/reflection.rst:39
|
||||
msgid ""
|
||||
"If there is a current frame and it is executing in restricted mode, return "
|
||||
"true, otherwise false."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/reflection.rst:45
|
||||
msgid ""
|
||||
"Return the name of *func* if it is a function, class or instance object, "
|
||||
"else the name of *func*\\s type."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/reflection.rst:51
|
||||
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 ""
|
|
@ -0,0 +1,208 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:6
|
||||
msgid "Sequence Protocol"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:11
|
||||
msgid ""
|
||||
"Return ``1`` if the object provides sequence protocol, and ``0`` otherwise. "
|
||||
"This function always succeeds."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:20
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:24
|
||||
msgid ""
|
||||
"These functions returned an :c:type:`int` type. This might require changes "
|
||||
"in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:31
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:37
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:40 ../Doc/c-api/sequence.rst:58
|
||||
msgid ""
|
||||
"This function used an :c:type:`int` type for *count*. This might require "
|
||||
"changes in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:47
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:54
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:65
|
||||
msgid ""
|
||||
"Return the *i*\\ th element of *o*, or *NULL* on failure. This is the "
|
||||
"equivalent of the Python expression ``o[i]``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:68 ../Doc/c-api/sequence.rst:89
|
||||
#: ../Doc/c-api/sequence.rst:99 ../Doc/c-api/sequence.rst:181
|
||||
#: ../Doc/c-api/sequence.rst:207
|
||||
msgid ""
|
||||
"This function used an :c:type:`int` type for *i*. This might require changes "
|
||||
"in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:75
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:78 ../Doc/c-api/sequence.rst:109
|
||||
#: ../Doc/c-api/sequence.rst:119
|
||||
msgid ""
|
||||
"This function used an :c:type:`int` type for *i1* and *i2*. This might "
|
||||
"require changes in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:85
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:96
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:106
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:116
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:126
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:130 ../Doc/c-api/sequence.rst:147
|
||||
msgid ""
|
||||
"This function returned an :c:type:`int` type. This might require changes in "
|
||||
"your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:137
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:144
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:154
|
||||
msgid ""
|
||||
"Return a list object with the same contents as the arbitrary sequence *o*. "
|
||||
"The returned list is guaranteed to be new."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:162
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:170
|
||||
msgid ""
|
||||
"Return the sequence *o* as a list, 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 ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:178
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:188
|
||||
msgid ""
|
||||
"Return the underlying array of PyObject pointers. Assumes that *o* was "
|
||||
"returned by :c:func:`PySequence_Fast` and *o* is not *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:191
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:200
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/sequence.rst:214
|
||||
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 ""
|
|
@ -0,0 +1,195 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/set.rst:6
|
||||
msgid "Set Objects"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/set.rst:17
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/set.rst:31
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/set.rst:42
|
||||
msgid ""
|
||||
"This is an instance of :c:type:`PyTypeObject` representing the Python :class:"
|
||||
"`set` type."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/set.rst:48
|
||||
msgid ""
|
||||
"This is an instance of :c:type:`PyTypeObject` representing the Python :class:"
|
||||
"`frozenset` type."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/set.rst:51
|
||||
msgid ""
|
||||
"The following type check macros work on pointers to any Python object. "
|
||||
"Likewise, the constructor functions work with any iterable Python object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/set.rst:57
|
||||
msgid ""
|
||||
"Return true if *p* is a :class:`set` object or an instance of a subtype."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/set.rst:63
|
||||
msgid ""
|
||||
"Return true if *p* is a :class:`frozenset` object or an instance of a "
|
||||
"subtype."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/set.rst:70
|
||||
msgid ""
|
||||
"Return true if *p* is a :class:`set` object, a :class:`frozenset` object, or "
|
||||
"an instance of a subtype."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/set.rst:76
|
||||
msgid ""
|
||||
"Return true if *p* is a :class:`set` object or a :class:`frozenset` object "
|
||||
"but not an instance of a subtype."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/set.rst:82
|
||||
msgid ""
|
||||
"Return true if *p* is a :class:`frozenset` object but not an instance of a "
|
||||
"subtype."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/set.rst:88
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/set.rst:97
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/set.rst:102
|
||||
msgid ""
|
||||
"Now guaranteed to return a brand-new :class:`frozenset`. Formerly, "
|
||||
"frozensets of zero-length were a singleton. This got in the way of building-"
|
||||
"up new frozensets with :meth:`PySet_Add`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/set.rst:107
|
||||
msgid ""
|
||||
"The following functions and macros are available for instances of :class:"
|
||||
"`set` or :class:`frozenset` or instances of their subtypes."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/set.rst:115
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/set.rst:119
|
||||
msgid ""
|
||||
"This function returned an :c:type:`int`. This might require changes in your "
|
||||
"code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/set.rst:126
|
||||
msgid "Macro form of :c:func:`PySet_Size` without error checking."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/set.rst:131
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/set.rst:140
|
||||
msgid ""
|
||||
"Add *key* to a :class:`set` instance. Does not apply to :class:`frozenset` "
|
||||
"instances. 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 not an instance of :class:"
|
||||
"`set` or its subtype."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/set.rst:146
|
||||
msgid ""
|
||||
"Now works with instances of :class:`frozenset` or its subtypes. Like :c:func:"
|
||||
"`PyTuple_SetItem` in that it can be used to fill-in the values of brand new "
|
||||
"frozensets before they are exposed to other code."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/set.rst:151
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/set.rst:157
|
||||
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:`~set.discard` method, this function does not automatically convert "
|
||||
"unhashable sets into temporary frozensets. Raise :exc:`PyExc_SystemError` if "
|
||||
"*set* is not an instance of :class:`set` or its subtype."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/set.rst:167
|
||||
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 not an instance of :"
|
||||
"class:`set` or its subtype."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/set.rst:175
|
||||
msgid "Empty an existing set of all elements."
|
||||
msgstr ""
|
|
@ -0,0 +1,89 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/slice.rst:6
|
||||
msgid "Slice Objects"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/slice.rst:13
|
||||
msgid ""
|
||||
"The type object for slice objects. This is the same as ``slice`` and "
|
||||
"``types.SliceType``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/slice.rst:19
|
||||
msgid "Return true if *ob* is a slice object; *ob* must not be *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/slice.rst:24
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/slice.rst:33
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/slice.rst:37
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/slice.rst:41
|
||||
msgid ""
|
||||
"You probably do not want to use this function. If you want to use slice "
|
||||
"objects in versions of Python prior to 2.3, you would probably do well to "
|
||||
"incorporate the source of :c:func:`PySlice_GetIndicesEx`, suitably renamed, "
|
||||
"in the source of your extension."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/slice.rst:46
|
||||
msgid ""
|
||||
"This function used an :c:type:`int` type for *length* and an :c:type:`int *` "
|
||||
"type for *start*, *stop*, and *step*. This might require changes in your "
|
||||
"code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/slice.rst:54
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/slice.rst:60
|
||||
msgid "Returns 0 on success and -1 on error with exception set."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/slice.rst:64
|
||||
msgid ""
|
||||
"This function used an :c:type:`int` type for *length* and an :c:type:`int *` "
|
||||
"type for *start*, *stop*, *step*, and *slicelength*. This might require "
|
||||
"changes in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
|
@ -0,0 +1,466 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/string.rst:6
|
||||
msgid "String/Bytes Objects"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:8
|
||||
msgid ""
|
||||
"These functions raise :exc:`TypeError` when expecting a string parameter and "
|
||||
"are called with a non-string parameter."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:13
|
||||
msgid ""
|
||||
"These functions have been renamed to PyBytes_* in Python 3.x. Unless "
|
||||
"otherwise noted, the PyBytes functions available in 3.x are aliased to their "
|
||||
"PyString_* equivalents to help porting."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:22
|
||||
msgid "This subtype of :c:type:`PyObject` represents a Python string object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:29
|
||||
msgid ""
|
||||
"This instance of :c:type:`PyTypeObject` represents the Python string type; "
|
||||
"it is the same object as ``str`` and ``types.StringType`` in the Python "
|
||||
"layer. ."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:35
|
||||
msgid ""
|
||||
"Return true if the object *o* is a string object or an instance of a subtype "
|
||||
"of the string type."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:38
|
||||
msgid "Allowed subtypes to be accepted."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:44
|
||||
msgid ""
|
||||
"Return true if the object *o* is a string object, but not an instance of a "
|
||||
"subtype of the string type."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:52
|
||||
msgid ""
|
||||
"Return a new string 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 ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:59
|
||||
msgid ""
|
||||
"Return a new string 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 string are uninitialized."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:63
|
||||
msgid ""
|
||||
"This function used an :c:type:`int` type for *len*. This might require "
|
||||
"changes in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:70
|
||||
msgid ""
|
||||
"Take a C :c:func:`printf`\\ -style *format* string and a variable number of "
|
||||
"arguments, calculate the size of the resulting Python string and return a "
|
||||
"string 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 ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:86
|
||||
msgid "Format Characters"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:86
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:86
|
||||
msgid "Comment"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:88
|
||||
msgid ":attr:`%%`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:88
|
||||
msgid "*n/a*"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:88
|
||||
msgid "The literal % character."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:90
|
||||
msgid ":attr:`%c`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:90 ../Doc/c-api/string.rst:93
|
||||
#: ../Doc/c-api/string.rst:117 ../Doc/c-api/string.rst:120
|
||||
msgid "int"
|
||||
msgstr "int"
|
||||
|
||||
#: ../Doc/c-api/string.rst:90
|
||||
msgid "A single character, represented as a C int."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:93
|
||||
msgid ":attr:`%d`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:93
|
||||
msgid "Exactly equivalent to ``printf(\"%d\")``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:96
|
||||
msgid ":attr:`%u`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:96
|
||||
msgid "unsigned int"
|
||||
msgstr "unsigned int"
|
||||
|
||||
#: ../Doc/c-api/string.rst:96
|
||||
msgid "Exactly equivalent to ``printf(\"%u\")``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:99
|
||||
msgid ":attr:`%ld`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:99
|
||||
msgid "long"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:99
|
||||
msgid "Exactly equivalent to ``printf(\"%ld\")``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:102
|
||||
msgid ":attr:`%lu`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:102
|
||||
msgid "unsigned long"
|
||||
msgstr "unsigned long"
|
||||
|
||||
#: ../Doc/c-api/string.rst:102
|
||||
msgid "Exactly equivalent to ``printf(\"%lu\")``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:105
|
||||
msgid ":attr:`%lld`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:105
|
||||
msgid "long long"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:105
|
||||
msgid "Exactly equivalent to ``printf(\"%lld\")``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:108
|
||||
msgid ":attr:`%llu`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:108
|
||||
msgid "unsigned long long"
|
||||
msgstr "unsigned long long"
|
||||
|
||||
#: ../Doc/c-api/string.rst:108
|
||||
msgid "Exactly equivalent to ``printf(\"%llu\")``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:111
|
||||
msgid ":attr:`%zd`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:111
|
||||
msgid "Py_ssize_t"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:111
|
||||
msgid "Exactly equivalent to ``printf(\"%zd\")``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:114
|
||||
msgid ":attr:`%zu`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:114
|
||||
msgid "size_t"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:114
|
||||
msgid "Exactly equivalent to ``printf(\"%zu\")``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:117
|
||||
msgid ":attr:`%i`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:117
|
||||
msgid "Exactly equivalent to ``printf(\"%i\")``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:120
|
||||
msgid ":attr:`%x`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:120
|
||||
msgid "Exactly equivalent to ``printf(\"%x\")``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:123
|
||||
msgid ":attr:`%s`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:123
|
||||
msgid "char\\*"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:123
|
||||
msgid "A null-terminated C character array."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:126
|
||||
msgid ":attr:`%p`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:126
|
||||
msgid "void\\*"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:126
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:135
|
||||
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 ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:140
|
||||
msgid ""
|
||||
"The `\"%lld\"` and `\"%llu\"` format specifiers are only available when :"
|
||||
"const:`HAVE_LONG_LONG` is defined."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:143
|
||||
msgid "Support for `\"%lld\"` and `\"%llu\"` added."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:149
|
||||
msgid ""
|
||||
"Identical to :c:func:`PyString_FromFormat` except that it takes exactly two "
|
||||
"arguments."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:155
|
||||
msgid "Return the length of the string in string object *string*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:157
|
||||
msgid ""
|
||||
"This function returned an :c:type:`int` type. This might require changes in "
|
||||
"your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:164
|
||||
msgid "Macro form of :c:func:`PyString_Size` but without error checking."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:166
|
||||
msgid ""
|
||||
"This macro returned an :c:type:`int` type. This might require changes in "
|
||||
"your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:173
|
||||
msgid ""
|
||||
"Return a NUL-terminated representation of the contents of *string*. The "
|
||||
"pointer refers to the internal buffer of *string*, not a copy. The data "
|
||||
"must not be modified in any way, unless the string was just created using "
|
||||
"``PyString_FromStringAndSize(NULL, size)``. It must not be deallocated. If "
|
||||
"*string* is a Unicode object, this function computes the default encoding of "
|
||||
"*string* and operates on that. If *string* is not a string object at all, :"
|
||||
"c:func:`PyString_AsString` returns *NULL* and raises :exc:`TypeError`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:184
|
||||
msgid ""
|
||||
"Macro form of :c:func:`PyString_AsString` but without error checking. Only "
|
||||
"string objects are supported; no Unicode objects should be passed."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:190
|
||||
msgid ""
|
||||
"Return a NUL-terminated representation of the contents of the object *obj* "
|
||||
"through the output variables *buffer* and *length*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:193
|
||||
msgid ""
|
||||
"The function accepts both string and Unicode objects as input. For Unicode "
|
||||
"objects it returns the default encoded version of the object. 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 ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:198
|
||||
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 ``PyString_FromStringAndSize(NULL, size)``. It must not be "
|
||||
"deallocated. If *string* is a Unicode object, this function computes the "
|
||||
"default encoding of *string* and operates on that. If *string* is not a "
|
||||
"string object at all, :c:func:`PyString_AsStringAndSize` returns ``-1`` and "
|
||||
"raises :exc:`TypeError`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:205
|
||||
msgid ""
|
||||
"This function used an :c:type:`int *` type for *length*. This might require "
|
||||
"changes in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:212
|
||||
msgid ""
|
||||
"Create a new string object in *\\*string* containing the contents of "
|
||||
"*newpart* appended to *string*; the caller will own the new reference. The "
|
||||
"reference to the old value of *string* will be stolen. If the new string "
|
||||
"cannot be created, the old reference to *string* will still be discarded and "
|
||||
"the value of *\\*string* will be set to *NULL*; the appropriate exception "
|
||||
"will be set."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:221
|
||||
msgid ""
|
||||
"Create a new string object in *\\*string* containing the contents of "
|
||||
"*newpart* appended to *string*. This version decrements the reference count "
|
||||
"of *newpart*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:227
|
||||
msgid ""
|
||||
"A way to resize a string object even though it is \"immutable\". Only use "
|
||||
"this to build up a brand new string object; don't use this if the string may "
|
||||
"already be known in other parts of the code. It is an error to call this "
|
||||
"function if the refcount on the input string object is not one. Pass the "
|
||||
"address of an existing string object as an lvalue (it may be written into), "
|
||||
"and the new size desired. On success, *\\*string* holds the resized string "
|
||||
"object and ``0`` is returned; the address in *\\*string* may differ from its "
|
||||
"input value. If the reallocation fails, the original string object at *"
|
||||
"\\*string* is deallocated, *\\*string* is set to *NULL*, a memory exception "
|
||||
"is set, and ``-1`` is returned."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:237
|
||||
msgid ""
|
||||
"This function used an :c:type:`int` type for *newsize*. This might require "
|
||||
"changes in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:243
|
||||
msgid ""
|
||||
"Return a new string object from *format* and *args*. Analogous to ``format % "
|
||||
"args``. The *args* argument must be a tuple or dict."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:249
|
||||
msgid ""
|
||||
"Intern the argument *\\*string* in place. The argument must be the address "
|
||||
"of a pointer variable pointing to a Python string object. If there is an "
|
||||
"existing interned string that is the same as *\\*string*, it sets *"
|
||||
"\\*string* to it (decrementing the reference count of the old string object "
|
||||
"and incrementing the reference count of the interned string object), "
|
||||
"otherwise it leaves *\\*string* alone and interns it (incrementing its "
|
||||
"reference count). (Clarification: even though there is a lot of talk about "
|
||||
"reference counts, think of this function as reference-count-neutral; you own "
|
||||
"the object after the call if and only if you owned it before the call.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:261 ../Doc/c-api/string.rst:273
|
||||
#: ../Doc/c-api/string.rst:286 ../Doc/c-api/string.rst:303
|
||||
#: ../Doc/c-api/string.rst:316 ../Doc/c-api/string.rst:333
|
||||
msgid ""
|
||||
"This function is not available in 3.x and does not have a PyBytes alias."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:266
|
||||
msgid ""
|
||||
"A combination of :c:func:`PyString_FromString` and :c:func:"
|
||||
"`PyString_InternInPlace`, returning either a new string object that has been "
|
||||
"interned, or a new (\"owned\") reference to an earlier interned string "
|
||||
"object with the same value."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:278
|
||||
msgid ""
|
||||
"Create an object by decoding *size* bytes of the encoded buffer *s* using "
|
||||
"the codec registered for *encoding*. *encoding* and *errors* have the same "
|
||||
"meaning as the parameters of the same name in the :func:`unicode` built-in "
|
||||
"function. The codec to be used is looked up using the Python codec "
|
||||
"registry. Return *NULL* if an exception was raised by the codec."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:288 ../Doc/c-api/string.rst:318
|
||||
msgid ""
|
||||
"This function used an :c:type:`int` type for *size*. This might require "
|
||||
"changes in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:295
|
||||
msgid ""
|
||||
"Decode a string object by passing it to the codec registered for *encoding* "
|
||||
"and return the result as Python object. *encoding* and *errors* have the "
|
||||
"same meaning as the parameters of the same name in the string :meth:`encode` "
|
||||
"method. The codec to be used is looked up using the Python codec registry. "
|
||||
"Return *NULL* if an exception was raised by the codec."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:308
|
||||
msgid ""
|
||||
"Encode the :c:type:`char` buffer of the given size by passing it to the "
|
||||
"codec registered for *encoding* and return a Python object. *encoding* and "
|
||||
"*errors* have the same meaning as the parameters of the same name in the "
|
||||
"string :meth:`encode` method. The codec to be used is looked up using the "
|
||||
"Python codec registry. Return *NULL* if an exception was raised by the "
|
||||
"codec."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/string.rst:325
|
||||
msgid ""
|
||||
"Encode a string object using the codec registered for *encoding* and return "
|
||||
"the result as Python object. *encoding* and *errors* have the same meaning "
|
||||
"as the parameters of the same name in the string :meth:`encode` method. The "
|
||||
"codec to be used is looked up using the Python codec registry. Return *NULL* "
|
||||
"if an exception was raised by the codec."
|
||||
msgstr ""
|
|
@ -0,0 +1,508 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/structures.rst:6
|
||||
msgid "Common Object Structures"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:8
|
||||
msgid ""
|
||||
"There are a large number of structures which are used in the definition of "
|
||||
"object types for Python. This section describes these structures and how "
|
||||
"they are used."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:12
|
||||
msgid ""
|
||||
"All Python objects ultimately share a small number of fields at the "
|
||||
"beginning of the object's representation in memory. These are represented "
|
||||
"by the :c:type:`PyObject` and :c:type:`PyVarObject` types, which are "
|
||||
"defined, in turn, by the expansions of some macros also used, whether "
|
||||
"directly or indirectly, in the definition of all other Python objects."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:21
|
||||
msgid ""
|
||||
"All object types are extensions of this type. This is a type which contains "
|
||||
"the information Python needs to treat a pointer to an object as an object. "
|
||||
"In a normal \"release\" build, it contains only the object's reference count "
|
||||
"and a pointer to the corresponding type object. It corresponds to the "
|
||||
"fields defined by the expansion of the ``PyObject_HEAD`` macro."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:31
|
||||
msgid ""
|
||||
"This is an extension of :c:type:`PyObject` that adds the :attr:`ob_size` "
|
||||
"field. This is only used for objects that have some notion of *length*. "
|
||||
"This type does not often appear in the Python/C API. It corresponds to the "
|
||||
"fields defined by the expansion of the ``PyObject_VAR_HEAD`` macro."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:36
|
||||
msgid ""
|
||||
"These macros are used in the definition of :c:type:`PyObject` and :c:type:"
|
||||
"`PyVarObject`:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:42
|
||||
msgid ""
|
||||
"This is a macro which expands to the declarations of the fields of the :c:"
|
||||
"type:`PyObject` type; it is used when declaring new types which represent "
|
||||
"objects without a varying length. The specific fields it expands to depend "
|
||||
"on the definition of :c:macro:`Py_TRACE_REFS`. By default, that macro is "
|
||||
"not defined, and :c:macro:`PyObject_HEAD` expands to::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:51
|
||||
msgid "When :c:macro:`Py_TRACE_REFS` is defined, it expands to::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:60
|
||||
msgid ""
|
||||
"This is a macro which expands to the declarations of the fields of the :c:"
|
||||
"type:`PyVarObject` type; it is used when declaring new types which represent "
|
||||
"objects with a length that varies from instance to instance. This macro "
|
||||
"always expands to::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:68
|
||||
msgid ""
|
||||
"Note that :c:macro:`PyObject_HEAD` is part of the expansion, and that its "
|
||||
"own expansion varies depending on the definition of :c:macro:`Py_TRACE_REFS`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:74
|
||||
msgid ""
|
||||
"This macro is used to access the :attr:`ob_type` member of a Python object. "
|
||||
"It expands to::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:84
|
||||
msgid ""
|
||||
"This macro is used to access the :attr:`ob_refcnt` member of a Python "
|
||||
"object. It expands to::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:95
|
||||
msgid ""
|
||||
"This macro is used to access the :attr:`ob_size` member of a Python object. "
|
||||
"It expands to::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:105
|
||||
msgid ""
|
||||
"This is a macro which expands to initialization values for a new :c:type:"
|
||||
"`PyObject` type. This macro expands to::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:114
|
||||
msgid ""
|
||||
"This is a macro which expands to initialization values for a new :c:type:"
|
||||
"`PyVarObject` type, including the :attr:`ob_size` field. This macro expands "
|
||||
"to::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:124
|
||||
msgid ""
|
||||
"Type of the functions used to implement most Python callables in C. "
|
||||
"Functions of this type take two :c:type:`PyObject\\*` parameters and return "
|
||||
"one such value. If the return value is *NULL*, an exception shall have been "
|
||||
"set. If not *NULL*, the return value is interpreted as the return value of "
|
||||
"the function as exposed in Python. The function must return a new reference."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:134
|
||||
msgid ""
|
||||
"Structure used to describe a method of an extension type. This structure "
|
||||
"has four fields:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:138 ../Doc/c-api/structures.rst:264
|
||||
msgid "Field"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:138 ../Doc/c-api/structures.rst:264
|
||||
msgid "C Type"
|
||||
msgstr "Type C"
|
||||
|
||||
#: ../Doc/c-api/structures.rst:138 ../Doc/c-api/structures.rst:264
|
||||
msgid "Meaning"
|
||||
msgstr "Signification"
|
||||
|
||||
#: ../Doc/c-api/structures.rst:140
|
||||
msgid ":attr:`ml_name`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:140 ../Doc/c-api/structures.rst:148
|
||||
#: ../Doc/c-api/structures.rst:266 ../Doc/c-api/structures.rst:279
|
||||
#: ../Doc/c-api/structures.rst:295
|
||||
msgid "char \\*"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:140
|
||||
msgid "name of the method"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:142
|
||||
msgid ":attr:`ml_meth`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:142
|
||||
msgid "PyCFunction"
|
||||
msgstr "PyCFunction"
|
||||
|
||||
#: ../Doc/c-api/structures.rst:142
|
||||
msgid "pointer to the C implementation"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:145
|
||||
msgid ":attr:`ml_flags`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:145 ../Doc/c-api/structures.rst:268
|
||||
#: ../Doc/c-api/structures.rst:275 ../Doc/c-api/structures.rst:291
|
||||
msgid "int"
|
||||
msgstr "int"
|
||||
|
||||
#: ../Doc/c-api/structures.rst:145
|
||||
msgid "flag bits indicating how the call should be constructed"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:148
|
||||
msgid ":attr:`ml_doc`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:148 ../Doc/c-api/structures.rst:279
|
||||
msgid "points to the contents of the docstring"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:152
|
||||
msgid ""
|
||||
"The :attr:`ml_meth` is a C function pointer. The functions may be of "
|
||||
"different types, but they always return :c:type:`PyObject\\*`. If the "
|
||||
"function is not of the :c:type:`PyCFunction`, the compiler will require a "
|
||||
"cast in the method table. Even though :c:type:`PyCFunction` defines the "
|
||||
"first parameter as :c:type:`PyObject\\*`, it is common that the method "
|
||||
"implementation uses the specific C type of the *self* object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:159
|
||||
msgid ""
|
||||
"The :attr:`ml_flags` field is a bitfield which can include the following "
|
||||
"flags. The individual flags indicate either a calling convention or a "
|
||||
"binding convention. Of the calling convention flags, only :const:"
|
||||
"`METH_VARARGS` and :const:`METH_KEYWORDS` can be combined. Any of the "
|
||||
"calling convention flags can be combined with a binding flag."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:168
|
||||
msgid ""
|
||||
"This is the typical calling convention, where the methods have the type :c:"
|
||||
"type:`PyCFunction`. The function expects two :c:type:`PyObject\\*` values. "
|
||||
"The first one is the *self* object for methods; for module functions, it is "
|
||||
"the module object. The second parameter (often called *args*) is a tuple "
|
||||
"object representing all arguments. This parameter is typically processed "
|
||||
"using :c:func:`PyArg_ParseTuple` or :c:func:`PyArg_UnpackTuple`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:178
|
||||
msgid ""
|
||||
"Methods with these flags must be of type :c:type:`PyCFunctionWithKeywords`. "
|
||||
"The function expects three parameters: *self*, *args*, and a dictionary of "
|
||||
"all the keyword arguments. The flag is typically combined with :const:"
|
||||
"`METH_VARARGS`, and the parameters are typically processed using :c:func:"
|
||||
"`PyArg_ParseTupleAndKeywords`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:187
|
||||
msgid ""
|
||||
"Methods without parameters don't need to check whether arguments are given "
|
||||
"if they are listed with the :const:`METH_NOARGS` flag. They need to be of "
|
||||
"type :c:type:`PyCFunction`. The first parameter is typically named ``self`` "
|
||||
"and will hold a reference to the module or object instance. In all cases "
|
||||
"the second parameter will be *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:196
|
||||
msgid ""
|
||||
"Methods with a single object argument can be listed with the :const:`METH_O` "
|
||||
"flag, instead of invoking :c:func:`PyArg_ParseTuple` with a ``\"O\"`` "
|
||||
"argument. They have the type :c:type:`PyCFunction`, with the *self* "
|
||||
"parameter, and a :c:type:`PyObject\\*` parameter representing the single "
|
||||
"argument."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:204
|
||||
msgid ""
|
||||
"This calling convention is deprecated. The method must be of type :c:type:"
|
||||
"`PyCFunction`. The second argument is *NULL* if no arguments are given, a "
|
||||
"single object if exactly one argument is given, and a tuple of objects if "
|
||||
"more than one argument is given. There is no way for a function using this "
|
||||
"convention to distinguish between a call with multiple arguments and a call "
|
||||
"with a tuple as the only argument."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:211
|
||||
msgid ""
|
||||
"These two constants are not used to indicate the calling convention but the "
|
||||
"binding when use with methods of classes. These may not be used for "
|
||||
"functions defined for modules. At most one of these flags may be set for "
|
||||
"any given method."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:221
|
||||
msgid ""
|
||||
"The method will be passed the type object as the first parameter rather than "
|
||||
"an instance of the type. This is used to create *class methods*, similar to "
|
||||
"what is created when using the :func:`classmethod` built-in function."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:233
|
||||
msgid ""
|
||||
"The method will be passed *NULL* as the first parameter rather than an "
|
||||
"instance of the type. This is used to create *static methods*, similar to "
|
||||
"what is created when using the :func:`staticmethod` built-in function."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:239
|
||||
msgid ""
|
||||
"One other constant controls whether a method is loaded in place of another "
|
||||
"definition with the same method name."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:245
|
||||
msgid ""
|
||||
"The method will be loaded in place of existing definitions. Without "
|
||||
"*METH_COEXIST*, the default is to skip repeated definitions. Since slot "
|
||||
"wrappers are loaded before the method table, the existence of a "
|
||||
"*sq_contains* slot, for example, would generate a wrapped method named :meth:"
|
||||
"`__contains__` and preclude the loading of a corresponding PyCFunction with "
|
||||
"the same name. With the flag defined, the PyCFunction will be loaded in "
|
||||
"place of the wrapper object and will co-exist with the slot. This is "
|
||||
"helpful because calls to PyCFunctions are optimized more than wrapper object "
|
||||
"calls."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:260
|
||||
msgid ""
|
||||
"Structure which describes an attribute of a type which corresponds to a C "
|
||||
"struct member. Its fields are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:266
|
||||
msgid ":attr:`name`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:266
|
||||
msgid "name of the member"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:268
|
||||
msgid ":attr:`type`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:268
|
||||
msgid "the type of the member in the C struct"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:271
|
||||
msgid ":attr:`offset`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:271 ../Doc/c-api/structures.rst:307
|
||||
msgid "Py_ssize_t"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:271
|
||||
msgid ""
|
||||
"the offset in bytes that the member is located on the type's object struct"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:275
|
||||
msgid ":attr:`flags`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:275
|
||||
msgid "flag bits indicating if the field should be read-only or writable"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:279
|
||||
msgid ":attr:`doc`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:283
|
||||
msgid ""
|
||||
":attr:`type` can be one of many ``T_`` macros corresponding to various C "
|
||||
"types. When the member is accessed in Python, it will be converted to the "
|
||||
"equivalent Python type."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:288
|
||||
msgid "Macro name"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:288
|
||||
msgid "C type"
|
||||
msgstr "Type C"
|
||||
|
||||
#: ../Doc/c-api/structures.rst:290
|
||||
msgid "T_SHORT"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:290
|
||||
msgid "short"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:291
|
||||
msgid "T_INT"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:292
|
||||
msgid "T_LONG"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:292
|
||||
msgid "long"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:293
|
||||
msgid "T_FLOAT"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:293
|
||||
msgid "float"
|
||||
msgstr "float"
|
||||
|
||||
#: ../Doc/c-api/structures.rst:294
|
||||
msgid "T_DOUBLE"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:294
|
||||
msgid "double"
|
||||
msgstr "double"
|
||||
|
||||
#: ../Doc/c-api/structures.rst:295
|
||||
msgid "T_STRING"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:296
|
||||
msgid "T_OBJECT"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:296 ../Doc/c-api/structures.rst:297
|
||||
msgid "PyObject \\*"
|
||||
msgstr "PyObject \\*"
|
||||
|
||||
#: ../Doc/c-api/structures.rst:297
|
||||
msgid "T_OBJECT_EX"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:298
|
||||
msgid "T_CHAR"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:298 ../Doc/c-api/structures.rst:299
|
||||
#: ../Doc/c-api/structures.rst:304
|
||||
msgid "char"
|
||||
msgstr "char"
|
||||
|
||||
#: ../Doc/c-api/structures.rst:299
|
||||
msgid "T_BYTE"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:300
|
||||
msgid "T_UBYTE"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:300
|
||||
msgid "unsigned char"
|
||||
msgstr "unsigned char"
|
||||
|
||||
#: ../Doc/c-api/structures.rst:301
|
||||
msgid "T_UINT"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:301
|
||||
msgid "unsigned int"
|
||||
msgstr "unsigned int"
|
||||
|
||||
#: ../Doc/c-api/structures.rst:302
|
||||
msgid "T_USHORT"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:302
|
||||
msgid "unsigned short"
|
||||
msgstr "unsigned short"
|
||||
|
||||
#: ../Doc/c-api/structures.rst:303
|
||||
msgid "T_ULONG"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:303
|
||||
msgid "unsigned long"
|
||||
msgstr "unsigned long"
|
||||
|
||||
#: ../Doc/c-api/structures.rst:304
|
||||
msgid "T_BOOL"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:305
|
||||
msgid "T_LONGLONG"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:305
|
||||
msgid "long long"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:306
|
||||
msgid "T_ULONGLONG"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:306
|
||||
msgid "unsigned long long"
|
||||
msgstr "unsigned long long"
|
||||
|
||||
#: ../Doc/c-api/structures.rst:307
|
||||
msgid "T_PYSSIZET"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:310
|
||||
msgid ""
|
||||
":c:macro:`T_OBJECT` and :c:macro:`T_OBJECT_EX` differ in that :c:macro:"
|
||||
"`T_OBJECT` returns ``None`` if the member is *NULL* and :c:macro:"
|
||||
"`T_OBJECT_EX` raises an :exc:`AttributeError`. Try to use :c:macro:"
|
||||
"`T_OBJECT_EX` over :c:macro:`T_OBJECT` because :c:macro:`T_OBJECT_EX` "
|
||||
"handles use of the :keyword:`del` statement on that attribute more correctly "
|
||||
"than :c:macro:`T_OBJECT`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:317
|
||||
msgid ""
|
||||
":attr:`flags` can be 0 for write and read access or :c:macro:`READONLY` for "
|
||||
"read-only access. Using :c:macro:`T_STRING` for :attr:`type` implies :c:"
|
||||
"macro:`READONLY`. Only :c:macro:`T_OBJECT` and :c:macro:`T_OBJECT_EX` "
|
||||
"members can be deleted. (They are set to *NULL*)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/structures.rst:325
|
||||
msgid ""
|
||||
"Return a bound method object for an extension type implemented in C. This "
|
||||
"can be useful in the implementation of a :c:member:`~PyTypeObject."
|
||||
"tp_getattro` or :c:member:`~PyTypeObject.tp_getattr` handler that does not "
|
||||
"use the :c:func:`PyObject_GenericGetAttr` function."
|
||||
msgstr ""
|
|
@ -0,0 +1,170 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/sys.rst:6
|
||||
msgid "Operating System Utilities"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sys.rst:11
|
||||
msgid ""
|
||||
"Return true (nonzero) if the standard I/O file *fp* with name *filename* is "
|
||||
"deemed interactive. This is the case for files for which "
|
||||
"``isatty(fileno(fp))`` is true. If the global flag :c:data:"
|
||||
"`Py_InteractiveFlag` is true, this function also returns true if the "
|
||||
"*filename* pointer is *NULL* or if the name is equal to one of the strings "
|
||||
"``'<stdin>'`` or ``'???'``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sys.rst:20
|
||||
msgid ""
|
||||
"Function to update some internal state after a process fork; this should be "
|
||||
"called in the new process if the Python interpreter will continue to be "
|
||||
"used. If a new executable is loaded into the new process, this function does "
|
||||
"not need to be called."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sys.rst:28
|
||||
msgid ""
|
||||
"Return true when the interpreter runs out of stack space. This is a "
|
||||
"reliable check, but is only available when :const:`USE_STACKCHECK` is "
|
||||
"defined (currently on Windows using the Microsoft Visual C++ compiler). :"
|
||||
"const:`USE_STACKCHECK` will be defined automatically; you should never "
|
||||
"change the definition in your own code."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sys.rst:37
|
||||
msgid ""
|
||||
"Return the current signal handler for signal *i*. This is a thin wrapper "
|
||||
"around either :c:func:`sigaction` or :c:func:`signal`. Do not call those "
|
||||
"functions directly! :c:type:`PyOS_sighandler_t` is a typedef alias for :c:"
|
||||
"type:`void (\\*)(int)`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sys.rst:45
|
||||
msgid ""
|
||||
"Set the signal handler for signal *i* to be *h*; return the old signal "
|
||||
"handler. This is a thin wrapper around either :c:func:`sigaction` or :c:func:"
|
||||
"`signal`. Do not call those functions directly! :c:type:"
|
||||
"`PyOS_sighandler_t` is a typedef alias for :c:type:`void (\\*)(int)`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sys.rst:53
|
||||
msgid "System Functions"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sys.rst:55
|
||||
msgid ""
|
||||
"These are utility functions that make functionality from the :mod:`sys` "
|
||||
"module accessible to C code. They all work with the current interpreter "
|
||||
"thread's :mod:`sys` module's dict, which is contained in the internal thread "
|
||||
"state structure."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sys.rst:61
|
||||
msgid ""
|
||||
"Return the object *name* from the :mod:`sys` module or *NULL* if it does not "
|
||||
"exist, without setting an exception."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sys.rst:66
|
||||
msgid ""
|
||||
"Return the :c:type:`FILE*` associated with the object *name* in the :mod:"
|
||||
"`sys` module, or *def* if *name* is not in the module or is not associated "
|
||||
"with a :c:type:`FILE*`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sys.rst:72
|
||||
msgid ""
|
||||
"Set *name* in the :mod:`sys` module to *v* unless *v* is *NULL*, in which "
|
||||
"case *name* is deleted from the sys module. Returns ``0`` on success, ``-1`` "
|
||||
"on error."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sys.rst:78
|
||||
msgid "Reset :data:`sys.warnoptions` to an empty list."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sys.rst:82
|
||||
msgid "Append *s* to :data:`sys.warnoptions`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sys.rst:86
|
||||
msgid ""
|
||||
"Set :data:`sys.path` to a list object of paths found in *path* which should "
|
||||
"be a list of paths separated with the platform's search path delimiter (``:"
|
||||
"`` on Unix, ``;`` on Windows)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sys.rst:92
|
||||
msgid ""
|
||||
"Write the output string described by *format* to :data:`sys.stdout`. No "
|
||||
"exceptions are raised, even if truncation occurs (see below)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sys.rst:95
|
||||
msgid ""
|
||||
"*format* should limit the total size of the formatted output string to 1000 "
|
||||
"bytes or less -- after 1000 bytes, the output string is truncated. In "
|
||||
"particular, this means that no unrestricted \"%s\" formats should occur; "
|
||||
"these should be limited using \"%.<N>s\" where <N> is a decimal number "
|
||||
"calculated so that <N> plus the maximum size of other formatted text does "
|
||||
"not exceed 1000 bytes. Also watch out for \"%f\", which can print hundreds "
|
||||
"of digits for very large numbers."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sys.rst:103
|
||||
msgid ""
|
||||
"If a problem occurs, or :data:`sys.stdout` is unset, the formatted message "
|
||||
"is written to the real (C level) *stdout*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sys.rst:108
|
||||
msgid "As above, but write to :data:`sys.stderr` or *stderr* instead."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sys.rst:114
|
||||
msgid "Process Control"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sys.rst:121
|
||||
msgid ""
|
||||
"Print a fatal error message and kill the process. No cleanup is performed. "
|
||||
"This function should only be invoked when a condition is detected that would "
|
||||
"make it dangerous to continue using the Python interpreter; e.g., when the "
|
||||
"object administration appears to be corrupted. On Unix, the standard C "
|
||||
"library function :c:func:`abort` is called which will attempt to produce a :"
|
||||
"file:`core` file."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sys.rst:135
|
||||
msgid ""
|
||||
"Exit the current process. This calls :c:func:`Py_Finalize` and then calls "
|
||||
"the standard C library function ``exit(status)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/sys.rst:145
|
||||
msgid ""
|
||||
"Register a cleanup function to be called by :c:func:`Py_Finalize`. The "
|
||||
"cleanup function will be called with no arguments and should return no "
|
||||
"value. At most 32 cleanup functions can be registered. When the "
|
||||
"registration is successful, :c:func:`Py_AtExit` returns ``0``; on failure, "
|
||||
"it returns ``-1``. The cleanup function registered last is called first. "
|
||||
"Each cleanup function will be called at most once. Since Python's internal "
|
||||
"finalization will have completed before the cleanup function, no Python APIs "
|
||||
"should be called by *func*."
|
||||
msgstr ""
|
|
@ -0,0 +1,162 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:6
|
||||
msgid "Tuple Objects"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:13
|
||||
msgid "This subtype of :c:type:`PyObject` represents a Python tuple object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:20
|
||||
msgid ""
|
||||
"This instance of :c:type:`PyTypeObject` represents the Python tuple type; it "
|
||||
"is the same object as ``tuple`` and ``types.TupleType`` in the Python layer.."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:26
|
||||
msgid ""
|
||||
"Return true if *p* is a tuple object or an instance of a subtype of the "
|
||||
"tuple type."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:29
|
||||
msgid "Allowed subtypes to be accepted."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:35
|
||||
msgid ""
|
||||
"Return true if *p* is a tuple object, but not an instance of a subtype of "
|
||||
"the tuple type."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:43
|
||||
msgid "Return a new tuple object of size *len*, or *NULL* on failure."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:45
|
||||
msgid ""
|
||||
"This function used an :c:type:`int` type for *len*. This might require "
|
||||
"changes in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:52
|
||||
msgid ""
|
||||
"Return a new tuple object of size *n*, or *NULL* on failure. The tuple "
|
||||
"values are initialized to the subsequent *n* C arguments pointing to Python "
|
||||
"objects. ``PyTuple_Pack(2, a, b)`` is equivalent to "
|
||||
"``Py_BuildValue(\"(OO)\", a, b)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:58
|
||||
msgid ""
|
||||
"This function used an :c:type:`int` type for *n*. This might require changes "
|
||||
"in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:65
|
||||
msgid "Take a pointer to a tuple object, and return the size of that tuple."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:67 ../Doc/c-api/tuple.rst:77
|
||||
msgid ""
|
||||
"This function returned an :c:type:`int` type. This might require changes in "
|
||||
"your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:74
|
||||
msgid ""
|
||||
"Return the size of the tuple *p*, which must be non-*NULL* and point to a "
|
||||
"tuple; no error checking is performed."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:84
|
||||
msgid ""
|
||||
"Return the object at position *pos* in the tuple pointed to by *p*. If "
|
||||
"*pos* is out of bounds, return *NULL* and sets an :exc:`IndexError` "
|
||||
"exception."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:87 ../Doc/c-api/tuple.rst:96
|
||||
#: ../Doc/c-api/tuple.rst:120 ../Doc/c-api/tuple.rst:134
|
||||
msgid ""
|
||||
"This function used an :c:type:`int` type for *pos*. This might require "
|
||||
"changes in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:94
|
||||
msgid "Like :c:func:`PyTuple_GetItem`, but does no checking of its arguments."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:103
|
||||
msgid ""
|
||||
"Take a slice of the tuple pointed to by *p* from *low* to *high* and return "
|
||||
"it as a new tuple."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:106
|
||||
msgid ""
|
||||
"This function used an :c:type:`int` type for *low* and *high*. This might "
|
||||
"require changes in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:113
|
||||
msgid ""
|
||||
"Insert a reference to object *o* at position *pos* of the tuple pointed to "
|
||||
"by *p*. Return ``0`` on success."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:118 ../Doc/c-api/tuple.rst:132
|
||||
msgid "This function \"steals\" a reference to *o*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:127
|
||||
msgid ""
|
||||
"Like :c:func:`PyTuple_SetItem`, but does no error checking, and should "
|
||||
"*only* be used to fill in brand new tuples."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:141
|
||||
msgid ""
|
||||
"Can be used to resize a tuple. *newsize* will be the new length of the "
|
||||
"tuple. Because tuples are *supposed* to be immutable, this should only be "
|
||||
"used if there is only one reference to the object. Do *not* use this if the "
|
||||
"tuple may already be known to some other part of the code. The tuple will "
|
||||
"always grow or shrink at the end. Think of this as destroying the old tuple "
|
||||
"and creating a new one, only more efficiently. Returns ``0`` on success. "
|
||||
"Client code should never assume that the resulting value of ``*p`` will be "
|
||||
"the same as before calling this function. If the object referenced by ``*p`` "
|
||||
"is replaced, the original ``*p`` is destroyed. On failure, returns ``-1`` "
|
||||
"and sets ``*p`` to *NULL*, and raises :exc:`MemoryError` or :exc:"
|
||||
"`SystemError`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:152
|
||||
msgid "Removed unused third parameter, *last_is_sticky*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:155
|
||||
msgid ""
|
||||
"This function used an :c:type:`int` type for *newsize*. This might require "
|
||||
"changes in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:162
|
||||
msgid "Clear the free list. Return the total number of freed items."
|
||||
msgstr ""
|
|
@ -0,0 +1,91 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/type.rst:6
|
||||
msgid "Type Objects"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/type.rst:13
|
||||
msgid "The C structure of the objects used to describe built-in types."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/type.rst:20
|
||||
msgid ""
|
||||
"This is the type object for type objects; it is the same object as ``type`` "
|
||||
"and ``types.TypeType`` in the Python layer."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/type.rst:26
|
||||
msgid ""
|
||||
"Return true if the object *o* is a type object, including instances of types "
|
||||
"derived from the standard type object. Return false in all other cases."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/type.rst:32
|
||||
msgid ""
|
||||
"Return true if the object *o* is a type object, but not a subtype of the "
|
||||
"standard type object. Return false in all other cases."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/type.rst:40
|
||||
msgid "Clear the internal lookup cache. Return the current version tag."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/type.rst:47
|
||||
msgid ""
|
||||
"Invalidate the internal lookup cache for the type and all of its subtypes. "
|
||||
"This function must be called after any manual modification of the attributes "
|
||||
"or base classes of the type."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/type.rst:56
|
||||
msgid ""
|
||||
"Return true if the type object *o* sets the feature *feature*. Type "
|
||||
"features are denoted by single bit flags."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/type.rst:62
|
||||
msgid ""
|
||||
"Return true if the type object includes support for the cycle detector; this "
|
||||
"tests the type flag :const:`Py_TPFLAGS_HAVE_GC`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/type.rst:70
|
||||
msgid "Return true if *a* is a subtype of *b*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/type.rst:74
|
||||
msgid ""
|
||||
"This function only checks for actual subtypes, which means that :meth:"
|
||||
"`~class.__subclasscheck__` is not called on *b*. Call :c:func:"
|
||||
"`PyObject_IsSubclass` to do the same check that :func:`issubclass` would do."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/type.rst:84
|
||||
msgid ""
|
||||
"This function used an :c:type:`int` type for *nitems*. This might require "
|
||||
"changes in your code for properly supporting 64-bit systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/type.rst:96
|
||||
msgid ""
|
||||
"Finalize a type object. This should be called on all type objects to finish "
|
||||
"their initialization. This function is responsible for adding inherited "
|
||||
"slots from a type's base class. Return ``0`` on success, or return ``-1`` "
|
||||
"and sets an exception on error."
|
||||
msgstr ""
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,29 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/utilities.rst:8
|
||||
msgid "Utilities"
|
||||
msgstr "Utilitaires"
|
||||
|
||||
#: ../Doc/c-api/utilities.rst:10
|
||||
msgid ""
|
||||
"The functions in this chapter perform various utility tasks, ranging from "
|
||||
"helping C code be more portable across platforms, using Python modules from "
|
||||
"C, and parsing function arguments and constructing Python values from C "
|
||||
"values."
|
||||
msgstr ""
|
|
@ -0,0 +1,348 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:8
|
||||
msgid "The Very High Level Layer"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:10
|
||||
msgid ""
|
||||
"The functions in this chapter will let you execute Python source code given "
|
||||
"in a file or a buffer, but they will not let you interact in a more detailed "
|
||||
"way with the interpreter."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:14
|
||||
msgid ""
|
||||
"Several of these functions accept a start symbol from the grammar as a "
|
||||
"parameter. The available start symbols are :const:`Py_eval_input`, :const:"
|
||||
"`Py_file_input`, and :const:`Py_single_input`. These are described "
|
||||
"following the functions which accept them as parameters."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:19
|
||||
msgid ""
|
||||
"Note also that several of these functions take :c:type:`FILE\\*` "
|
||||
"parameters. One particular issue which needs to be handled carefully is "
|
||||
"that the :c:type:`FILE` structure for different C libraries can be different "
|
||||
"and incompatible. Under Windows (at least), it is possible for dynamically "
|
||||
"linked extensions to actually use different libraries, so care should be "
|
||||
"taken that :c:type:`FILE\\*` parameters are only passed to these functions "
|
||||
"if it is certain that they were created by the same library that the Python "
|
||||
"runtime is using."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:30
|
||||
msgid ""
|
||||
"The main program for the standard interpreter. This is made available for "
|
||||
"programs which embed Python. The *argc* and *argv* parameters should be "
|
||||
"prepared exactly as those which are passed to a C program's :c:func:`main` "
|
||||
"function. It is important to note that the argument list may be modified "
|
||||
"(but the contents of the strings pointed to by the argument list are not). "
|
||||
"The return value will be ``0`` if the interpreter exits normally (ie, "
|
||||
"without an exception), ``1`` if the interpreter exits due to an exception, "
|
||||
"or ``2`` if the parameter list does not represent a valid Python command "
|
||||
"line."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:39
|
||||
msgid ""
|
||||
"Note that if an otherwise unhandled :exc:`SystemExit` is raised, this "
|
||||
"function will not return ``1``, but exit the process, as long as "
|
||||
"``Py_InspectFlag`` is not set."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:46
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`PyRun_AnyFileExFlags` below, "
|
||||
"leaving *closeit* set to ``0`` and *flags* set to *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:52
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`PyRun_AnyFileExFlags` below, "
|
||||
"leaving the *closeit* argument set to ``0``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:58
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`PyRun_AnyFileExFlags` below, "
|
||||
"leaving the *flags* argument set to *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:64
|
||||
msgid ""
|
||||
"If *fp* refers to a file associated with an interactive device (console or "
|
||||
"terminal input or Unix pseudo-terminal), return the value of :c:func:"
|
||||
"`PyRun_InteractiveLoop`, otherwise return the result of :c:func:"
|
||||
"`PyRun_SimpleFile`. If *filename* is *NULL*, this function uses ``\"???\"`` "
|
||||
"as the filename."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:73
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`PyRun_SimpleStringFlags` below, "
|
||||
"leaving the *PyCompilerFlags\\** argument set to NULL."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:79
|
||||
msgid ""
|
||||
"Executes the Python source code from *command* in the :mod:`__main__` module "
|
||||
"according to the *flags* argument. If :mod:`__main__` does not already "
|
||||
"exist, it is created. Returns ``0`` on success or ``-1`` if an exception "
|
||||
"was raised. If there was an error, there is no way to get the exception "
|
||||
"information. For the meaning of *flags*, see below."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:85
|
||||
msgid ""
|
||||
"Note that if an otherwise unhandled :exc:`SystemExit` is raised, this "
|
||||
"function will not return ``-1``, but exit the process, as long as "
|
||||
"``Py_InspectFlag`` is not set."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:92
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`PyRun_SimpleFileExFlags` below, "
|
||||
"leaving *closeit* set to ``0`` and *flags* set to *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:98
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`PyRun_SimpleFileExFlags` below, "
|
||||
"leaving *closeit* set to ``0``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:104
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`PyRun_SimpleFileExFlags` below, "
|
||||
"leaving *flags* set to *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:110
|
||||
msgid ""
|
||||
"Similar to :c:func:`PyRun_SimpleStringFlags`, but the Python source code is "
|
||||
"read from *fp* instead of an in-memory string. *filename* should be the name "
|
||||
"of the file. If *closeit* is true, the file is closed before "
|
||||
"PyRun_SimpleFileExFlags returns."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:118
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`PyRun_InteractiveOneFlags` below, "
|
||||
"leaving *flags* set to *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:124
|
||||
msgid ""
|
||||
"Read and execute a single statement from a file associated with an "
|
||||
"interactive device according to the *flags* argument. The user will be "
|
||||
"prompted using ``sys.ps1`` and ``sys.ps2``. Returns ``0`` when the input "
|
||||
"was executed successfully, ``-1`` if there was an exception, or an error "
|
||||
"code from the :file:`errcode.h` include file distributed as part of Python "
|
||||
"if there was a parse error. (Note that :file:`errcode.h` is not included "
|
||||
"by :file:`Python.h`, so must be included specifically if needed.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:135
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`PyRun_InteractiveLoopFlags` "
|
||||
"below, leaving *flags* set to *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:141
|
||||
msgid ""
|
||||
"Read and execute statements from a file associated with an interactive "
|
||||
"device until EOF is reached. The user will be prompted using ``sys.ps1`` "
|
||||
"and ``sys.ps2``. Returns ``0`` at EOF."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:148
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:"
|
||||
"`PyParser_SimpleParseStringFlagsFilename` below, leaving *filename* set to "
|
||||
"*NULL* and *flags* set to ``0``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:155
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:"
|
||||
"`PyParser_SimpleParseStringFlagsFilename` below, leaving *filename* set to "
|
||||
"*NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:162
|
||||
msgid ""
|
||||
"Parse Python source code from *str* using the start token *start* according "
|
||||
"to the *flags* argument. The result can be used to create a code object "
|
||||
"which can be evaluated efficiently. This is useful if a code fragment must "
|
||||
"be evaluated many times."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:170
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`PyParser_SimpleParseFileFlags` "
|
||||
"below, leaving *flags* set to ``0``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:176
|
||||
msgid ""
|
||||
"Similar to :c:func:`PyParser_SimpleParseStringFlagsFilename`, but the Python "
|
||||
"source code is read from *fp* instead of an in-memory string."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:182
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`PyRun_StringFlags` below, leaving "
|
||||
"*flags* set to *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:188
|
||||
msgid ""
|
||||
"Execute Python source code from *str* in the context specified by the "
|
||||
"dictionaries *globals* and *locals* with the compiler flags specified by "
|
||||
"*flags*. The parameter *start* specifies the start token that should be "
|
||||
"used to parse the source code."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:193
|
||||
msgid ""
|
||||
"Returns the result of executing the code as a Python object, or *NULL* if an "
|
||||
"exception was raised."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:199
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`PyRun_FileExFlags` below, leaving "
|
||||
"*closeit* set to ``0`` and *flags* set to *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:205
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`PyRun_FileExFlags` below, leaving "
|
||||
"*flags* set to *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:211
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`PyRun_FileExFlags` below, leaving "
|
||||
"*closeit* set to ``0``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:217
|
||||
msgid ""
|
||||
"Similar to :c:func:`PyRun_StringFlags`, but the Python source code is read "
|
||||
"from *fp* instead of an in-memory string. *filename* should be the name of "
|
||||
"the file. If *closeit* is true, the file is closed before :c:func:"
|
||||
"`PyRun_FileExFlags` returns."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:225
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`Py_CompileStringFlags` below, "
|
||||
"leaving *flags* set to *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:231
|
||||
msgid ""
|
||||
"Parse and compile the Python source code in *str*, returning the resulting "
|
||||
"code object. The start token is given by *start*; this can be used to "
|
||||
"constrain the code which can be compiled and should be :const:"
|
||||
"`Py_eval_input`, :const:`Py_file_input`, or :const:`Py_single_input`. The "
|
||||
"filename specified by *filename* is used to construct the code object and "
|
||||
"may appear in tracebacks or :exc:`SyntaxError` exception messages. This "
|
||||
"returns *NULL* if the code cannot be parsed or compiled."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:242
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`PyEval_EvalCodeEx`, with just the "
|
||||
"code object, and the dictionaries of global and local variables. The other "
|
||||
"arguments are set to *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:249
|
||||
msgid ""
|
||||
"Evaluate a precompiled code object, given a particular environment for its "
|
||||
"evaluation. This environment consists of dictionaries of global and local "
|
||||
"variables, arrays of arguments, keywords and defaults, and a closure tuple "
|
||||
"of cells."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:257
|
||||
msgid ""
|
||||
"Evaluate an execution frame. This is a simplified interface to "
|
||||
"PyEval_EvalFrameEx, for backward compatibility."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:263
|
||||
msgid ""
|
||||
"This is the main, unvarnished function of Python interpretation. It is "
|
||||
"literally 2000 lines long. The code object associated with the execution "
|
||||
"frame *f* is executed, interpreting bytecode and executing calls as needed. "
|
||||
"The additional *throwflag* parameter can mostly be ignored - if true, then "
|
||||
"it causes an exception to immediately be thrown; this is used for the :meth:"
|
||||
"`~generator.throw` methods of generator objects."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:273
|
||||
msgid ""
|
||||
"This function changes the flags of the current evaluation frame, and returns "
|
||||
"true on success, false on failure."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:281
|
||||
msgid ""
|
||||
"The start symbol from the Python grammar for isolated expressions; for use "
|
||||
"with :c:func:`Py_CompileString`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:289
|
||||
msgid ""
|
||||
"The start symbol from the Python grammar for sequences of statements as read "
|
||||
"from a file or other source; for use with :c:func:`Py_CompileString`. This "
|
||||
"is the symbol to use when compiling arbitrarily long Python source code."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:298
|
||||
msgid ""
|
||||
"The start symbol from the Python grammar for a single statement; for use "
|
||||
"with :c:func:`Py_CompileString`. This is the symbol used for the interactive "
|
||||
"interpreter loop."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:305
|
||||
msgid ""
|
||||
"This is the structure used to hold compiler flags. In cases where code is "
|
||||
"only being compiled, it is passed as ``int flags``, and in cases where code "
|
||||
"is being executed, it is passed as ``PyCompilerFlags *flags``. In this "
|
||||
"case, ``from __future__ import`` can modify *flags*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:310
|
||||
msgid ""
|
||||
"Whenever ``PyCompilerFlags *flags`` is *NULL*, :attr:`cf_flags` is treated "
|
||||
"as equal to ``0``, and any modification due to ``from __future__ import`` is "
|
||||
"discarded. ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/veryhigh.rst:321
|
||||
msgid ""
|
||||
"This bit can be set in *flags* to cause division operator ``/`` to be "
|
||||
"interpreted as \"true division\" according to :pep:`238`."
|
||||
msgstr ""
|
|
@ -0,0 +1,84 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/c-api/weakref.rst:6
|
||||
msgid "Weak Reference Objects"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/weakref.rst:8
|
||||
msgid ""
|
||||
"Python supports *weak references* as first-class objects. There are two "
|
||||
"specific object types which directly implement weak references. The first "
|
||||
"is a simple reference object, and the second acts as a proxy for the "
|
||||
"original object as much as it can."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/weakref.rst:16
|
||||
msgid "Return true if *ob* is either a reference or proxy object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/weakref.rst:23
|
||||
msgid "Return true if *ob* is a reference object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/weakref.rst:30
|
||||
msgid "Return true if *ob* is a proxy object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/weakref.rst:37
|
||||
msgid ""
|
||||
"Return a weak reference object for the object *ob*. This will always return "
|
||||
"a new reference, but is not guaranteed to create a new object; an existing "
|
||||
"reference object may be returned. The second parameter, *callback*, can be "
|
||||
"a callable object that receives notification when *ob* is garbage collected; "
|
||||
"it should accept a single parameter, which will be the weak reference object "
|
||||
"itself. *callback* may also be ``None`` or *NULL*. If *ob* is not a weakly-"
|
||||
"referencable object, or if *callback* is not callable, ``None``, or *NULL*, "
|
||||
"this will return *NULL* and raise :exc:`TypeError`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/weakref.rst:51
|
||||
msgid ""
|
||||
"Return a weak reference proxy object for the object *ob*. This will always "
|
||||
"return a new reference, but is not guaranteed to create a new object; an "
|
||||
"existing proxy object may be returned. The second parameter, *callback*, "
|
||||
"can be a callable object that receives notification when *ob* is garbage "
|
||||
"collected; it should accept a single parameter, which will be the weak "
|
||||
"reference object itself. *callback* may also be ``None`` or *NULL*. If *ob* "
|
||||
"is not a weakly-referencable object, or if *callback* is not callable, "
|
||||
"``None``, or *NULL*, this will return *NULL* and raise :exc:`TypeError`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/weakref.rst:65
|
||||
msgid ""
|
||||
"Return the referenced object from a weak reference, *ref*. If the referent "
|
||||
"is no longer live, returns :const:`Py_None`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/weakref.rst:72
|
||||
msgid ""
|
||||
"This function returns a **borrowed reference** to the referenced object. "
|
||||
"This means that you should always call :c:func:`Py_INCREF` on the object "
|
||||
"except if you know that it cannot be destroyed while you are still using it."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/weakref.rst:80
|
||||
msgid ""
|
||||
"Similar to :c:func:`PyWeakref_GetObject`, but implemented as a macro that "
|
||||
"does no error checking."
|
||||
msgstr ""
|
|
@ -1,21 +1,20 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2010, Python Software Foundation
|
||||
# Copyright (C) 1990-2016, 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: PACKAGE VERSION\n"
|
||||
"Project-Id-Version: Python 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-03-12 23:37+0100\n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Translate Toolkit 1.7.0\n"
|
||||
|
||||
#: ../Doc/contents.rst:3
|
||||
msgid "Python Documentation contents"
|
||||
|
|
|
@ -1,21 +1,20 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2010, Python Software Foundation
|
||||
# Copyright (C) 1990-2016, 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: PACKAGE VERSION\n"
|
||||
"Project-Id-Version: Python 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-03-12 23:37+0100\n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Translate Toolkit 1.7.0\n"
|
||||
|
||||
#: ../Doc/copyright.rst:3
|
||||
msgid "Copyright"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2015, Python Software Foundation
|
||||
# Copyright (C) 1990-2016, Python Software Foundation
|
||||
# This file is distributed under the same license as the Python package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
|
@ -8,11 +8,10 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-03-12 23:37+0100\n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
@ -86,20 +85,13 @@ msgstr ""
|
|||
|
||||
#: ../Doc/distributing/index.rst:37
|
||||
msgid ""
|
||||
"the `Python Packaging Authority <https://packaging.python.org/en/latest/"
|
||||
"future.html>`__ are the group of developers and documentation authors "
|
||||
"responsible for the maintenance and evolution of the standard packaging "
|
||||
"tools and the associated metadata and file format standards. They maintain a "
|
||||
"variety of tools, documentation and issue trackers on both `GitHub <https://"
|
||||
"github.com/pypa>`__ and `BitBucket <https://bitbucket.org/pypa/>`__."
|
||||
msgstr ""
|
||||
"le `Python Packaging Authority <https://packaging.python.org/en/latest/"
|
||||
"future.html>`__ est le groupe de développeurs et d'auteurs de documentation "
|
||||
"responsables de la maintenace et de l'évolution des outils standards de "
|
||||
"création de paquets, des métadonnées, et des formats de fichiers standards. "
|
||||
"Ils maintiennent quelques outils, documentation, et gestionnaires de ticket, "
|
||||
"aussi bien sur `GitHub <https://github.com/pypa>`__ que sur `BitBucket "
|
||||
"the `Python Packaging Authority <https://www.pypa.io/>`__ are the group of "
|
||||
"developers and documentation authors responsible for the maintenance and "
|
||||
"evolution of the standard packaging tools and the associated metadata and "
|
||||
"file format standards. They maintain a variety of tools, documentation and "
|
||||
"issue trackers on both `GitHub <https://github.com/pypa>`__ and `BitBucket "
|
||||
"<https://bitbucket.org/pypa/>`__."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distributing/index.rst:44
|
||||
msgid ""
|
||||
|
@ -340,7 +332,5 @@ msgstr ""
|
|||
#: ../Doc/distributing/index.rst:162
|
||||
msgid ""
|
||||
"`Python Packaging User Guide: Binary Extensions <https://packaging.python."
|
||||
"org/en/latest/extensions.html>`__"
|
||||
"org/en/latest/extensions>`__"
|
||||
msgstr ""
|
||||
"`Python Packaging User Guide: Binary Extensions <https://packaging.python."
|
||||
"org/en/latest/extensions.html>`__"
|
5739
distutils.po
5739
distutils.po
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,793 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:5
|
||||
msgid "Creating Built Distributions"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:7
|
||||
msgid ""
|
||||
"A \"built distribution\" is what you're probably used to thinking of either "
|
||||
"as a \"binary package\" or an \"installer\" (depending on your background). "
|
||||
"It's not necessarily binary, though, because it might contain only Python "
|
||||
"source code and/or byte-code; and we don't call it a package, because that "
|
||||
"word is already spoken for in Python. (And \"installer\" is a term specific "
|
||||
"to the world of mainstream desktop systems.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:14
|
||||
msgid ""
|
||||
"A built distribution is how you make life as easy as possible for installers "
|
||||
"of your module distribution: for users of RPM-based Linux systems, it's a "
|
||||
"binary RPM; for Windows users, it's an executable installer; for Debian-"
|
||||
"based Linux users, it's a Debian package; and so forth. Obviously, no one "
|
||||
"person will be able to create built distributions for every platform under "
|
||||
"the sun, so the Distutils are designed to enable module developers to "
|
||||
"concentrate on their specialty---writing code and creating source "
|
||||
"distributions---while an intermediary species called *packagers* springs up "
|
||||
"to turn source distributions into built distributions for as many platforms "
|
||||
"as there are packagers."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:24
|
||||
msgid ""
|
||||
"Of course, the module developer could be his own packager; or the packager "
|
||||
"could be a volunteer \"out there\" somewhere who has access to a platform "
|
||||
"which the original developer does not; or it could be software periodically "
|
||||
"grabbing new source distributions and turning them into built distributions "
|
||||
"for as many platforms as the software has access to. Regardless of who they "
|
||||
"are, a packager uses the setup script and the :command:`bdist` command "
|
||||
"family to generate built distributions."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:32
|
||||
msgid ""
|
||||
"As a simple example, if I run the following command in the Distutils source "
|
||||
"tree::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:37
|
||||
msgid ""
|
||||
"then the Distutils builds my module distribution (the Distutils itself in "
|
||||
"this case), does a \"fake\" installation (also in the :file:`build` "
|
||||
"directory), and creates the default type of built distribution for my "
|
||||
"platform. The default format for built distributions is a \"dumb\" tar file "
|
||||
"on Unix, and a simple executable installer on Windows. (That tar file is "
|
||||
"considered \"dumb\" because it has to be unpacked in a specific location to "
|
||||
"work.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:44
|
||||
msgid ""
|
||||
"Thus, the above command on a Unix system creates :file:`Distutils-1.0.{plat}."
|
||||
"tar.gz`; unpacking this tarball from the right place installs the Distutils "
|
||||
"just as though you had downloaded the source distribution and run ``python "
|
||||
"setup.py install``. (The \"right place\" is either the root of the "
|
||||
"filesystem or Python's :file:`{prefix}` directory, depending on the options "
|
||||
"given to the :command:`bdist_dumb` command; the default is to make dumb "
|
||||
"distributions relative to :file:`{prefix}`.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:52
|
||||
msgid ""
|
||||
"Obviously, for pure Python distributions, this isn't any simpler than just "
|
||||
"running ``python setup.py install``\\ ---but for non-pure distributions, "
|
||||
"which include extensions that would need to be compiled, it can mean the "
|
||||
"difference between someone being able to use your extensions or not. And "
|
||||
"creating \"smart\" built distributions, such as an RPM package or an "
|
||||
"executable installer for Windows, is far more convenient for users even if "
|
||||
"your distribution doesn't include any extensions."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:60
|
||||
msgid ""
|
||||
"The :command:`bdist` command has a :option:`--formats` option, similar to "
|
||||
"the :command:`sdist` command, which you can use to select the types of built "
|
||||
"distribution to generate: for example, ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:66
|
||||
msgid ""
|
||||
"would, when run on a Unix system, create :file:`Distutils-1.0.{plat}.zip`\\ "
|
||||
"---again, this archive would be unpacked from the root directory to install "
|
||||
"the Distutils."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:70
|
||||
msgid "The available formats for built distributions are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:73
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:73
|
||||
msgid "Description"
|
||||
msgstr "Description"
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:73
|
||||
msgid "Notes"
|
||||
msgstr "Notes"
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:75
|
||||
msgid "``gztar``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:75
|
||||
msgid "gzipped tar file (:file:`.tar.gz`)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:75
|
||||
msgid "(1),(3)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:78
|
||||
msgid "``ztar``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:78
|
||||
msgid "compressed tar file (:file:`.tar.Z`)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:78 ../Doc/distutils/builtdist.rst:81
|
||||
msgid "\\(3)"
|
||||
msgstr "\\(3)"
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:81
|
||||
msgid "``tar``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:81
|
||||
msgid "tar file (:file:`.tar`)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:83
|
||||
msgid "``zip``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:83
|
||||
msgid "zip file (:file:`.zip`)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:83
|
||||
msgid "(2),(4)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:85
|
||||
msgid "``rpm``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:85
|
||||
msgid "RPM"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:85
|
||||
msgid "\\(5)"
|
||||
msgstr "\\(5)"
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:87
|
||||
msgid "``pkgtool``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:87
|
||||
msgid "Solaris :program:`pkgtool`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:89
|
||||
msgid "``sdux``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:89
|
||||
msgid "HP-UX :program:`swinstall`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:91
|
||||
msgid "``wininst``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:91
|
||||
msgid "self-extracting ZIP file for Windows"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:91
|
||||
msgid "\\(4)"
|
||||
msgstr "\\(4)"
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:94
|
||||
msgid "``msi``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:94
|
||||
msgid "Microsoft Installer."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:98
|
||||
msgid "Notes:"
|
||||
msgstr "Notes : "
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:101
|
||||
msgid "default on Unix"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:104
|
||||
msgid "default on Windows"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:107
|
||||
msgid ""
|
||||
"requires external utilities: :program:`tar` and possibly one of :program:"
|
||||
"`gzip`, :program:`bzip2`, or :program:`compress`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:111
|
||||
msgid ""
|
||||
"requires either external :program:`zip` utility or :mod:`zipfile` module "
|
||||
"(part of the standard Python library since Python 1.6)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:115
|
||||
msgid ""
|
||||
"requires external :program:`rpm` utility, version 3.0.4 or better (use ``rpm "
|
||||
"--version`` to find out which version you have)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:118
|
||||
msgid ""
|
||||
"You don't have to use the :command:`bdist` command with the :option:`--"
|
||||
"formats` option; you can also use the command that directly implements the "
|
||||
"format you're interested in. Some of these :command:`bdist` \"sub-commands"
|
||||
"\" actually generate several similar formats; for instance, the :command:"
|
||||
"`bdist_dumb` command generates all the \"dumb\" archive formats (``tar``, "
|
||||
"``ztar``, ``gztar``, and ``zip``), and :command:`bdist_rpm` generates both "
|
||||
"binary and source RPMs. The :command:`bdist` sub-commands, and the formats "
|
||||
"generated by each, are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:127
|
||||
msgid "Command"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:127
|
||||
msgid "Formats"
|
||||
msgstr "Formats"
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:129
|
||||
msgid ":command:`bdist_dumb`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:129
|
||||
msgid "tar, ztar, gztar, zip"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:131
|
||||
msgid ":command:`bdist_rpm`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:131
|
||||
msgid "rpm, srpm"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:133
|
||||
msgid ":command:`bdist_wininst`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:133
|
||||
msgid "wininst"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:135
|
||||
msgid ":command:`bdist_msi`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:135
|
||||
msgid "msi"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:138
|
||||
msgid ""
|
||||
"The following sections give details on the individual :command:`bdist_\\*` "
|
||||
"commands."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:145
|
||||
msgid "Creating dumb built distributions"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:154
|
||||
msgid "Creating RPM packages"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:156
|
||||
msgid ""
|
||||
"The RPM format is used by many popular Linux distributions, including Red "
|
||||
"Hat, SuSE, and Mandrake. If one of these (or any of the other RPM-based "
|
||||
"Linux distributions) is your usual environment, creating RPM packages for "
|
||||
"other users of that same distribution is trivial. Depending on the "
|
||||
"complexity of your module distribution and differences between Linux "
|
||||
"distributions, you may also be able to create RPMs that work on different "
|
||||
"RPM-based distributions."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:163
|
||||
msgid ""
|
||||
"The usual way to create an RPM of your module distribution is to run the :"
|
||||
"command:`bdist_rpm` command::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:168
|
||||
msgid "or the :command:`bdist` command with the :option:`--format` option::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:172
|
||||
msgid ""
|
||||
"The former allows you to specify RPM-specific options; the latter allows "
|
||||
"you to easily specify multiple formats in one run. If you need to do both, "
|
||||
"you can explicitly specify multiple :command:`bdist_\\*` commands and their "
|
||||
"options::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:179
|
||||
msgid ""
|
||||
"Creating RPM packages is driven by a :file:`.spec` file, much as using the "
|
||||
"Distutils is driven by the setup script. To make your life easier, the :"
|
||||
"command:`bdist_rpm` command normally creates a :file:`.spec` file based on "
|
||||
"the information you supply in the setup script, on the command line, and in "
|
||||
"any Distutils configuration files. Various options and sections in the :"
|
||||
"file:`.spec` file are derived from options in the setup script as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:187 ../Doc/distutils/builtdist.rst:211
|
||||
msgid "RPM :file:`.spec` file option or section"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:187
|
||||
msgid "Distutils setup script option"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:189
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:189
|
||||
msgid "``name``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:191
|
||||
msgid "Summary (in preamble)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:191
|
||||
msgid "``description``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:193
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:193
|
||||
msgid "``version``"
|
||||
msgstr "``version``"
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:195 ../Doc/distutils/builtdist.rst:218
|
||||
msgid "Vendor"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:195
|
||||
msgid ""
|
||||
"``author`` and ``author_email``, or --- & ``maintainer`` and "
|
||||
"``maintainer_email``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:199
|
||||
msgid "Copyright"
|
||||
msgstr "Copyright"
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:199
|
||||
msgid "``license``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:201
|
||||
msgid "Url"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:201
|
||||
msgid "``url``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:203
|
||||
msgid "%description (section)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:203
|
||||
msgid "``long_description``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:206
|
||||
msgid ""
|
||||
"Additionally, there are many options in :file:`.spec` files that don't have "
|
||||
"corresponding options in the setup script. Most of these are handled "
|
||||
"through options to the :command:`bdist_rpm` command as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:211
|
||||
msgid ":command:`bdist_rpm` option"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:211
|
||||
msgid "default value"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:214
|
||||
msgid "Release"
|
||||
msgstr "Version"
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:214
|
||||
msgid "``release``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:214
|
||||
msgid "\"1\""
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:216
|
||||
msgid "Group"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:216
|
||||
msgid "``group``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:216
|
||||
msgid "\"Development/Libraries\""
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:218
|
||||
msgid "``vendor``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:218
|
||||
msgid "(see above)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:220
|
||||
msgid "Packager"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:220
|
||||
msgid "``packager``"
|
||||
msgstr "``packager``"
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:220 ../Doc/distutils/builtdist.rst:222
|
||||
#: ../Doc/distutils/builtdist.rst:224 ../Doc/distutils/builtdist.rst:226
|
||||
#: ../Doc/distutils/builtdist.rst:228 ../Doc/distutils/builtdist.rst:230
|
||||
#: ../Doc/distutils/builtdist.rst:232 ../Doc/distutils/builtdist.rst:234
|
||||
msgid "(none)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:222
|
||||
msgid "Provides"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:222
|
||||
msgid "``provides``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:224
|
||||
msgid "Requires"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:224
|
||||
msgid "``requires``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:226
|
||||
msgid "Conflicts"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:226
|
||||
msgid "``conflicts``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:228
|
||||
msgid "Obsoletes"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:228
|
||||
msgid "``obsoletes``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:230
|
||||
msgid "Distribution"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:230
|
||||
msgid "``distribution_name``"
|
||||
msgstr "``distribution_name``"
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:232
|
||||
msgid "BuildRequires"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:232
|
||||
msgid "``build_requires``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:234
|
||||
msgid "Icon"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:234
|
||||
msgid "``icon``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:237
|
||||
msgid ""
|
||||
"Obviously, supplying even a few of these options on the command-line would "
|
||||
"be tedious and error-prone, so it's usually best to put them in the setup "
|
||||
"configuration file, :file:`setup.cfg`\\ ---see section :ref:`setup-config`. "
|
||||
"If you distribute or package many Python module distributions, you might "
|
||||
"want to put options that apply to all of them in your personal Distutils "
|
||||
"configuration file (:file:`~/.pydistutils.cfg`). If you want to temporarily "
|
||||
"disable this file, you can pass the --no-user-cfg option to setup.py."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:245
|
||||
msgid ""
|
||||
"There are three steps to building a binary RPM package, all of which are "
|
||||
"handled automatically by the Distutils:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:248
|
||||
msgid ""
|
||||
"create a :file:`.spec` file, which describes the package (analogous to the "
|
||||
"Distutils setup script; in fact, much of the information in the setup "
|
||||
"script winds up in the :file:`.spec` file)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:252
|
||||
msgid "create the source RPM"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:254
|
||||
msgid ""
|
||||
"create the \"binary\" RPM (which may or may not contain binary code, "
|
||||
"depending on whether your module distribution contains Python extensions)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:257
|
||||
msgid ""
|
||||
"Normally, RPM bundles the last two steps together; when you use the "
|
||||
"Distutils, all three steps are typically bundled together."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:260
|
||||
msgid ""
|
||||
"If you wish, you can separate these three steps. You can use the :option:`--"
|
||||
"spec-only` option to make :command:`bdist_rpm` just create the :file:`.spec` "
|
||||
"file and exit; in this case, the :file:`.spec` file will be written to the "
|
||||
"\"distribution directory\"---normally :file:`dist/`, but customizable with "
|
||||
"the :option:`--dist-dir` option. (Normally, the :file:`.spec` file winds up "
|
||||
"deep in the \"build tree,\" in a temporary directory created by :command:"
|
||||
"`bdist_rpm`.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:288
|
||||
msgid "Creating Windows Installers"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:290
|
||||
msgid ""
|
||||
"Executable installers are the natural format for binary distributions on "
|
||||
"Windows. They display a nice graphical user interface, display some "
|
||||
"information about the module distribution to be installed taken from the "
|
||||
"metadata in the setup script, let the user select a few options, and start "
|
||||
"or cancel the installation."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:296
|
||||
msgid ""
|
||||
"Since the metadata is taken from the setup script, creating Windows "
|
||||
"installers is usually as easy as running::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:301
|
||||
msgid "or the :command:`bdist` command with the :option:`--formats` option::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:305
|
||||
msgid ""
|
||||
"If you have a pure module distribution (only containing pure Python modules "
|
||||
"and packages), the resulting installer will be version independent and have "
|
||||
"a name like :file:`foo-1.0.win32.exe`. These installers can even be created "
|
||||
"on Unix platforms or Mac OS X."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:310
|
||||
msgid ""
|
||||
"If you have a non-pure distribution, the extensions can only be created on a "
|
||||
"Windows platform, and will be Python version dependent. The installer "
|
||||
"filename will reflect this and now has the form :file:`foo-1.0.win32-py2.0."
|
||||
"exe`. You have to create a separate installer for every Python version you "
|
||||
"want to support."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:316
|
||||
msgid ""
|
||||
"The installer will try to compile pure modules into :term:`bytecode` after "
|
||||
"installation on the target system in normal and optimizing mode. If you "
|
||||
"don't want this to happen for some reason, you can run the :command:"
|
||||
"`bdist_wininst` command with the :option:`--no-target-compile` and/or the :"
|
||||
"option:`--no-target-optimize` option."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:322
|
||||
msgid ""
|
||||
"By default the installer will display the cool \"Python Powered\" logo when "
|
||||
"it is run, but you can also supply your own 152x261 bitmap which must be a "
|
||||
"Windows :file:`.bmp` file with the :option:`--bitmap` option."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:326
|
||||
msgid ""
|
||||
"The installer will also display a large title on the desktop background "
|
||||
"window when it is run, which is constructed from the name of your "
|
||||
"distribution and the version number. This can be changed to another text by "
|
||||
"using the :option:`--title` option."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:331
|
||||
msgid ""
|
||||
"The installer file will be written to the \"distribution directory\" --- "
|
||||
"normally :file:`dist/`, but customizable with the :option:`--dist-dir` "
|
||||
"option."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:337
|
||||
msgid "Cross-compiling on Windows"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:339
|
||||
msgid ""
|
||||
"Starting with Python 2.6, distutils is capable of cross-compiling between "
|
||||
"Windows platforms. In practice, this means that with the correct tools "
|
||||
"installed, you can use a 32bit version of Windows to create 64bit extensions "
|
||||
"and vice-versa."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:344
|
||||
msgid ""
|
||||
"To build for an alternate platform, specify the :option:`--plat-name` option "
|
||||
"to the build command. Valid values are currently 'win32', 'win-amd64' and "
|
||||
"'win-ia64'. For example, on a 32bit version of Windows, you could execute::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:350
|
||||
msgid ""
|
||||
"to build a 64bit version of your extension. The Windows Installers also "
|
||||
"support this option, so the command::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:355
|
||||
msgid ""
|
||||
"would create a 64bit installation executable on your 32bit version of "
|
||||
"Windows."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:357
|
||||
msgid ""
|
||||
"To cross-compile, you must download the Python source code and cross-compile "
|
||||
"Python itself for the platform you are targeting - it is not possible from a "
|
||||
"binary installation of Python (as the .lib etc file for other platforms are "
|
||||
"not included.) In practice, this means the user of a 32 bit operating "
|
||||
"system will need to use Visual Studio 2008 to open the :file:`PCBuild/"
|
||||
"PCbuild.sln` solution in the Python source tree and build the \"x64\" "
|
||||
"configuration of the 'pythoncore' project before cross-compiling extensions "
|
||||
"is possible."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:366
|
||||
msgid ""
|
||||
"Note that by default, Visual Studio 2008 does not install 64bit compilers or "
|
||||
"tools. You may need to reexecute the Visual Studio setup process and select "
|
||||
"these tools (using Control Panel->[Add/Remove] Programs is a convenient way "
|
||||
"to check or modify your existing install.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:374
|
||||
msgid "The Postinstallation script"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:376
|
||||
msgid ""
|
||||
"Starting with Python 2.3, a postinstallation script can be specified with "
|
||||
"the :option:`--install-script` option. The basename of the script must be "
|
||||
"specified, and the script filename must also be listed in the scripts "
|
||||
"argument to the setup function."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:381
|
||||
msgid ""
|
||||
"This script will be run at installation time on the target system after all "
|
||||
"the files have been copied, with ``argv[1]`` set to :option:`-install`, and "
|
||||
"again at uninstallation time before the files are removed with ``argv[1]`` "
|
||||
"set to :option:`-remove`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:386
|
||||
msgid ""
|
||||
"The installation script runs embedded in the windows installer, every output "
|
||||
"(``sys.stdout``, ``sys.stderr``) is redirected into a buffer and will be "
|
||||
"displayed in the GUI after the script has finished."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:390
|
||||
msgid ""
|
||||
"Some functions especially useful in this context are available as additional "
|
||||
"built-in functions in the installation script."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:397
|
||||
msgid ""
|
||||
"These functions should be called when a directory or file is created by the "
|
||||
"postinstall script at installation time. It will register *path* with the "
|
||||
"uninstaller, so that it will be removed when the distribution is "
|
||||
"uninstalled. To be safe, directories are only removed if they are empty."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:405
|
||||
msgid ""
|
||||
"This function can be used to retrieve special folder locations on Windows "
|
||||
"like the Start Menu or the Desktop. It returns the full path to the folder. "
|
||||
"*csidl_string* must be one of the following strings::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:425
|
||||
msgid "If the folder cannot be retrieved, :exc:`OSError` is raised."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:427
|
||||
msgid ""
|
||||
"Which folders are available depends on the exact Windows version, and "
|
||||
"probably also the configuration. For details refer to Microsoft's "
|
||||
"documentation of the :c:func:`SHGetSpecialFolderPath` function."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:434
|
||||
msgid ""
|
||||
"This function creates a shortcut. *target* is the path to the program to be "
|
||||
"started by the shortcut. *description* is the description of the shortcut. "
|
||||
"*filename* is the title of the shortcut that the user will see. *arguments* "
|
||||
"specifies the command line arguments, if any. *workdir* is the working "
|
||||
"directory for the program. *iconpath* is the file containing the icon for "
|
||||
"the shortcut, and *iconindex* is the index of the icon in the file "
|
||||
"*iconpath*. Again, for details consult the Microsoft documentation for the :"
|
||||
"class:`IShellLink` interface."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:445
|
||||
msgid "Vista User Access Control (UAC)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/builtdist.rst:447
|
||||
msgid ""
|
||||
"Starting with Python 2.6, bdist_wininst supports a :option:`--user-access-"
|
||||
"control` option. The default is 'none' (meaning no UAC handling is done), "
|
||||
"and other valid values are 'auto' (meaning prompt for UAC elevation if "
|
||||
"Python was installed for all users) and 'force' (meaning always prompt for "
|
||||
"elevation)."
|
||||
msgstr ""
|
|
@ -0,0 +1,48 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/distutils/commandref.rst:5
|
||||
msgid "Command Reference"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/commandref.rst:22
|
||||
msgid "Installing modules: the :command:`install` command family"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/commandref.rst:24
|
||||
msgid ""
|
||||
"The install command ensures that the build commands have been run and then "
|
||||
"runs the subcommands :command:`install_lib`, :command:`install_data` and :"
|
||||
"command:`install_scripts`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/commandref.rst:35
|
||||
msgid ":command:`install_data`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/commandref.rst:37
|
||||
msgid "This command installs all data files provided with the distribution."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/commandref.rst:43
|
||||
msgid ":command:`install_scripts`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/commandref.rst:45
|
||||
msgid "This command installs all (Python) scripts in the distribution."
|
||||
msgstr ""
|
|
@ -0,0 +1,159 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/distutils/configfile.rst:5
|
||||
msgid "Writing the Setup Configuration File"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/configfile.rst:7
|
||||
msgid ""
|
||||
"Often, it's not possible to write down everything needed to build a "
|
||||
"distribution *a priori*: you may need to get some information from the user, "
|
||||
"or from the user's system, in order to proceed. As long as that information "
|
||||
"is fairly simple---a list of directories to search for C header files or "
|
||||
"libraries, for example---then providing a configuration file, :file:`setup."
|
||||
"cfg`, for users to edit is a cheap and easy way to solicit it. "
|
||||
"Configuration files also let you provide default values for any command "
|
||||
"option, which the installer can then override either on the command-line or "
|
||||
"by editing the config file."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/configfile.rst:16
|
||||
msgid ""
|
||||
"The setup configuration file is a useful middle-ground between the setup "
|
||||
"script ---which, ideally, would be opaque to installers [#]_---and the "
|
||||
"command-line to the setup script, which is outside of your control and "
|
||||
"entirely up to the installer. In fact, :file:`setup.cfg` (and any other "
|
||||
"Distutils configuration files present on the target system) are processed "
|
||||
"after the contents of the setup script, but before the command-line. This "
|
||||
"has several useful consequences:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/configfile.rst:30
|
||||
msgid ""
|
||||
"installers can override some of what you put in :file:`setup.py` by editing :"
|
||||
"file:`setup.cfg`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/configfile.rst:33
|
||||
msgid ""
|
||||
"you can provide non-standard defaults for options that are not easily set "
|
||||
"in :file:`setup.py`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/configfile.rst:36
|
||||
msgid ""
|
||||
"installers can override anything in :file:`setup.cfg` using the command-line "
|
||||
"options to :file:`setup.py`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/configfile.rst:39
|
||||
msgid "The basic syntax of the configuration file is simple::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/configfile.rst:45
|
||||
msgid ""
|
||||
"where *command* is one of the Distutils commands (e.g. :command:`build_py`, :"
|
||||
"command:`install`), and *option* is one of the options that command "
|
||||
"supports. Any number of options can be supplied for each command, and any "
|
||||
"number of command sections can be included in the file. Blank lines are "
|
||||
"ignored, as are comments, which run from a ``'#'`` character until the end "
|
||||
"of the line. Long option values can be split across multiple lines simply "
|
||||
"by indenting the continuation lines."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/configfile.rst:53
|
||||
msgid ""
|
||||
"You can find out the list of options supported by a particular command with "
|
||||
"the universal :option:`!--help` option, e.g. ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/configfile.rst:69
|
||||
msgid ""
|
||||
"Note that an option spelled :option:`--foo-bar` on the command-line is "
|
||||
"spelled ``foo_bar`` in configuration files."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/configfile.rst:74
|
||||
msgid ""
|
||||
"For example, say you want your extensions to be built \"in-place\"---that "
|
||||
"is, you have an extension :mod:`pkg.ext`, and you want the compiled "
|
||||
"extension file (:file:`ext.so` on Unix, say) to be put in the same source "
|
||||
"directory as your pure Python modules :mod:`pkg.mod1` and :mod:`pkg.mod2`. "
|
||||
"You can always use the :option:`--inplace` option on the command-line to "
|
||||
"ensure this::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/configfile.rst:82
|
||||
msgid ""
|
||||
"But this requires that you always specify the :command:`build_ext` command "
|
||||
"explicitly, and remember to provide :option:`--inplace`. An easier way is to "
|
||||
"\"set and forget\" this option, by encoding it in :file:`setup.cfg`, the "
|
||||
"configuration file for this distribution::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/configfile.rst:90
|
||||
msgid ""
|
||||
"This will affect all builds of this module distribution, whether or not you "
|
||||
"explicitly specify :command:`build_ext`. If you include :file:`setup.cfg` "
|
||||
"in your source distribution, it will also affect end-user builds---which is "
|
||||
"probably a bad idea for this option, since always building extensions in-"
|
||||
"place would break installation of the module distribution. In certain "
|
||||
"peculiar cases, though, modules are built right in their installation "
|
||||
"directory, so this is conceivably a useful ability. (Distributing "
|
||||
"extensions that expect to be built in their installation directory is almost "
|
||||
"always a bad idea, though.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/configfile.rst:99
|
||||
msgid ""
|
||||
"Another example: certain commands take a lot of options that don't change "
|
||||
"from run to run; for example, :command:`bdist_rpm` needs to know everything "
|
||||
"required to generate a \"spec\" file for creating an RPM distribution. Some "
|
||||
"of this information comes from the setup script, and some is automatically "
|
||||
"generated by the Distutils (such as the list of files installed). But some "
|
||||
"of it has to be supplied as options to :command:`bdist_rpm`, which would be "
|
||||
"very tedious to do on the command-line for every run. Hence, here is a "
|
||||
"snippet from the Distutils' own :file:`setup.cfg`::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/configfile.rst:117
|
||||
msgid ""
|
||||
"Note that the ``doc_files`` option is simply a whitespace-separated string "
|
||||
"split across multiple lines for readability."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/configfile.rst:124
|
||||
msgid ":ref:`inst-config-syntax` in \"Installing Python Modules\""
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/configfile.rst:124
|
||||
msgid ""
|
||||
"More information on the configuration files is available in the manual for "
|
||||
"system administrators."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/configfile.rst:129
|
||||
msgid "Footnotes"
|
||||
msgstr "Notes"
|
||||
|
||||
#: ../Doc/distutils/configfile.rst:130
|
||||
msgid ""
|
||||
"This ideal probably won't be achieved until auto-configuration is fully "
|
||||
"supported by the Distutils."
|
||||
msgstr ""
|
|
@ -0,0 +1,202 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/distutils/examples.rst:5
|
||||
msgid "Examples"
|
||||
msgstr "Exemples"
|
||||
|
||||
#: ../Doc/distutils/examples.rst:7
|
||||
msgid ""
|
||||
"This chapter provides a number of basic examples to help get started with "
|
||||
"distutils. Additional information about using distutils can be found in the "
|
||||
"Distutils Cookbook."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:14
|
||||
msgid "`Distutils Cookbook <https://wiki.python.org/moin/Distutils/Cookbook>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:15
|
||||
msgid ""
|
||||
"Collection of recipes showing how to achieve more control over distutils."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:21
|
||||
msgid "Pure Python distribution (by module)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:23
|
||||
msgid ""
|
||||
"If you're just distributing a couple of modules, especially if they don't "
|
||||
"live in a particular package, you can specify them individually using the "
|
||||
"``py_modules`` option in the setup script."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:27
|
||||
msgid ""
|
||||
"In the simplest case, you'll have two files to worry about: a setup script "
|
||||
"and the single module you're distributing, :file:`foo.py` in this example::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:34
|
||||
msgid ""
|
||||
"(In all diagrams in this section, *<root>* will refer to the distribution "
|
||||
"root directory.) A minimal setup script to describe this situation would "
|
||||
"be::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:43
|
||||
msgid ""
|
||||
"Note that the name of the distribution is specified independently with the "
|
||||
"``name`` option, and there's no rule that says it has to be the same as the "
|
||||
"name of the sole module in the distribution (although that's probably a good "
|
||||
"convention to follow). However, the distribution name is used to generate "
|
||||
"filenames, so you should stick to letters, digits, underscores, and hyphens."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:49
|
||||
msgid ""
|
||||
"Since ``py_modules`` is a list, you can of course specify multiple modules, "
|
||||
"eg. if you're distributing modules :mod:`foo` and :mod:`bar`, your setup "
|
||||
"might look like this::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:58
|
||||
msgid "and the setup script might be ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:66
|
||||
msgid ""
|
||||
"You can put module source files into another directory, but if you have "
|
||||
"enough modules to do that, it's probably easier to specify modules by "
|
||||
"package rather than listing them individually."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:74
|
||||
msgid "Pure Python distribution (by package)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:76
|
||||
msgid ""
|
||||
"If you have more than a couple of modules to distribute, especially if they "
|
||||
"are in multiple packages, it's probably easier to specify whole packages "
|
||||
"rather than individual modules. This works even if your modules are not in "
|
||||
"a package; you can just tell the Distutils to process modules from the root "
|
||||
"package, and that works the same as any other package (except that you don't "
|
||||
"have to have an :file:`__init__.py` file)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:83
|
||||
msgid "The setup script from the last example could also be written as ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:91
|
||||
msgid "(The empty string stands for the root package.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:93
|
||||
msgid ""
|
||||
"If those two files are moved into a subdirectory, but remain in the root "
|
||||
"package, e.g.::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:101
|
||||
msgid ""
|
||||
"then you would still specify the root package, but you have to tell the "
|
||||
"Distutils where source files in the root package live::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:111
|
||||
msgid ""
|
||||
"More typically, though, you will want to distribute multiple modules in the "
|
||||
"same package (or in sub-packages). For example, if the :mod:`foo` and :mod:"
|
||||
"`bar` modules belong in package :mod:`foobar`, one way to layout your source "
|
||||
"tree is ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:123
|
||||
msgid ""
|
||||
"This is in fact the default layout expected by the Distutils, and the one "
|
||||
"that requires the least work to describe in your setup script::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:132
|
||||
msgid ""
|
||||
"If you want to put modules in directories not named for their package, then "
|
||||
"you need to use the ``package_dir`` option again. For example, if the :file:"
|
||||
"`src` directory holds modules in the :mod:`foobar` package::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:143
|
||||
msgid "an appropriate setup script would be ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:152
|
||||
msgid ""
|
||||
"Or, you might put modules from your main package right in the distribution "
|
||||
"root::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:161
|
||||
msgid "in which case your setup script would be ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:170
|
||||
msgid "(The empty string also stands for the current directory.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:172
|
||||
msgid ""
|
||||
"If you have sub-packages, they must be explicitly listed in ``packages``, "
|
||||
"but any entries in ``package_dir`` automatically extend to sub-packages. (In "
|
||||
"other words, the Distutils does *not* scan your source tree, trying to "
|
||||
"figure out which directories correspond to Python packages by looking for :"
|
||||
"file:`__init__.py` files.) Thus, if the default layout grows a sub-package::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:188
|
||||
msgid "then the corresponding setup script would be ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:200
|
||||
msgid "Single extension module"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:202
|
||||
msgid ""
|
||||
"Extension modules are specified using the ``ext_modules`` option. "
|
||||
"``package_dir`` has no effect on where extension source files are found; it "
|
||||
"only affects the source for pure Python modules. The simplest case, a "
|
||||
"single extension module in a single C source file, is::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:211
|
||||
msgid ""
|
||||
"If the :mod:`foo` extension belongs in the root package, the setup script "
|
||||
"for this could be ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:221
|
||||
msgid "If the extension actually belongs in a package, say :mod:`foopkg`, then"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/examples.rst:223
|
||||
msgid ""
|
||||
"With exactly the same source tree layout, this extension can be put in the :"
|
||||
"mod:`foopkg` package simply by changing the name of the extension::"
|
||||
msgstr ""
|
|
@ -0,0 +1,120 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/distutils/extending.rst:5
|
||||
msgid "Extending Distutils"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/extending.rst:7
|
||||
msgid ""
|
||||
"Distutils can be extended in various ways. Most extensions take the form of "
|
||||
"new commands or replacements for existing commands. New commands may be "
|
||||
"written to support new types of platform-specific packaging, for example, "
|
||||
"while replacements for existing commands may be made to modify details of "
|
||||
"how the command operates on a package."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/extending.rst:13
|
||||
msgid ""
|
||||
"Most extensions of the distutils are made within :file:`setup.py` scripts "
|
||||
"that want to modify existing commands; many simply add a few file extensions "
|
||||
"that should be copied into packages in addition to :file:`.py` files as a "
|
||||
"convenience."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/extending.rst:18
|
||||
msgid ""
|
||||
"Most distutils command implementations are subclasses of the :class:"
|
||||
"`distutils.cmd.Command` class. New commands may directly inherit from :"
|
||||
"class:`Command`, while replacements often derive from :class:`Command` "
|
||||
"indirectly, directly subclassing the command they are replacing. Commands "
|
||||
"are required to derive from :class:`Command`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/extending.rst:33
|
||||
msgid "Integrating new commands"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/extending.rst:35
|
||||
msgid ""
|
||||
"There are different ways to integrate new command implementations into "
|
||||
"distutils. The most difficult is to lobby for the inclusion of the new "
|
||||
"features in distutils itself, and wait for (and require) a version of Python "
|
||||
"that provides that support. This is really hard for many reasons."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/extending.rst:40
|
||||
msgid ""
|
||||
"The most common, and possibly the most reasonable for most needs, is to "
|
||||
"include the new implementations with your :file:`setup.py` script, and cause "
|
||||
"the :func:`distutils.core.setup` function use them::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/extending.rst:55
|
||||
msgid ""
|
||||
"This approach is most valuable if the new implementations must be used to "
|
||||
"use a particular package, as everyone interested in the package will need to "
|
||||
"have the new command implementation."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/extending.rst:59
|
||||
msgid ""
|
||||
"Beginning with Python 2.4, a third option is available, intended to allow "
|
||||
"new commands to be added which can support existing :file:`setup.py` scripts "
|
||||
"without requiring modifications to the Python installation. This is "
|
||||
"expected to allow third-party extensions to provide support for additional "
|
||||
"packaging systems, but the commands can be used for anything distutils "
|
||||
"commands can be used for. A new configuration option, ``command_packages`` "
|
||||
"(command-line option :option:`--command-packages`), can be used to specify "
|
||||
"additional packages to be searched for modules implementing commands. Like "
|
||||
"all distutils options, this can be specified on the command line or in a "
|
||||
"configuration file. This option can only be set in the ``[global]`` section "
|
||||
"of a configuration file, or before any commands on the command line. If set "
|
||||
"in a configuration file, it can be overridden from the command line; setting "
|
||||
"it to an empty string on the command line causes the default to be used. "
|
||||
"This should never be set in a configuration file provided with a package."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/extending.rst:74
|
||||
msgid ""
|
||||
"This new option can be used to add any number of packages to the list of "
|
||||
"packages searched for command implementations; multiple package names should "
|
||||
"be separated by commas. When not specified, the search is only performed in "
|
||||
"the :mod:`distutils.command` package. When :file:`setup.py` is run with the "
|
||||
"option ``--command-packages distcmds,buildcmds``, however, the packages :mod:"
|
||||
"`distutils.command`, :mod:`distcmds`, and :mod:`buildcmds` will be searched "
|
||||
"in that order. New commands are expected to be implemented in modules of "
|
||||
"the same name as the command by classes sharing the same name. Given the "
|
||||
"example command line option above, the command :command:`bdist_openpkg` "
|
||||
"could be implemented by the class :class:`distcmds.bdist_openpkg."
|
||||
"bdist_openpkg` or :class:`buildcmds.bdist_openpkg.bdist_openpkg`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/extending.rst:88
|
||||
msgid "Adding new distribution types"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/extending.rst:90
|
||||
msgid ""
|
||||
"Commands that create distributions (files in the :file:`dist/` directory) "
|
||||
"need to add ``(command, filename)`` pairs to ``self.distribution."
|
||||
"dist_files`` so that :command:`upload` can upload it to PyPI. The "
|
||||
"*filename* in the pair contains no path information, only the name of the "
|
||||
"file itself. In dry-run mode, pairs should still be added to represent what "
|
||||
"would have been created."
|
||||
msgstr ""
|
|
@ -0,0 +1,54 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/distutils/index.rst:5
|
||||
msgid "Distributing Python Modules (Legacy version)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/index.rst:7
|
||||
msgid "Greg Ward, Anthony Baxter"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/index.rst:8
|
||||
msgid "distutils-sig@python.org"
|
||||
msgstr "distutils-sig@python.org"
|
||||
|
||||
#: ../Doc/distutils/index.rst:12
|
||||
msgid ":ref:`distributing-index`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/index.rst:13
|
||||
msgid "The up to date module distribution documentations"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/index.rst:15
|
||||
msgid ""
|
||||
"This document describes the Python Distribution Utilities (\"Distutils\") "
|
||||
"from the module developer's point of view, describing how to use the "
|
||||
"Distutils to make Python modules and extensions easily available to a wider "
|
||||
"audience with very little overhead for build/release/install mechanics."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/index.rst:22
|
||||
msgid ""
|
||||
"This guide only covers the basic tools for building and distributing "
|
||||
"extensions that are provided as part of this version of Python. Third party "
|
||||
"tools offer easier to use and more secure alternatives. Refer to the `quick "
|
||||
"recommendations section <https://packaging.python.org/en/latest/current/>`__ "
|
||||
"in the Python Packaging User Guide for more information."
|
||||
msgstr ""
|
|
@ -0,0 +1,335 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:5
|
||||
msgid "An Introduction to Distutils"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:7
|
||||
msgid ""
|
||||
"This document covers using the Distutils to distribute your Python modules, "
|
||||
"concentrating on the role of developer/distributor: if you're looking for "
|
||||
"information on installing Python modules, you should refer to the :ref:"
|
||||
"`install-index` chapter."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:16
|
||||
msgid "Concepts & Terminology"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:18
|
||||
msgid ""
|
||||
"Using the Distutils is quite simple, both for module developers and for "
|
||||
"users/administrators installing third-party modules. As a developer, your "
|
||||
"responsibilities (apart from writing solid, well-documented and well-tested "
|
||||
"code, of course!) are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:23
|
||||
msgid "write a setup script (:file:`setup.py` by convention)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:25
|
||||
msgid "(optional) write a setup configuration file"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:27
|
||||
msgid "create a source distribution"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:29
|
||||
msgid "(optional) create one or more built (binary) distributions"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:31
|
||||
msgid "Each of these tasks is covered in this document."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:33
|
||||
msgid ""
|
||||
"Not all module developers have access to a multitude of platforms, so it's "
|
||||
"not always feasible to expect them to create a multitude of built "
|
||||
"distributions. It is hoped that a class of intermediaries, called "
|
||||
"*packagers*, will arise to address this need. Packagers will take source "
|
||||
"distributions released by module developers, build them on one or more "
|
||||
"platforms, and release the resulting built distributions. Thus, users on "
|
||||
"the most popular platforms will be able to install most popular Python "
|
||||
"module distributions in the most natural way for their platform, without "
|
||||
"having to run a single setup script or compile a line of code."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:47
|
||||
msgid "A Simple Example"
|
||||
msgstr "Un exemple simple"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:49
|
||||
msgid ""
|
||||
"The setup script is usually quite simple, although since it's written in "
|
||||
"Python, there are no arbitrary limits to what you can do with it, though you "
|
||||
"should be careful about putting arbitrarily expensive operations in your "
|
||||
"setup script. Unlike, say, Autoconf-style configure scripts, the setup "
|
||||
"script may be run multiple times in the course of building and installing "
|
||||
"your module distribution."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:56
|
||||
msgid ""
|
||||
"If all you want to do is distribute a module called :mod:`foo`, contained in "
|
||||
"a file :file:`foo.py`, then your setup script can be as simple as this::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:65
|
||||
msgid "Some observations:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:67
|
||||
msgid ""
|
||||
"most information that you supply to the Distutils is supplied as keyword "
|
||||
"arguments to the :func:`setup` function"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:70
|
||||
msgid ""
|
||||
"those keyword arguments fall into two categories: package metadata (name, "
|
||||
"version number) and information about what's in the package (a list of pure "
|
||||
"Python modules, in this case)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:74
|
||||
msgid ""
|
||||
"modules are specified by module name, not filename (the same will hold true "
|
||||
"for packages and extensions)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:77
|
||||
msgid ""
|
||||
"it's recommended that you supply a little more metadata, in particular your "
|
||||
"name, email address and a URL for the project (see section :ref:`setup-"
|
||||
"script` for an example)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:81
|
||||
msgid ""
|
||||
"To create a source distribution for this module, you would create a setup "
|
||||
"script, :file:`setup.py`, containing the above code, and run this command "
|
||||
"from a terminal::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:87
|
||||
msgid ""
|
||||
"For Windows, open a command prompt windows (:menuselection:`Start --> "
|
||||
"Accessories`) and change the command to::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:92
|
||||
msgid ""
|
||||
":command:`sdist` will create an archive file (e.g., tarball on Unix, ZIP "
|
||||
"file on Windows) containing your setup script :file:`setup.py`, and your "
|
||||
"module :file:`foo.py`. The archive file will be named :file:`foo-1.0.tar.gz` "
|
||||
"(or :file:`.zip`), and will unpack into a directory :file:`foo-1.0`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:97
|
||||
msgid ""
|
||||
"If an end-user wishes to install your :mod:`foo` module, all she has to do "
|
||||
"is download :file:`foo-1.0.tar.gz` (or :file:`.zip`), unpack it, and---from "
|
||||
"the :file:`foo-1.0` directory---run ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:103
|
||||
msgid ""
|
||||
"which will ultimately copy :file:`foo.py` to the appropriate directory for "
|
||||
"third-party modules in their Python installation."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:106
|
||||
msgid ""
|
||||
"This simple example demonstrates some fundamental concepts of the Distutils. "
|
||||
"First, both developers and installers have the same basic user interface, i."
|
||||
"e. the setup script. The difference is which Distutils *commands* they use: "
|
||||
"the :command:`sdist` command is almost exclusively for module developers, "
|
||||
"while :command:`install` is more often for installers (although most "
|
||||
"developers will want to install their own code occasionally)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:113
|
||||
msgid ""
|
||||
"If you want to make things really easy for your users, you can create one or "
|
||||
"more built distributions for them. For instance, if you are running on a "
|
||||
"Windows machine, and want to make things easy for other Windows users, you "
|
||||
"can create an executable installer (the most appropriate type of built "
|
||||
"distribution for this platform) with the :command:`bdist_wininst` command. "
|
||||
"For example::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:121
|
||||
msgid ""
|
||||
"will create an executable installer, :file:`foo-1.0.win32.exe`, in the "
|
||||
"current directory."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:124
|
||||
msgid ""
|
||||
"Other useful built distribution formats are RPM, implemented by the :command:"
|
||||
"`bdist_rpm` command, Solaris :program:`pkgtool` (:command:`bdist_pkgtool`), "
|
||||
"and HP-UX :program:`swinstall` (:command:`bdist_sdux`). For example, the "
|
||||
"following command will create an RPM file called :file:`foo-1.0.noarch.rpm`::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:132
|
||||
msgid ""
|
||||
"(The :command:`bdist_rpm` command uses the :command:`rpm` executable, "
|
||||
"therefore this has to be run on an RPM-based system such as Red Hat Linux, "
|
||||
"SuSE Linux, or Mandrake Linux.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:136
|
||||
msgid ""
|
||||
"You can find out what distribution formats are available at any time by "
|
||||
"running ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:145
|
||||
msgid "General Python terminology"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:147
|
||||
msgid ""
|
||||
"If you're reading this document, you probably have a good idea of what "
|
||||
"modules, extensions, and so forth are. Nevertheless, just to be sure that "
|
||||
"everyone is operating from a common starting point, we offer the following "
|
||||
"glossary of common Python terms:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:155
|
||||
msgid "module"
|
||||
msgstr "module"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:153
|
||||
msgid ""
|
||||
"the basic unit of code reusability in Python: a block of code imported by "
|
||||
"some other code. Three types of modules concern us here: pure Python "
|
||||
"modules, extension modules, and packages."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:160
|
||||
msgid "pure Python module"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:158
|
||||
msgid ""
|
||||
"a module written in Python and contained in a single :file:`.py` file (and "
|
||||
"possibly associated :file:`.pyc` and/or :file:`.pyo` files). Sometimes "
|
||||
"referred to as a \"pure module.\""
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:168
|
||||
msgid "extension module"
|
||||
msgstr "module d'extension"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:163
|
||||
msgid ""
|
||||
"a module written in the low-level language of the Python implementation: C/C+"
|
||||
"+ for Python, Java for Jython. Typically contained in a single dynamically "
|
||||
"loadable pre-compiled file, e.g. a shared object (:file:`.so`) file for "
|
||||
"Python extensions on Unix, a DLL (given the :file:`.pyd` extension) for "
|
||||
"Python extensions on Windows, or a Java class file for Jython extensions. "
|
||||
"(Note that currently, the Distutils only handles C/C++ extensions for "
|
||||
"Python.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:173
|
||||
msgid "package"
|
||||
msgstr "paquet"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:171
|
||||
msgid ""
|
||||
"a module that contains other modules; typically contained in a directory in "
|
||||
"the filesystem and distinguished from other directories by the presence of a "
|
||||
"file :file:`__init__.py`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:183
|
||||
msgid "root package"
|
||||
msgstr "paquet racine"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:176
|
||||
msgid ""
|
||||
"the root of the hierarchy of packages. (This isn't really a package, since "
|
||||
"it doesn't have an :file:`__init__.py` file. But we have to call it "
|
||||
"something.) The vast majority of the standard library is in the root "
|
||||
"package, as are many small, standalone third-party modules that don't belong "
|
||||
"to a larger module collection. Unlike regular packages, modules in the root "
|
||||
"package can be found in many directories: in fact, every directory listed in "
|
||||
"``sys.path`` contributes modules to the root package."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:188
|
||||
msgid "Distutils-specific terminology"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:190
|
||||
msgid ""
|
||||
"The following terms apply more specifically to the domain of distributing "
|
||||
"Python modules using the Distutils:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:199
|
||||
msgid "module distribution"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:194
|
||||
msgid ""
|
||||
"a collection of Python modules distributed together as a single downloadable "
|
||||
"resource and meant to be installed *en masse*. Examples of some well-known "
|
||||
"module distributions are Numeric Python, PyXML, PIL (the Python Imaging "
|
||||
"Library), or mxBase. (This would be called a *package*, except that term is "
|
||||
"already taken in the Python context: a single module distribution may "
|
||||
"contain zero, one, or many Python packages.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:203
|
||||
msgid "pure module distribution"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:202
|
||||
msgid ""
|
||||
"a module distribution that contains only pure Python modules and packages. "
|
||||
"Sometimes referred to as a \"pure distribution.\""
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:207
|
||||
msgid "non-pure module distribution"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:206
|
||||
msgid ""
|
||||
"a module distribution that contains at least one extension module. "
|
||||
"Sometimes referred to as a \"non-pure distribution.\""
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:213
|
||||
msgid "distribution root"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:210
|
||||
msgid ""
|
||||
"the top-level directory of your source tree (or source distribution); the "
|
||||
"directory where :file:`setup.py` exists. Generally :file:`setup.py` will "
|
||||
"be run from this directory."
|
||||
msgstr ""
|
|
@ -0,0 +1,312 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:9
|
||||
msgid "The Python Package Index (PyPI)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:11
|
||||
msgid ""
|
||||
"The `Python Package Index (PyPI)`_ stores :ref:`meta-data <meta-data>` "
|
||||
"describing distributions packaged with distutils, as well as package data "
|
||||
"like distribution files if a package author wishes."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:15
|
||||
msgid ""
|
||||
"Distutils provides the :command:`register` and :command:`upload` commands "
|
||||
"for pushing meta-data and distribution files to PyPI, respectively. See :"
|
||||
"ref:`package-commands` for information on these commands."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:21
|
||||
msgid "PyPI overview"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:23
|
||||
msgid ""
|
||||
"PyPI lets you submit any number of versions of your distribution to the "
|
||||
"index. If you alter the meta-data for a particular version, you can submit "
|
||||
"it again and the index will be updated."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:27
|
||||
msgid ""
|
||||
"PyPI holds a record for each (name, version) combination submitted. The "
|
||||
"first user to submit information for a given name is designated the Owner of "
|
||||
"that name. Changes can be submitted through the :command:`register` command "
|
||||
"or through the web interface. Owners can designate other users as Owners or "
|
||||
"Maintainers. Maintainers can edit the package information, but not "
|
||||
"designate new Owners or Maintainers."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:34
|
||||
msgid ""
|
||||
"By default PyPI displays only the newest version of a given package. The "
|
||||
"web interface lets one change this default behavior and manually select "
|
||||
"which versions to display and hide."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:38
|
||||
msgid ""
|
||||
"For each version, PyPI displays a home page. The home page is created from "
|
||||
"the ``long_description`` which can be submitted via the :command:`register` "
|
||||
"command. See :ref:`package-display` for more information."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:46
|
||||
msgid "Distutils commands"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:48
|
||||
msgid ""
|
||||
"Distutils exposes two commands for submitting package data to PyPI: the :ref:"
|
||||
"`register <package-register>` command for submitting meta-data to PyPI and "
|
||||
"the :ref:`upload <package-upload>` command for submitting distribution "
|
||||
"files. Both commands read configuration data from a special file called a :"
|
||||
"ref:`.pypirc file <pypirc>`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:58
|
||||
msgid "The ``register`` command"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:60
|
||||
msgid ""
|
||||
"The distutils command :command:`register` is used to submit your "
|
||||
"distribution's meta-data to an index server. It is invoked as follows::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:65
|
||||
msgid "Distutils will respond with the following prompt::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:75
|
||||
msgid ""
|
||||
"Note: if your username and password are saved locally, you will not see this "
|
||||
"menu. Also, refer to :ref:`pypirc` for how to store your credentials in a :"
|
||||
"file:`.pypirc` file."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:79
|
||||
msgid ""
|
||||
"If you have not registered with PyPI, then you will need to do so now. You "
|
||||
"should choose option 2, and enter your details as required. Soon after "
|
||||
"submitting your details, you will receive an email which will be used to "
|
||||
"confirm your registration."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:84
|
||||
msgid ""
|
||||
"Once you are registered, you may choose option 1 from the menu. You will be "
|
||||
"prompted for your PyPI username and password, and :command:`register` will "
|
||||
"then submit your meta-data to the index."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:88
|
||||
msgid ""
|
||||
"See :ref:`package-cmdoptions` for options to the :command:`register` command."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:94
|
||||
msgid "The ``upload`` command"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:98
|
||||
msgid ""
|
||||
"The distutils command :command:`upload` pushes the distribution files to "
|
||||
"PyPI."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:100
|
||||
msgid ""
|
||||
"The command is invoked immediately after building one or more distribution "
|
||||
"files. For example, the command ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:105
|
||||
msgid ""
|
||||
"will cause the source distribution and the Windows installer to be uploaded "
|
||||
"to PyPI. Note that these will be uploaded even if they are built using an "
|
||||
"earlier invocation of :file:`setup.py`, but that only distributions named on "
|
||||
"the command line for the invocation including the :command:`upload` command "
|
||||
"are uploaded."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:110
|
||||
msgid ""
|
||||
"If a :command:`register` command was previously called in the same command, "
|
||||
"and if the password was entered in the prompt, :command:`upload` will reuse "
|
||||
"the entered password. This is useful if you do not want to store a password "
|
||||
"in clear text in a :file:`.pypirc` file."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:115
|
||||
msgid ""
|
||||
"You can use the ``--sign`` option to tell :command:`upload` to sign each "
|
||||
"uploaded file using GPG (GNU Privacy Guard). The :program:`gpg` program "
|
||||
"must be available for execution on the system :envvar:`PATH`. You can also "
|
||||
"specify which key to use for signing using the ``--identity=name`` option."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:120
|
||||
msgid ""
|
||||
"See :ref:`package-cmdoptions` for additional options to the :command:"
|
||||
"`upload` command."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:127
|
||||
msgid "Additional command options"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:129
|
||||
msgid ""
|
||||
"This section describes options common to both the :command:`register` and :"
|
||||
"command:`upload` commands."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:132
|
||||
msgid ""
|
||||
"The ``--repository`` or ``-r`` option lets you specify a PyPI server "
|
||||
"different from the default. For example::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:137
|
||||
msgid ""
|
||||
"For convenience, a name can be used in place of the URL when the :file:`."
|
||||
"pypirc` file is configured to do so. For example::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:142
|
||||
msgid "See :ref:`pypirc` for more information on defining alternate servers."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:144
|
||||
msgid ""
|
||||
"The ``--show-response`` option displays the full response text from the PyPI "
|
||||
"server, which is useful when debugging problems with registering and "
|
||||
"uploading."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:155
|
||||
msgid "The ``.pypirc`` file"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:157
|
||||
msgid ""
|
||||
"The :command:`register` and :command:`upload` commands both check for the "
|
||||
"existence of a :file:`.pypirc` file at the location :file:`$HOME/.pypirc`. "
|
||||
"If this file exists, the command uses the username, password, and repository "
|
||||
"URL configured in the file. The format of a :file:`.pypirc` file is as "
|
||||
"follows::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:172
|
||||
msgid ""
|
||||
"The *distutils* section defines an *index-servers* variable that lists the "
|
||||
"name of all sections describing a repository."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:175
|
||||
msgid "Each section describing a repository defines three variables:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:177
|
||||
msgid "*repository*, that defines the url of the PyPI server. Defaults to"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:178
|
||||
msgid "``https://www.python.org/pypi``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:179
|
||||
msgid "*username*, which is the registered username on the PyPI server."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:181
|
||||
msgid "*password*, that will be used to authenticate. If omitted the user"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:181
|
||||
msgid "will be prompt to type it when needed."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:183
|
||||
msgid ""
|
||||
"If you want to define another server a new section can be created and listed "
|
||||
"in the *index-servers* variable::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:201
|
||||
msgid ""
|
||||
"This allows the :command:`register` and :command:`upload` commands to be "
|
||||
"called with the ``--repository`` option as described in :ref:`package-"
|
||||
"cmdoptions`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:205
|
||||
msgid ""
|
||||
"Specifically, you might want to add the `PyPI Test Repository <https://wiki."
|
||||
"python.org/moin/TestPyPI>`_ to your ``.pypirc`` to facilitate testing before "
|
||||
"doing your first upload to ``PyPI`` itself."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:213
|
||||
msgid "PyPI package display"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:215
|
||||
msgid ""
|
||||
"The ``long_description`` field plays a special role at PyPI. It is used by "
|
||||
"the server to display a home page for the registered package."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:218
|
||||
msgid ""
|
||||
"If you use the `reStructuredText <http://docutils.sourceforge.net/rst."
|
||||
"html>`_ syntax for this field, PyPI will parse it and display an HTML output "
|
||||
"for the package home page."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:222
|
||||
msgid ""
|
||||
"The ``long_description`` field can be attached to a text file located in the "
|
||||
"package::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:233
|
||||
msgid ""
|
||||
"In that case, :file:`README.txt` is a regular reStructuredText text file "
|
||||
"located in the root of the package besides :file:`setup.py`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:236
|
||||
msgid ""
|
||||
"To prevent registering broken reStructuredText content, you can use the :"
|
||||
"program:`rst2html` program that is provided by the :mod:`docutils` package "
|
||||
"and check the ``long_description`` from the command line:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:244
|
||||
msgid ""
|
||||
":mod:`docutils` will display a warning if there's something wrong with your "
|
||||
"syntax. Because PyPI applies additional checks (e.g. by passing ``--no-"
|
||||
"raw`` to ``rst2html.py`` in the command above), being able to run the "
|
||||
"command above without warnings does not guarantee that PyPI will convert the "
|
||||
"content successfully."
|
||||
msgstr ""
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,518 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:5
|
||||
msgid "Creating a Source Distribution"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:7
|
||||
msgid ""
|
||||
"As shown in section :ref:`distutils-simple-example`, you use the :command:"
|
||||
"`sdist` command to create a source distribution. In the simplest case, ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:12
|
||||
msgid ""
|
||||
"(assuming you haven't specified any :command:`sdist` options in the setup "
|
||||
"script or config file), :command:`sdist` creates the archive of the default "
|
||||
"format for the current platform. The default format is a gzip'ed tar file (:"
|
||||
"file:`.tar.gz`) on Unix, and ZIP file on Windows."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:17
|
||||
msgid ""
|
||||
"You can specify as many formats as you like using the :option:`--formats` "
|
||||
"option, for example::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:22
|
||||
msgid "to create a gzipped tarball and a zip file. The available formats are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:25
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:25 ../Doc/distutils/sourcedist.rst:252
|
||||
msgid "Description"
|
||||
msgstr "Description"
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:25
|
||||
msgid "Notes"
|
||||
msgstr "Notes"
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:27
|
||||
msgid "``zip``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:27
|
||||
msgid "zip file (:file:`.zip`)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:27
|
||||
msgid "(1),(3)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:29
|
||||
msgid "``gztar``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:29
|
||||
msgid "gzip'ed tar file (:file:`.tar.gz`)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:29
|
||||
msgid "\\(2)"
|
||||
msgstr "\\(2)"
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:32
|
||||
msgid "``bztar``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:32
|
||||
msgid "bzip2'ed tar file (:file:`.tar.bz2`)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:35
|
||||
msgid "``ztar``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:35
|
||||
msgid "compressed tar file (:file:`.tar.Z`)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:35
|
||||
msgid "\\(4)"
|
||||
msgstr "\\(4)"
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:38
|
||||
msgid "``tar``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:38
|
||||
msgid "tar file (:file:`.tar`)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:41
|
||||
msgid "Notes:"
|
||||
msgstr "Notes : "
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:44
|
||||
msgid "default on Windows"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:47
|
||||
msgid "default on Unix"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:50
|
||||
msgid ""
|
||||
"requires either external :program:`zip` utility or :mod:`zipfile` module "
|
||||
"(part of the standard Python library since Python 1.6)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:54
|
||||
msgid "requires the :program:`compress` program."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:56
|
||||
msgid ""
|
||||
"When using any ``tar`` format (``gztar``, ``bztar``, ``ztar`` or ``tar``) "
|
||||
"under Unix, you can specify the ``owner`` and ``group`` names that will be "
|
||||
"set for each member of the archive."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:60
|
||||
msgid "For example, if you want all files of the archive to be owned by root::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:68
|
||||
msgid "Specifying the files to distribute"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:70
|
||||
msgid ""
|
||||
"If you don't supply an explicit list of files (or instructions on how to "
|
||||
"generate one), the :command:`sdist` command puts a minimal default set into "
|
||||
"the source distribution:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:74
|
||||
msgid ""
|
||||
"all Python source files implied by the ``py_modules`` and ``packages`` "
|
||||
"options"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:77
|
||||
msgid ""
|
||||
"all C source files mentioned in the ``ext_modules`` or ``libraries`` options"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:83
|
||||
msgid ""
|
||||
"scripts identified by the ``scripts`` option See :ref:`distutils-installing-"
|
||||
"scripts`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:86
|
||||
msgid ""
|
||||
"anything that looks like a test script: :file:`test/test\\*.py` (currently, "
|
||||
"the Distutils don't do anything with test scripts except include them in "
|
||||
"source distributions, but in the future there will be a standard for testing "
|
||||
"Python module distributions)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:91
|
||||
msgid ""
|
||||
":file:`README.txt` (or :file:`README`), :file:`setup.py` (or whatever you "
|
||||
"called your setup script), and :file:`setup.cfg`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:94
|
||||
msgid ""
|
||||
"all files that matches the ``package_data`` metadata. See :ref:`distutils-"
|
||||
"installing-package-data`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:97
|
||||
msgid ""
|
||||
"all files that matches the ``data_files`` metadata. See :ref:`distutils-"
|
||||
"additional-files`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:100
|
||||
msgid ""
|
||||
"Sometimes this is enough, but usually you will want to specify additional "
|
||||
"files to distribute. The typical way to do this is to write a *manifest "
|
||||
"template*, called :file:`MANIFEST.in` by default. The manifest template is "
|
||||
"just a list of instructions for how to generate your manifest file, :file:"
|
||||
"`MANIFEST`, which is the exact list of files to include in your source "
|
||||
"distribution. The :command:`sdist` command processes this template and "
|
||||
"generates a manifest based on its instructions and what it finds in the "
|
||||
"filesystem."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:108
|
||||
msgid ""
|
||||
"If you prefer to roll your own manifest file, the format is simple: one "
|
||||
"filename per line, regular files (or symlinks to them) only. If you do "
|
||||
"supply your own :file:`MANIFEST`, you must specify everything: the default "
|
||||
"set of files described above does not apply in this case."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:113
|
||||
msgid ""
|
||||
"An existing generated :file:`MANIFEST` will be regenerated without :command:"
|
||||
"`sdist` comparing its modification time to the one of :file:`MANIFEST.in` "
|
||||
"or :file:`setup.py`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:118
|
||||
msgid ""
|
||||
":file:`MANIFEST` files start with a comment indicating they are generated. "
|
||||
"Files without this comment are not overwritten or removed."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:122
|
||||
msgid ""
|
||||
":command:`sdist` will read a :file:`MANIFEST` file if no :file:`MANIFEST.in` "
|
||||
"exists, like it did before 2.7."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:126
|
||||
msgid "See :ref:`manifest_template` section for a syntax reference."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:132
|
||||
msgid "Manifest-related options"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:134
|
||||
msgid ""
|
||||
"The normal course of operations for the :command:`sdist` command is as "
|
||||
"follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:136
|
||||
msgid ""
|
||||
"if the manifest file (:file:`MANIFEST` by default) exists and the first line "
|
||||
"does not have a comment indicating it is generated from :file:`MANIFEST.in`, "
|
||||
"then it is used as is, unaltered"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:140
|
||||
msgid ""
|
||||
"if the manifest file doesn't exist or has been previously automatically "
|
||||
"generated, read :file:`MANIFEST.in` and create the manifest"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:143
|
||||
msgid ""
|
||||
"if neither :file:`MANIFEST` nor :file:`MANIFEST.in` exist, create a manifest "
|
||||
"with just the default file set"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:146
|
||||
msgid ""
|
||||
"use the list of files now in :file:`MANIFEST` (either just generated or read "
|
||||
"in) to create the source distribution archive(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:149
|
||||
msgid ""
|
||||
"There are a couple of options that modify this behaviour. First, use the :"
|
||||
"option:`--no-defaults` and :option:`--no-prune` to disable the standard "
|
||||
"\"include\" and \"exclude\" sets."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:153
|
||||
msgid ""
|
||||
"Second, you might just want to (re)generate the manifest, but not create a "
|
||||
"source distribution::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:158
|
||||
msgid ":option:`-o` is a shortcut for :option:`--manifest-only`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:163
|
||||
msgid "The MANIFEST.in template"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:165
|
||||
msgid ""
|
||||
"A :file:`MANIFEST.in` file can be added in a project to define the list of "
|
||||
"files to include in the distribution built by the :command:`sdist` command."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:168
|
||||
msgid ""
|
||||
"When :command:`sdist` is run, it will look for the :file:`MANIFEST.in` file "
|
||||
"and interpret it to generate the :file:`MANIFEST` file that contains the "
|
||||
"list of files that will be included in the package."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:172
|
||||
msgid ""
|
||||
"This mechanism can be used when the default list of files is not enough. "
|
||||
"(See :ref:`manifest`)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:176
|
||||
msgid "Principle"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:178
|
||||
msgid ""
|
||||
"The manifest template has one command per line, where each command specifies "
|
||||
"a set of files to include or exclude from the source distribution. For an "
|
||||
"example, let's look at the Distutils' own manifest template::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:186
|
||||
msgid ""
|
||||
"The meanings should be fairly clear: include all files in the distribution "
|
||||
"root matching :file:`\\*.txt`, all files anywhere under the :file:`examples` "
|
||||
"directory matching :file:`\\*.txt` or :file:`\\*.py`, and exclude all "
|
||||
"directories matching :file:`examples/sample?/build`. All of this is done "
|
||||
"*after* the standard include set, so you can exclude files from the standard "
|
||||
"set with explicit instructions in the manifest template. (Or, you can use "
|
||||
"the :option:`--no-defaults` option to disable the standard set entirely.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:194
|
||||
msgid ""
|
||||
"The order of commands in the manifest template matters: initially, we have "
|
||||
"the list of default files as described above, and each command in the "
|
||||
"template adds to or removes from that list of files. Once we have fully "
|
||||
"processed the manifest template, we remove files that should not be included "
|
||||
"in the source distribution:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:200
|
||||
msgid "all files in the Distutils \"build\" tree (default :file:`build/`)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:202
|
||||
msgid ""
|
||||
"all files in directories named :file:`RCS`, :file:`CVS`, :file:`.svn`, :file:"
|
||||
"`.hg`, :file:`.git`, :file:`.bzr` or :file:`_darcs`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:205
|
||||
msgid ""
|
||||
"Now we have our complete list of files, which is written to the manifest for "
|
||||
"future reference, and then used to build the source distribution archive(s)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:208
|
||||
msgid ""
|
||||
"You can disable the default set of included files with the :option:`--no-"
|
||||
"defaults` option, and you can disable the standard exclude set with :option:"
|
||||
"`--no-prune`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:212
|
||||
msgid ""
|
||||
"Following the Distutils' own manifest template, let's trace how the :command:"
|
||||
"`sdist` command builds the list of files to include in the Distutils source "
|
||||
"distribution:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:216
|
||||
msgid ""
|
||||
"include all Python source files in the :file:`distutils` and :file:"
|
||||
"`distutils/command` subdirectories (because packages corresponding to those "
|
||||
"two directories were mentioned in the ``packages`` option in the setup "
|
||||
"script---see section :ref:`setup-script`)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:221
|
||||
msgid ""
|
||||
"include :file:`README.txt`, :file:`setup.py`, and :file:`setup.cfg` "
|
||||
"(standard files)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:224
|
||||
msgid "include :file:`test/test\\*.py` (standard files)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:226
|
||||
msgid ""
|
||||
"include :file:`\\*.txt` in the distribution root (this will find :file:"
|
||||
"`README.txt` a second time, but such redundancies are weeded out later)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:229
|
||||
msgid ""
|
||||
"include anything matching :file:`\\*.txt` or :file:`\\*.py` in the sub-tree "
|
||||
"under :file:`examples`,"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:232
|
||||
msgid ""
|
||||
"exclude all files in the sub-trees starting at directories matching :file:"
|
||||
"`examples/sample?/build`\\ ---this may exclude files included by the "
|
||||
"previous two steps, so it's important that the ``prune`` command in the "
|
||||
"manifest template comes after the ``recursive-include`` command"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:237
|
||||
msgid ""
|
||||
"exclude the entire :file:`build` tree, and any :file:`RCS`, :file:`CVS`, :"
|
||||
"file:`.svn`, :file:`.hg`, :file:`.git`, :file:`.bzr` and :file:`_darcs` "
|
||||
"directories"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:241
|
||||
msgid ""
|
||||
"Just like in the setup script, file and directory names in the manifest "
|
||||
"template should always be slash-separated; the Distutils will take care of "
|
||||
"converting them to the standard representation on your platform. That way, "
|
||||
"the manifest template is portable across operating systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:247
|
||||
msgid "Commands"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:249
|
||||
msgid "The manifest template commands are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:252
|
||||
msgid "Command"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:254
|
||||
msgid ":command:`include pat1 pat2 ...`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:254
|
||||
msgid "include all files matching any of the listed patterns"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:257
|
||||
msgid ":command:`exclude pat1 pat2 ...`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:257
|
||||
msgid "exclude all files matching any of the listed patterns"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:260
|
||||
msgid ":command:`recursive-include dir pat1 pat2 ...`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:260
|
||||
msgid "include all files under *dir* matching any of the listed patterns"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:263
|
||||
msgid ":command:`recursive-exclude dir pat1 pat2 ...`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:263
|
||||
msgid "exclude all files under *dir* matching any of the listed patterns"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:266
|
||||
msgid ":command:`global-include pat1 pat2 ...`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:266
|
||||
msgid ""
|
||||
"include all files anywhere in the source tree matching --- & any of the "
|
||||
"listed patterns"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:269
|
||||
msgid ":command:`global-exclude pat1 pat2 ...`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:269
|
||||
msgid ""
|
||||
"exclude all files anywhere in the source tree matching --- & any of the "
|
||||
"listed patterns"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:272
|
||||
msgid ":command:`prune dir`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:272
|
||||
msgid "exclude all files under *dir*"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:274
|
||||
msgid ":command:`graft dir`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:274
|
||||
msgid "include all files under *dir*"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/sourcedist.rst:277
|
||||
msgid ""
|
||||
"The patterns here are Unix-style \"glob\" patterns: ``*`` matches any "
|
||||
"sequence of regular filename characters, ``?`` matches any single regular "
|
||||
"filename character, and ``[range]`` matches any of the characters in *range* "
|
||||
"(e.g., ``a-z``, ``a-zA-Z``, ``a-f0-9_.``). The definition of \"regular "
|
||||
"filename character\" is platform-specific: on Unix it is anything except "
|
||||
"slash; on Windows anything except backslash or colon."
|
||||
msgstr ""
|
|
@ -0,0 +1,26 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/distutils/uploading.rst:5
|
||||
msgid "Uploading Packages to the Package Index"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/distutils/uploading.rst:7
|
||||
msgid ""
|
||||
"The contents of this page have moved to the section :ref:`package-index`."
|
||||
msgstr ""
|
3796
extending.po
3796
extending.po
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,177 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/extending/building.rst:8
|
||||
msgid "Building C and C++ Extensions with distutils"
|
||||
msgstr "Construire les extensions C et C++ avec distutils"
|
||||
|
||||
#: ../Doc/extending/building.rst:13
|
||||
msgid ""
|
||||
"Starting in Python 1.4, Python provides, on Unix, a special make file for "
|
||||
"building make files for building dynamically-linked extensions and custom "
|
||||
"interpreters. Starting with Python 2.0, this mechanism (known as related to "
|
||||
"Makefile.pre.in, and Setup files) is no longer supported. Building custom "
|
||||
"interpreters was rarely used, and extension modules can be built using "
|
||||
"distutils."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/building.rst:20
|
||||
msgid ""
|
||||
"Building an extension module using distutils requires that distutils is "
|
||||
"installed on the build machine, which is included in Python 2.x and "
|
||||
"available separately for Python 1.5. Since distutils also supports creation "
|
||||
"of binary packages, users don't necessarily need a compiler and distutils to "
|
||||
"install the extension."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/building.rst:26
|
||||
msgid ""
|
||||
"A distutils package contains a driver script, :file:`setup.py`. This is a "
|
||||
"plain Python file, which, in the most simple case, could look like this:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/building.rst:42
|
||||
msgid "With this :file:`setup.py`, and a file :file:`demo.c`, running ::"
|
||||
msgstr "Avec ce :file:`setup.py` et un fichier :file:`demo.c`, lancer : ::"
|
||||
|
||||
#: ../Doc/extending/building.rst:46
|
||||
msgid ""
|
||||
"will compile :file:`demo.c`, and produce an extension module named ``demo`` "
|
||||
"in the :file:`build` directory. Depending on the system, the module file "
|
||||
"will end up in a subdirectory :file:`build/lib.system`, and may have a name "
|
||||
"like :file:`demo.so` or :file:`demo.pyd`."
|
||||
msgstr ""
|
||||
"compilera :file:`demo.c`, et produira un module d'extension nommé ``demo`` "
|
||||
"dans le dossier :file:`build`. En fonction du système, le fichier du module "
|
||||
"peut se retrouver dans :file:`build/lib.system`, et son nom peut être :file:"
|
||||
"`demo.py` ou :file:`demo.pyd`."
|
||||
|
||||
#: ../Doc/extending/building.rst:51
|
||||
msgid ""
|
||||
"In the :file:`setup.py`, all execution is performed by calling the ``setup`` "
|
||||
"function. This takes a variable number of keyword arguments, of which the "
|
||||
"example above uses only a subset. Specifically, the example specifies meta-"
|
||||
"information to build packages, and it specifies the contents of the "
|
||||
"package. Normally, a package will contain of addition modules, like Python "
|
||||
"source modules, documentation, subpackages, etc. Please refer to the "
|
||||
"distutils documentation in :ref:`distutils-index` to learn more about the "
|
||||
"features of distutils; this section explains building extension modules only."
|
||||
msgstr ""
|
||||
"Dans le fichier :file:`setup.py`, tout est exécuté en appelant la fonction "
|
||||
"``setup``. Elle prend une quantité variable d'arguments nommés, l'exemple "
|
||||
"précédent n'en utilisant qu'une partie. L'exemple précise des méta-"
|
||||
"informations pour construire les paquets, et définir le contenu du paquet. "
|
||||
"Normalement un paquet contient des modules additionnels, comme des modules "
|
||||
"sources, documentation, sous paquets, etc. Referez-vous à la documentation "
|
||||
"de distutils dans :ref:`distutils-index` pour en apprendre plus sur les "
|
||||
"fonctionnalités de distutils. Cette section n'explique que la construction "
|
||||
"de modules d'extension."
|
||||
|
||||
#: ../Doc/extending/building.rst:60
|
||||
msgid ""
|
||||
"It is common to pre-compute arguments to :func:`setup`, to better structure "
|
||||
"the driver script. In the example above, the ``ext_modules`` argument to :"
|
||||
"func:`setup` is a list of extension modules, each of which is an instance of "
|
||||
"the :class:`~distutils.extension.Extension`. In the example, the instance "
|
||||
"defines an extension named ``demo`` which is build by compiling a single "
|
||||
"source file, :file:`demo.c`."
|
||||
msgstr ""
|
||||
"Il est classique de pré-construire les arguments de :func:`setup`, pour "
|
||||
"mieux structurer le script pilote. Dans l'exemple précédent, l'argument "
|
||||
"``ext_modules`` donné à :func:`setup` est une liste de modules d'extension, "
|
||||
"dont chacun est une instance de :class:`~distutils.extension.Extension`. "
|
||||
"Dans l'exemple, l'instance défini une extension nommée ``demo`` qui est "
|
||||
"construite en compilant un seul fichier source, :file:`demo.c`."
|
||||
|
||||
#: ../Doc/extending/building.rst:67
|
||||
msgid ""
|
||||
"In many cases, building an extension is more complex, since additional "
|
||||
"preprocessor defines and libraries may be needed. This is demonstrated in "
|
||||
"the example below."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/building.rst:95
|
||||
msgid ""
|
||||
"In this example, :func:`setup` is called with additional meta-information, "
|
||||
"which is recommended when distribution packages have to be built. For the "
|
||||
"extension itself, it specifies preprocessor defines, include directories, "
|
||||
"library directories, and libraries. Depending on the compiler, distutils "
|
||||
"passes this information in different ways to the compiler. For example, on "
|
||||
"Unix, this may result in the compilation commands ::"
|
||||
msgstr ""
|
||||
"Dans cet exemple, :func:`setup` est appelée avec des méta-informations "
|
||||
"supplémentaires, ce qui est recommandé lorsque le paquet est amené à être "
|
||||
"distribué. Pour l'extension elle même, elle donne des variables de "
|
||||
"préprocesseur (*defines*), dossiers de bibliothèques, et bibliothèques. En "
|
||||
"fonction du compilateur distutils peut lui donner ces informations de "
|
||||
"différentes manières, par exemple, sur Linux, on pourrait obtenir cette "
|
||||
"ligne : ::"
|
||||
|
||||
#: ../Doc/extending/building.rst:106
|
||||
msgid ""
|
||||
"These lines are for demonstration purposes only; distutils users should "
|
||||
"trust that distutils gets the invocations right."
|
||||
msgstr ""
|
||||
"Ces lignes ne sont qu'à titre d'exemple, les utilisateurs de distutils "
|
||||
"doivent avoir confiance en distutils qui fera les appels correctement."
|
||||
|
||||
#: ../Doc/extending/building.rst:113
|
||||
msgid "Distributing your extension modules"
|
||||
msgstr "Distribuer vos modules d'extension"
|
||||
|
||||
#: ../Doc/extending/building.rst:115
|
||||
msgid ""
|
||||
"When an extension has been successfully build, there are three ways to use "
|
||||
"it."
|
||||
msgstr ""
|
||||
"Lorsqu'une extension a été construite avec succès, il existe trois moyens de "
|
||||
"l'utiliser."
|
||||
|
||||
#: ../Doc/extending/building.rst:117
|
||||
msgid ""
|
||||
"End-users will typically want to install the module, they do so by running ::"
|
||||
msgstr ""
|
||||
"Typiquement, les utilisateurs vont vouloir installer le module, ils le font "
|
||||
"en exécutant : ::"
|
||||
|
||||
#: ../Doc/extending/building.rst:121
|
||||
msgid ""
|
||||
"Module maintainers should produce source packages; to do so, they run ::"
|
||||
msgstr ""
|
||||
"Les mainteneurs de modules voudront produire des paquets source, pour ce "
|
||||
"faire ils exécuteront : ::"
|
||||
|
||||
#: ../Doc/extending/building.rst:125
|
||||
msgid ""
|
||||
"In some cases, additional files need to be included in a source "
|
||||
"distribution; this is done through a :file:`MANIFEST.in` file; see the "
|
||||
"distutils documentation for details."
|
||||
msgstr ""
|
||||
"Dans certains cas, des fichiers supplémentaires doivent être joints à la "
|
||||
"distribution source, c'est possible grâce à un fichier :file:`MANIFEST.in`. "
|
||||
"Voir la documentation de distutils pour plus de détails."
|
||||
|
||||
#: ../Doc/extending/building.rst:129
|
||||
msgid ""
|
||||
"If the source distribution has been build successfully, maintainers can also "
|
||||
"create binary distributions. Depending on the platform, one of the following "
|
||||
"commands can be used to do so. ::"
|
||||
msgstr ""
|
||||
"Si la distribution source a été construite avec succès, les mainteneurs "
|
||||
"peuvent créer une distribution binaire. En fonction de la plateforme, une "
|
||||
"des commandes suivantes peut être utilisée. ::"
|
|
@ -0,0 +1,449 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/extending/embedding.rst:8
|
||||
msgid "Embedding Python in Another Application"
|
||||
msgstr "Intégrer Python dans une autre Application"
|
||||
|
||||
#: ../Doc/extending/embedding.rst:10
|
||||
msgid ""
|
||||
"The previous chapters discussed how to extend Python, that is, how to extend "
|
||||
"the functionality of Python by attaching a library of C functions to it. It "
|
||||
"is also possible to do it the other way around: enrich your C/C++ "
|
||||
"application by embedding Python in it. Embedding provides your application "
|
||||
"with the ability to implement some of the functionality of your application "
|
||||
"in Python rather than C or C++. This can be used for many purposes; one "
|
||||
"example would be to allow users to tailor the application to their needs by "
|
||||
"writing some scripts in Python. You can also use it yourself if some of the "
|
||||
"functionality can be written in Python more easily."
|
||||
msgstr ""
|
||||
"Les chapitres précédents couvraient l'extension de Python, c'est à dire, "
|
||||
"comment enrichir une fonctionnalité de Python en y attachant une "
|
||||
"bibliothèque de fonctions C. C'est aussi possible dans l'autre sens: "
|
||||
"enrichir vos applications C/C++ en y intégrant Python. Intégrer Python vous "
|
||||
"permet d'implémenter certaines fonctionnalités de vos applications en Python "
|
||||
"plutôt qu'en C ou C++. C'est utile dans de nombreux cas, un exemple serait "
|
||||
"de permettre aux utilisateurs d'adapter une application à leur besoins en y "
|
||||
"écrivant des scripts Python. Vous pouvez aussi l'utiliser vous même si "
|
||||
"certaines fonctionnalités peuvent être rédigées plus facilement en Python."
|
||||
|
||||
#: ../Doc/extending/embedding.rst:20
|
||||
msgid ""
|
||||
"Embedding Python is similar to extending it, but not quite. The difference "
|
||||
"is that when you extend Python, the main program of the application is still "
|
||||
"the Python interpreter, while if you embed Python, the main program may have "
|
||||
"nothing to do with Python --- instead, some parts of the application "
|
||||
"occasionally call the Python interpreter to run some Python code."
|
||||
msgstr ""
|
||||
"Intégrer et étendre Python sont des tâches presque identiques. La différence "
|
||||
"est qu'en étendant Python, le programme principal reste l'interpréteur "
|
||||
"Python, alors qu'en intégrant Python le programme principal peut ne rien à "
|
||||
"voir avec Python. C'est simplement quelques parties du programme qui "
|
||||
"appellent l'interprète Python pour exécuter un peu de code Python."
|
||||
|
||||
#: ../Doc/extending/embedding.rst:26
|
||||
msgid ""
|
||||
"So if you are embedding Python, you are providing your own main program. "
|
||||
"One of the things this main program has to do is initialize the Python "
|
||||
"interpreter. At the very least, you have to call the function :c:func:"
|
||||
"`Py_Initialize`. There are optional calls to pass command line arguments to "
|
||||
"Python. Then later you can call the interpreter from any part of the "
|
||||
"application."
|
||||
msgstr ""
|
||||
"En intégrant Python, vous fournissez le programme principal. L'une de ses "
|
||||
"tâches sera d'initialiser l'interpréteur. Au minimum vous devrez appeler :c:"
|
||||
"func:`Py_Initialize`. Il est possible, avec quelques appels supplémentaires, "
|
||||
"de passer des options à Python. Ensuite vous pourrez appeler l'interpréteur "
|
||||
"depuis n'importe quelle partie de votre programme."
|
||||
|
||||
#: ../Doc/extending/embedding.rst:32
|
||||
msgid ""
|
||||
"There are several different ways to call the interpreter: you can pass a "
|
||||
"string containing Python statements to :c:func:`PyRun_SimpleString`, or you "
|
||||
"can pass a stdio file pointer and a file name (for identification in error "
|
||||
"messages only) to :c:func:`PyRun_SimpleFile`. You can also call the lower-"
|
||||
"level operations described in the previous chapters to construct and use "
|
||||
"Python objects."
|
||||
msgstr ""
|
||||
"Il existe différents moyens d'appeler l'interpréteur: vous pouvez donner une "
|
||||
"chaîne contenant des instructions Python à :c:func:`PyRun_SimpleString`, ou "
|
||||
"vous pouvez donner un pointeur de fichier *stdio* et un nom de fichier "
|
||||
"(juste pour nommer les messages d'erreur) à :c:func:`PyRunSimpleFile`. Vous "
|
||||
"pouvez aussi appeler les API de bas niveau décrites dans les chapitres "
|
||||
"précédents pour construire et utiliser des objets Python."
|
||||
|
||||
#: ../Doc/extending/embedding.rst:38
|
||||
msgid ""
|
||||
"A simple demo of embedding Python can be found in the directory :file:`Demo/"
|
||||
"embed/` of the source distribution."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/embedding.rst:45
|
||||
msgid ":ref:`c-api-index`"
|
||||
msgstr ":ref:`c-api-index`"
|
||||
|
||||
#: ../Doc/extending/embedding.rst:45
|
||||
msgid ""
|
||||
"The details of Python's C interface are given in this manual. A great deal "
|
||||
"of necessary information can be found here."
|
||||
msgstr ""
|
||||
"Les détails sur l'interface entre Python et le C sont donnés dans ce manuel. "
|
||||
"Pléthore informations s'y trouvent."
|
||||
|
||||
#: ../Doc/extending/embedding.rst:52
|
||||
msgid "Very High Level Embedding"
|
||||
msgstr "Intégration de Très Haut Niveau"
|
||||
|
||||
#: ../Doc/extending/embedding.rst:54
|
||||
msgid ""
|
||||
"The simplest form of embedding Python is the use of the very high level "
|
||||
"interface. This interface is intended to execute a Python script without "
|
||||
"needing to interact with the application directly. This can for example be "
|
||||
"used to perform some operation on a file. ::"
|
||||
msgstr ""
|
||||
"La manière la plus simple d'intégrer Python est d'utiliser une interface de "
|
||||
"très haut niveau. Cette interface a pour but d'exécuter un script Python "
|
||||
"sans avoir à interagir avec directement. C'est utile, par exemple, pour "
|
||||
"effectuer une opération sur un fichier. ::"
|
||||
|
||||
#: ../Doc/extending/embedding.rst:72
|
||||
msgid ""
|
||||
"The :c:func:`Py_SetProgramName` function should be called before :c:func:"
|
||||
"`Py_Initialize` to inform the interpreter about paths to Python run-time "
|
||||
"libraries. Next, the Python interpreter is initialized with :c:func:"
|
||||
"`Py_Initialize`, followed by the execution of a hard-coded Python script "
|
||||
"that prints the date and time. Afterwards, the :c:func:`Py_Finalize` call "
|
||||
"shuts the interpreter down, followed by the end of the program. In a real "
|
||||
"program, you may want to get the Python script from another source, perhaps "
|
||||
"a text-editor routine, a file, or a database. Getting the Python code from "
|
||||
"a file can better be done by using the :c:func:`PyRun_SimpleFile` function, "
|
||||
"which saves you the trouble of allocating memory space and loading the file "
|
||||
"contents."
|
||||
msgstr ""
|
||||
"La fonction :c:func:`Py_SetProgramName` devrait être appelée avant :c:func:"
|
||||
"`Py_Initialize` pour informer l'interpréteur des chemins vers les "
|
||||
"bibliothèque Python. Ensuite, l'interpréteur Python est initialisé avec :c:"
|
||||
"func:`Py_Initialize`, suivi par l'exécution d'un script Python, codé en dur, "
|
||||
"qui affiche la date et l'heure. Ensuite, l'interpréteur est arrêté par un "
|
||||
"appel à :c:func:`Py_Finalize`, puis le programme se termine. Dans un vrai "
|
||||
"programme, vous voudrez peut-être obtenir le script Python d'une autre "
|
||||
"source, peut-être d'une fonction d'un éditeur de texte, un fichier ou une "
|
||||
"base de données. Obtenir le code Python à partir d'un fichier se fait plus "
|
||||
"aisément avec :c:func:`PyRun_SimpleFile`,ce qui vous évite d'avoir à allouer "
|
||||
"la mémoire et d'y charger le contenu du fichier."
|
||||
|
||||
#: ../Doc/extending/embedding.rst:87
|
||||
msgid "Beyond Very High Level Embedding: An overview"
|
||||
msgstr "Au delà de l'Intégration de Haut Niveau: Survol"
|
||||
|
||||
#: ../Doc/extending/embedding.rst:89
|
||||
msgid ""
|
||||
"The high level interface gives you the ability to execute arbitrary pieces "
|
||||
"of Python code from your application, but exchanging data values is quite "
|
||||
"cumbersome to say the least. If you want that, you should use lower level "
|
||||
"calls. At the cost of having to write more C code, you can achieve almost "
|
||||
"anything."
|
||||
msgstr ""
|
||||
"L'interface de haut niveau vous permet d'exécuter n'importe quel morceau de "
|
||||
"code Python depuis votre application, mais échanger des données est quelque "
|
||||
"peu alambiqué. Si c'est ce dont vous avez besoin, vous devez utiliser des "
|
||||
"appels de niveau plus bas. Il vous en coûtera plus de lignes de C à écrire, "
|
||||
"mais vous pourrez presque tout faire."
|
||||
|
||||
#: ../Doc/extending/embedding.rst:94
|
||||
msgid ""
|
||||
"It should be noted that extending Python and embedding Python is quite the "
|
||||
"same activity, despite the different intent. Most topics discussed in the "
|
||||
"previous chapters are still valid. To show this, consider what the extension "
|
||||
"code from Python to C really does:"
|
||||
msgstr ""
|
||||
"Il est à souligner qu'étendre ou intégrer Python revient à la louche au "
|
||||
"même, en dépit de la différence d'intention. La plupart des sujets parcourus "
|
||||
"dans les chapitres précédents sont toujours valides. Pour le prouver, "
|
||||
"regardez ce qu'un code d'extension de Python vers C fait réellement :"
|
||||
|
||||
#: ../Doc/extending/embedding.rst:99
|
||||
msgid "Convert data values from Python to C,"
|
||||
msgstr "Convertir des valeurs de Python vers le C,"
|
||||
|
||||
#: ../Doc/extending/embedding.rst:101
|
||||
msgid "Perform a function call to a C routine using the converted values, and"
|
||||
msgstr "Appeler une fonction C en utilisant les valeurs converties, et"
|
||||
|
||||
#: ../Doc/extending/embedding.rst:103
|
||||
msgid "Convert the data values from the call from C to Python."
|
||||
msgstr "Convertir les résultats de l'appel à la fonction C pour Python."
|
||||
|
||||
#: ../Doc/extending/embedding.rst:105
|
||||
msgid "When embedding Python, the interface code does:"
|
||||
msgstr "Lors de l'intégration de Python, le code de l'interface fait :"
|
||||
|
||||
#: ../Doc/extending/embedding.rst:107
|
||||
msgid "Convert data values from C to Python,"
|
||||
msgstr "Convertir les valeurs depuis le C vers Python,"
|
||||
|
||||
#: ../Doc/extending/embedding.rst:109
|
||||
msgid ""
|
||||
"Perform a function call to a Python interface routine using the converted "
|
||||
"values, and"
|
||||
msgstr ""
|
||||
"Effectuer un appel de fonction de l'interface Python en utilisant les "
|
||||
"valeurs converties, et"
|
||||
|
||||
#: ../Doc/extending/embedding.rst:112
|
||||
msgid "Convert the data values from the call from Python to C."
|
||||
msgstr "Convertir les valeurs de l'appel Python pour le C."
|
||||
|
||||
#: ../Doc/extending/embedding.rst:114
|
||||
msgid ""
|
||||
"As you can see, the data conversion steps are simply swapped to accommodate "
|
||||
"the different direction of the cross-language transfer. The only difference "
|
||||
"is the routine that you call between both data conversions. When extending, "
|
||||
"you call a C routine, when embedding, you call a Python routine."
|
||||
msgstr ""
|
||||
"Tel que vous le voyez, les conversions sont simplement inversées pour "
|
||||
"s'adapter au différentes directions de transfert inter-langage. La seule "
|
||||
"différence est la fonction que vous appelez entre les deux conversions de "
|
||||
"données. Lors de l'extension, vous appelez une fonction C, lors de "
|
||||
"l'intégration vous appelez une fonction Python."
|
||||
|
||||
#: ../Doc/extending/embedding.rst:119
|
||||
msgid ""
|
||||
"This chapter will not discuss how to convert data from Python to C and vice "
|
||||
"versa. Also, proper use of references and dealing with errors is assumed to "
|
||||
"be understood. Since these aspects do not differ from extending the "
|
||||
"interpreter, you can refer to earlier chapters for the required information."
|
||||
msgstr ""
|
||||
"Ce chapitre ne couvrira pas la conversion des données de Python vers le C ni "
|
||||
"l'inverse. Aussi, un usage correct des références, ainsi que savoir gérer "
|
||||
"les erreurs sont considérés acquis. Ces aspects étant identiques à "
|
||||
"l'extension de l'interpréteur, vous pouvez vous référer aux chapitres "
|
||||
"précédents."
|
||||
|
||||
#: ../Doc/extending/embedding.rst:128
|
||||
msgid "Pure Embedding"
|
||||
msgstr "Intégration Pure"
|
||||
|
||||
#: ../Doc/extending/embedding.rst:130
|
||||
msgid ""
|
||||
"The first program aims to execute a function in a Python script. Like in the "
|
||||
"section about the very high level interface, the Python interpreter does not "
|
||||
"directly interact with the application (but that will change in the next "
|
||||
"section)."
|
||||
msgstr ""
|
||||
"L'objectif du premier programme est d'exécuter une fonction dans un script "
|
||||
"Python. Comme dans la section à propos des interfaces de haut niveau, "
|
||||
"l'interpréteur n'interagit pas directement avec l'application (mais le fera "
|
||||
"dans la section suivante)."
|
||||
|
||||
#: ../Doc/extending/embedding.rst:135
|
||||
msgid "The code to run a function defined in a Python script is:"
|
||||
msgstr "Le code pour appeler une fonction définie dans un script Python est :"
|
||||
|
||||
#: ../Doc/extending/embedding.rst:140
|
||||
msgid ""
|
||||
"This code loads a Python script using ``argv[1]``, and calls the function "
|
||||
"named in ``argv[2]``. Its integer arguments are the other values of the "
|
||||
"``argv`` array. If you compile and link this program (let's call the "
|
||||
"finished executable :program:`call`), and use it to execute a Python script, "
|
||||
"such as:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/embedding.rst:154
|
||||
msgid "then the result should be:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/embedding.rst:162
|
||||
msgid ""
|
||||
"Although the program is quite large for its functionality, most of the code "
|
||||
"is for data conversion between Python and C, and for error reporting. The "
|
||||
"interesting part with respect to embedding Python starts with ::"
|
||||
msgstr ""
|
||||
"Bien que le programme soit plutôt gros pour ses fonctionnalités, la plupart "
|
||||
"du code n'est que conversion de données entre Python et C, aussi que pour "
|
||||
"rapporter les erreurs. La partie intéressante, qui concerne l'intégration de "
|
||||
"Python débute par : ::"
|
||||
|
||||
#: ../Doc/extending/embedding.rst:171
|
||||
msgid ""
|
||||
"After initializing the interpreter, the script is loaded using :c:func:"
|
||||
"`PyImport_Import`. This routine needs a Python string as its argument, "
|
||||
"which is constructed using the :c:func:`PyString_FromString` data conversion "
|
||||
"routine. ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/embedding.rst:184
|
||||
msgid ""
|
||||
"Once the script is loaded, the name we're looking for is retrieved using :c:"
|
||||
"func:`PyObject_GetAttrString`. If the name exists, and the object returned "
|
||||
"is callable, you can safely assume that it is a function. The program then "
|
||||
"proceeds by constructing a tuple of arguments as normal. The call to the "
|
||||
"Python function is then made with::"
|
||||
msgstr ""
|
||||
"Une fois le script chargé, le nom recherché est obtenu en utilisant :c:func:"
|
||||
"`PyObject_GetAttrString`. Si le nom existe, et que l'objet récupéré peut "
|
||||
"être appelé, vous pouvez présumer sans risque que c'est une fonction. Le "
|
||||
"programme continue, classiquement, par la construction de l'uplet "
|
||||
"d'arguments. L'appel à la fonction Python est alors effectué avec : ::"
|
||||
|
||||
#: ../Doc/extending/embedding.rst:192
|
||||
msgid ""
|
||||
"Upon return of the function, ``pValue`` is either *NULL* or it contains a "
|
||||
"reference to the return value of the function. Be sure to release the "
|
||||
"reference after examining the value."
|
||||
msgstr ""
|
||||
"Après l'exécution de la fonction, ``pValue`` est soit *NULL*, soit une "
|
||||
"référence sur la valeur donnée par la fonction. Assurez-vous de libérer la "
|
||||
"référence après avoir utilisé la valeur."
|
||||
|
||||
#: ../Doc/extending/embedding.rst:200
|
||||
msgid "Extending Embedded Python"
|
||||
msgstr "Étendre un Python Intégré"
|
||||
|
||||
#: ../Doc/extending/embedding.rst:202
|
||||
msgid ""
|
||||
"Until now, the embedded Python interpreter had no access to functionality "
|
||||
"from the application itself. The Python API allows this by extending the "
|
||||
"embedded interpreter. That is, the embedded interpreter gets extended with "
|
||||
"routines provided by the application. While it sounds complex, it is not so "
|
||||
"bad. Simply forget for a while that the application starts the Python "
|
||||
"interpreter. Instead, consider the application to be a set of subroutines, "
|
||||
"and write some glue code that gives Python access to those routines, just "
|
||||
"like you would write a normal Python extension. For example::"
|
||||
msgstr ""
|
||||
"Jusqu'à présent, l'interpréteur Python intégré n'avait pas accès aux "
|
||||
"fonctionnalités de l'application elle-même. L'API Python le permet en "
|
||||
"étendant l'interpréteur intégré. Autrement dit, l'interpréteur intégré est "
|
||||
"étendu avec des fonctions fournies par l'application. Bien que cela puisse "
|
||||
"sembler complexe, ce n'est pas si dur. Il suffit d'oublier que l'application "
|
||||
"démarre l'interpréteur Python, au lieu de cela, voyez l'application comme un "
|
||||
"ensemble de fonctions, et rédigez un peu de code pour exposer ces fonctions "
|
||||
"à Python, tout comme vous écririez une extension Python normale. Par "
|
||||
"exemple : ::"
|
||||
|
||||
#: ../Doc/extending/embedding.rst:228
|
||||
msgid ""
|
||||
"Insert the above code just above the :c:func:`main` function. Also, insert "
|
||||
"the following two statements directly after :c:func:`Py_Initialize`::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/embedding.rst:234
|
||||
msgid ""
|
||||
"These two lines initialize the ``numargs`` variable, and make the :func:`emb."
|
||||
"numargs` function accessible to the embedded Python interpreter. With these "
|
||||
"extensions, the Python script can do things like"
|
||||
msgstr ""
|
||||
"Ces deux lignes initialisent la variable ``numarg``, et rend la fonction :"
|
||||
"func:`emb.numargs` accessible à l'interprète intégré. Avec ces ajouts, le "
|
||||
"script Python petit maintenant faire des choses comme"
|
||||
|
||||
#: ../Doc/extending/embedding.rst:243
|
||||
msgid ""
|
||||
"In a real application, the methods will expose an API of the application to "
|
||||
"Python."
|
||||
msgstr ""
|
||||
"Dans un cas réel, les méthodes exposeraient une API de l'application a "
|
||||
"Python."
|
||||
|
||||
#: ../Doc/extending/embedding.rst:253
|
||||
msgid "Embedding Python in C++"
|
||||
msgstr "Intégrer Python dans du C++"
|
||||
|
||||
#: ../Doc/extending/embedding.rst:255
|
||||
msgid ""
|
||||
"It is also possible to embed Python in a C++ program; precisely how this is "
|
||||
"done will depend on the details of the C++ system used; in general you will "
|
||||
"need to write the main program in C++, and use the C++ compiler to compile "
|
||||
"and link your program. There is no need to recompile Python itself using C+"
|
||||
"+."
|
||||
msgstr ""
|
||||
"Il est aussi possible d'intégrer Python dans un programme en C++, la manière "
|
||||
"exacte dont cela se fait dépend de détails du système C++ utilisé. En "
|
||||
"général vous écrirez le programme principal en C++, utiliserez un "
|
||||
"compilateur C++ pour compiler et lier votre programme. Il n'y a pas besoin "
|
||||
"de recompiler Python en utilisant C++."
|
||||
|
||||
#: ../Doc/extending/embedding.rst:264
|
||||
msgid "Compiling and Linking under Unix-like systems"
|
||||
msgstr "Compiler et Lier en environnement Unix ou similaire"
|
||||
|
||||
#: ../Doc/extending/embedding.rst:266
|
||||
msgid ""
|
||||
"It is not necessarily trivial to find the right flags to pass to your "
|
||||
"compiler (and linker) in order to embed the Python interpreter into your "
|
||||
"application, particularly because Python needs to load library modules "
|
||||
"implemented as C dynamic extensions (:file:`.so` files) linked against it."
|
||||
msgstr ""
|
||||
"Ce n'est pas évident de trouver les bonnes options à passer au compilateur "
|
||||
"(et *linker*) pour intégrer l'interpréteur Python dans une application, "
|
||||
"Python ayant besoin de charger des extensions sous forme de bibliothèques "
|
||||
"dynamiques en C (des :file:`.so`) pour se lier avec."
|
||||
|
||||
#: ../Doc/extending/embedding.rst:272
|
||||
msgid ""
|
||||
"To find out the required compiler and linker flags, you can execute the :"
|
||||
"file:`python{X.Y}-config` script which is generated as part of the "
|
||||
"installation process (a :file:`python-config` script may also be "
|
||||
"available). This script has several options, of which the following will be "
|
||||
"directly useful to you:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/embedding.rst:278
|
||||
msgid ""
|
||||
"``pythonX.Y-config --cflags`` will give you the recommended flags when "
|
||||
"compiling:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/embedding.rst:286
|
||||
msgid ""
|
||||
"``pythonX.Y-config --ldflags`` will give you the recommended flags when "
|
||||
"linking:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/embedding.rst:295
|
||||
msgid ""
|
||||
"To avoid confusion between several Python installations (and especially "
|
||||
"between the system Python and your own compiled Python), it is recommended "
|
||||
"that you use the absolute path to :file:`python{X.Y}-config`, as in the "
|
||||
"above example."
|
||||
msgstr ""
|
||||
"Pour éviter la confusion entre différentes installations de Python, (et plus "
|
||||
"spécialement entre celle de votre système et votre version compilée), il est "
|
||||
"recommandé d'utiliser un chemin absolu vers :file:`python{X.Y}-config`, "
|
||||
"comme dans l'exemple précédent."
|
||||
|
||||
#: ../Doc/extending/embedding.rst:300
|
||||
msgid ""
|
||||
"If this procedure doesn't work for you (it is not guaranteed to work for all "
|
||||
"Unix-like platforms; however, we welcome :ref:`bug reports <reporting-"
|
||||
"bugs>`) you will have to read your system's documentation about dynamic "
|
||||
"linking and/or examine Python's :file:`Makefile` (use :func:`sysconfig."
|
||||
"get_makefile_filename` to find its location) and compilation options. In "
|
||||
"this case, the :mod:`sysconfig` module is a useful tool to programmatically "
|
||||
"extract the configuration values that you will want to combine together. "
|
||||
"For example:"
|
||||
msgstr ""
|
||||
"Si cette procédure ne fonctionne pas pour vous (il n'est pas garanti qu'elle "
|
||||
"fonctionne pour toutes les plateformes Unix, mais nous traiteront volontiers "
|
||||
"les :ref:`rapports de bugs <reporting-bugs>`), vous devrez lire "
|
||||
"ladocumentation de votre système sur la liaison dynamique (*dynamic "
|
||||
"linking*) et / ouexaminer le :file:`Makefile` de Python (utilisez :func:"
|
||||
"`sysconfig.get_makefile_filename` pour trouver son emplacement) et les "
|
||||
"options de compilation. Dans ce cas, le module :mod:`sysconfig` est un outil "
|
||||
"utile pour extraire automatiquement les valeurs de configuration que vous "
|
||||
"voudrez combiner ensemble. Par example :"
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,56 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/extending/index.rst:5
|
||||
msgid "Extending and Embedding the Python Interpreter"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/index.rst:7
|
||||
msgid ""
|
||||
"This document describes how to write modules in C or C++ to extend the "
|
||||
"Python interpreter with new modules. Those modules can not only define new "
|
||||
"functions but also new object types and their methods. The document also "
|
||||
"describes how to embed the Python interpreter in another application, for "
|
||||
"use as an extension language. Finally, it shows how to compile and link "
|
||||
"extension modules so that they can be loaded dynamically (at run time) into "
|
||||
"the interpreter, if the underlying operating system supports this feature."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/index.rst:15
|
||||
msgid ""
|
||||
"This document assumes basic knowledge about Python. For an informal "
|
||||
"introduction to the language, see :ref:`tutorial-index`. :ref:`reference-"
|
||||
"index` gives a more formal definition of the language. :ref:`library-index` "
|
||||
"documents the existing object types, functions and modules (both built-in "
|
||||
"and written in Python) that give the language its wide application range."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/index.rst:21
|
||||
msgid ""
|
||||
"For a detailed description of the whole Python/C API, see the separate :ref:"
|
||||
"`c-api-index`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/index.rst:26
|
||||
msgid ""
|
||||
"This guide only covers the basic tools for creating extensions provided as "
|
||||
"part of this version of CPython. Third party tools may offer simpler "
|
||||
"alternatives. Refer to the `binary extensions section <https://packaging."
|
||||
"python.org/en/latest/extensions/>`__ in the Python Packaging User Guide for "
|
||||
"more information."
|
||||
msgstr ""
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,188 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/extending/windows.rst:8
|
||||
msgid "Building C and C++ Extensions on Windows"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/windows.rst:10
|
||||
msgid ""
|
||||
"This chapter briefly explains how to create a Windows extension module for "
|
||||
"Python using Microsoft Visual C++, and follows with more detailed background "
|
||||
"information on how it works. The explanatory material is useful for both "
|
||||
"the Windows programmer learning to build Python extensions and the Unix "
|
||||
"programmer interested in producing software which can be successfully built "
|
||||
"on both Unix and Windows."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/windows.rst:17
|
||||
msgid ""
|
||||
"Module authors are encouraged to use the distutils approach for building "
|
||||
"extension modules, instead of the one described in this section. You will "
|
||||
"still need the C compiler that was used to build Python; typically Microsoft "
|
||||
"Visual C++."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/windows.rst:24
|
||||
msgid ""
|
||||
"This chapter mentions a number of filenames that include an encoded Python "
|
||||
"version number. These filenames are represented with the version number "
|
||||
"shown as ``XY``; in practice, ``'X'`` will be the major version number and "
|
||||
"``'Y'`` will be the minor version number of the Python release you're "
|
||||
"working with. For example, if you are using Python 2.2.1, ``XY`` will "
|
||||
"actually be ``22``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/windows.rst:34
|
||||
msgid "A Cookbook Approach"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/windows.rst:36
|
||||
msgid ""
|
||||
"There are two approaches to building extension modules on Windows, just as "
|
||||
"there are on Unix: use the :mod:`distutils` package to control the build "
|
||||
"process, or do things manually. The distutils approach works well for most "
|
||||
"extensions; documentation on using :mod:`distutils` to build and package "
|
||||
"extension modules is available in :ref:`distutils-index`. If you find you "
|
||||
"really need to do things manually, it may be instructive to study the "
|
||||
"project file for the :source:`winsound <PCbuild/winsound.vcxproj>` standard "
|
||||
"library module."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/windows.rst:48
|
||||
msgid "Differences Between Unix and Windows"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/windows.rst:53
|
||||
msgid ""
|
||||
"Unix and Windows use completely different paradigms for run-time loading of "
|
||||
"code. Before you try to build a module that can be dynamically loaded, be "
|
||||
"aware of how your system works."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/windows.rst:57
|
||||
msgid ""
|
||||
"In Unix, a shared object (:file:`.so`) file contains code to be used by the "
|
||||
"program, and also the names of functions and data that it expects to find in "
|
||||
"the program. When the file is joined to the program, all references to "
|
||||
"those functions and data in the file's code are changed to point to the "
|
||||
"actual locations in the program where the functions and data are placed in "
|
||||
"memory. This is basically a link operation."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/windows.rst:64
|
||||
msgid ""
|
||||
"In Windows, a dynamic-link library (:file:`.dll`) file has no dangling "
|
||||
"references. Instead, an access to functions or data goes through a lookup "
|
||||
"table. So the DLL code does not have to be fixed up at runtime to refer to "
|
||||
"the program's memory; instead, the code already uses the DLL's lookup table, "
|
||||
"and the lookup table is modified at runtime to point to the functions and "
|
||||
"data."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/windows.rst:70
|
||||
msgid ""
|
||||
"In Unix, there is only one type of library file (:file:`.a`) which contains "
|
||||
"code from several object files (:file:`.o`). During the link step to create "
|
||||
"a shared object file (:file:`.so`), the linker may find that it doesn't know "
|
||||
"where an identifier is defined. The linker will look for it in the object "
|
||||
"files in the libraries; if it finds it, it will include all the code from "
|
||||
"that object file."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/windows.rst:76
|
||||
msgid ""
|
||||
"In Windows, there are two types of library, a static library and an import "
|
||||
"library (both called :file:`.lib`). A static library is like a Unix :file:`."
|
||||
"a` file; it contains code to be included as necessary. An import library is "
|
||||
"basically used only to reassure the linker that a certain identifier is "
|
||||
"legal, and will be present in the program when the DLL is loaded. So the "
|
||||
"linker uses the information from the import library to build the lookup "
|
||||
"table for using identifiers that are not included in the DLL. When an "
|
||||
"application or a DLL is linked, an import library may be generated, which "
|
||||
"will need to be used for all future DLLs that depend on the symbols in the "
|
||||
"application or DLL."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/windows.rst:86
|
||||
msgid ""
|
||||
"Suppose you are building two dynamic-load modules, B and C, which should "
|
||||
"share another block of code A. On Unix, you would *not* pass :file:`A.a` to "
|
||||
"the linker for :file:`B.so` and :file:`C.so`; that would cause it to be "
|
||||
"included twice, so that B and C would each have their own copy. In Windows, "
|
||||
"building :file:`A.dll` will also build :file:`A.lib`. You *do* pass :file:"
|
||||
"`A.lib` to the linker for B and C. :file:`A.lib` does not contain code; it "
|
||||
"just contains information which will be used at runtime to access A's code."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/windows.rst:94
|
||||
msgid ""
|
||||
"In Windows, using an import library is sort of like using ``import spam``; "
|
||||
"it gives you access to spam's names, but does not create a separate copy. "
|
||||
"On Unix, linking with a library is more like ``from spam import *``; it does "
|
||||
"create a separate copy."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/windows.rst:103
|
||||
msgid "Using DLLs in Practice"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/windows.rst:108
|
||||
msgid ""
|
||||
"Windows Python is built in Microsoft Visual C++; using other compilers may "
|
||||
"or may not work (though Borland seems to). The rest of this section is MSVC+"
|
||||
"+ specific."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/windows.rst:112
|
||||
msgid ""
|
||||
"When creating DLLs in Windows, you must pass :file:`pythonXY.lib` to the "
|
||||
"linker. To build two DLLs, spam and ni (which uses C functions found in "
|
||||
"spam), you could use these commands::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/windows.rst:119
|
||||
msgid ""
|
||||
"The first command created three files: :file:`spam.obj`, :file:`spam.dll` "
|
||||
"and :file:`spam.lib`. :file:`Spam.dll` does not contain any Python "
|
||||
"functions (such as :c:func:`PyArg_ParseTuple`), but it does know how to find "
|
||||
"the Python code thanks to :file:`pythonXY.lib`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/windows.rst:124
|
||||
msgid ""
|
||||
"The second command created :file:`ni.dll` (and :file:`.obj` and :file:`."
|
||||
"lib`), which knows how to find the necessary functions from spam, and also "
|
||||
"from the Python executable."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/windows.rst:128
|
||||
msgid ""
|
||||
"Not every identifier is exported to the lookup table. If you want any other "
|
||||
"modules (including Python) to be able to see your identifiers, you have to "
|
||||
"say ``_declspec(dllexport)``, as in ``void _declspec(dllexport) "
|
||||
"initspam(void)`` or ``PyObject _declspec(dllexport) *NiGetSpamData(void)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/extending/windows.rst:133
|
||||
msgid ""
|
||||
"Developer Studio will throw in a lot of import libraries that you do not "
|
||||
"really need, adding about 100K to your executable. To get rid of them, use "
|
||||
"the Project Settings dialog, Link tab, to specify *ignore default "
|
||||
"libraries*. Add the correct :file:`msvcrtxx.lib` to the list of libraries."
|
||||
msgstr ""
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,469 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/faq/extending.rst:3
|
||||
msgid "Extending/Embedding FAQ"
|
||||
msgstr "FAQ Extension/Intégration"
|
||||
|
||||
#: ../Doc/faq/extending.rst:13
|
||||
msgid "Can I create my own functions in C?"
|
||||
msgstr "Puis-je créer mes propres fonctions en C ?"
|
||||
|
||||
#: ../Doc/faq/extending.rst:15
|
||||
msgid ""
|
||||
"Yes, you can create built-in modules containing functions, variables, "
|
||||
"exceptions and even new types in C. This is explained in the document :ref:"
|
||||
"`extending-index`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:19
|
||||
msgid "Most intermediate or advanced Python books will also cover this topic."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:23
|
||||
msgid "Can I create my own functions in C++?"
|
||||
msgstr "Puis-je créer mes propres fonctions en C++ ?"
|
||||
|
||||
#: ../Doc/faq/extending.rst:25
|
||||
msgid ""
|
||||
"Yes, using the C compatibility features found in C++. Place ``extern \"C"
|
||||
"\" { ... }`` around the Python include files and put ``extern \"C\"`` before "
|
||||
"each function that is going to be called by the Python interpreter. Global "
|
||||
"or static C++ objects with constructors are probably not a good idea."
|
||||
msgstr ""
|
||||
"Oui, en utilisant les fonctionnalités de compatibilité C existantes en C++. "
|
||||
"Placez ``extern \"C\" { ... }`` autour des fichiers Python inclus et mettez "
|
||||
"``extern \"C\"`` avant chaque fonction qui va être appelée par "
|
||||
"l'interpréteur Python. Les objets C++ globaux ou statiques avec les "
|
||||
"constructeurs ne sont probablement pas une bonne idée."
|
||||
|
||||
#: ../Doc/faq/extending.rst:34
|
||||
msgid "Writing C is hard; are there any alternatives?"
|
||||
msgstr "Écrire directement en C est difficile ; existe-t-il des alternatives ?"
|
||||
|
||||
#: ../Doc/faq/extending.rst:36
|
||||
msgid ""
|
||||
"There are a number of alternatives to writing your own C extensions, "
|
||||
"depending on what you're trying to do."
|
||||
msgstr ""
|
||||
"Il y a un certain nombre de solutions existantes qui vous permettent "
|
||||
"d'écrire vos propres extensions C, selon ce que vous essayez de faire."
|
||||
|
||||
#: ../Doc/faq/extending.rst:41
|
||||
msgid ""
|
||||
"If you need more speed, `Psyco <http://psyco.sourceforge.net/>`_ generates "
|
||||
"x86 assembly code from Python bytecode. You can use Psyco to compile the "
|
||||
"most time-critical functions in your code, and gain a significant "
|
||||
"improvement with very little effort, as long as you're running on a machine "
|
||||
"with an x86-compatible processor."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:47
|
||||
msgid ""
|
||||
"`Cython <http://cython.org>`_ and its relative `Pyrex <https://www.cosc."
|
||||
"canterbury.ac.nz/greg.ewing/python/Pyrex/>`_ are compilers that accept a "
|
||||
"slightly modified form of Python and generate the corresponding C code. "
|
||||
"Pyrex makes it possible to write an extension without having to learn "
|
||||
"Python's C API."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:53
|
||||
msgid ""
|
||||
"If you need to interface to some C or C++ library for which no Python "
|
||||
"extension currently exists, you can try wrapping the library's data types "
|
||||
"and functions with a tool such as `SWIG <http://www.swig.org>`_. `SIP "
|
||||
"<https://riverbankcomputing.com/software/sip/intro>`__, `CXX <http://cxx."
|
||||
"sourceforge.net/>`_ `Boost <http://www.boost.org/libs/python/doc/index."
|
||||
"html>`_, or `Weave <https://scipy.github.io/devdocs/tutorial/weave.html>`_ "
|
||||
"are also alternatives for wrapping C++ libraries."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:64
|
||||
msgid "How can I execute arbitrary Python statements from C?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:66
|
||||
msgid ""
|
||||
"The highest-level function to do this is :c:func:`PyRun_SimpleString` which "
|
||||
"takes a single string argument to be executed in the context of the module "
|
||||
"``__main__`` and returns 0 for success and -1 when an exception occurred "
|
||||
"(including ``SyntaxError``). If you want more control, use :c:func:"
|
||||
"`PyRun_String`; see the source for :c:func:`PyRun_SimpleString` in ``Python/"
|
||||
"pythonrun.c``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:75
|
||||
msgid "How can I evaluate an arbitrary Python expression from C?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:77
|
||||
msgid ""
|
||||
"Call the function :c:func:`PyRun_String` from the previous question with the "
|
||||
"start symbol :c:data:`Py_eval_input`; it parses an expression, evaluates it "
|
||||
"and returns its value."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:83
|
||||
msgid "How do I extract C values from a Python object?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:85
|
||||
msgid ""
|
||||
"That depends on the object's type. If it's a tuple, :c:func:`PyTuple_Size` "
|
||||
"returns its length and :c:func:`PyTuple_GetItem` returns the item at a "
|
||||
"specified index. Lists have similar functions, :c:func:`PyListSize` and :c:"
|
||||
"func:`PyList_GetItem`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:90
|
||||
msgid ""
|
||||
"For strings, :c:func:`PyString_Size` returns its length and :c:func:"
|
||||
"`PyString_AsString` a pointer to its value. Note that Python strings may "
|
||||
"contain null bytes so C's :c:func:`strlen` should not be used."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:94
|
||||
msgid ""
|
||||
"To test the type of an object, first make sure it isn't *NULL*, and then "
|
||||
"use :c:func:`PyString_Check`, :c:func:`PyTuple_Check`, :c:func:"
|
||||
"`PyList_Check`, etc."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:97
|
||||
msgid ""
|
||||
"There is also a high-level API to Python objects which is provided by the so-"
|
||||
"called 'abstract' interface -- read ``Include/abstract.h`` for further "
|
||||
"details. It allows interfacing with any kind of Python sequence using calls "
|
||||
"like :c:func:`PySequence_Length`, :c:func:`PySequence_GetItem`, etc.) as "
|
||||
"well as many other useful protocols."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:105
|
||||
msgid "How do I use Py_BuildValue() to create a tuple of arbitrary length?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:107
|
||||
msgid ""
|
||||
"You can't. Use ``t = PyTuple_New(n)`` instead, and fill it with objects "
|
||||
"using ``PyTuple_SetItem(t, i, o)`` -- note that this \"eats\" a reference "
|
||||
"count of ``o``, so you have to :c:func:`Py_INCREF` it. Lists have similar "
|
||||
"functions ``PyList_New(n)`` and ``PyList_SetItem(l, i, o)``. Note that you "
|
||||
"*must* set all the tuple items to some value before you pass the tuple to "
|
||||
"Python code -- ``PyTuple_New(n)`` initializes them to NULL, which isn't a "
|
||||
"valid Python value."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:116
|
||||
msgid "How do I call an object's method from C?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:118
|
||||
msgid ""
|
||||
"The :c:func:`PyObject_CallMethod` function can be used to call an arbitrary "
|
||||
"method of an object. The parameters are the object, the name of the method "
|
||||
"to call, a format string like that used with :c:func:`Py_BuildValue`, and "
|
||||
"the argument values::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:127
|
||||
msgid ""
|
||||
"This works for any object that has methods -- whether built-in or user-"
|
||||
"defined. You are responsible for eventually :c:func:`Py_DECREF`\\ 'ing the "
|
||||
"return value."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:130
|
||||
msgid ""
|
||||
"To call, e.g., a file object's \"seek\" method with arguments 10, 0 "
|
||||
"(assuming the file object pointer is \"f\")::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:141
|
||||
msgid ""
|
||||
"Note that since :c:func:`PyObject_CallObject` *always* wants a tuple for the "
|
||||
"argument list, to call a function without arguments, pass \"()\" for the "
|
||||
"format, and to call a function with one argument, surround the argument in "
|
||||
"parentheses, e.g. \"(i)\"."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:148
|
||||
msgid ""
|
||||
"How do I catch the output from PyErr_Print() (or anything that prints to "
|
||||
"stdout/stderr)?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:150
|
||||
msgid ""
|
||||
"In Python code, define an object that supports the ``write()`` method. "
|
||||
"Assign this object to :data:`sys.stdout` and :data:`sys.stderr`. Call "
|
||||
"print_error, or just allow the standard traceback mechanism to work. Then, "
|
||||
"the output will go wherever your ``write()`` method sends it."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:155
|
||||
msgid ""
|
||||
"The easiest way to do this is to use the StringIO class in the standard "
|
||||
"library."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:157
|
||||
msgid "Sample code and use for catching stdout:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:177
|
||||
msgid "How do I access a module written in Python from C?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:179
|
||||
msgid "You can get a pointer to the module object as follows::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:183
|
||||
msgid ""
|
||||
"If the module hasn't been imported yet (i.e. it is not yet present in :data:"
|
||||
"`sys.modules`), this initializes the module; otherwise it simply returns the "
|
||||
"value of ``sys.modules[\"<modulename>\"]``. Note that it doesn't enter the "
|
||||
"module into any namespace -- it only ensures it has been initialized and is "
|
||||
"stored in :data:`sys.modules`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:189
|
||||
msgid ""
|
||||
"You can then access the module's attributes (i.e. any name defined in the "
|
||||
"module) as follows::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:194
|
||||
msgid ""
|
||||
"Calling :c:func:`PyObject_SetAttrString` to assign to variables in the "
|
||||
"module also works."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:199
|
||||
msgid "How do I interface to C++ objects from Python?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:201
|
||||
msgid ""
|
||||
"Depending on your requirements, there are many approaches. To do this "
|
||||
"manually, begin by reading :ref:`the \"Extending and Embedding\" document "
|
||||
"<extending-index>`. Realize that for the Python run-time system, there "
|
||||
"isn't a whole lot of difference between C and C++ -- so the strategy of "
|
||||
"building a new Python type around a C structure (pointer) type will also "
|
||||
"work for C++ objects."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:207
|
||||
msgid "For C++ libraries, see :ref:`c-wrapper-software`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:211
|
||||
msgid "I added a module using the Setup file and the make fails; why?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:213
|
||||
msgid ""
|
||||
"Setup must end in a newline, if there is no newline there, the build process "
|
||||
"fails. (Fixing this requires some ugly shell script hackery, and this bug "
|
||||
"is so minor that it doesn't seem worth the effort.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:219
|
||||
msgid "How do I debug an extension?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:221
|
||||
msgid ""
|
||||
"When using GDB with dynamically loaded extensions, you can't set a "
|
||||
"breakpoint in your extension until your extension is loaded."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:224
|
||||
msgid "In your ``.gdbinit`` file (or interactively), add the command:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:230
|
||||
msgid "Then, when you run GDB:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:242
|
||||
msgid ""
|
||||
"I want to compile a Python module on my Linux system, but some files are "
|
||||
"missing. Why?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:244
|
||||
msgid ""
|
||||
"Most packaged versions of Python don't include the :file:`/usr/lib/python2."
|
||||
"{x}/config/` directory, which contains various files required for compiling "
|
||||
"Python extensions."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:248
|
||||
msgid "For Red Hat, install the python-devel RPM to get the necessary files."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:250
|
||||
msgid "For Debian, run ``apt-get install python-dev``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:254
|
||||
msgid ""
|
||||
"What does \"SystemError: _PyImport_FixupExtension: module yourmodule not "
|
||||
"loaded\" mean?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:256
|
||||
msgid ""
|
||||
"This means that you have created an extension module named \"yourmodule\", "
|
||||
"but your module init function does not initialize with that name."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:259
|
||||
msgid "Every module init function will have a line similar to::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:263
|
||||
msgid ""
|
||||
"If the string passed to this function is not the same name as your extension "
|
||||
"module, the :exc:`SystemError` exception will be raised."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:268
|
||||
msgid "How do I tell \"incomplete input\" from \"invalid input\"?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:270
|
||||
msgid ""
|
||||
"Sometimes you want to emulate the Python interactive interpreter's behavior, "
|
||||
"where it gives you a continuation prompt when the input is incomplete (e.g. "
|
||||
"you typed the start of an \"if\" statement or you didn't close your "
|
||||
"parentheses or triple string quotes), but it gives you a syntax error "
|
||||
"message immediately when the input is invalid."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:276
|
||||
msgid ""
|
||||
"In Python you can use the :mod:`codeop` module, which approximates the "
|
||||
"parser's behavior sufficiently. IDLE uses this, for example."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:279
|
||||
msgid ""
|
||||
"The easiest way to do it in C is to call :c:func:`PyRun_InteractiveLoop` "
|
||||
"(perhaps in a separate thread) and let the Python interpreter handle the "
|
||||
"input for you. You can also set the :c:func:`PyOS_ReadlineFunctionPointer` "
|
||||
"to point at your custom input function. See ``Modules/readline.c`` and "
|
||||
"``Parser/myreadline.c`` for more hints."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:285
|
||||
msgid ""
|
||||
"However sometimes you have to run the embedded Python interpreter in the "
|
||||
"same thread as your rest application and you can't allow the :c:func:"
|
||||
"`PyRun_InteractiveLoop` to stop while waiting for user input. The one "
|
||||
"solution then is to call :c:func:`PyParser_ParseString` and test for ``e."
|
||||
"error`` equal to ``E_EOF``, which means the input is incomplete). Here's a "
|
||||
"sample code fragment, untested, inspired by code from Alex Farber::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:318
|
||||
msgid ""
|
||||
"Another solution is trying to compile the received string with :c:func:"
|
||||
"`Py_CompileString`. If it compiles without errors, try to execute the "
|
||||
"returned code object by calling :c:func:`PyEval_EvalCode`. Otherwise save "
|
||||
"the input for later. If the compilation fails, find out if it's an error or "
|
||||
"just more input is required - by extracting the message string from the "
|
||||
"exception tuple and comparing it to the string \"unexpected EOF while parsing"
|
||||
"\". Here is a complete example using the GNU readline library (you may want "
|
||||
"to ignore **SIGINT** while calling readline())::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:439
|
||||
msgid "How do I find undefined g++ symbols __builtin_new or __pure_virtual?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:441
|
||||
msgid ""
|
||||
"To dynamically load g++ extension modules, you must recompile Python, relink "
|
||||
"it using g++ (change LINKCC in the Python Modules Makefile), and link your "
|
||||
"extension module using g++ (e.g., ``g++ -shared -o mymodule.so mymodule.o``)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:447
|
||||
msgid ""
|
||||
"Can I create an object class with some methods implemented in C and others "
|
||||
"in Python (e.g. through inheritance)?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:449
|
||||
msgid ""
|
||||
"Yes, you can inherit from built-in classes such as :class:`int`, :class:"
|
||||
"`list`, :class:`dict`, etc."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:452
|
||||
msgid ""
|
||||
"The Boost Python Library (BPL, http://www.boost.org/libs/python/doc/index."
|
||||
"html) provides a way of doing this from C++ (i.e. you can inherit from an "
|
||||
"extension class written in C++ using the BPL)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:458
|
||||
msgid ""
|
||||
"When importing module X, why do I get \"undefined symbol: PyUnicodeUCS2*\"?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:460
|
||||
msgid ""
|
||||
"You are using a version of Python that uses a 4-byte representation for "
|
||||
"Unicode characters, but some C extension module you are importing was "
|
||||
"compiled using a Python that uses a 2-byte representation for Unicode "
|
||||
"characters (the default)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:464
|
||||
msgid ""
|
||||
"If instead the name of the undefined symbol starts with ``PyUnicodeUCS4``, "
|
||||
"the problem is the reverse: Python was built using 2-byte Unicode "
|
||||
"characters, and the extension module was compiled using a Python with 4-byte "
|
||||
"Unicode characters."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:468
|
||||
msgid ""
|
||||
"This can easily occur when using pre-built extension packages. RedHat Linux "
|
||||
"7.x, in particular, provided a \"python2\" binary that is compiled with 4-"
|
||||
"byte Unicode. This only causes the link failure if the extension uses any "
|
||||
"of the ``PyUnicode_*()`` functions. It is also a problem if an extension "
|
||||
"uses any of the Unicode-related format specifiers for :c:func:"
|
||||
"`Py_BuildValue` (or similar) or parameter specifications for :c:func:"
|
||||
"`PyArg_ParseTuple`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:475
|
||||
msgid ""
|
||||
"You can check the size of the Unicode character a Python interpreter is "
|
||||
"using by checking the value of sys.maxunicode:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/extending.rst:486
|
||||
msgid ""
|
||||
"The only way to solve this problem is to use extension modules compiled with "
|
||||
"a Python binary built using the same size for Unicode characters."
|
||||
msgstr ""
|
|
@ -0,0 +1,677 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/faq/general.rst:5
|
||||
msgid "General Python FAQ"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:13
|
||||
msgid "General Information"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:16
|
||||
msgid "What is Python?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:18
|
||||
msgid ""
|
||||
"Python is an interpreted, interactive, object-oriented programming "
|
||||
"language. It incorporates modules, exceptions, dynamic typing, very high "
|
||||
"level dynamic data types, and classes. Python combines remarkable power "
|
||||
"with very clear syntax. It has interfaces to many system calls and "
|
||||
"libraries, as well as to various window systems, and is extensible in C or C+"
|
||||
"+. It is also usable as an extension language for applications that need a "
|
||||
"programmable interface. Finally, Python is portable: it runs on many Unix "
|
||||
"variants, on the Mac, and on PCs under MS-DOS, Windows, Windows NT, and OS/2."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:27
|
||||
msgid ""
|
||||
"To find out more, start with :ref:`tutorial-index`. The `Beginner's Guide "
|
||||
"to Python <https://wiki.python.org/moin/BeginnersGuide>`_ links to other "
|
||||
"introductory tutorials and resources for learning Python."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:33
|
||||
msgid "What is the Python Software Foundation?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:35
|
||||
msgid ""
|
||||
"The Python Software Foundation is an independent non-profit organization "
|
||||
"that holds the copyright on Python versions 2.1 and newer. The PSF's "
|
||||
"mission is to advance open source technology related to the Python "
|
||||
"programming language and to publicize the use of Python. The PSF's home "
|
||||
"page is at https://www.python.org/psf/."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:41
|
||||
msgid ""
|
||||
"Donations to the PSF are tax-exempt in the US. If you use Python and find "
|
||||
"it helpful, please contribute via `the PSF donation page <https://www.python."
|
||||
"org/psf/donations/>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:47
|
||||
msgid "Are there copyright restrictions on the use of Python?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:49
|
||||
msgid ""
|
||||
"You can do anything you want with the source, as long as you leave the "
|
||||
"copyrights in and display those copyrights in any documentation about Python "
|
||||
"that you produce. If you honor the copyright rules, it's OK to use Python "
|
||||
"for commercial use, to sell copies of Python in source or binary form "
|
||||
"(modified or unmodified), or to sell products that incorporate Python in "
|
||||
"some form. We would still like to know about all commercial use of Python, "
|
||||
"of course."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:56
|
||||
msgid ""
|
||||
"See `the PSF license page <https://www.python.org/psf/license/>`_ to find "
|
||||
"further explanations and a link to the full text of the license."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:59
|
||||
msgid ""
|
||||
"The Python logo is trademarked, and in certain cases permission is required "
|
||||
"to use it. Consult `the Trademark Usage Policy <https://www.python.org/psf/"
|
||||
"trademarks/>`__ for more information."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:65
|
||||
msgid "Why was Python created in the first place?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:67
|
||||
msgid ""
|
||||
"Here's a *very* brief summary of what started it all, written by Guido van "
|
||||
"Rossum:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:70
|
||||
msgid ""
|
||||
"I had extensive experience with implementing an interpreted language in the "
|
||||
"ABC group at CWI, and from working with this group I had learned a lot about "
|
||||
"language design. This is the origin of many Python features, including the "
|
||||
"use of indentation for statement grouping and the inclusion of very-high-"
|
||||
"level data types (although the details are all different in Python)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:77
|
||||
msgid ""
|
||||
"I had a number of gripes about the ABC language, but also liked many of its "
|
||||
"features. It was impossible to extend the ABC language (or its "
|
||||
"implementation) to remedy my complaints -- in fact its lack of extensibility "
|
||||
"was one of its biggest problems. I had some experience with using Modula-2+ "
|
||||
"and talked with the designers of Modula-3 and read the Modula-3 report. "
|
||||
"Modula-3 is the origin of the syntax and semantics used for exceptions, and "
|
||||
"some other Python features."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:85
|
||||
msgid ""
|
||||
"I was working in the Amoeba distributed operating system group at CWI. We "
|
||||
"needed a better way to do system administration than by writing either C "
|
||||
"programs or Bourne shell scripts, since Amoeba had its own system call "
|
||||
"interface which wasn't easily accessible from the Bourne shell. My "
|
||||
"experience with error handling in Amoeba made me acutely aware of the "
|
||||
"importance of exceptions as a programming language feature."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:92
|
||||
msgid ""
|
||||
"It occurred to me that a scripting language with a syntax like ABC but with "
|
||||
"access to the Amoeba system calls would fill the need. I realized that it "
|
||||
"would be foolish to write an Amoeba-specific language, so I decided that I "
|
||||
"needed a language that was generally extensible."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:97
|
||||
msgid ""
|
||||
"During the 1989 Christmas holidays, I had a lot of time on my hand, so I "
|
||||
"decided to give it a try. During the next year, while still mostly working "
|
||||
"on it in my own time, Python was used in the Amoeba project with increasing "
|
||||
"success, and the feedback from colleagues made me add many early "
|
||||
"improvements."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:103
|
||||
msgid ""
|
||||
"In February 1991, after just over a year of development, I decided to post "
|
||||
"to USENET. The rest is in the ``Misc/HISTORY`` file."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:108
|
||||
msgid "What is Python good for?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:110
|
||||
msgid ""
|
||||
"Python is a high-level general-purpose programming language that can be "
|
||||
"applied to many different classes of problems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:113
|
||||
msgid ""
|
||||
"The language comes with a large standard library that covers areas such as "
|
||||
"string processing (regular expressions, Unicode, calculating differences "
|
||||
"between files), Internet protocols (HTTP, FTP, SMTP, XML-RPC, POP, IMAP, CGI "
|
||||
"programming), software engineering (unit testing, logging, profiling, "
|
||||
"parsing Python code), and operating system interfaces (system calls, "
|
||||
"filesystems, TCP/IP sockets). Look at the table of contents for :ref:"
|
||||
"`library-index` to get an idea of what's available. A wide variety of third-"
|
||||
"party extensions are also available. Consult `the Python Package Index "
|
||||
"<https://pypi.python.org/pypi>`_ to find packages of interest to you."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:125
|
||||
msgid "How does the Python version numbering scheme work?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:127
|
||||
msgid ""
|
||||
"Python versions are numbered A.B.C or A.B. A is the major version number -- "
|
||||
"it is only incremented for really major changes in the language. B is the "
|
||||
"minor version number, incremented for less earth-shattering changes. C is "
|
||||
"the micro-level -- it is incremented for each bugfix release. See :pep:`6` "
|
||||
"for more information about bugfix releases."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:133
|
||||
msgid ""
|
||||
"Not all releases are bugfix releases. In the run-up to a new major release, "
|
||||
"a series of development releases are made, denoted as alpha, beta, or "
|
||||
"release candidate. Alphas are early releases in which interfaces aren't yet "
|
||||
"finalized; it's not unexpected to see an interface change between two alpha "
|
||||
"releases. Betas are more stable, preserving existing interfaces but possibly "
|
||||
"adding new modules, and release candidates are frozen, making no changes "
|
||||
"except as needed to fix critical bugs."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:141
|
||||
msgid ""
|
||||
"Alpha, beta and release candidate versions have an additional suffix. The "
|
||||
"suffix for an alpha version is \"aN\" for some small number N, the suffix "
|
||||
"for a beta version is \"bN\" for some small number N, and the suffix for a "
|
||||
"release candidate version is \"cN\" for some small number N. In other "
|
||||
"words, all versions labeled 2.0aN precede the versions labeled 2.0bN, which "
|
||||
"precede versions labeled 2.0cN, and *those* precede 2.0."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:148
|
||||
msgid ""
|
||||
"You may also find version numbers with a \"+\" suffix, e.g. \"2.2+\". These "
|
||||
"are unreleased versions, built directly from the CPython development "
|
||||
"repository. In practice, after a final minor release is made, the version "
|
||||
"is incremented to the next minor version, which becomes the \"a0\" version, "
|
||||
"e.g. \"2.4a0\"."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:153
|
||||
msgid ""
|
||||
"See also the documentation for :data:`sys.version`, :data:`sys.hexversion`, "
|
||||
"and :data:`sys.version_info`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:158
|
||||
msgid "How do I obtain a copy of the Python source?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:160
|
||||
msgid ""
|
||||
"The latest Python source distribution is always available from python.org, "
|
||||
"at https://www.python.org/downloads/. The latest development sources can be "
|
||||
"obtained via anonymous Mercurial access at https://hg.python.org/cpython."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:164
|
||||
msgid ""
|
||||
"The source distribution is a gzipped tar file containing the complete C "
|
||||
"source, Sphinx-formatted documentation, Python library modules, example "
|
||||
"programs, and several useful pieces of freely distributable software. The "
|
||||
"source will compile and run out of the box on most UNIX platforms."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:169
|
||||
msgid ""
|
||||
"Consult the `Getting Started section of the Python Developer's Guide "
|
||||
"<https://docs.python.org/devguide/setup.html>`__ for more information on "
|
||||
"getting the source code and compiling it."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:175
|
||||
msgid "How do I get documentation on Python?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:179
|
||||
msgid ""
|
||||
"The standard documentation for the current stable version of Python is "
|
||||
"available at https://docs.python.org/3/. PDF, plain text, and downloadable "
|
||||
"HTML versions are also available at https://docs.python.org/3/download.html."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:183
|
||||
msgid ""
|
||||
"The documentation is written in reStructuredText and processed by `the "
|
||||
"Sphinx documentation tool <http://sphinx-doc.org/>`__. The reStructuredText "
|
||||
"source for the documentation is part of the Python source distribution."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:189
|
||||
msgid "I've never programmed before. Is there a Python tutorial?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:191
|
||||
msgid ""
|
||||
"There are numerous tutorials and books available. The standard "
|
||||
"documentation includes :ref:`tutorial-index`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:194
|
||||
msgid ""
|
||||
"Consult `the Beginner's Guide <https://wiki.python.org/moin/"
|
||||
"BeginnersGuide>`_ to find information for beginning Python programmers, "
|
||||
"including lists of tutorials."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:199
|
||||
msgid "Is there a newsgroup or mailing list devoted to Python?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:201
|
||||
msgid ""
|
||||
"There is a newsgroup, :newsgroup:`comp.lang.python`, and a mailing list, "
|
||||
"`python-list <https://mail.python.org/mailman/listinfo/python-list>`_. The "
|
||||
"newsgroup and mailing list are gatewayed into each other -- if you can read "
|
||||
"news it's unnecessary to subscribe to the mailing list. :newsgroup:`comp."
|
||||
"lang.python` is high-traffic, receiving hundreds of postings every day, and "
|
||||
"Usenet readers are often more able to cope with this volume."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:208
|
||||
msgid ""
|
||||
"Announcements of new software releases and events can be found in comp.lang."
|
||||
"python.announce, a low-traffic moderated list that receives about five "
|
||||
"postings per day. It's available as `the python-announce mailing list "
|
||||
"<https://mail.python.org/mailman/listinfo/python-announce-list>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:213
|
||||
msgid ""
|
||||
"More info about other mailing lists and newsgroups can be found at https://"
|
||||
"www.python.org/community/lists/."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:218
|
||||
msgid "How do I get a beta test version of Python?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:220
|
||||
msgid ""
|
||||
"Alpha and beta releases are available from https://www.python.org/"
|
||||
"downloads/. All releases are announced on the comp.lang.python and comp."
|
||||
"lang.python.announce newsgroups and on the Python home page at https://www."
|
||||
"python.org/; an RSS feed of news is available."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:225
|
||||
msgid ""
|
||||
"You can also access the development version of Python through Mercurial. "
|
||||
"See https://docs.python.org/devguide/faq.html for details."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:230
|
||||
msgid "How do I submit bug reports and patches for Python?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:232
|
||||
msgid ""
|
||||
"To report a bug or submit a patch, please use the Roundup installation at "
|
||||
"https://bugs.python.org/."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:235
|
||||
msgid ""
|
||||
"You must have a Roundup account to report bugs; this makes it possible for "
|
||||
"us to contact you if we have follow-up questions. It will also enable "
|
||||
"Roundup to send you updates as we act on your bug. If you had previously "
|
||||
"used SourceForge to report bugs to Python, you can obtain your Roundup "
|
||||
"password through Roundup's `password reset procedure <https://bugs.python."
|
||||
"org/user?@template=forgotten>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:241
|
||||
msgid ""
|
||||
"For more information on how Python is developed, consult `the Python "
|
||||
"Developer's Guide <https://docs.python.org/devguide/>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:246
|
||||
msgid "Are there any published articles about Python that I can reference?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:248
|
||||
msgid "It's probably best to cite your favorite book about Python."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:250
|
||||
msgid ""
|
||||
"The very first article about Python was written in 1991 and is now quite "
|
||||
"outdated."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:253
|
||||
msgid ""
|
||||
"Guido van Rossum and Jelke de Boer, \"Interactively Testing Remote Servers "
|
||||
"Using the Python Programming Language\", CWI Quarterly, Volume 4, Issue 4 "
|
||||
"(December 1991), Amsterdam, pp 283-303."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:259
|
||||
msgid "Are there any books on Python?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:261
|
||||
msgid ""
|
||||
"Yes, there are many, and more are being published. See the python.org wiki "
|
||||
"at https://wiki.python.org/moin/PythonBooks for a list."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:264
|
||||
msgid ""
|
||||
"You can also search online bookstores for \"Python\" and filter out the "
|
||||
"Monty Python references; or perhaps search for \"Python\" and \"language\"."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:269
|
||||
msgid "Where in the world is www.python.org located?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:271
|
||||
msgid ""
|
||||
"The Python project's infrastructure is located all over the world. `www."
|
||||
"python.org <https://www.python.org>`_ is graciously hosted by `Rackspace "
|
||||
"<https://www.rackspace.com>`_, with CDN caching provided by `Fastly <https://"
|
||||
"www.fastly.com>`_. `Upfront Systems <http://www.upfrontsystems.co.za/>`_ "
|
||||
"hosts `bugs.python.org <https://bugs.python.org>`_. Many other Python "
|
||||
"services like `the Wiki <https://wiki.python.org>`_ are hosted by `Oregon "
|
||||
"State University Open Source Lab <https://osuosl.org>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:282
|
||||
msgid "Why is it called Python?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:284
|
||||
msgid ""
|
||||
"When he began implementing Python, Guido van Rossum was also reading the "
|
||||
"published scripts from `\"Monty Python's Flying Circus\" <https://en."
|
||||
"wikipedia.org/wiki/Monty_Python>`__, a BBC comedy series from the 1970s. "
|
||||
"Van Rossum thought he needed a name that was short, unique, and slightly "
|
||||
"mysterious, so he decided to call the language Python."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:292
|
||||
msgid "Do I have to like \"Monty Python's Flying Circus\"?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:294
|
||||
msgid "No, but it helps. :)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:298
|
||||
msgid "Python in the real world"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:301
|
||||
msgid "How stable is Python?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:303
|
||||
msgid ""
|
||||
"Very stable. New, stable releases have been coming out roughly every 6 to "
|
||||
"18 months since 1991, and this seems likely to continue. Currently there "
|
||||
"are usually around 18 months between major releases."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:307
|
||||
msgid ""
|
||||
"The developers issue \"bugfix\" releases of older versions, so the stability "
|
||||
"of existing releases gradually improves. Bugfix releases, indicated by a "
|
||||
"third component of the version number (e.g. 2.5.3, 2.6.2), are managed for "
|
||||
"stability; only fixes for known problems are included in a bugfix release, "
|
||||
"and it's guaranteed that interfaces will remain the same throughout a series "
|
||||
"of bugfix releases."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:314
|
||||
msgid ""
|
||||
"The latest stable releases can always be found on the `Python download page "
|
||||
"<https://www.python.org/downloads/>`_. There are two recommended production-"
|
||||
"ready versions at this point in time, because at the moment there are two "
|
||||
"branches of stable releases: 2.x and 3.x. Python 3.x may be less useful "
|
||||
"than 2.x, since currently there is more third party software available for "
|
||||
"Python 2 than for Python 3. Python 2 code will generally not run unchanged "
|
||||
"in Python 3."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:323
|
||||
msgid "How many people are using Python?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:325
|
||||
msgid ""
|
||||
"There are probably tens of thousands of users, though it's difficult to "
|
||||
"obtain an exact count."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:328
|
||||
msgid ""
|
||||
"Python is available for free download, so there are no sales figures, and "
|
||||
"it's available from many different sites and packaged with many Linux "
|
||||
"distributions, so download statistics don't tell the whole story either."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:332
|
||||
msgid ""
|
||||
"The comp.lang.python newsgroup is very active, but not all Python users post "
|
||||
"to the group or even read it."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:337
|
||||
msgid "Have any significant projects been done in Python?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:339
|
||||
msgid ""
|
||||
"See https://www.python.org/about/success for a list of projects that use "
|
||||
"Python. Consulting the proceedings for `past Python conferences <https://www."
|
||||
"python.org/community/workshops/>`_ will reveal contributions from many "
|
||||
"different companies and organizations."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:344
|
||||
msgid ""
|
||||
"High-profile Python projects include `the Mailman mailing list manager "
|
||||
"<http://www.list.org>`_ and `the Zope application server <http://www.zope."
|
||||
"org>`_. Several Linux distributions, most notably `Red Hat <https://www."
|
||||
"redhat.com>`_, have written part or all of their installer and system "
|
||||
"administration software in Python. Companies that use Python internally "
|
||||
"include Google, Yahoo, and Lucasfilm Ltd."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:353
|
||||
msgid "What new developments are expected for Python in the future?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:355
|
||||
msgid ""
|
||||
"See https://www.python.org/dev/peps/ for the Python Enhancement Proposals "
|
||||
"(PEPs). PEPs are design documents describing a suggested new feature for "
|
||||
"Python, providing a concise technical specification and a rationale. Look "
|
||||
"for a PEP titled \"Python X.Y Release Schedule\", where X.Y is a version "
|
||||
"that hasn't been publicly released yet."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:361
|
||||
msgid ""
|
||||
"New development is discussed on `the python-dev mailing list <https://mail."
|
||||
"python.org/mailman/listinfo/python-dev/>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:366
|
||||
msgid "Is it reasonable to propose incompatible changes to Python?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:368
|
||||
msgid ""
|
||||
"In general, no. There are already millions of lines of Python code around "
|
||||
"the world, so any change in the language that invalidates more than a very "
|
||||
"small fraction of existing programs has to be frowned upon. Even if you can "
|
||||
"provide a conversion program, there's still the problem of updating all "
|
||||
"documentation; many books have been written about Python, and we don't want "
|
||||
"to invalidate them all at a single stroke."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:375
|
||||
msgid ""
|
||||
"Providing a gradual upgrade path is necessary if a feature has to be "
|
||||
"changed. :pep:`5` describes the procedure followed for introducing backward-"
|
||||
"incompatible changes while minimizing disruption for users."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:381
|
||||
msgid "Is Python a good language for beginning programmers?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:383
|
||||
msgid "Yes."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:385
|
||||
msgid ""
|
||||
"It is still common to start students with a procedural and statically typed "
|
||||
"language such as Pascal, C, or a subset of C++ or Java. Students may be "
|
||||
"better served by learning Python as their first language. Python has a very "
|
||||
"simple and consistent syntax and a large standard library and, most "
|
||||
"importantly, using Python in a beginning programming course lets students "
|
||||
"concentrate on important programming skills such as problem decomposition "
|
||||
"and data type design. With Python, students can be quickly introduced to "
|
||||
"basic concepts such as loops and procedures. They can probably even work "
|
||||
"with user-defined objects in their very first course."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:395
|
||||
msgid ""
|
||||
"For a student who has never programmed before, using a statically typed "
|
||||
"language seems unnatural. It presents additional complexity that the "
|
||||
"student must master and slows the pace of the course. The students are "
|
||||
"trying to learn to think like a computer, decompose problems, design "
|
||||
"consistent interfaces, and encapsulate data. While learning to use a "
|
||||
"statically typed language is important in the long term, it is not "
|
||||
"necessarily the best topic to address in the students' first programming "
|
||||
"course."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:403
|
||||
msgid ""
|
||||
"Many other aspects of Python make it a good first language. Like Java, "
|
||||
"Python has a large standard library so that students can be assigned "
|
||||
"programming projects very early in the course that *do* something. "
|
||||
"Assignments aren't restricted to the standard four-function calculator and "
|
||||
"check balancing programs. By using the standard library, students can gain "
|
||||
"the satisfaction of working on realistic applications as they learn the "
|
||||
"fundamentals of programming. Using the standard library also teaches "
|
||||
"students about code reuse. Third-party modules such as PyGame are also "
|
||||
"helpful in extending the students' reach."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:412
|
||||
msgid ""
|
||||
"Python's interactive interpreter enables students to test language features "
|
||||
"while they're programming. They can keep a window with the interpreter "
|
||||
"running while they enter their program's source in another window. If they "
|
||||
"can't remember the methods for a list, they can do something like this::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:438
|
||||
msgid ""
|
||||
"With the interpreter, documentation is never far from the student as he's "
|
||||
"programming."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:441
|
||||
msgid ""
|
||||
"There are also good IDEs for Python. IDLE is a cross-platform IDE for "
|
||||
"Python that is written in Python using Tkinter. PythonWin is a Windows-"
|
||||
"specific IDE. Emacs users will be happy to know that there is a very good "
|
||||
"Python mode for Emacs. All of these programming environments provide syntax "
|
||||
"highlighting, auto-indenting, and access to the interactive interpreter "
|
||||
"while coding. Consult `the Python wiki <https://wiki.python.org/moin/"
|
||||
"PythonEditors>`_ for a full list of Python editing environments."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:449
|
||||
msgid ""
|
||||
"If you want to discuss Python's use in education, you may be interested in "
|
||||
"joining `the edu-sig mailing list <https://www.python.org/community/sigs/"
|
||||
"current/edu-sig>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:455
|
||||
msgid "Upgrading Python"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:458
|
||||
msgid "What is this bsddb185 module my application keeps complaining about?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:462
|
||||
msgid ""
|
||||
"Starting with Python2.3, the distribution includes the `PyBSDDB package "
|
||||
"<http://pybsddb.sf.net/>` as a replacement for the old bsddb module. It "
|
||||
"includes functions which provide backward compatibility at the API level, "
|
||||
"but requires a newer version of the underlying `Berkeley DB <http://www."
|
||||
"sleepycat.com>`_ library. Files created with the older bsddb module can't "
|
||||
"be opened directly using the new module."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:469
|
||||
msgid ""
|
||||
"Using your old version of Python and a pair of scripts which are part of "
|
||||
"Python 2.3 (db2pickle.py and pickle2db.py, in the Tools/scripts directory) "
|
||||
"you can convert your old database files to the new format. Using your old "
|
||||
"Python version, run the db2pickle.py script to convert it to a pickle, e.g.::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:476
|
||||
msgid "Rename your database file::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:480
|
||||
msgid "Now convert the pickle file to a new format database::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/general.rst:484
|
||||
msgid ""
|
||||
"The precise commands you use will vary depending on the particulars of your "
|
||||
"installation. For full details about operation of these two scripts check "
|
||||
"the doc string at the start of each one."
|
||||
msgstr ""
|
|
@ -0,0 +1,218 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/faq/gui.rst:5
|
||||
msgid "Graphic User Interface FAQ"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:12
|
||||
msgid "What platform-independent GUI toolkits exist for Python?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:14
|
||||
msgid "Depending on what platform(s) you are aiming at, there are several."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:19
|
||||
msgid "Tkinter"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:21
|
||||
msgid ""
|
||||
"Standard builds of Python include an object-oriented interface to the Tcl/Tk "
|
||||
"widget set, called Tkinter. This is probably the easiest to install and "
|
||||
"use. For more info about Tk, including pointers to the source, see the Tcl/"
|
||||
"Tk home page at https://www.tcl.tk. Tcl/Tk is fully portable to the Mac OS "
|
||||
"X, Windows, and Unix platforms."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:28
|
||||
msgid "wxWidgets"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:30
|
||||
msgid ""
|
||||
"wxWidgets (https://www.wxwidgets.org) is a free, portable GUI class library "
|
||||
"written in C++ that provides a native look and feel on a number of "
|
||||
"platforms, with Windows, Mac OS X, GTK, X11, all listed as current stable "
|
||||
"targets. Language bindings are available for a number of languages "
|
||||
"including Python, Perl, Ruby, etc."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:36
|
||||
msgid ""
|
||||
"wxPython (http://www.wxpython.org) is the Python binding for wxwidgets. "
|
||||
"While it often lags slightly behind the official wxWidgets releases, it also "
|
||||
"offers a number of features via pure Python extensions that are not "
|
||||
"available in other language bindings. There is an active wxPython user and "
|
||||
"developer community."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:42
|
||||
msgid ""
|
||||
"Both wxWidgets and wxPython are free, open source, software with permissive "
|
||||
"licences that allow their use in commercial products as well as in freeware "
|
||||
"or shareware."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:48
|
||||
msgid "Qt"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:50
|
||||
msgid ""
|
||||
"There are bindings available for the Qt toolkit (using either `PyQt <https://"
|
||||
"riverbankcomputing.com/software/pyqt/intro>`_ or `PySide <https://wiki.qt.io/"
|
||||
"PySide>`_) and for KDE (`PyKDE4 <https://techbase.kde.org/Languages/Python/"
|
||||
"Using_PyKDE_4>`__). PyQt is currently more mature than PySide, but you must "
|
||||
"buy a PyQt license from `Riverbank Computing <https://www.riverbankcomputing."
|
||||
"com/commercial/license-faq>`_ if you want to write proprietary "
|
||||
"applications. PySide is free for all applications."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:57
|
||||
msgid ""
|
||||
"Qt 4.5 upwards is licensed under the LGPL license; also, commercial licenses "
|
||||
"are available from `The Qt Company <https://www.qt.io/licensing/>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:61
|
||||
msgid "Gtk+"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:63
|
||||
msgid ""
|
||||
"PyGtk bindings for the `Gtk+ toolkit <http://www.gtk.org>`_ have been "
|
||||
"implemented by James Henstridge; see <http://www.pygtk.org>."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:67
|
||||
msgid "FLTK"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:69
|
||||
msgid ""
|
||||
"Python bindings for `the FLTK toolkit <http://www.fltk.org>`_, a simple yet "
|
||||
"powerful and mature cross-platform windowing system, are available from `the "
|
||||
"PyFLTK project <http://pyfltk.sourceforge.net>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:75
|
||||
msgid "FOX"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:77
|
||||
msgid ""
|
||||
"A wrapper for `the FOX toolkit <http://www.fox-toolkit.org/>`_ called `FXpy "
|
||||
"<http://fxpy.sourceforge.net/>`_ is available. FOX supports both Unix "
|
||||
"variants and Windows."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:83
|
||||
msgid "OpenGL"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:85
|
||||
msgid "For OpenGL bindings, see `PyOpenGL <http://pyopengl.sourceforge.net>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:89
|
||||
msgid "What platform-specific GUI toolkits exist for Python?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:91
|
||||
msgid ""
|
||||
"By installing the `PyObjc Objective-C bridge <https://pythonhosted.org/"
|
||||
"pyobjc/>`_, Python programs can use Mac OS X's Cocoa libraries."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:95
|
||||
msgid ""
|
||||
":ref:`Pythonwin <windows-faq>` by Mark Hammond includes an interface to the "
|
||||
"Microsoft Foundation Classes and a Python programming environment that's "
|
||||
"written mostly in Python using the MFC classes."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:101
|
||||
msgid "Tkinter questions"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:104
|
||||
msgid "How do I freeze Tkinter applications?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:106
|
||||
msgid ""
|
||||
"Freeze is a tool to create stand-alone applications. When freezing Tkinter "
|
||||
"applications, the applications will not be truly stand-alone, as the "
|
||||
"application will still need the Tcl and Tk libraries."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:110
|
||||
msgid ""
|
||||
"One solution is to ship the application with the Tcl and Tk libraries, and "
|
||||
"point to them at run-time using the :envvar:`TCL_LIBRARY` and :envvar:"
|
||||
"`TK_LIBRARY` environment variables."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:114
|
||||
msgid ""
|
||||
"To get truly stand-alone applications, the Tcl scripts that form the library "
|
||||
"have to be integrated into the application as well. One tool supporting that "
|
||||
"is SAM (stand-alone modules), which is part of the Tix distribution (http://"
|
||||
"tix.sourceforge.net/)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:119
|
||||
msgid ""
|
||||
"Build Tix with SAM enabled, perform the appropriate call to :c:func:"
|
||||
"`Tclsam_init`, etc. inside Python's :file:`Modules/tkappinit.c`, and link "
|
||||
"with libtclsam and libtksam (you might include the Tix libraries as well)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:126
|
||||
msgid "Can I have Tk events handled while waiting for I/O?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:128
|
||||
msgid ""
|
||||
"On platforms other than Windows, yes, and you don't even need threads! But "
|
||||
"you'll have to restructure your I/O code a bit. Tk has the equivalent of "
|
||||
"Xt's :c:func:`XtAddInput()` call, which allows you to register a callback "
|
||||
"function which will be called from the Tk mainloop when I/O is possible on a "
|
||||
"file descriptor. See :ref:`tkinter-file-handlers`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:136
|
||||
msgid "I can't get key bindings to work in Tkinter: why?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:138
|
||||
msgid ""
|
||||
"An often-heard complaint is that event handlers bound to events with the :"
|
||||
"meth:`bind` method don't get handled even when the appropriate key is "
|
||||
"pressed."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/gui.rst:141
|
||||
msgid ""
|
||||
"The most common cause is that the widget to which the binding applies "
|
||||
"doesn't have \"keyboard focus\". Check out the Tk documentation for the "
|
||||
"focus command. Usually a widget is given the keyboard focus by clicking in "
|
||||
"it (but not for labels; see the takefocus option)."
|
||||
msgstr ""
|
|
@ -0,0 +1,21 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/faq/index.rst:5
|
||||
msgid "Python Frequently Asked Questions"
|
||||
msgstr ""
|
|
@ -0,0 +1,107 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/faq/installed.rst:3
|
||||
msgid "\"Why is Python Installed on my Computer?\" FAQ"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/installed.rst:6
|
||||
msgid "What is Python?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/installed.rst:8
|
||||
msgid ""
|
||||
"Python is a programming language. It's used for many different "
|
||||
"applications. It's used in some high schools and colleges as an introductory "
|
||||
"programming language because Python is easy to learn, but it's also used by "
|
||||
"professional software developers at places such as Google, NASA, and "
|
||||
"Lucasfilm Ltd."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/installed.rst:13
|
||||
msgid ""
|
||||
"If you wish to learn more about Python, start with the `Beginner's Guide to "
|
||||
"Python <https://wiki.python.org/moin/BeginnersGuide>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/installed.rst:18
|
||||
msgid "Why is Python installed on my machine?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/installed.rst:20
|
||||
msgid ""
|
||||
"If you find Python installed on your system but don't remember installing "
|
||||
"it, there are several possible ways it could have gotten there."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/installed.rst:23
|
||||
msgid ""
|
||||
"Perhaps another user on the computer wanted to learn programming and "
|
||||
"installed it; you'll have to figure out who's been using the machine and "
|
||||
"might have installed it."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/installed.rst:26
|
||||
msgid ""
|
||||
"A third-party application installed on the machine might have been written "
|
||||
"in Python and included a Python installation. For a home computer, the most "
|
||||
"common such application is `PySol <http://pysolfc.sourceforge.net/>`_, a "
|
||||
"solitaire game that includes over 1000 different games and variations."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/installed.rst:30
|
||||
msgid ""
|
||||
"Some Windows machines also have Python installed. At this writing we're "
|
||||
"aware of computers from Hewlett-Packard and Compaq that include Python. "
|
||||
"Apparently some of HP/Compaq's administrative tools are written in Python."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/installed.rst:33
|
||||
msgid ""
|
||||
"All Apple computers running Mac OS X have Python installed; it's included in "
|
||||
"the base installation."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/installed.rst:38
|
||||
msgid "Can I delete Python?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/installed.rst:40
|
||||
msgid "That depends on where Python came from."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/installed.rst:42
|
||||
msgid ""
|
||||
"If someone installed it deliberately, you can remove it without hurting "
|
||||
"anything. On Windows, use the Add/Remove Programs icon in the Control Panel."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/installed.rst:45
|
||||
msgid ""
|
||||
"If Python was installed by a third-party application, you can also remove "
|
||||
"it, but that application will no longer work. You should use that "
|
||||
"application's uninstaller rather than removing Python directly."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/installed.rst:49
|
||||
msgid ""
|
||||
"If Python came with your operating system, removing it is not recommended. "
|
||||
"If you remove it, whatever tools were written in Python will no longer run, "
|
||||
"and some of them might be important to you. Reinstalling the whole system "
|
||||
"would then be required to fix things again."
|
||||
msgstr ""
|
|
@ -0,0 +1,967 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/faq/library.rst:5
|
||||
msgid "Library and Extension FAQ"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:12
|
||||
msgid "General Library Questions"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:15
|
||||
msgid "How do I find a module or application to perform task X?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:17
|
||||
msgid ""
|
||||
"Check :ref:`the Library Reference <library-index>` to see if there's a "
|
||||
"relevant standard library module. (Eventually you'll learn what's in the "
|
||||
"standard library and will be able to skip this step.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:21
|
||||
msgid ""
|
||||
"For third-party packages, search the `Python Package Index <https://pypi."
|
||||
"python.org/pypi>`_ or try `Google <https://www.google.com>`_ or another Web "
|
||||
"search engine. Searching for \"Python\" plus a keyword or two for your "
|
||||
"topic of interest will usually find something helpful."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:28
|
||||
msgid "Where is the math.py (socket.py, regex.py, etc.) source file?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:30
|
||||
msgid ""
|
||||
"If you can't find a source file for a module it may be a built-in or "
|
||||
"dynamically loaded module implemented in C, C++ or other compiled language. "
|
||||
"In this case you may not have the source file or it may be something like :"
|
||||
"file:`mathmodule.c`, somewhere in a C source directory (not on the Python "
|
||||
"Path)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:35
|
||||
msgid "There are (at least) three kinds of modules in Python:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:37
|
||||
msgid "modules written in Python (.py);"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:38
|
||||
msgid ""
|
||||
"modules written in C and dynamically loaded (.dll, .pyd, .so, .sl, etc);"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:39
|
||||
msgid ""
|
||||
"modules written in C and linked with the interpreter; to get a list of "
|
||||
"these, type::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:47
|
||||
msgid "How do I make a Python script executable on Unix?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:49
|
||||
msgid ""
|
||||
"You need to do two things: the script file's mode must be executable and the "
|
||||
"first line must begin with ``#!`` followed by the path of the Python "
|
||||
"interpreter."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:53
|
||||
msgid ""
|
||||
"The first is done by executing ``chmod +x scriptfile`` or perhaps ``chmod "
|
||||
"755 scriptfile``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:56
|
||||
msgid ""
|
||||
"The second can be done in a number of ways. The most straightforward way is "
|
||||
"to write ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:61
|
||||
msgid ""
|
||||
"as the very first line of your file, using the pathname for where the Python "
|
||||
"interpreter is installed on your platform."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:64
|
||||
msgid ""
|
||||
"If you would like the script to be independent of where the Python "
|
||||
"interpreter lives, you can use the :program:`env` program. Almost all Unix "
|
||||
"variants support the following, assuming the Python interpreter is in a "
|
||||
"directory on the user's :envvar:`PATH`::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:71
|
||||
msgid ""
|
||||
"*Don't* do this for CGI scripts. The :envvar:`PATH` variable for CGI "
|
||||
"scripts is often very minimal, so you need to use the actual absolute "
|
||||
"pathname of the interpreter."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:75
|
||||
msgid ""
|
||||
"Occasionally, a user's environment is so full that the :program:`/usr/bin/"
|
||||
"env` program fails; or there's no env program at all. In that case, you can "
|
||||
"try the following hack (due to Alex Rezinsky)::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:84
|
||||
msgid ""
|
||||
"The minor disadvantage is that this defines the script's __doc__ string. "
|
||||
"However, you can fix that by adding ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:92
|
||||
msgid "Is there a curses/termcap package for Python?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:96
|
||||
msgid ""
|
||||
"For Unix variants the standard Python source distribution comes with a "
|
||||
"curses module in the :source:`Modules` subdirectory, though it's not "
|
||||
"compiled by default. (Note that this is not available in the Windows "
|
||||
"distribution -- there is no curses module for Windows.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:101
|
||||
msgid ""
|
||||
"The :mod:`curses` module supports basic curses features as well as many "
|
||||
"additional functions from ncurses and SYSV curses such as colour, "
|
||||
"alternative character set support, pads, and mouse support. This means the "
|
||||
"module isn't compatible with operating systems that only have BSD curses, "
|
||||
"but there don't seem to be any currently maintained OSes that fall into this "
|
||||
"category."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:107
|
||||
msgid ""
|
||||
"For Windows: use `the consolelib module <http://effbot.org/zone/console-"
|
||||
"index.htm>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:112
|
||||
msgid "Is there an equivalent to C's onexit() in Python?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:114
|
||||
msgid ""
|
||||
"The :mod:`atexit` module provides a register function that is similar to "
|
||||
"C's :c:func:`onexit`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:119
|
||||
msgid "Why don't my signal handlers work?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:121
|
||||
msgid ""
|
||||
"The most common problem is that the signal handler is declared with the "
|
||||
"wrong argument list. It is called as ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:126
|
||||
msgid "so it should be declared with two arguments::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:133
|
||||
msgid "Common tasks"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:136
|
||||
msgid "How do I test a Python program or component?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:138
|
||||
msgid ""
|
||||
"Python comes with two testing frameworks. The :mod:`doctest` module finds "
|
||||
"examples in the docstrings for a module and runs them, comparing the output "
|
||||
"with the expected output given in the docstring."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:142
|
||||
msgid ""
|
||||
"The :mod:`unittest` module is a fancier testing framework modelled on Java "
|
||||
"and Smalltalk testing frameworks."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:145
|
||||
msgid ""
|
||||
"To make testing easier, you should use good modular design in your program. "
|
||||
"Your program should have almost all functionality encapsulated in either "
|
||||
"functions or class methods -- and this sometimes has the surprising and "
|
||||
"delightful effect of making the program run faster (because local variable "
|
||||
"accesses are faster than global accesses). Furthermore the program should "
|
||||
"avoid depending on mutating global variables, since this makes testing much "
|
||||
"more difficult to do."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:153
|
||||
msgid "The \"global main logic\" of your program may be as simple as ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:158
|
||||
msgid "at the bottom of the main module of your program."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:160
|
||||
msgid ""
|
||||
"Once your program is organized as a tractable collection of functions and "
|
||||
"class behaviours you should write test functions that exercise the "
|
||||
"behaviours. A test suite that automates a sequence of tests can be "
|
||||
"associated with each module. This sounds like a lot of work, but since "
|
||||
"Python is so terse and flexible it's surprisingly easy. You can make coding "
|
||||
"much more pleasant and fun by writing your test functions in parallel with "
|
||||
"the \"production code\", since this makes it easy to find bugs and even "
|
||||
"design flaws earlier."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:168
|
||||
msgid ""
|
||||
"\"Support modules\" that are not intended to be the main module of a program "
|
||||
"may include a self-test of the module. ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:174
|
||||
msgid ""
|
||||
"Even programs that interact with complex external interfaces may be tested "
|
||||
"when the external interfaces are unavailable by using \"fake\" interfaces "
|
||||
"implemented in Python."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:180
|
||||
msgid "How do I create documentation from doc strings?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:182
|
||||
msgid ""
|
||||
"The :mod:`pydoc` module can create HTML from the doc strings in your Python "
|
||||
"source code. An alternative for creating API documentation purely from "
|
||||
"docstrings is `epydoc <http://epydoc.sourceforge.net/>`_. `Sphinx <http://"
|
||||
"sphinx-doc.org>`_ can also include docstring content."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:189
|
||||
msgid "How do I get a single keypress at a time?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:191
|
||||
msgid ""
|
||||
"For Unix variants there are several solutions. It's straightforward to do "
|
||||
"this using curses, but curses is a fairly large module to learn. Here's a "
|
||||
"solution without curses::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:216
|
||||
msgid ""
|
||||
"You need the :mod:`termios` and the :mod:`fcntl` module for any of this to "
|
||||
"work, and I've only tried it on Linux, though it should work elsewhere. In "
|
||||
"this code, characters are read and printed one at a time."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:220
|
||||
msgid ""
|
||||
":func:`termios.tcsetattr` turns off stdin's echoing and disables canonical "
|
||||
"mode. :func:`fcntl.fnctl` is used to obtain stdin's file descriptor flags "
|
||||
"and modify them for non-blocking mode. Since reading stdin when it is empty "
|
||||
"results in an :exc:`IOError`, this error is caught and ignored."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:227
|
||||
msgid "Threads"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:230
|
||||
msgid "How do I program using threads?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:234
|
||||
msgid ""
|
||||
"Be sure to use the :mod:`threading` module and not the :mod:`thread` module. "
|
||||
"The :mod:`threading` module builds convenient abstractions on top of the low-"
|
||||
"level primitives provided by the :mod:`thread` module."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:238
|
||||
msgid ""
|
||||
"Aahz has a set of slides from his threading tutorial that are helpful; see "
|
||||
"http://www.pythoncraft.com/OSCON2001/."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:243
|
||||
msgid "None of my threads seem to run: why?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:245
|
||||
msgid ""
|
||||
"As soon as the main thread exits, all threads are killed. Your main thread "
|
||||
"is running too quickly, giving the threads no time to do any work."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:248
|
||||
msgid ""
|
||||
"A simple fix is to add a sleep to the end of the program that's long enough "
|
||||
"for all the threads to finish::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:262
|
||||
msgid ""
|
||||
"But now (on many platforms) the threads don't run in parallel, but appear to "
|
||||
"run sequentially, one at a time! The reason is that the OS thread scheduler "
|
||||
"doesn't start a new thread until the previous thread is blocked."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:266
|
||||
msgid "A simple fix is to add a tiny sleep to the start of the run function::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:278
|
||||
msgid ""
|
||||
"Instead of trying to guess a good delay value for :func:`time.sleep`, it's "
|
||||
"better to use some kind of semaphore mechanism. One idea is to use the :mod:"
|
||||
"`Queue` module to create a queue object, let each thread append a token to "
|
||||
"the queue when it finishes, and let the main thread read as many tokens from "
|
||||
"the queue as there are threads."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:286
|
||||
msgid "How do I parcel out work among a bunch of worker threads?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:288
|
||||
msgid ""
|
||||
"Use the :mod:`Queue` module to create a queue containing a list of jobs. "
|
||||
"The :class:`~Queue.Queue` class maintains a list of objects and has a ``."
|
||||
"put(obj)`` method that adds items to the queue and a ``.get()`` method to "
|
||||
"return them. The class will take care of the locking necessary to ensure "
|
||||
"that each job is handed out exactly once."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:294
|
||||
msgid "Here's a trivial example::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:332
|
||||
msgid "When run, this will produce the following output:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:350
|
||||
msgid ""
|
||||
"Consult the module's documentation for more details; the :class:`~Queue."
|
||||
"Queue` class provides a featureful interface."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:355
|
||||
msgid "What kinds of global value mutation are thread-safe?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:357
|
||||
msgid ""
|
||||
"A :term:`global interpreter lock` (GIL) is used internally to ensure that "
|
||||
"only one thread runs in the Python VM at a time. In general, Python offers "
|
||||
"to switch among threads only between bytecode instructions; how frequently "
|
||||
"it switches can be set via :func:`sys.setcheckinterval`. Each bytecode "
|
||||
"instruction and therefore all the C implementation code reached from each "
|
||||
"instruction is therefore atomic from the point of view of a Python program."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:364
|
||||
msgid ""
|
||||
"In theory, this means an exact accounting requires an exact understanding of "
|
||||
"the PVM bytecode implementation. In practice, it means that operations on "
|
||||
"shared variables of built-in data types (ints, lists, dicts, etc) that "
|
||||
"\"look atomic\" really are."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:369
|
||||
msgid ""
|
||||
"For example, the following operations are all atomic (L, L1, L2 are lists, "
|
||||
"D, D1, D2 are dicts, x, y are objects, i, j are ints)::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:384
|
||||
msgid "These aren't::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:391
|
||||
msgid ""
|
||||
"Operations that replace other objects may invoke those other objects' :meth:"
|
||||
"`__del__` method when their reference count reaches zero, and that can "
|
||||
"affect things. This is especially true for the mass updates to dictionaries "
|
||||
"and lists. When in doubt, use a mutex!"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:398
|
||||
msgid "Can't we get rid of the Global Interpreter Lock?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:403
|
||||
msgid ""
|
||||
"The :term:`global interpreter lock` (GIL) is often seen as a hindrance to "
|
||||
"Python's deployment on high-end multiprocessor server machines, because a "
|
||||
"multi-threaded Python program effectively only uses one CPU, due to the "
|
||||
"insistence that (almost) all Python code can only run while the GIL is held."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:408
|
||||
msgid ""
|
||||
"Back in the days of Python 1.5, Greg Stein actually implemented a "
|
||||
"comprehensive patch set (the \"free threading\" patches) that removed the "
|
||||
"GIL and replaced it with fine-grained locking. Unfortunately, even on "
|
||||
"Windows (where locks are very efficient) this ran ordinary Python code about "
|
||||
"twice as slow as the interpreter using the GIL. On Linux the performance "
|
||||
"loss was even worse because pthread locks aren't as efficient."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:415
|
||||
msgid ""
|
||||
"Since then, the idea of getting rid of the GIL has occasionally come up but "
|
||||
"nobody has found a way to deal with the expected slowdown, and users who "
|
||||
"don't use threads would not be happy if their code ran at half the speed. "
|
||||
"Greg's free threading patch set has not been kept up-to-date for later "
|
||||
"Python versions."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:420
|
||||
msgid ""
|
||||
"This doesn't mean that you can't make good use of Python on multi-CPU "
|
||||
"machines! You just have to be creative with dividing the work up between "
|
||||
"multiple *processes* rather than multiple *threads*. Judicious use of C "
|
||||
"extensions will also help; if you use a C extension to perform a time-"
|
||||
"consuming task, the extension can release the GIL while the thread of "
|
||||
"execution is in the C code and allow other threads to get some work done."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:427
|
||||
msgid ""
|
||||
"It has been suggested that the GIL should be a per-interpreter-state lock "
|
||||
"rather than truly global; interpreters then wouldn't be able to share "
|
||||
"objects. Unfortunately, this isn't likely to happen either. It would be a "
|
||||
"tremendous amount of work, because many object implementations currently "
|
||||
"have global state. For example, small integers and short strings are cached; "
|
||||
"these caches would have to be moved to the interpreter state. Other object "
|
||||
"types have their own free list; these free lists would have to be moved to "
|
||||
"the interpreter state. And so on."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:436
|
||||
msgid ""
|
||||
"And I doubt that it can even be done in finite time, because the same "
|
||||
"problem exists for 3rd party extensions. It is likely that 3rd party "
|
||||
"extensions are being written at a faster rate than you can convert them to "
|
||||
"store all their global state in the interpreter state."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:441
|
||||
msgid ""
|
||||
"And finally, once you have multiple interpreters not sharing any state, what "
|
||||
"have you gained over running each interpreter in a separate process?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:446
|
||||
msgid "Input and Output"
|
||||
msgstr "Les entrées/sorties"
|
||||
|
||||
#: ../Doc/faq/library.rst:449
|
||||
msgid "How do I delete a file? (And other file questions...)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:451
|
||||
msgid ""
|
||||
"Use ``os.remove(filename)`` or ``os.unlink(filename)``; for documentation, "
|
||||
"see the :mod:`os` module. The two functions are identical; :func:`unlink` "
|
||||
"is simply the name of the Unix system call for this function."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:455
|
||||
msgid ""
|
||||
"To remove a directory, use :func:`os.rmdir`; use :func:`os.mkdir` to create "
|
||||
"one. ``os.makedirs(path)`` will create any intermediate directories in "
|
||||
"``path`` that don't exist. ``os.removedirs(path)`` will remove intermediate "
|
||||
"directories as long as they're empty; if you want to delete an entire "
|
||||
"directory tree and its contents, use :func:`shutil.rmtree`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:461
|
||||
msgid "To rename a file, use ``os.rename(old_path, new_path)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:463
|
||||
msgid ""
|
||||
"To truncate a file, open it using ``f = open(filename, \"r+\")``, and use "
|
||||
"``f.truncate(offset)``; offset defaults to the current seek position. "
|
||||
"There's also ``os.ftruncate(fd, offset)`` for files opened with :func:`os."
|
||||
"open`, where *fd* is the file descriptor (a small integer)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:468
|
||||
msgid ""
|
||||
"The :mod:`shutil` module also contains a number of functions to work on "
|
||||
"files including :func:`~shutil.copyfile`, :func:`~shutil.copytree`, and :"
|
||||
"func:`~shutil.rmtree`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:474
|
||||
msgid "How do I copy a file?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:476
|
||||
msgid ""
|
||||
"The :mod:`shutil` module contains a :func:`~shutil.copyfile` function. Note "
|
||||
"that on MacOS 9 it doesn't copy the resource fork and Finder info."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:481
|
||||
msgid "How do I read (or write) binary data?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:483
|
||||
msgid ""
|
||||
"To read or write complex binary data formats, it's best to use the :mod:"
|
||||
"`struct` module. It allows you to take a string containing binary data "
|
||||
"(usually numbers) and convert it to Python objects; and vice versa."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:487
|
||||
msgid ""
|
||||
"For example, the following code reads two 2-byte integers and one 4-byte "
|
||||
"integer in big-endian format from a file::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:496
|
||||
msgid ""
|
||||
"The '>' in the format string forces big-endian data; the letter 'h' reads "
|
||||
"one \"short integer\" (2 bytes), and 'l' reads one \"long integer\" (4 "
|
||||
"bytes) from the string."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:500
|
||||
msgid ""
|
||||
"For data that is more regular (e.g. a homogeneous list of ints or floats), "
|
||||
"you can also use the :mod:`array` module."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:505
|
||||
msgid "I can't seem to use os.read() on a pipe created with os.popen(); why?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:507
|
||||
msgid ""
|
||||
":func:`os.read` is a low-level function which takes a file descriptor, a "
|
||||
"small integer representing the opened file. :func:`os.popen` creates a high-"
|
||||
"level file object, the same type returned by the built-in :func:`open` "
|
||||
"function. Thus, to read *n* bytes from a pipe *p* created with :func:`os."
|
||||
"popen`, you need to use ``p.read(n)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:515
|
||||
msgid ""
|
||||
"How do I run a subprocess with pipes connected to both input and output?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:519
|
||||
msgid "Use the :mod:`popen2` module. For example::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:527
|
||||
msgid ""
|
||||
"Warning: in general it is unwise to do this because you can easily cause a "
|
||||
"deadlock where your process is blocked waiting for output from the child "
|
||||
"while the child is blocked waiting for input from you. This can be caused "
|
||||
"by the parent expecting the child to output more text than it does or by "
|
||||
"data being stuck in stdio buffers due to lack of flushing. The Python "
|
||||
"parent can of course explicitly flush the data it sends to the child before "
|
||||
"it reads any output, but if the child is a naive C program it may have been "
|
||||
"written to never explicitly flush its output, even if it is interactive, "
|
||||
"since flushing is normally automatic."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:537
|
||||
msgid ""
|
||||
"Note that a deadlock is also possible if you use :func:`popen3` to read "
|
||||
"stdout and stderr. If one of the two is too large for the internal buffer "
|
||||
"(increasing the buffer size does not help) and you ``read()`` the other one "
|
||||
"first, there is a deadlock, too."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:542
|
||||
msgid ""
|
||||
"Note on a bug in popen2: unless your program calls ``wait()`` or "
|
||||
"``waitpid()``, finished child processes are never removed, and eventually "
|
||||
"calls to popen2 will fail because of a limit on the number of child "
|
||||
"processes. Calling :func:`os.waitpid` with the :data:`os.WNOHANG` option "
|
||||
"can prevent this; a good place to insert such a call would be before calling "
|
||||
"``popen2`` again."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:548
|
||||
msgid ""
|
||||
"In many cases, all you really need is to run some data through a command and "
|
||||
"get the result back. Unless the amount of data is very large, the easiest "
|
||||
"way to do this is to write it to a temporary file and run the command with "
|
||||
"that temporary file as input. The standard module :mod:`tempfile` exports "
|
||||
"a :func:`~tempfile.mktemp` function to generate unique temporary file "
|
||||
"names. ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:583
|
||||
msgid ""
|
||||
"Note that many interactive programs (e.g. vi) don't work well with pipes "
|
||||
"substituted for standard input and output. You will have to use pseudo ttys "
|
||||
"(\"ptys\") instead of pipes. Or you can use a Python interface to Don Libes' "
|
||||
"\"expect\" library. A Python extension that interfaces to expect is called "
|
||||
"\"expy\" and available from http://expectpy.sourceforge.net. A pure Python "
|
||||
"solution that works like expect is `pexpect <https://pypi.python.org/pypi/"
|
||||
"pexpect/>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:592
|
||||
msgid "How do I access the serial (RS232) port?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:594
|
||||
msgid "For Win32, POSIX (Linux, BSD, etc.), Jython:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:596
|
||||
msgid "http://pyserial.sourceforge.net"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:598
|
||||
msgid "For Unix, see a Usenet post by Mitch Chapman:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:600
|
||||
msgid "https://groups.google.com/groups?selm=34A04430.CF9@ohioee.com"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:604
|
||||
msgid "Why doesn't closing sys.stdout (stdin, stderr) really close it?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:606
|
||||
msgid ""
|
||||
"Python file objects are a high-level layer of abstraction on top of C "
|
||||
"streams, which in turn are a medium-level layer of abstraction on top of "
|
||||
"(among other things) low-level C file descriptors."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:610
|
||||
msgid ""
|
||||
"For most file objects you create in Python via the built-in ``file`` "
|
||||
"constructor, ``f.close()`` marks the Python file object as being closed from "
|
||||
"Python's point of view, and also arranges to close the underlying C stream. "
|
||||
"This also happens automatically in ``f``'s destructor, when ``f`` becomes "
|
||||
"garbage."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:616
|
||||
msgid ""
|
||||
"But stdin, stdout and stderr are treated specially by Python, because of the "
|
||||
"special status also given to them by C. Running ``sys.stdout.close()`` "
|
||||
"marks the Python-level file object as being closed, but does *not* close the "
|
||||
"associated C stream."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:621
|
||||
msgid ""
|
||||
"To close the underlying C stream for one of these three, you should first be "
|
||||
"sure that's what you really want to do (e.g., you may confuse extension "
|
||||
"modules trying to do I/O). If it is, use os.close::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:631
|
||||
msgid "Network/Internet Programming"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:634
|
||||
msgid "What WWW tools are there for Python?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:636
|
||||
msgid ""
|
||||
"See the chapters titled :ref:`internet` and :ref:`netdata` in the Library "
|
||||
"Reference Manual. Python has many modules that will help you build server-"
|
||||
"side and client-side web systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:642
|
||||
msgid ""
|
||||
"A summary of available frameworks is maintained by Paul Boddie at https://"
|
||||
"wiki.python.org/moin/WebProgramming\\ ."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:645
|
||||
msgid ""
|
||||
"Cameron Laird maintains a useful set of pages about Python web technologies "
|
||||
"at http://phaseit.net/claird/comp.lang.python/web_python."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:650
|
||||
msgid "How can I mimic CGI form submission (METHOD=POST)?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:652
|
||||
msgid ""
|
||||
"I would like to retrieve web pages that are the result of POSTing a form. Is "
|
||||
"there existing code that would let me do this easily?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:655
|
||||
msgid "Yes. Here's a simple example that uses httplib::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:679
|
||||
msgid ""
|
||||
"Note that in general for percent-encoded POST operations, query strings must "
|
||||
"be quoted using :func:`urllib.urlencode`. For example, to send ``name=Guy "
|
||||
"Steele, Jr.``::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:689
|
||||
msgid "What module should I use to help with generating HTML?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:693
|
||||
msgid ""
|
||||
"You can find a collection of useful links on the `Web Programming wiki page "
|
||||
"<https://wiki.python.org/moin/WebProgramming>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:698
|
||||
msgid "How do I send mail from a Python script?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:700
|
||||
msgid "Use the standard library module :mod:`smtplib`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:702
|
||||
msgid ""
|
||||
"Here's a very simple interactive mail sender that uses it. This method will "
|
||||
"work on any host that supports an SMTP listener. ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:722
|
||||
msgid ""
|
||||
"A Unix-only alternative uses sendmail. The location of the sendmail program "
|
||||
"varies between systems; sometimes it is ``/usr/lib/sendmail``, sometimes ``/"
|
||||
"usr/sbin/sendmail``. The sendmail manual page will help you out. Here's "
|
||||
"some sample code::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:742
|
||||
msgid "How do I avoid blocking in the connect() method of a socket?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:744
|
||||
msgid ""
|
||||
"The select module is commonly used to help with asynchronous I/O on sockets."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:746
|
||||
msgid ""
|
||||
"To prevent the TCP connect from blocking, you can set the socket to non-"
|
||||
"blocking mode. Then when you do the ``connect()``, you will either connect "
|
||||
"immediately (unlikely) or get an exception that contains the error number as "
|
||||
"``.errno``. ``errno.EINPROGRESS`` indicates that the connection is in "
|
||||
"progress, but hasn't finished yet. Different OSes will return different "
|
||||
"values, so you're going to have to check what's returned on your system."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:753
|
||||
msgid ""
|
||||
"You can use the ``connect_ex()`` method to avoid creating an exception. It "
|
||||
"will just return the errno value. To poll, you can call ``connect_ex()`` "
|
||||
"again later -- 0 or ``errno.EISCONN`` indicate that you're connected -- or "
|
||||
"you can pass this socket to select to check if it's writable."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:760
|
||||
msgid "Databases"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:763
|
||||
msgid "Are there any interfaces to database packages in Python?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:765
|
||||
msgid "Yes."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:769
|
||||
msgid ""
|
||||
"Python 2.3 includes the :mod:`bsddb` package which provides an interface to "
|
||||
"the BerkeleyDB library. Interfaces to disk-based hashes such as :mod:`DBM "
|
||||
"<dbm>` and :mod:`GDBM <gdbm>` are also included with standard Python."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:773
|
||||
msgid ""
|
||||
"Support for most relational databases is available. See the "
|
||||
"`DatabaseProgramming wiki page <https://wiki.python.org/moin/"
|
||||
"DatabaseProgramming>`_ for details."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:779
|
||||
msgid "How do you implement persistent objects in Python?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:781
|
||||
msgid ""
|
||||
"The :mod:`pickle` library module solves this in a very general way (though "
|
||||
"you still can't store things like open files, sockets or windows), and the :"
|
||||
"mod:`shelve` library module uses pickle and (g)dbm to create persistent "
|
||||
"mappings containing arbitrary Python objects. For better performance, you "
|
||||
"can use the :mod:`cPickle` module."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:787
|
||||
msgid ""
|
||||
"A more awkward way of doing things is to use pickle's little sister, "
|
||||
"marshal. The :mod:`marshal` module provides very fast ways to store "
|
||||
"noncircular basic Python types to files and strings, and back again. "
|
||||
"Although marshal does not do fancy things like store instances or handle "
|
||||
"shared references properly, it does run extremely fast. For example, "
|
||||
"loading a half megabyte of data may take less than a third of a second. "
|
||||
"This often beats doing something more complex and general such as using gdbm "
|
||||
"with pickle/shelve."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:797
|
||||
msgid "Why is cPickle so slow?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:801
|
||||
msgid ""
|
||||
"By default :mod:`pickle` uses a relatively old and slow format for backward "
|
||||
"compatibility. You can however specify other protocol versions that are "
|
||||
"faster::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:810
|
||||
msgid ""
|
||||
"If my program crashes with a bsddb (or anydbm) database open, it gets "
|
||||
"corrupted. How come?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:812
|
||||
msgid ""
|
||||
"Databases opened for write access with the bsddb module (and often by the "
|
||||
"anydbm module, since it will preferentially use bsddb) must explicitly be "
|
||||
"closed using the ``.close()`` method of the database. The underlying "
|
||||
"library caches database contents which need to be converted to on-disk form "
|
||||
"and written."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:817
|
||||
msgid ""
|
||||
"If you have initialized a new bsddb database but not written anything to it "
|
||||
"before the program crashes, you will often wind up with a zero-length file "
|
||||
"and encounter an exception the next time the file is opened."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:823
|
||||
msgid ""
|
||||
"I tried to open Berkeley DB file, but bsddb produces bsddb.error: (22, "
|
||||
"'Invalid argument'). Help! How can I restore my data?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:825
|
||||
msgid ""
|
||||
"Don't panic! Your data is probably intact. The most frequent cause for the "
|
||||
"error is that you tried to open an earlier Berkeley DB file with a later "
|
||||
"version of the Berkeley DB library."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:829
|
||||
msgid ""
|
||||
"Many Linux systems now have all three versions of Berkeley DB available. If "
|
||||
"you are migrating from version 1 to a newer version use db_dump185 to dump a "
|
||||
"plain text version of the database. If you are migrating from version 2 to "
|
||||
"version 3 use db2_dump to create a plain text version of the database. In "
|
||||
"either case, use db_load to create a new native database for the latest "
|
||||
"version installed on your computer. If you have version 3 of Berkeley DB "
|
||||
"installed, you should be able to use db2_load to create a native version 2 "
|
||||
"database."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:837
|
||||
msgid ""
|
||||
"You should move away from Berkeley DB version 1 files because the hash file "
|
||||
"code contains known bugs that can corrupt your data."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:842
|
||||
msgid "Mathematics and Numerics"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:845
|
||||
msgid "How do I generate random numbers in Python?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:847
|
||||
msgid ""
|
||||
"The standard module :mod:`random` implements a random number generator. "
|
||||
"Usage is simple::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:853
|
||||
msgid "This returns a random floating point number in the range [0, 1)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:855
|
||||
msgid ""
|
||||
"There are also many other specialized generators in this module, such as:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:857
|
||||
msgid "``randrange(a, b)`` chooses an integer in the range [a, b)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:858
|
||||
msgid "``uniform(a, b)`` chooses a floating point number in the range [a, b)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:859
|
||||
msgid ""
|
||||
"``normalvariate(mean, sdev)`` samples the normal (Gaussian) distribution."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:861
|
||||
msgid "Some higher-level functions operate on sequences directly, such as:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:863
|
||||
msgid "``choice(S)`` chooses random element from a given sequence"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:864
|
||||
msgid "``shuffle(L)`` shuffles a list in-place, i.e. permutes it randomly"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/library.rst:866
|
||||
msgid ""
|
||||
"There's also a ``Random`` class you can instantiate to create independent "
|
||||
"multiple random number generators."
|
||||
msgstr ""
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,445 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/faq/windows.rst:7
|
||||
msgid "Python on Windows FAQ"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:14
|
||||
msgid "How do I run a Python program under Windows?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:16
|
||||
msgid ""
|
||||
"This is not necessarily a straightforward question. If you are already "
|
||||
"familiar with running programs from the Windows command line then everything "
|
||||
"will seem obvious; otherwise, you might need a little more guidance."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:0
|
||||
msgid "|Python Development on XP|_"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:23
|
||||
msgid ""
|
||||
"This series of screencasts aims to get you up and running with Python on "
|
||||
"Windows XP. The knowledge is distilled into 1.5 hours and will get you up "
|
||||
"and running with the right Python distribution, coding in your choice of "
|
||||
"IDE, and debugging and writing solid code with unit-tests."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:32
|
||||
msgid ""
|
||||
"Unless you use some sort of integrated development environment, you will end "
|
||||
"up *typing* Windows commands into what is variously referred to as a \"DOS "
|
||||
"window\" or \"Command prompt window\". Usually you can create such a window "
|
||||
"from your Start menu; under Windows 7 the menu selection is :menuselection:"
|
||||
"`Start --> Programs --> Accessories --> Command Prompt`. You should be able "
|
||||
"to recognize when you have started such a window because you will see a "
|
||||
"Windows \"command prompt\", which usually looks like this::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:42
|
||||
msgid ""
|
||||
"The letter may be different, and there might be other things after it, so "
|
||||
"you might just as easily see something like::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:47
|
||||
msgid ""
|
||||
"depending on how your computer has been set up and what else you have "
|
||||
"recently done with it. Once you have started such a window, you are well on "
|
||||
"the way to running Python programs."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:51
|
||||
msgid ""
|
||||
"You need to realize that your Python scripts have to be processed by another "
|
||||
"program called the Python *interpreter*. The interpreter reads your script, "
|
||||
"compiles it into bytecodes, and then executes the bytecodes to run your "
|
||||
"program. So, how do you arrange for the interpreter to handle your Python?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:56
|
||||
msgid ""
|
||||
"First, you need to make sure that your command window recognises the word "
|
||||
"\"python\" as an instruction to start the interpreter. If you have opened a "
|
||||
"command window, you should try entering the command ``python`` and hitting "
|
||||
"return.::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:63
|
||||
msgid "You should then see something like::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:69
|
||||
msgid ""
|
||||
"You have started the interpreter in \"interactive mode\". That means you can "
|
||||
"enter Python statements or expressions interactively and have them executed "
|
||||
"or evaluated while you wait. This is one of Python's strongest features. "
|
||||
"Check it by entering a few expressions of your choice and seeing the "
|
||||
"results::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:79
|
||||
msgid ""
|
||||
"Many people use the interactive mode as a convenient yet highly programmable "
|
||||
"calculator. When you want to end your interactive Python session, hold the :"
|
||||
"kbd:`Ctrl` key down while you enter a :kbd:`Z`, then hit the \":kbd:`Enter`"
|
||||
"\" key to get back to your Windows command prompt."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:84
|
||||
msgid ""
|
||||
"You may also find that you have a Start-menu entry such as :menuselection:"
|
||||
"`Start --> Programs --> Python 2.7 --> Python (command line)` that results "
|
||||
"in you seeing the ``>>>`` prompt in a new window. If so, the window will "
|
||||
"disappear after you enter the :kbd:`Ctrl-Z` character; Windows is running a "
|
||||
"single \"python\" command in the window, and closes it when you terminate "
|
||||
"the interpreter."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:90
|
||||
msgid ""
|
||||
"If the ``python`` command, instead of displaying the interpreter prompt "
|
||||
"``>>>``, gives you a message like::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:0
|
||||
msgid "|Adding Python to DOS Path|_"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:98
|
||||
msgid ""
|
||||
"Python is not added to the DOS path by default. This screencast will walk "
|
||||
"you through the steps to add the correct entry to the `System Path`, "
|
||||
"allowing Python to be executed from the command-line by all users."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:107
|
||||
msgid "or::"
|
||||
msgstr "ou : ::"
|
||||
|
||||
#: ../Doc/faq/windows.rst:111
|
||||
msgid ""
|
||||
"then you need to make sure that your computer knows where to find the Python "
|
||||
"interpreter. To do this you will have to modify a setting called PATH, "
|
||||
"which is a list of directories where Windows will look for programs."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:115
|
||||
msgid ""
|
||||
"You should arrange for Python's installation directory to be added to the "
|
||||
"PATH of every command window as it starts. If you installed Python fairly "
|
||||
"recently then the command ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:121
|
||||
msgid ""
|
||||
"will probably tell you where it is installed; the usual location is "
|
||||
"something like ``C:\\Python27``. Otherwise you will be reduced to a search "
|
||||
"of your whole disk ... use :menuselection:`Tools --> Find` or hit the :"
|
||||
"guilabel:`Search` button and look for \"python.exe\". Supposing you "
|
||||
"discover that Python is installed in the ``C:\\Python27`` directory (the "
|
||||
"default at the time of writing), you should make sure that entering the "
|
||||
"command ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:130
|
||||
msgid ""
|
||||
"starts up the interpreter as above (and don't forget you'll need a \":kbd:"
|
||||
"`Ctrl-Z`\" and an \":kbd:`Enter`\" to get out of it). Once you have verified "
|
||||
"the directory, you can add it to the system path to make it easier to start "
|
||||
"Python by just running the ``python`` command. This is currently an option "
|
||||
"in the installer as of CPython 2.7."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:136
|
||||
msgid ""
|
||||
"More information about environment variables can be found on the :ref:`Using "
|
||||
"Python on Windows <setting-envvars>` page."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:140
|
||||
msgid "How do I make Python scripts executable?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:142
|
||||
msgid ""
|
||||
"On Windows, the standard Python installer already associates the .py "
|
||||
"extension with a file type (Python.File) and gives that file type an open "
|
||||
"command that runs the interpreter (``D:\\Program Files\\Python\\python.exe "
|
||||
"\"%1\" %*``). This is enough to make scripts executable from the command "
|
||||
"prompt as 'foo.py'. If you'd rather be able to execute the script by simple "
|
||||
"typing 'foo' with no extension you need to add .py to the PATHEXT "
|
||||
"environment variable."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:150
|
||||
msgid "Why does Python sometimes take so long to start?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:152
|
||||
msgid ""
|
||||
"Usually Python starts very quickly on Windows, but occasionally there are "
|
||||
"bug reports that Python suddenly begins to take a long time to start up. "
|
||||
"This is made even more puzzling because Python will work fine on other "
|
||||
"Windows systems which appear to be configured identically."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:157
|
||||
msgid ""
|
||||
"The problem may be caused by a misconfiguration of virus checking software "
|
||||
"on the problem machine. Some virus scanners have been known to introduce "
|
||||
"startup overhead of two orders of magnitude when the scanner is configured "
|
||||
"to monitor all reads from the filesystem. Try checking the configuration of "
|
||||
"virus scanning software on your systems to ensure that they are indeed "
|
||||
"configured identically. McAfee, when configured to scan all file system read "
|
||||
"activity, is a particular offender."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:167
|
||||
msgid "How do I make an executable from a Python script?"
|
||||
msgstr "Comment construire un exécutable depuis un script Python ?"
|
||||
|
||||
#: ../Doc/faq/windows.rst:169
|
||||
msgid ""
|
||||
"See http://www.py2exe.org/ for a distutils extension that allows you to "
|
||||
"create console and GUI executables from Python code."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:173
|
||||
msgid "Is a ``*.pyd`` file the same as a DLL?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:177
|
||||
msgid ""
|
||||
"Yes, .pyd files are dll's, but there are a few differences. If you have a "
|
||||
"DLL named ``foo.pyd``, then it must have a function ``initfoo()``. You can "
|
||||
"then write Python \"import foo\", and Python will search for foo.pyd (as "
|
||||
"well as foo.py, foo.pyc) and if it finds it, will attempt to call "
|
||||
"``initfoo()`` to initialize it. You do not link your .exe with foo.lib, as "
|
||||
"that would cause Windows to require the DLL to be present."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:184
|
||||
msgid ""
|
||||
"Note that the search path for foo.pyd is PYTHONPATH, not the same as the "
|
||||
"path that Windows uses to search for foo.dll. Also, foo.pyd need not be "
|
||||
"present to run your program, whereas if you linked your program with a dll, "
|
||||
"the dll is required. Of course, foo.pyd is required if you want to say "
|
||||
"``import foo``. In a DLL, linkage is declared in the source code with "
|
||||
"``__declspec(dllexport)``. In a .pyd, linkage is defined in a list of "
|
||||
"available functions."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:193
|
||||
msgid "How can I embed Python into a Windows application?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:195
|
||||
msgid ""
|
||||
"Embedding the Python interpreter in a Windows app can be summarized as "
|
||||
"follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:197
|
||||
msgid ""
|
||||
"Do _not_ build Python into your .exe file directly. On Windows, Python must "
|
||||
"be a DLL to handle importing modules that are themselves DLL's. (This is "
|
||||
"the first key undocumented fact.) Instead, link to :file:`python{NN}.dll`; "
|
||||
"it is typically installed in ``C:\\Windows\\System``. *NN* is the Python "
|
||||
"version, a number such as \"27\" for Python 2.7."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:203
|
||||
msgid ""
|
||||
"You can link to Python in two different ways. Load-time linking means "
|
||||
"linking against :file:`python{NN}.lib`, while run-time linking means linking "
|
||||
"against :file:`python{NN}.dll`. (General note: :file:`python{NN}.lib` is "
|
||||
"the so-called \"import lib\" corresponding to :file:`python{NN}.dll`. It "
|
||||
"merely defines symbols for the linker.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:209
|
||||
msgid ""
|
||||
"Run-time linking greatly simplifies link options; everything happens at run "
|
||||
"time. Your code must load :file:`python{NN}.dll` using the Windows "
|
||||
"``LoadLibraryEx()`` routine. The code must also use access routines and "
|
||||
"data in :file:`python{NN}.dll` (that is, Python's C API's) using pointers "
|
||||
"obtained by the Windows ``GetProcAddress()`` routine. Macros can make using "
|
||||
"these pointers transparent to any C code that calls routines in Python's C "
|
||||
"API."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:216
|
||||
msgid ""
|
||||
"Borland note: convert :file:`python{NN}.lib` to OMF format using Coff2Omf."
|
||||
"exe first."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:221
|
||||
msgid ""
|
||||
"If you use SWIG, it is easy to create a Python \"extension module\" that "
|
||||
"will make the app's data and methods available to Python. SWIG will handle "
|
||||
"just about all the grungy details for you. The result is C code that you "
|
||||
"link *into* your .exe file (!) You do _not_ have to create a DLL file, and "
|
||||
"this also simplifies linking."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:227
|
||||
msgid ""
|
||||
"SWIG will create an init function (a C function) whose name depends on the "
|
||||
"name of the extension module. For example, if the name of the module is "
|
||||
"leo, the init function will be called initleo(). If you use SWIG shadow "
|
||||
"classes, as you should, the init function will be called initleoc(). This "
|
||||
"initializes a mostly hidden helper class used by the shadow class."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:233
|
||||
msgid ""
|
||||
"The reason you can link the C code in step 2 into your .exe file is that "
|
||||
"calling the initialization function is equivalent to importing the module "
|
||||
"into Python! (This is the second key undocumented fact.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:237
|
||||
msgid ""
|
||||
"In short, you can use the following code to initialize the Python "
|
||||
"interpreter with your extension module."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:248
|
||||
msgid ""
|
||||
"There are two problems with Python's C API which will become apparent if you "
|
||||
"use a compiler other than MSVC, the compiler used to build pythonNN.dll."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:251
|
||||
msgid ""
|
||||
"Problem 1: The so-called \"Very High Level\" functions that take FILE * "
|
||||
"arguments will not work in a multi-compiler environment because each "
|
||||
"compiler's notion of a struct FILE will be different. From an "
|
||||
"implementation standpoint these are very _low_ level functions."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:256
|
||||
msgid ""
|
||||
"Problem 2: SWIG generates the following code when generating wrappers to "
|
||||
"void functions:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:265
|
||||
msgid ""
|
||||
"Alas, Py_None is a macro that expands to a reference to a complex data "
|
||||
"structure called _Py_NoneStruct inside pythonNN.dll. Again, this code will "
|
||||
"fail in a mult-compiler environment. Replace such code by:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:273
|
||||
msgid ""
|
||||
"It may be possible to use SWIG's ``%typemap`` command to make the change "
|
||||
"automatically, though I have not been able to get this to work (I'm a "
|
||||
"complete SWIG newbie)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:277
|
||||
msgid ""
|
||||
"Using a Python shell script to put up a Python interpreter window from "
|
||||
"inside your Windows app is not a good idea; the resulting window will be "
|
||||
"independent of your app's windowing system. Rather, you (or the "
|
||||
"wxPythonWindow class) should create a \"native\" interpreter window. It is "
|
||||
"easy to connect that window to the Python interpreter. You can redirect "
|
||||
"Python's i/o to _any_ object that supports read and write, so all you need "
|
||||
"is a Python object (defined in your extension module) that contains read() "
|
||||
"and write() methods."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:286
|
||||
msgid "How do I keep editors from inserting tabs into my Python source?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:288
|
||||
msgid ""
|
||||
"The FAQ does not recommend using tabs, and the Python style guide, :pep:`8`, "
|
||||
"recommends 4 spaces for distributed Python code; this is also the Emacs "
|
||||
"python-mode default."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:292
|
||||
msgid ""
|
||||
"Under any editor, mixing tabs and spaces is a bad idea. MSVC is no "
|
||||
"different in this respect, and is easily configured to use spaces: Take :"
|
||||
"menuselection:`Tools --> Options --> Tabs`, and for file type \"Default\" "
|
||||
"set \"Tab size\" and \"Indent size\" to 4, and select the \"Insert spaces\" "
|
||||
"radio button."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:297
|
||||
msgid ""
|
||||
"If you suspect mixed tabs and spaces are causing problems in leading "
|
||||
"whitespace, run Python with the :option:`-t` switch or run ``Tools/Scripts/"
|
||||
"tabnanny.py`` to check a directory tree in batch mode."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:303
|
||||
msgid "How do I check for a keypress without blocking?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:305
|
||||
msgid ""
|
||||
"Use the msvcrt module. This is a standard Windows-specific extension "
|
||||
"module. It defines a function ``kbhit()`` which checks whether a keyboard "
|
||||
"hit is present, and ``getch()`` which gets one character without echoing it."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:311
|
||||
msgid "How do I emulate os.kill() in Windows?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:313
|
||||
msgid ""
|
||||
"Prior to Python 2.7 and 3.2, to terminate a process, you can use :mod:"
|
||||
"`ctypes`::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:323
|
||||
msgid ""
|
||||
"In 2.7 and 3.2, :func:`os.kill` is implemented similar to the above "
|
||||
"function, with the additional feature of being able to send :kbd:`Ctrl+C` "
|
||||
"and :kbd:`Ctrl+Break` to console subprocesses which are designed to handle "
|
||||
"those signals. See :func:`os.kill` for further details."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:329
|
||||
msgid "How do I extract the downloaded documentation on Windows?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:331
|
||||
msgid ""
|
||||
"Sometimes, when you download the documentation package to a Windows machine "
|
||||
"using a web browser, the file extension of the saved file ends up being ."
|
||||
"EXE. This is a mistake; the extension should be .TGZ."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/windows.rst:335
|
||||
msgid ""
|
||||
"Simply rename the downloaded file to have the .TGZ extension, and WinZip "
|
||||
"will be able to handle it. (If your copy of WinZip doesn't, get a newer one "
|
||||
"from https://www.winzip.com.)"
|
||||
msgstr ""
|
156
glossary.po
156
glossary.po
|
@ -1,28 +1,28 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2010, Python Software Foundation
|
||||
# Copyright (C) 1990-2016, 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: \n"
|
||||
"Project-Id-Version: Python 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-03-12 23:37+0100\n"
|
||||
"PO-Revision-Date: 2016-01-21 23:48+0100\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: fr\n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.8.6\n"
|
||||
|
||||
#: ../Doc/glossary.rst:5
|
||||
msgid "Glossary"
|
||||
msgstr "Glossaire"
|
||||
|
||||
#: ../Doc/glossary.rst:10
|
||||
msgid ">>>"
|
||||
msgstr ">>>"
|
||||
msgid "``>>>``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/glossary.rst:12
|
||||
msgid ""
|
||||
|
@ -34,8 +34,8 @@ msgstr ""
|
|||
"interactivement dans l'interpréteur."
|
||||
|
||||
#: ../Doc/glossary.rst:14
|
||||
msgid "..."
|
||||
msgstr "..."
|
||||
msgid "``...``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/glossary.rst:16
|
||||
msgid ""
|
||||
|
@ -51,7 +51,6 @@ msgstr ""
|
|||
msgid "2to3"
|
||||
msgstr "3to3"
|
||||
|
||||
# I don’t know the accepted translation for “parse tree”
|
||||
#: ../Doc/glossary.rst:21
|
||||
msgid ""
|
||||
"A tool that tries to convert Python 2.x code to Python 3.x code by handling "
|
||||
|
@ -62,8 +61,6 @@ msgstr ""
|
|||
"3.x en gérant la plupart des incompatibilités qui peuvent être détectées en "
|
||||
"analysant la source et parcourant son arbre syntaxique."
|
||||
|
||||
# The strange space escaping are here to handle non-breaking spaces required
|
||||
# by French typographic rules.
|
||||
#: ../Doc/glossary.rst:25
|
||||
msgid ""
|
||||
"2to3 is available in the standard library as :mod:`lib2to3`; a standalone "
|
||||
|
@ -377,7 +374,6 @@ msgid "descriptor"
|
|||
msgstr "descripteur"
|
||||
|
||||
#: ../Doc/glossary.rst:168
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Any *new-style* object which defines the methods :meth:`__get__`, :meth:"
|
||||
"`__set__`, or :meth:`__delete__`. When a class attribute is a descriptor, "
|
||||
|
@ -389,16 +385,6 @@ msgid ""
|
|||
"including functions, methods, properties, class methods, static methods, and "
|
||||
"reference to super classes."
|
||||
msgstr ""
|
||||
"N'importe quel objet définissant les méthodes :meth:`__get__`, :meth:"
|
||||
"`__set__`, ou :meth:`__delete__`. Lorsque l'attribut d'une classe est un "
|
||||
"descripteur, son comportement spécial est déclenché lors de la recherche des "
|
||||
"attributs. En utilisant *a.b* pour obtenir, valoriser ou effacer un "
|
||||
"attribut, il recherche l'objet nommé *b* dans la dictionnaire de la classe "
|
||||
"pour *a*, mais si *b* est un descripteur, la méthode de ce descripteur est "
|
||||
"alors appelée.Comprendre les descripteurs est la clé d'une compréhension "
|
||||
"approfondie de Python, ils sont la base de nombre de ses caractéristiques "
|
||||
"notamment les fonctions, méthodes, propriétés, méthodes de classe, méthodes "
|
||||
"statiques, et les références aux classes mères. "
|
||||
|
||||
#: ../Doc/glossary.rst:178
|
||||
msgid ""
|
||||
|
@ -412,22 +398,17 @@ msgid "dictionary"
|
|||
msgstr "dictionnaire"
|
||||
|
||||
#: ../Doc/glossary.rst:181
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"An associative array, where arbitrary keys are mapped to values. The keys "
|
||||
"can be any object with :meth:`__hash__` and :meth:`__eq__` methods. Called "
|
||||
"a hash in Perl."
|
||||
msgstr ""
|
||||
"Une structure de donnée associant des clefs et des valeurs. Les clefs "
|
||||
"peuvent être n'importe quel objet comportant les méthodes :meth:`__hash__` "
|
||||
"et :meth:`__eq__``. Elle s'appelle \"hash\" en Perl."
|
||||
|
||||
#: ../Doc/glossary.rst:184
|
||||
msgid "dictionary view"
|
||||
msgstr "vue de dictionnaire"
|
||||
|
||||
#: ../Doc/glossary.rst:186
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The objects returned from :meth:`dict.viewkeys`, :meth:`dict.viewvalues`, "
|
||||
"and :meth:`dict.viewitems` are called dictionary views. They provide a "
|
||||
|
@ -435,11 +416,6 @@ msgid ""
|
|||
"dictionary changes, the view reflects these changes. To force the dictionary "
|
||||
"view to become a full list use ``list(dictview)``. See :ref:`dict-views`."
|
||||
msgstr ""
|
||||
"Les objets donnés par les méthodes :meth:`dict.keys`, :meth:`dict.values`, "
|
||||
"et :meth:`dict.items` sont des vues de dictionnaire. Ce sont des vues, "
|
||||
"dynamiques, des entrées du dictionnaire, ce qui signifie que lorsque le "
|
||||
"dictionnaire change, la vue change. Pour transformer une vue en vrai liste, "
|
||||
"utilisez ``list(dictview)``. Voir :ref:`dict-views`."
|
||||
|
||||
#: ../Doc/glossary.rst:192
|
||||
msgid "docstring"
|
||||
|
@ -512,7 +488,6 @@ msgid "expression"
|
|||
msgstr "expression"
|
||||
|
||||
#: ../Doc/glossary.rst:221
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"A piece of syntax which can be evaluated to some value. In other words, an "
|
||||
"expression is an accumulation of expression elements like literals, names, "
|
||||
|
@ -522,15 +497,6 @@ msgid ""
|
|||
"expressions, such as :keyword:`print` or :keyword:`if`. Assignments are "
|
||||
"also statements, not expressions."
|
||||
msgstr ""
|
||||
"Une suite logique de termes et chiffres conformes à la syntaxe Python dont "
|
||||
"l'évaluation fournit une valeur. En d'autres termes, une expression est une "
|
||||
"suite d'éléments tels que des noms, opérateurs, littéraux, accès "
|
||||
"d'attributs, méthodes ou fonctions qui aboutissent à une valeur. "
|
||||
"Contrairement à beaucoup d'autres langages, les différentes constructions du "
|
||||
"langage ne sont pas toutes des expressions. Il y a également des :term:"
|
||||
"`statement`s qui ne peuvent pas être utilisés comme expressions, tel que :"
|
||||
"keyword:`if`. Les affectations sont également des :term:`statements` et non "
|
||||
"des expressions."
|
||||
|
||||
#: ../Doc/glossary.rst:228
|
||||
msgid "extension module"
|
||||
|
@ -760,17 +726,12 @@ msgid "hashable"
|
|||
msgstr "hachable"
|
||||
|
||||
#: ../Doc/glossary.rst:338
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"An object is *hashable* if it has a hash value which never changes during "
|
||||
"its lifetime (it needs a :meth:`__hash__` method), and can be compared to "
|
||||
"other objects (it needs an :meth:`__eq__` or :meth:`__cmp__` method). "
|
||||
"Hashable objects which compare equal must have the same hash value."
|
||||
msgstr ""
|
||||
"Un objet est *hachable* s'il a une empreinte (*hash*) qui ne change jamais. "
|
||||
"(etil a besoin d'une méthode :meth:`__hash__`) et peut être comparé à "
|
||||
"d'autres objets (avec la méthode :meth:`__eq__`). Les objets hachables dont "
|
||||
"``_eq__`` dit être équivalents, ont aussi la même empreinte."
|
||||
|
||||
#: ../Doc/glossary.rst:343
|
||||
msgid ""
|
||||
|
@ -912,7 +873,6 @@ msgid "iterable"
|
|||
msgstr "itérable"
|
||||
|
||||
#: ../Doc/glossary.rst:402
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"An object capable of returning its members one at a time. Examples of "
|
||||
"iterables include all sequence types (such as :class:`list`, :class:`str`, "
|
||||
|
@ -929,21 +889,6 @@ msgid ""
|
|||
"of the loop. See also :term:`iterator`, :term:`sequence`, and :term:"
|
||||
"`generator`."
|
||||
msgstr ""
|
||||
"Un objet capable de donner ses éléments un à un. Pour lister quelques "
|
||||
"exemples d'itérables, on pourrait lister tout les types séquence (comme :"
|
||||
"class:`list`, :class:`str`, et :class:`tuple`), et quelques autres comme :"
|
||||
"class:`dict`, :term:`objets fichiers <objet fichier>`, ou tout objet de "
|
||||
"toute classe ayant une méthode :meth:`__iter__` ou :meth:`__getitem__`. Les "
|
||||
"itérables peuvent être utilisés dans des boucles :keyword:`for` ou tout "
|
||||
"autre endroit où une séquence est requise (:func:`zip`, :func:`map`, ...). "
|
||||
"Lorsqu'un itérable est passé comme argument à la fonction native :func:"
|
||||
"`iter`, elle donnera un itérateur de cet itérable. Cet itérateur n'est "
|
||||
"valable que pour une passe sur le jeu de valeurs. Lors de l'utilisation "
|
||||
"d'itérables, il n'est habituellement pas nécessaire d'appeler :func:`iter` "
|
||||
"ou de s'occuper d'objet itérateurs. L'instruction ``for`` fait ça "
|
||||
"automatiquement pour vous, créant une variable temporaire anonyme pour "
|
||||
"garder l'itérateur durant la boucle. Voir aussi :term:`itérateur`, :term:"
|
||||
"`séquence`, et :term:`générateur`."
|
||||
|
||||
#: ../Doc/glossary.rst:416
|
||||
msgid "iterator"
|
||||
|
@ -1090,7 +1035,6 @@ msgid "list comprehension"
|
|||
msgstr "liste en compréhension"
|
||||
|
||||
#: ../Doc/glossary.rst:480
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"A compact way to process all or part of the elements in a sequence and "
|
||||
"return a list with the results. ``result = [\"0x%02x\" % x for x in "
|
||||
|
@ -1098,12 +1042,6 @@ msgid ""
|
|||
"numbers (0x..) in the range from 0 to 255. The :keyword:`if` clause is "
|
||||
"optional. If omitted, all elements in ``range(256)`` are processed."
|
||||
msgstr ""
|
||||
"Un moyen compacte de manipuler tous ou partie des éléments d'une séquence "
|
||||
"renvoyant une liste avec les résultats. ``result = ['{:#04x}'.format(x) for "
|
||||
"x in range(256) if x % 2 == 0]`` génère une liste de chaînes de caractères "
|
||||
"contenant les nombres paires sous forme hexadécimale (0x...) de 0 à 255. La "
|
||||
"clause :keyword : `if` est optionnelle. Si elle est omise, tous les éléments "
|
||||
"du ``range(256)`` seront utilisés."
|
||||
|
||||
#: ../Doc/glossary.rst:486
|
||||
msgid "loader"
|
||||
|
@ -1276,7 +1214,6 @@ msgid "namespace"
|
|||
msgstr "espace de nom"
|
||||
|
||||
#: ../Doc/glossary.rst:553
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The place where a variable is stored. Namespaces are implemented as "
|
||||
"dictionaries. There are the local, global and built-in namespaces as well "
|
||||
|
@ -1289,16 +1226,6 @@ msgid ""
|
|||
"are implemented by the :mod:`random` and :mod:`itertools` modules, "
|
||||
"respectively."
|
||||
msgstr ""
|
||||
"L'endroit où une variable est stockée. Les espaces de noms sont en fait des "
|
||||
"dictionnaires. Il existe des espaces de noms globaux, natifs, ou imbriqués "
|
||||
"dans les objets (dans les méthodes). Les espaces de noms sont modulaires "
|
||||
"afin d'éviter les conflits de noms. Par exemple, les fonctions :func:"
|
||||
"`builtins.open <.open>` et :func:`os.open`sont différenciées par leurs "
|
||||
"espaces de nom. Les espaces de noms aident aussi à la lisibilité et "
|
||||
"maintenabilité en rendant clair quel module implémente une fonction. Par "
|
||||
"exemple, écrire :func:`random.seed` ou :func:`itertools.islice` rend clair "
|
||||
"que ces fonctions sont implémentées respectivement dans les modules :mod:"
|
||||
"`random` et :mod:`itertools`."
|
||||
|
||||
#: ../Doc/glossary.rst:563
|
||||
msgid "nested scope"
|
||||
|
@ -1362,15 +1289,11 @@ msgid "parameter"
|
|||
msgstr "paramètre"
|
||||
|
||||
#: ../Doc/glossary.rst:591
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"A named entity in a :term:`function` (or method) definition that specifies "
|
||||
"an :term:`argument` (or in some cases, arguments) that the function can "
|
||||
"accept. There are four types of parameters:"
|
||||
msgstr ""
|
||||
"Une entité nommée, dans la définition d'une :term:`fonction` ou d'une :term:"
|
||||
"`méthode`, décrivant un :term:`argument` (ou dans certains cas des "
|
||||
"arguments) que la fonction accepte. Il existe cinque sorte de paramètres :"
|
||||
|
||||
#: ../Doc/glossary.rst:595
|
||||
msgid ""
|
||||
|
@ -1430,15 +1353,11 @@ msgstr ""
|
|||
"optionnels."
|
||||
|
||||
#: ../Doc/glossary.rst:624
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"See also the :term:`argument` glossary entry, the FAQ question on :ref:`the "
|
||||
"difference between arguments and parameters <faq-argument-vs-parameter>`, "
|
||||
"and the :ref:`function` section."
|
||||
msgstr ""
|
||||
"Voir aussi :term:`paramètre` dans le glossaire, la FAQ à aussi une question "
|
||||
"à propos de `la différence entre argument et paramètre <faq-argument-vs-"
|
||||
"parameter>` et la :pep:`362`."
|
||||
|
||||
#: ../Doc/glossary.rst:627
|
||||
msgid "positional argument"
|
||||
|
@ -1507,7 +1426,6 @@ msgid "__slots__"
|
|||
msgstr "__slots__"
|
||||
|
||||
#: ../Doc/glossary.rst:661
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"A declaration inside a :term:`new-style class` that saves memory by pre-"
|
||||
"declaring space for instance attributes and eliminating instance "
|
||||
|
@ -1515,11 +1433,6 @@ msgid ""
|
|||
"and is best reserved for rare cases where there are large numbers of "
|
||||
"instances in a memory-critical application."
|
||||
msgstr ""
|
||||
"Une déclaration dans une classe qui économise de la mémoire en pré-allouant "
|
||||
"de l'espace pour les instances des attributs, et le dictionnaire des "
|
||||
"instances. Bien que populaire, cette technique est difficile à maîtriser et "
|
||||
"devrait être réservée à de rares cas avec un grand nombre d'instances dans "
|
||||
"une application où la mémoire est un sujet critique."
|
||||
|
||||
#: ../Doc/glossary.rst:666
|
||||
msgid "sequence"
|
||||
|
@ -1585,7 +1498,6 @@ msgid "struct sequence"
|
|||
msgstr "struct sequence"
|
||||
|
||||
#: ../Doc/glossary.rst:696
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"A tuple with named elements. Struct sequences expose an interface similiar "
|
||||
"to :term:`named tuple` in that elements can either be accessed either by "
|
||||
|
@ -1594,13 +1506,6 @@ msgid ""
|
|||
"`~collections.somenamedtuple._asdict`. Examples of struct sequences include :"
|
||||
"data:`sys.float_info` and the return value of :func:`os.stat`."
|
||||
msgstr ""
|
||||
"Un uplet (*tuple*) dont les éléments sont nommés. Les *struct sequences* "
|
||||
"exposent une interface similaires au :term:`named tuple` par le fait que "
|
||||
"leurs éléments peuvent être accédés par nom d'attribut ou par indice. "
|
||||
"Cependant, elles n'ont aucune des méthodes du *named tuple*, comme :meth:"
|
||||
"`collections.somenamedtuple._make` ou :meth:`~collections.somenamedtuple."
|
||||
"_asdict`. Par exemple :data:`sys.float_info`, ou les valeurs données par :"
|
||||
"func:`os.stat` sont des *struct sequence*."
|
||||
|
||||
#: ../Doc/glossary.rst:702
|
||||
msgid "triple-quoted string"
|
||||
|
@ -1644,7 +1549,6 @@ msgid "universal newlines"
|
|||
msgstr "retours à la ligne universels"
|
||||
|
||||
#: ../Doc/glossary.rst:719
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"A manner of interpreting text streams in which all of the following are "
|
||||
"recognized as ending a line: the Unix end-of-line convention ``'\\n'``, the "
|
||||
|
@ -1652,11 +1556,6 @@ msgid ""
|
|||
"``'\\r'``. See :pep:`278` and :pep:`3116`, as well as :func:`str."
|
||||
"splitlines` for an additional use."
|
||||
msgstr ""
|
||||
"Une manière d'interpréter des flux de texte dans lesquels toutes les fin de "
|
||||
"lignes suivantes sont reconnues: la convention Unix ``'\\n'``, la convention "
|
||||
"Windows ``'\\r\\n'``, et l'ancienne convention Macintosh ``'\\r'``. Voir la :"
|
||||
"pep:`278` et la :pep:`3116`, ainsi que la fonction :func:bytes.splitlines` "
|
||||
"pour d'autres usages."
|
||||
|
||||
#: ../Doc/glossary.rst:724
|
||||
msgid "virtual environment"
|
||||
|
@ -1700,34 +1599,3 @@ msgstr ""
|
|||
"Liste de principes et de philosophies utiles pour comprendre et utiliser le "
|
||||
"langage. Cette liste peut être obtenue en tapant \"``import this``\" dans "
|
||||
"une invite Python interactive."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "A value passed to a function or method, assigned to a named local "
|
||||
#~ "variable in the function body. A function or method may have both "
|
||||
#~ "positional arguments and keyword arguments in its definition. Positional "
|
||||
#~ "and keyword arguments may be variable-length: ``*`` accepts or passes (if "
|
||||
#~ "in the function definition or call) several positional arguments in a "
|
||||
#~ "list, while ``**`` does the same for keyword arguments in a dictionary."
|
||||
#~ msgstr ""
|
||||
#~ "Une valeur passée à une fonction ou une méthode, assignée à une variable "
|
||||
#~ "locale nommée dans le corps de la fonction. Une fonction ou une méthode "
|
||||
#~ "peut aussi bien avoir des arguments de position que des arguments clé "
|
||||
#~ "dans sa définition. Les arguments de position et les arguments clé "
|
||||
#~ "peuvent être de longueur variable: ``*`` accepte ou passe (selon si c'est "
|
||||
#~ "lors de la définition ou lors de l'appel de la fonction) plusieurs "
|
||||
#~ "arguments de position dans une liste, tandis que ``**`` effectue la même "
|
||||
#~ "chose pour les arguments clé dans un dictionnaire."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Any expression may be used within the argument list, and the evaluated "
|
||||
#~ "value is passed to the local variable."
|
||||
#~ msgstr ""
|
||||
#~ "Une expression peut être utilisée dans la liste d'arguments, la valeur "
|
||||
#~ "évaluée est alors assignée à la variable locale."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "def f(...): ... f = staticmethod(f) @staticmethod def f(...): ..."
|
||||
#~ msgstr "def f(...): ... f = staticmethod(f) @staticmethod def f(...): ..."
|
||||
|
||||
#~ msgid "for i in range(len(food)): print(food[i])"
|
||||
#~ msgstr "for i in range(len(food)): print(food[i])"
|
||||
|
|
|
@ -0,0 +1,486 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/howto/argparse.rst:3
|
||||
msgid "Argparse Tutorial"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:5
|
||||
msgid "Tshepang Lekhonkhobe"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:9
|
||||
msgid ""
|
||||
"This tutorial is intended to be a gentle introduction to :mod:`argparse`, "
|
||||
"the recommended command-line parsing module in the Python standard library. "
|
||||
"This was written for argparse in Python 3. A few details are different in 2."
|
||||
"x, especially some exception messages, which were improved in 3.x."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:16
|
||||
msgid ""
|
||||
"There are two other modules that fulfill the same task, namely :mod:`getopt` "
|
||||
"(an equivalent for :c:func:`getopt` from the C language) and the deprecated :"
|
||||
"mod:`optparse`. Note also that :mod:`argparse` is based on :mod:`optparse`, "
|
||||
"and therefore very similar in terms of usage."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:24
|
||||
msgid "Concepts"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:26
|
||||
msgid ""
|
||||
"Let's show the sort of functionality that we are going to explore in this "
|
||||
"introductory tutorial by making use of the :command:`ls` command:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:48
|
||||
msgid "A few concepts we can learn from the four commands:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:50
|
||||
msgid ""
|
||||
"The :command:`ls` command is useful when run without any options at all. It "
|
||||
"defaults to displaying the contents of the current directory."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:53
|
||||
msgid ""
|
||||
"If we want beyond what it provides by default, we tell it a bit more. In "
|
||||
"this case, we want it to display a different directory, ``pypy``. What we "
|
||||
"did is specify what is known as a positional argument. It's named so because "
|
||||
"the program should know what to do with the value, solely based on where it "
|
||||
"appears on the command line. This concept is more relevant to a command "
|
||||
"like :command:`cp`, whose most basic usage is ``cp SRC DEST``. The first "
|
||||
"position is *what you want copied,* and the second position is *where you "
|
||||
"want it copied to*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:62
|
||||
msgid ""
|
||||
"Now, say we want to change behaviour of the program. In our example, we "
|
||||
"display more info for each file instead of just showing the file names. The "
|
||||
"``-l`` in that case is known as an optional argument."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:66
|
||||
msgid ""
|
||||
"That's a snippet of the help text. It's very useful in that you can come "
|
||||
"across a program you have never used before, and can figure out how it works "
|
||||
"simply by reading its help text."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:72
|
||||
msgid "The basics"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:74
|
||||
msgid "Let us start with a very simple example which does (almost) nothing::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:80 ../Doc/howto/argparse.rst:188
|
||||
#: ../Doc/howto/argparse.rst:209
|
||||
msgid "Following is a result of running the code:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:97 ../Doc/howto/argparse.rst:254
|
||||
#: ../Doc/howto/argparse.rst:298
|
||||
msgid "Here is what is happening:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:99
|
||||
msgid ""
|
||||
"Running the script without any options results in nothing displayed to "
|
||||
"stdout. Not so useful."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:102
|
||||
msgid ""
|
||||
"The second one starts to display the usefulness of the :mod:`argparse` "
|
||||
"module. We have done almost nothing, but already we get a nice help message."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:105
|
||||
msgid ""
|
||||
"The ``--help`` option, which can also be shortened to ``-h``, is the only "
|
||||
"option we get for free (i.e. no need to specify it). Specifying anything "
|
||||
"else results in an error. But even then, we do get a useful usage message, "
|
||||
"also for free."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:112
|
||||
msgid "Introducing Positional arguments"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:114
|
||||
msgid "An example::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:122
|
||||
msgid "And running the code:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:140
|
||||
msgid "Here is what's happening:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:142
|
||||
msgid ""
|
||||
"We've added the :meth:`add_argument` method, which is what we use to specify "
|
||||
"which command-line options the program is willing to accept. In this case, "
|
||||
"I've named it ``echo`` so that it's in line with its function."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:146
|
||||
msgid "Calling our program now requires us to specify an option."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:148
|
||||
msgid ""
|
||||
"The :meth:`parse_args` method actually returns some data from the options "
|
||||
"specified, in this case, ``echo``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:151
|
||||
msgid ""
|
||||
"The variable is some form of 'magic' that :mod:`argparse` performs for free "
|
||||
"(i.e. no need to specify which variable that value is stored in). You will "
|
||||
"also notice that its name matches the string argument given to the method, "
|
||||
"``echo``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:156
|
||||
msgid ""
|
||||
"Note however that, although the help display looks nice and all, it "
|
||||
"currently is not as helpful as it can be. For example we see that we got "
|
||||
"``echo`` as a positional argument, but we don't know what it does, other "
|
||||
"than by guessing or by reading the source code. So, let's make it a bit more "
|
||||
"useful::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:167
|
||||
msgid "And we get:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:180
|
||||
msgid "Now, how about doing something even more useful::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:198
|
||||
msgid ""
|
||||
"That didn't go so well. That's because :mod:`argparse` treats the options we "
|
||||
"give it as strings, unless we tell it otherwise. So, let's tell :mod:"
|
||||
"`argparse` to treat that input as an integer::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:219
|
||||
msgid ""
|
||||
"That went well. The program now even helpfully quits on bad illegal input "
|
||||
"before proceeding."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:224
|
||||
msgid "Introducing Optional arguments"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:226
|
||||
msgid ""
|
||||
"So far we, have been playing with positional arguments. Let us have a look "
|
||||
"on how to add optional ones::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:236 ../Doc/howto/argparse.rst:282
|
||||
#: ../Doc/howto/argparse.rst:398 ../Doc/howto/argparse.rst:432
|
||||
msgid "And the output:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:256
|
||||
msgid ""
|
||||
"The program is written so as to display something when ``--verbosity`` is "
|
||||
"specified and display nothing when not."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:259
|
||||
msgid ""
|
||||
"To show that the option is actually optional, there is no error when running "
|
||||
"the program without it. Note that by default, if an optional argument isn't "
|
||||
"used, the relevant variable, in this case :attr:`args.verbosity`, is given "
|
||||
"``None`` as a value, which is the reason it fails the truth test of the :"
|
||||
"keyword:`if` statement."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:265
|
||||
msgid "The help message is a bit different."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:267
|
||||
msgid ""
|
||||
"When using the ``--verbosity`` option, one must also specify some value, any "
|
||||
"value."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:270
|
||||
msgid ""
|
||||
"The above example accepts arbitrary integer values for ``--verbosity``, but "
|
||||
"for our simple program, only two values are actually useful, ``True`` or "
|
||||
"``False``. Let's modify the code accordingly::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:300
|
||||
msgid ""
|
||||
"The option is now more of a flag than something that requires a value. We "
|
||||
"even changed the name of the option to match that idea. Note that we now "
|
||||
"specify a new keyword, ``action``, and give it the value ``\"store_true\"``. "
|
||||
"This means that, if the option is specified, assign the value ``True`` to :"
|
||||
"data:`args.verbose`. Not specifying it implies ``False``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:307
|
||||
msgid ""
|
||||
"It complains when you specify a value, in true spirit of what flags actually "
|
||||
"are."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:310
|
||||
msgid "Notice the different help text."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:314
|
||||
msgid "Short options"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:316
|
||||
msgid ""
|
||||
"If you are familiar with command line usage, you will notice that I haven't "
|
||||
"yet touched on the topic of short versions of the options. It's quite "
|
||||
"simple::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:328
|
||||
msgid "And here goes:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:341
|
||||
msgid "Note that the new ability is also reflected in the help text."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:345
|
||||
msgid "Combining Positional and Optional arguments"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:347
|
||||
msgid "Our program keeps growing in complexity::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:362
|
||||
msgid "And now the output:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:376
|
||||
msgid "We've brought back a positional argument, hence the complaint."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:378
|
||||
msgid "Note that the order does not matter."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:380
|
||||
msgid ""
|
||||
"How about we give this program of ours back the ability to have multiple "
|
||||
"verbosity values, and actually get to use them::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:414
|
||||
msgid ""
|
||||
"These all look good except the last one, which exposes a bug in our program. "
|
||||
"Let's fix it by restricting the values the ``--verbosity`` option can "
|
||||
"accept::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:450
|
||||
msgid ""
|
||||
"Note that the change also reflects both in the error message as well as the "
|
||||
"help string."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:453
|
||||
msgid ""
|
||||
"Now, let's use a different approach of playing with verbosity, which is "
|
||||
"pretty common. It also matches the way the CPython executable handles its "
|
||||
"own verbosity argument (check the output of ``python --help``)::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:472
|
||||
msgid ""
|
||||
"We have introduced another action, \"count\", to count the number of "
|
||||
"occurrences of a specific optional arguments:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:500
|
||||
msgid ""
|
||||
"Yes, it's now more of a flag (similar to ``action=\"store_true\"``) in the "
|
||||
"previous version of our script. That should explain the complaint."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:503
|
||||
msgid "It also behaves similar to \"store_true\" action."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:505
|
||||
msgid ""
|
||||
"Now here's a demonstration of what the \"count\" action gives. You've "
|
||||
"probably seen this sort of usage before."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:508
|
||||
msgid ""
|
||||
"And, just like the \"store_true\" action, if you don't specify the ``-v`` "
|
||||
"flag, that flag is considered to have ``None`` value."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:511
|
||||
msgid ""
|
||||
"As should be expected, specifying the long form of the flag, we should get "
|
||||
"the same output."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:514
|
||||
msgid ""
|
||||
"Sadly, our help output isn't very informative on the new ability our script "
|
||||
"has acquired, but that can always be fixed by improving the documentation "
|
||||
"for our script (e.g. via the ``help`` keyword argument)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:518
|
||||
msgid "That last output exposes a bug in our program."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:521
|
||||
msgid "Let's fix::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:540
|
||||
msgid "And this is what it gives:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:554
|
||||
msgid ""
|
||||
"First output went well, and fixes the bug we had before. That is, we want "
|
||||
"any value >= 2 to be as verbose as possible."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:557
|
||||
msgid "Third output not so good."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:559
|
||||
msgid "Let's fix that bug::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:576
|
||||
msgid ""
|
||||
"We've just introduced yet another keyword, ``default``. We've set it to "
|
||||
"``0`` in order to make it comparable to the other int values. Remember that "
|
||||
"by default, if an optional argument isn't specified, it gets the ``None`` "
|
||||
"value, and that cannot be compared to an int value (hence the :exc:"
|
||||
"`TypeError` exception)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:583
|
||||
msgid "And:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:590
|
||||
msgid ""
|
||||
"You can go quite far just with what we've learned so far, and we have only "
|
||||
"scratched the surface. The :mod:`argparse` module is very powerful, and "
|
||||
"we'll explore a bit more of it before we end this tutorial."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:597
|
||||
msgid "Getting a little more advanced"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:599
|
||||
msgid ""
|
||||
"What if we wanted to expand our tiny program to perform other powers, not "
|
||||
"just squares::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:616 ../Doc/howto/argparse.rst:654
|
||||
msgid "Output:"
|
||||
msgstr "Sortie :"
|
||||
|
||||
#: ../Doc/howto/argparse.rst:637
|
||||
msgid ""
|
||||
"Notice that so far we've been using verbosity level to *change* the text "
|
||||
"that gets displayed. The following example instead uses verbosity level to "
|
||||
"display *more* text instead::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:668
|
||||
msgid "Conflicting options"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:670
|
||||
msgid ""
|
||||
"So far, we have been working with two methods of an :class:`argparse."
|
||||
"ArgumentParser` instance. Let's introduce a third one, :meth:"
|
||||
"`add_mutually_exclusive_group`. It allows for us to specify options that "
|
||||
"conflict with each other. Let's also change the rest of the program so that "
|
||||
"the new functionality makes more sense: we'll introduce the ``--quiet`` "
|
||||
"option, which will be the opposite of the ``--verbose`` one::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:696
|
||||
msgid ""
|
||||
"Our program is now simpler, and we've lost some functionality for the sake "
|
||||
"of demonstration. Anyways, here's the output:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:714
|
||||
msgid ""
|
||||
"That should be easy to follow. I've added that last output so you can see "
|
||||
"the sort of flexibility you get, i.e. mixing long form options with short "
|
||||
"form ones."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:718
|
||||
msgid ""
|
||||
"Before we conclude, you probably want to tell your users the main purpose of "
|
||||
"your program, just in case they don't know::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:739
|
||||
msgid ""
|
||||
"Note that slight difference in the usage text. Note the ``[-v | -q]``, which "
|
||||
"tells us that we can either use ``-v`` or ``-q``, but not both at the same "
|
||||
"time:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:761
|
||||
msgid "Conclusion"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/argparse.rst:763
|
||||
msgid ""
|
||||
"The :mod:`argparse` module offers a lot more than shown here. Its docs are "
|
||||
"quite detailed and thorough, and full of examples. Having gone through this "
|
||||
"tutorial, you should easily digest them without feeling overwhelmed."
|
||||
msgstr ""
|
|
@ -0,0 +1,191 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/howto/cporting.rst:7
|
||||
msgid "Porting Extension Modules to Python 3"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/cporting.rst:9
|
||||
msgid "Benjamin Peterson"
|
||||
msgstr "Benjamin Peterson"
|
||||
|
||||
#: ../Doc/howto/cporting.rst:0
|
||||
msgid "Abstract"
|
||||
msgstr "Résumé"
|
||||
|
||||
#: ../Doc/howto/cporting.rst:14
|
||||
msgid ""
|
||||
"Although changing the C-API was not one of Python 3's objectives, the many "
|
||||
"Python-level changes made leaving Python 2's API intact impossible. In "
|
||||
"fact, some changes such as :func:`int` and :func:`long` unification are more "
|
||||
"obvious on the C level. This document endeavors to document "
|
||||
"incompatibilities and how they can be worked around."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/cporting.rst:23
|
||||
msgid "Conditional compilation"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/cporting.rst:25
|
||||
msgid ""
|
||||
"The easiest way to compile only some code for Python 3 is to check if :c:"
|
||||
"macro:`PY_MAJOR_VERSION` is greater than or equal to 3. ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/cporting.rst:32
|
||||
msgid ""
|
||||
"API functions that are not present can be aliased to their equivalents "
|
||||
"within conditional blocks."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/cporting.rst:37
|
||||
msgid "Changes to Object APIs"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/cporting.rst:39
|
||||
msgid ""
|
||||
"Python 3 merged together some types with similar functions while cleanly "
|
||||
"separating others."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/cporting.rst:44
|
||||
msgid "str/unicode Unification"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/cporting.rst:46
|
||||
msgid ""
|
||||
"Python 3's :func:`str` type is equivalent to Python 2's :func:`unicode`; the "
|
||||
"C functions are called ``PyUnicode_*`` for both. The old 8-bit string type "
|
||||
"has become :func:`bytes`, with C functions called ``PyBytes_*``. Python 2.6 "
|
||||
"and later provide a compatibility header, :file:`bytesobject.h`, mapping "
|
||||
"``PyBytes`` names to ``PyString`` ones. For best compatibility with Python "
|
||||
"3, :c:type:`PyUnicode` should be used for textual data and :c:type:`PyBytes` "
|
||||
"for binary data. It's also important to remember that :c:type:`PyBytes` "
|
||||
"and :c:type:`PyUnicode` in Python 3 are not interchangeable like :c:type:"
|
||||
"`PyString` and :c:type:`PyUnicode` are in Python 2. The following example "
|
||||
"shows best practices with regards to :c:type:`PyUnicode`, :c:type:"
|
||||
"`PyString`, and :c:type:`PyBytes`. ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/cporting.rst:95
|
||||
msgid "long/int Unification"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/cporting.rst:97
|
||||
msgid ""
|
||||
"Python 3 has only one integer type, :func:`int`. But it actually "
|
||||
"corresponds to Python 2's :func:`long` type--the :func:`int` type used in "
|
||||
"Python 2 was removed. In the C-API, ``PyInt_*`` functions are replaced by "
|
||||
"their ``PyLong_*`` equivalents."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/cporting.rst:104
|
||||
msgid "Module initialization and state"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/cporting.rst:106
|
||||
msgid ""
|
||||
"Python 3 has a revamped extension module initialization system. (See :pep:"
|
||||
"`3121`.) Instead of storing module state in globals, they should be stored "
|
||||
"in an interpreter specific structure. Creating modules that act correctly "
|
||||
"in both Python 2 and Python 3 is tricky. The following simple example "
|
||||
"demonstrates how. ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/cporting.rst:197
|
||||
msgid "CObject replaced with Capsule"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/cporting.rst:199
|
||||
msgid ""
|
||||
"The :c:type:`Capsule` object was introduced in Python 3.1 and 2.7 to "
|
||||
"replace :c:type:`CObject`. CObjects were useful, but the :c:type:`CObject` "
|
||||
"API was problematic: it didn't permit distinguishing between valid CObjects, "
|
||||
"which allowed mismatched CObjects to crash the interpreter, and some of its "
|
||||
"APIs relied on undefined behavior in C. (For further reading on the "
|
||||
"rationale behind Capsules, please see :issue:`5630`.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/cporting.rst:206
|
||||
msgid ""
|
||||
"If you're currently using CObjects, and you want to migrate to 3.1 or newer, "
|
||||
"you'll need to switch to Capsules. :c:type:`CObject` was deprecated in 3.1 "
|
||||
"and 2.7 and completely removed in Python 3.2. If you only support 2.7, or "
|
||||
"3.1 and above, you can simply switch to :c:type:`Capsule`. If you need to "
|
||||
"support Python 3.0, or versions of Python earlier than 2.7, you'll have to "
|
||||
"support both CObjects and Capsules. (Note that Python 3.0 is no longer "
|
||||
"supported, and it is not recommended for production use.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/cporting.rst:216
|
||||
msgid ""
|
||||
"The following example header file :file:`capsulethunk.h` may solve the "
|
||||
"problem for you. Simply write your code against the :c:type:`Capsule` API "
|
||||
"and include this header file after :file:`Python.h`. Your code will "
|
||||
"automatically use Capsules in versions of Python with Capsules, and switch "
|
||||
"to CObjects when Capsules are unavailable."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/cporting.rst:223
|
||||
msgid ""
|
||||
":file:`capsulethunk.h` simulates Capsules using CObjects. However, :c:type:"
|
||||
"`CObject` provides no place to store the capsule's \"name\". As a result "
|
||||
"the simulated :c:type:`Capsule` objects created by :file:`capsulethunk.h` "
|
||||
"behave slightly differently from real Capsules. Specifically:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/cporting.rst:228
|
||||
msgid "The name parameter passed in to :c:func:`PyCapsule_New` is ignored."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/cporting.rst:230
|
||||
msgid ""
|
||||
"The name parameter passed in to :c:func:`PyCapsule_IsValid` and :c:func:"
|
||||
"`PyCapsule_GetPointer` is ignored, and no error checking of the name is "
|
||||
"performed."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/cporting.rst:234
|
||||
msgid ":c:func:`PyCapsule_GetName` always returns NULL."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/cporting.rst:236
|
||||
msgid ""
|
||||
":c:func:`PyCapsule_SetName` always raises an exception and returns failure. "
|
||||
"(Since there's no way to store a name in a CObject, noisy failure of :c:func:"
|
||||
"`PyCapsule_SetName` was deemed preferable to silent failure here. If this "
|
||||
"is inconvenient, feel free to modify your local copy as you see fit.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/cporting.rst:243
|
||||
msgid ""
|
||||
"You can find :file:`capsulethunk.h` in the Python source distribution as :"
|
||||
"source:`Doc/includes/capsulethunk.h`. We also include it here for your "
|
||||
"convenience:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/cporting.rst:252
|
||||
msgid "Other options"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/cporting.rst:254
|
||||
msgid ""
|
||||
"If you are writing a new extension module, you might consider `Cython "
|
||||
"<http://cython.org/>`_. It translates a Python-like language to C. The "
|
||||
"extension modules it creates are compatible with Python 3 and Python 2."
|
||||
msgstr ""
|
|
@ -0,0 +1,638 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/howto/curses.rst:5
|
||||
msgid "Curses Programming with Python"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:7
|
||||
msgid "A.M. Kuchling, Eric S. Raymond"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:8
|
||||
msgid "2.03"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:0
|
||||
msgid "Abstract"
|
||||
msgstr "Résumé"
|
||||
|
||||
#: ../Doc/howto/curses.rst:13
|
||||
msgid ""
|
||||
"This document describes how to write text-mode programs with Python 2.x, "
|
||||
"using the :mod:`curses` extension module to control the display."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:18
|
||||
msgid "What is curses?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:20
|
||||
msgid ""
|
||||
"The curses library supplies a terminal-independent screen-painting and "
|
||||
"keyboard-handling facility for text-based terminals; such terminals include "
|
||||
"VT100s, the Linux console, and the simulated terminal provided by X11 "
|
||||
"programs such as xterm and rxvt. Display terminals support various control "
|
||||
"codes to perform common operations such as moving the cursor, scrolling the "
|
||||
"screen, and erasing areas. Different terminals use widely differing codes, "
|
||||
"and often have their own minor quirks."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:28
|
||||
msgid ""
|
||||
"In a world of X displays, one might ask \"why bother\"? It's true that "
|
||||
"character-cell display terminals are an obsolete technology, but there are "
|
||||
"niches in which being able to do fancy things with them are still valuable. "
|
||||
"One is on small-footprint or embedded Unixes that don't carry an X server. "
|
||||
"Another is for tools like OS installers and kernel configurators that may "
|
||||
"have to run before X is available."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:35
|
||||
msgid ""
|
||||
"The curses library hides all the details of different terminals, and "
|
||||
"provides the programmer with an abstraction of a display, containing "
|
||||
"multiple non-overlapping windows. The contents of a window can be changed "
|
||||
"in various ways-- adding text, erasing it, changing its appearance--and the "
|
||||
"curses library will automagically figure out what control codes need to be "
|
||||
"sent to the terminal to produce the right output."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:42
|
||||
msgid ""
|
||||
"The curses library was originally written for BSD Unix; the later System V "
|
||||
"versions of Unix from AT&T added many enhancements and new functions. BSD "
|
||||
"curses is no longer maintained, having been replaced by ncurses, which is an "
|
||||
"open-source implementation of the AT&T interface. If you're using an open-"
|
||||
"source Unix such as Linux or FreeBSD, your system almost certainly uses "
|
||||
"ncurses. Since most current commercial Unix versions are based on System V "
|
||||
"code, all the functions described here will probably be available. The "
|
||||
"older versions of curses carried by some proprietary Unixes may not support "
|
||||
"everything, though."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:52
|
||||
msgid ""
|
||||
"No one has made a Windows port of the curses module. On a Windows platform, "
|
||||
"try the Console module written by Fredrik Lundh. The Console module "
|
||||
"provides cursor-addressable text output, plus full support for mouse and "
|
||||
"keyboard input, and is available from http://effbot.org/zone/console-index."
|
||||
"htm."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:59
|
||||
msgid "The Python curses module"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:61
|
||||
msgid ""
|
||||
"Thy Python module is a fairly simple wrapper over the C functions provided "
|
||||
"by curses; if you're already familiar with curses programming in C, it's "
|
||||
"really easy to transfer that knowledge to Python. The biggest difference is "
|
||||
"that the Python interface makes things simpler, by merging different C "
|
||||
"functions such as :func:`addstr`, :func:`mvaddstr`, :func:`mvwaddstr`, into "
|
||||
"a single :meth:`addstr` method. You'll see this covered in more detail "
|
||||
"later."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:68
|
||||
msgid ""
|
||||
"This HOWTO is simply an introduction to writing text-mode programs with "
|
||||
"curses and Python. It doesn't attempt to be a complete guide to the curses "
|
||||
"API; for that, see the Python library guide's section on ncurses, and the C "
|
||||
"manual pages for ncurses. It will, however, give you the basic ideas."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:75
|
||||
msgid "Starting and ending a curses application"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:77
|
||||
msgid ""
|
||||
"Before doing anything, curses must be initialized. This is done by calling "
|
||||
"the :func:`initscr` function, which will determine the terminal type, send "
|
||||
"any required setup codes to the terminal, and create various internal data "
|
||||
"structures. If successful, :func:`initscr` returns a window object "
|
||||
"representing the entire screen; this is usually called ``stdscr``, after the "
|
||||
"name of the corresponding C variable. ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:87
|
||||
msgid ""
|
||||
"Usually curses applications turn off automatic echoing of keys to the "
|
||||
"screen, in order to be able to read keys and only display them under certain "
|
||||
"circumstances. This requires calling the :func:`noecho` function. ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:93
|
||||
msgid ""
|
||||
"Applications will also commonly need to react to keys instantly, without "
|
||||
"requiring the Enter key to be pressed; this is called cbreak mode, as "
|
||||
"opposed to the usual buffered input mode. ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:99
|
||||
msgid ""
|
||||
"Terminals usually return special keys, such as the cursor keys or navigation "
|
||||
"keys such as Page Up and Home, as a multibyte escape sequence. While you "
|
||||
"could write your application to expect such sequences and process them "
|
||||
"accordingly, curses can do it for you, returning a special value such as :"
|
||||
"const:`curses.KEY_LEFT`. To get curses to do the job, you'll have to enable "
|
||||
"keypad mode. ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:108
|
||||
msgid ""
|
||||
"Terminating a curses application is much easier than starting one. You'll "
|
||||
"need to call ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:113
|
||||
msgid ""
|
||||
"to reverse the curses-friendly terminal settings. Then call the :func:"
|
||||
"`endwin` function to restore the terminal to its original operating mode. ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:118
|
||||
msgid ""
|
||||
"A common problem when debugging a curses application is to get your terminal "
|
||||
"messed up when the application dies without restoring the terminal to its "
|
||||
"previous state. In Python this commonly happens when your code is buggy and "
|
||||
"raises an uncaught exception. Keys are no longer echoed to the screen when "
|
||||
"you type them, for example, which makes using the shell difficult."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:124
|
||||
msgid ""
|
||||
"In Python you can avoid these complications and make debugging much easier "
|
||||
"by importing the :func:`curses.wrapper` function. It takes a callable and "
|
||||
"does the initializations described above, also initializing colors if color "
|
||||
"support is present. It then runs your provided callable and finally "
|
||||
"deinitializes appropriately. The callable is called inside a try-catch "
|
||||
"clause which catches exceptions, performs curses deinitialization, and then "
|
||||
"passes the exception upwards. Thus, your terminal won't be left in a funny "
|
||||
"state on exception."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:134
|
||||
msgid "Windows and Pads"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:136
|
||||
msgid ""
|
||||
"Windows are the basic abstraction in curses. A window object represents a "
|
||||
"rectangular area of the screen, and supports various methods to display "
|
||||
"text, erase it, allow the user to input strings, and so forth."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:140
|
||||
msgid ""
|
||||
"The ``stdscr`` object returned by the :func:`initscr` function is a window "
|
||||
"object that covers the entire screen. Many programs may need only this "
|
||||
"single window, but you might wish to divide the screen into smaller windows, "
|
||||
"in order to redraw or clear them separately. The :func:`newwin` function "
|
||||
"creates a new window of a given size, returning the new window object. ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:150
|
||||
msgid ""
|
||||
"A word about the coordinate system used in curses: coordinates are always "
|
||||
"passed in the order *y,x*, and the top-left corner of a window is coordinate "
|
||||
"(0,0). This breaks a common convention for handling coordinates, where the "
|
||||
"*x* coordinate usually comes first. This is an unfortunate difference from "
|
||||
"most other computer applications, but it's been part of curses since it was "
|
||||
"first written, and it's too late to change things now."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:157
|
||||
msgid ""
|
||||
"When you call a method to display or erase text, the effect doesn't "
|
||||
"immediately show up on the display. This is because curses was originally "
|
||||
"written with slow 300-baud terminal connections in mind; with these "
|
||||
"terminals, minimizing the time required to redraw the screen is very "
|
||||
"important. This lets curses accumulate changes to the screen, and display "
|
||||
"them in the most efficient manner. For example, if your program displays "
|
||||
"some characters in a window, and then clears the window, there's no need to "
|
||||
"send the original characters because they'd never be visible."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:166
|
||||
msgid ""
|
||||
"Accordingly, curses requires that you explicitly tell it to redraw windows, "
|
||||
"using the :func:`refresh` method of window objects. In practice, this "
|
||||
"doesn't really complicate programming with curses much. Most programs go "
|
||||
"into a flurry of activity, and then pause waiting for a keypress or some "
|
||||
"other action on the part of the user. All you have to do is to be sure that "
|
||||
"the screen has been redrawn before pausing to wait for user input, by simply "
|
||||
"calling ``stdscr.refresh()`` or the :func:`refresh` method of some other "
|
||||
"relevant window."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:175
|
||||
msgid ""
|
||||
"A pad is a special case of a window; it can be larger than the actual "
|
||||
"display screen, and only a portion of it displayed at a time. Creating a pad "
|
||||
"simply requires the pad's height and width, while refreshing a pad requires "
|
||||
"giving the coordinates of the on-screen area where a subsection of the pad "
|
||||
"will be displayed. ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:194
|
||||
msgid ""
|
||||
"The :func:`refresh` call displays a section of the pad in the rectangle "
|
||||
"extending from coordinate (5,5) to coordinate (20,75) on the screen; the "
|
||||
"upper left corner of the displayed section is coordinate (0,0) on the pad. "
|
||||
"Beyond that difference, pads are exactly like ordinary windows and support "
|
||||
"the same methods."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:200
|
||||
msgid ""
|
||||
"If you have multiple windows and pads on screen there is a more efficient "
|
||||
"way to go, which will prevent annoying screen flicker at refresh time. Use "
|
||||
"the :meth:`noutrefresh` method of each window to update the data structure "
|
||||
"representing the desired state of the screen; then change the physical "
|
||||
"screen to match the desired state in one go with the function :func:"
|
||||
"`doupdate`. The normal :meth:`refresh` method calls :func:`doupdate` as its "
|
||||
"last act."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:209
|
||||
msgid "Displaying Text"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:211
|
||||
msgid ""
|
||||
"From a C programmer's point of view, curses may sometimes look like a twisty "
|
||||
"maze of functions, all subtly different. For example, :func:`addstr` "
|
||||
"displays a string at the current cursor location in the ``stdscr`` window, "
|
||||
"while :func:`mvaddstr` moves to a given y,x coordinate first before "
|
||||
"displaying the string. :func:`waddstr` is just like :func:`addstr`, but "
|
||||
"allows specifying a window to use, instead of using ``stdscr`` by default. :"
|
||||
"func:`mvwaddstr` follows similarly."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:219
|
||||
msgid ""
|
||||
"Fortunately the Python interface hides all these details; ``stdscr`` is a "
|
||||
"window object like any other, and methods like :func:`addstr` accept "
|
||||
"multiple argument forms. Usually there are four different forms."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:224
|
||||
msgid "Form"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:224 ../Doc/howto/curses.rst:282
|
||||
msgid "Description"
|
||||
msgstr "Description"
|
||||
|
||||
#: ../Doc/howto/curses.rst:226
|
||||
msgid "*str* or *ch*"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:226
|
||||
msgid "Display the string *str* or character *ch* at the current position"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:229
|
||||
msgid "*str* or *ch*, *attr*"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:229
|
||||
msgid ""
|
||||
"Display the string *str* or character *ch*, using attribute *attr* at the "
|
||||
"current position"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:233
|
||||
msgid "*y*, *x*, *str* or *ch*"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:233
|
||||
msgid "Move to position *y,x* within the window, and display *str* or *ch*"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:236
|
||||
msgid "*y*, *x*, *str* or *ch*, *attr*"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:236
|
||||
msgid ""
|
||||
"Move to position *y,x* within the window, and display *str* or *ch*, using "
|
||||
"attribute *attr*"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:240
|
||||
msgid ""
|
||||
"Attributes allow displaying text in highlighted forms, such as in boldface, "
|
||||
"underline, reverse code, or in color. They'll be explained in more detail "
|
||||
"in the next subsection."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:244
|
||||
msgid ""
|
||||
"The :func:`addstr` function takes a Python string as the value to be "
|
||||
"displayed, while the :func:`addch` functions take a character, which can be "
|
||||
"either a Python string of length 1 or an integer. If it's a string, you're "
|
||||
"limited to displaying characters between 0 and 255. SVr4 curses provides "
|
||||
"constants for extension characters; these constants are integers greater "
|
||||
"than 255. For example, :const:`ACS_PLMINUS` is a +/- symbol, and :const:"
|
||||
"`ACS_ULCORNER` is the upper left corner of a box (handy for drawing borders)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:252
|
||||
msgid ""
|
||||
"Windows remember where the cursor was left after the last operation, so if "
|
||||
"you leave out the *y,x* coordinates, the string or character will be "
|
||||
"displayed wherever the last operation left off. You can also move the "
|
||||
"cursor with the ``move(y,x)`` method. Because some terminals always display "
|
||||
"a flashing cursor, you may want to ensure that the cursor is positioned in "
|
||||
"some location where it won't be distracting; it can be confusing to have the "
|
||||
"cursor blinking at some apparently random location."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:260
|
||||
msgid ""
|
||||
"If your application doesn't need a blinking cursor at all, you can call "
|
||||
"``curs_set(0)`` to make it invisible. Equivalently, and for compatibility "
|
||||
"with older curses versions, there's a ``leaveok(bool)`` function. When "
|
||||
"*bool* is true, the curses library will attempt to suppress the flashing "
|
||||
"cursor, and you won't need to worry about leaving it in odd locations."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:268
|
||||
msgid "Attributes and Color"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:270
|
||||
msgid ""
|
||||
"Characters can be displayed in different ways. Status lines in a text-based "
|
||||
"application are commonly shown in reverse video; a text viewer may need to "
|
||||
"highlight certain words. curses supports this by allowing you to specify an "
|
||||
"attribute for each cell on the screen."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:275
|
||||
msgid ""
|
||||
"An attribute is an integer, each bit representing a different attribute. "
|
||||
"You can try to display text with multiple attribute bits set, but curses "
|
||||
"doesn't guarantee that all the possible combinations are available, or that "
|
||||
"they're all visually distinct. That depends on the ability of the terminal "
|
||||
"being used, so it's safest to stick to the most commonly available "
|
||||
"attributes, listed here."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:282
|
||||
msgid "Attribute"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:284
|
||||
msgid ":const:`A_BLINK`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:284
|
||||
msgid "Blinking text"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:286
|
||||
msgid ":const:`A_BOLD`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:286
|
||||
msgid "Extra bright or bold text"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:288
|
||||
msgid ":const:`A_DIM`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:288
|
||||
msgid "Half bright text"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:290
|
||||
msgid ":const:`A_REVERSE`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:290
|
||||
msgid "Reverse-video text"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:292
|
||||
msgid ":const:`A_STANDOUT`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:292
|
||||
msgid "The best highlighting mode available"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:294
|
||||
msgid ":const:`A_UNDERLINE`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:294
|
||||
msgid "Underlined text"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:297
|
||||
msgid ""
|
||||
"So, to display a reverse-video status line on the top line of the screen, "
|
||||
"you could code::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:304
|
||||
msgid ""
|
||||
"The curses library also supports color on those terminals that provide it. "
|
||||
"The most common such terminal is probably the Linux console, followed by "
|
||||
"color xterms."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:308
|
||||
msgid ""
|
||||
"To use color, you must call the :func:`start_color` function soon after "
|
||||
"calling :func:`initscr`, to initialize the default color set (the :func:"
|
||||
"`curses.wrapper.wrapper` function does this automatically). Once that's "
|
||||
"done, the :func:`has_colors` function returns TRUE if the terminal in use "
|
||||
"can actually display color. (Note: curses uses the American spelling "
|
||||
"'color', instead of the Canadian/British spelling 'colour'. If you're used "
|
||||
"to the British spelling, you'll have to resign yourself to misspelling it "
|
||||
"for the sake of these functions.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:317
|
||||
msgid ""
|
||||
"The curses library maintains a finite number of color pairs, containing a "
|
||||
"foreground (or text) color and a background color. You can get the "
|
||||
"attribute value corresponding to a color pair with the :func:`color_pair` "
|
||||
"function; this can be bitwise-OR'ed with other attributes such as :const:"
|
||||
"`A_REVERSE`, but again, such combinations are not guaranteed to work on all "
|
||||
"terminals."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:323
|
||||
msgid "An example, which displays a line of text using color pair 1::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:328
|
||||
msgid ""
|
||||
"As I said before, a color pair consists of a foreground and background "
|
||||
"color. :func:`start_color` initializes 8 basic colors when it activates "
|
||||
"color mode. They are: 0:black, 1:red, 2:green, 3:yellow, 4:blue, 5:magenta, "
|
||||
"6:cyan, and 7:white. The curses module defines named constants for each of "
|
||||
"these colors: :const:`curses.COLOR_BLACK`, :const:`curses.COLOR_RED`, and so "
|
||||
"forth."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:334
|
||||
msgid ""
|
||||
"The ``init_pair(n, f, b)`` function changes the definition of color pair "
|
||||
"*n*, to foreground color f and background color b. Color pair 0 is hard-"
|
||||
"wired to white on black, and cannot be changed."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:338
|
||||
msgid ""
|
||||
"Let's put all this together. To change color 1 to red text on a white "
|
||||
"background, you would call::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:343
|
||||
msgid ""
|
||||
"When you change a color pair, any text already displayed using that color "
|
||||
"pair will change to the new colors. You can also display new text in this "
|
||||
"color with::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:349
|
||||
msgid ""
|
||||
"Very fancy terminals can change the definitions of the actual colors to a "
|
||||
"given RGB value. This lets you change color 1, which is usually red, to "
|
||||
"purple or blue or any other color you like. Unfortunately, the Linux "
|
||||
"console doesn't support this, so I'm unable to try it out, and can't provide "
|
||||
"any examples. You can check if your terminal can do this by calling :func:"
|
||||
"`can_change_color`, which returns TRUE if the capability is there. If "
|
||||
"you're lucky enough to have such a talented terminal, consult your system's "
|
||||
"man pages for more information."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:359
|
||||
msgid "User Input"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:361
|
||||
msgid ""
|
||||
"The curses library itself offers only very simple input mechanisms. Python's "
|
||||
"support adds a text-input widget that makes up some of the lack."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:364
|
||||
msgid ""
|
||||
"The most common way to get input to a window is to use its :meth:`getch` "
|
||||
"method. :meth:`getch` pauses and waits for the user to hit a key, displaying "
|
||||
"it if :func:`echo` has been called earlier. You can optionally specify a "
|
||||
"coordinate to which the cursor should be moved before pausing."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:369
|
||||
msgid ""
|
||||
"It's possible to change this behavior with the method :meth:`nodelay`. After "
|
||||
"``nodelay(1)``, :meth:`getch` for the window becomes non-blocking and "
|
||||
"returns ``curses.ERR`` (a value of -1) when no input is ready. There's also "
|
||||
"a :func:`halfdelay` function, which can be used to (in effect) set a timer "
|
||||
"on each :meth:`getch`; if no input becomes available within a specified "
|
||||
"delay (measured in tenths of a second), curses raises an exception."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:376
|
||||
msgid ""
|
||||
"The :meth:`getch` method returns an integer; if it's between 0 and 255, it "
|
||||
"represents the ASCII code of the key pressed. Values greater than 255 are "
|
||||
"special keys such as Page Up, Home, or the cursor keys. You can compare the "
|
||||
"value returned to constants such as :const:`curses.KEY_PPAGE`, :const:"
|
||||
"`curses.KEY_HOME`, or :const:`curses.KEY_LEFT`. Usually the main loop of "
|
||||
"your program will look something like this::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:392
|
||||
msgid ""
|
||||
"The :mod:`curses.ascii` module supplies ASCII class membership functions "
|
||||
"that take either integer or 1-character-string arguments; these may be "
|
||||
"useful in writing more readable tests for your command interpreters. It "
|
||||
"also supplies conversion functions that take either integer or 1-character-"
|
||||
"string arguments and return the same type. For example, :func:`curses.ascii."
|
||||
"ctrl` returns the control character corresponding to its argument."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:399
|
||||
msgid ""
|
||||
"There's also a method to retrieve an entire string, :const:`getstr()`. It "
|
||||
"isn't used very often, because its functionality is quite limited; the only "
|
||||
"editing keys available are the backspace key and the Enter key, which "
|
||||
"terminates the string. It can optionally be limited to a fixed number of "
|
||||
"characters. ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:409
|
||||
msgid ""
|
||||
"The Python :mod:`curses.textpad` module supplies something better. With it, "
|
||||
"you can turn a window into a text box that supports an Emacs-like set of "
|
||||
"keybindings. Various methods of :class:`Textbox` class support editing with "
|
||||
"input validation and gathering the edit results either with or without "
|
||||
"trailing spaces. See the library documentation on :mod:`curses.textpad` "
|
||||
"for the details."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:418
|
||||
msgid "For More Information"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:420
|
||||
msgid ""
|
||||
"This HOWTO didn't cover some advanced topics, such as screen-scraping or "
|
||||
"capturing mouse events from an xterm instance. But the Python library page "
|
||||
"for the curses modules is now pretty complete. You should browse it next."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:424
|
||||
msgid ""
|
||||
"If you're in doubt about the detailed behavior of any of the ncurses entry "
|
||||
"points, consult the manual pages for your curses implementation, whether "
|
||||
"it's ncurses or a proprietary Unix vendor's. The manual pages will document "
|
||||
"any quirks, and provide complete lists of all the functions, attributes, "
|
||||
"and :const:`ACS_\\*` characters available to you."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:430
|
||||
msgid ""
|
||||
"Because the curses API is so large, some functions aren't supported in the "
|
||||
"Python interface, not because they're difficult to implement, but because no "
|
||||
"one has needed them yet. Feel free to add them and then submit a patch. "
|
||||
"Also, we don't yet have support for the menu library associated with "
|
||||
"ncurses; feel free to add that."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:436
|
||||
msgid ""
|
||||
"If you write an interesting little program, feel free to contribute it as "
|
||||
"another demo. We can always use more of them!"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/curses.rst:439
|
||||
msgid "The ncurses FAQ: http://invisible-island.net/ncurses/ncurses.faq.html"
|
||||
msgstr ""
|
|
@ -0,0 +1,480 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 1990-2016, 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 2.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:3
|
||||
msgid "Descriptor HowTo Guide"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:5
|
||||
msgid "Raymond Hettinger"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:6
|
||||
msgid "<python at rcn dot com>"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:0
|
||||
msgid "Contents"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:11
|
||||
msgid "Abstract"
|
||||
msgstr "Résumé"
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:13
|
||||
msgid ""
|
||||
"Defines descriptors, summarizes the protocol, and shows how descriptors are "
|
||||
"called. Examines a custom descriptor and several built-in python "
|
||||
"descriptors including functions, properties, static methods, and class "
|
||||
"methods. Shows how each works by giving a pure Python equivalent and a "
|
||||
"sample application."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:18
|
||||
msgid ""
|
||||
"Learning about descriptors not only provides access to a larger toolset, it "
|
||||
"creates a deeper understanding of how Python works and an appreciation for "
|
||||
"the elegance of its design."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:24
|
||||
msgid "Definition and Introduction"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:26
|
||||
msgid ""
|
||||
"In general, a descriptor is an object attribute with \"binding behavior\", "
|
||||
"one whose attribute access has been overridden by methods in the descriptor "
|
||||
"protocol. Those methods are :meth:`__get__`, :meth:`__set__`, and :meth:"
|
||||
"`__delete__`. If any of those methods are defined for an object, it is said "
|
||||
"to be a descriptor."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:32
|
||||
msgid ""
|
||||
"The default behavior for attribute access is to get, set, or delete the "
|
||||
"attribute from an object's dictionary. For instance, ``a.x`` has a lookup "
|
||||
"chain starting with ``a.__dict__['x']``, then ``type(a).__dict__['x']``, and "
|
||||
"continuing through the base classes of ``type(a)`` excluding metaclasses. If "
|
||||
"the looked-up value is an object defining one of the descriptor methods, "
|
||||
"then Python may override the default behavior and invoke the descriptor "
|
||||
"method instead. Where this occurs in the precedence chain depends on which "
|
||||
"descriptor methods were defined. Note that descriptors are only invoked for "
|
||||
"new style objects or classes (a class is new style if it inherits from :"
|
||||
"class:`object` or :class:`type`)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:43
|
||||
msgid ""
|
||||
"Descriptors are a powerful, general purpose protocol. They are the "
|
||||
"mechanism behind properties, methods, static methods, class methods, and :"
|
||||
"func:`super()`. They are used throughout Python itself to implement the new "
|
||||
"style classes introduced in version 2.2. Descriptors simplify the "
|
||||
"underlying C-code and offer a flexible set of new tools for everyday Python "
|
||||
"programs."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:51
|
||||
msgid "Descriptor Protocol"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:53
|
||||
msgid "``descr.__get__(self, obj, type=None) --> value``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:55
|
||||
msgid "``descr.__set__(self, obj, value) --> None``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:57
|
||||
msgid "``descr.__delete__(self, obj) --> None``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:59
|
||||
msgid ""
|
||||
"That is all there is to it. Define any of these methods and an object is "
|
||||
"considered a descriptor and can override default behavior upon being looked "
|
||||
"up as an attribute."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:63
|
||||
msgid ""
|
||||
"If an object defines both :meth:`__get__` and :meth:`__set__`, it is "
|
||||
"considered a data descriptor. Descriptors that only define :meth:`__get__` "
|
||||
"are called non-data descriptors (they are typically used for methods but "
|
||||
"other uses are possible)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:68
|
||||
msgid ""
|
||||
"Data and non-data descriptors differ in how overrides are calculated with "
|
||||
"respect to entries in an instance's dictionary. If an instance's dictionary "
|
||||
"has an entry with the same name as a data descriptor, the data descriptor "
|
||||
"takes precedence. If an instance's dictionary has an entry with the same "
|
||||
"name as a non-data descriptor, the dictionary entry takes precedence."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:74
|
||||
msgid ""
|
||||
"To make a read-only data descriptor, define both :meth:`__get__` and :meth:"
|
||||
"`__set__` with the :meth:`__set__` raising an :exc:`AttributeError` when "
|
||||
"called. Defining the :meth:`__set__` method with an exception raising "
|
||||
"placeholder is enough to make it a data descriptor."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:81
|
||||
msgid "Invoking Descriptors"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:83
|
||||
msgid ""
|
||||
"A descriptor can be called directly by its method name. For example, ``d."
|
||||
"__get__(obj)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:86
|
||||
msgid ""
|
||||
"Alternatively, it is more common for a descriptor to be invoked "
|
||||
"automatically upon attribute access. For example, ``obj.d`` looks up ``d`` "
|
||||
"in the dictionary of ``obj``. If ``d`` defines the method :meth:`__get__`, "
|
||||
"then ``d.__get__(obj)`` is invoked according to the precedence rules listed "
|
||||
"below."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:91
|
||||
msgid ""
|
||||
"The details of invocation depend on whether ``obj`` is an object or a class. "
|
||||
"Either way, descriptors only work for new style objects and classes. A "
|
||||
"class is new style if it is a subclass of :class:`object`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:95
|
||||
msgid ""
|
||||
"For objects, the machinery is in :meth:`object.__getattribute__` which "
|
||||
"transforms ``b.x`` into ``type(b).__dict__['x'].__get__(b, type(b))``. The "
|
||||
"implementation works through a precedence chain that gives data descriptors "
|
||||
"priority over instance variables, instance variables priority over non-data "
|
||||
"descriptors, and assigns lowest priority to :meth:`__getattr__` if provided. "
|
||||
"The full C implementation can be found in :c:func:"
|
||||
"`PyObject_GenericGetAttr()` in :source:`Objects/object.c`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:103
|
||||
msgid ""
|
||||
"For classes, the machinery is in :meth:`type.__getattribute__` which "
|
||||
"transforms ``B.x`` into ``B.__dict__['x'].__get__(None, B)``. In pure "
|
||||
"Python, it looks like::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:114
|
||||
msgid "The important points to remember are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:116
|
||||
msgid "descriptors are invoked by the :meth:`__getattribute__` method"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:117
|
||||
msgid "overriding :meth:`__getattribute__` prevents automatic descriptor calls"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:118
|
||||
msgid ""
|
||||
":meth:`__getattribute__` is only available with new style classes and objects"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:119
|
||||
msgid ""
|
||||
":meth:`object.__getattribute__` and :meth:`type.__getattribute__` make "
|
||||
"different calls to :meth:`__get__`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:121
|
||||
msgid "data descriptors always override instance dictionaries."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:122
|
||||
msgid "non-data descriptors may be overridden by instance dictionaries."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:124
|
||||
msgid ""
|
||||
"The object returned by ``super()`` also has a custom :meth:"
|
||||
"`__getattribute__` method for invoking descriptors. The call ``super(B, "
|
||||
"obj).m()`` searches ``obj.__class__.__mro__`` for the base class ``A`` "
|
||||
"immediately following ``B`` and then returns ``A.__dict__['m'].__get__(obj, "
|
||||
"B)``. If not a descriptor, ``m`` is returned unchanged. If not in the "
|
||||
"dictionary, ``m`` reverts to a search using :meth:`object.__getattribute__`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:131
|
||||
msgid ""
|
||||
"Note, in Python 2.2, ``super(B, obj).m()`` would only invoke :meth:`__get__` "
|
||||
"if ``m`` was a data descriptor. In Python 2.3, non-data descriptors also "
|
||||
"get invoked unless an old-style class is involved. The implementation "
|
||||
"details are in :c:func:`super_getattro()` in :source:`Objects/typeobject.c`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:138
|
||||
msgid ""
|
||||
"The details above show that the mechanism for descriptors is embedded in "
|
||||
"the :meth:`__getattribute__()` methods for :class:`object`, :class:`type`, "
|
||||
"and :func:`super`. Classes inherit this machinery when they derive from :"
|
||||
"class:`object` or if they have a meta-class providing similar functionality. "
|
||||
"Likewise, classes can turn-off descriptor invocation by overriding :meth:"
|
||||
"`__getattribute__()`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:147
|
||||
msgid "Descriptor Example"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:149
|
||||
msgid ""
|
||||
"The following code creates a class whose objects are data descriptors which "
|
||||
"print a message for each get or set. Overriding :meth:`__getattribute__` is "
|
||||
"alternate approach that could do this for every attribute. However, this "
|
||||
"descriptor is useful for monitoring just a few chosen attributes::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:187
|
||||
msgid ""
|
||||
"The protocol is simple and offers exciting possibilities. Several use cases "
|
||||
"are so common that they have been packaged into individual function calls. "
|
||||
"Properties, bound and unbound methods, static methods, and class methods are "
|
||||
"all based on the descriptor protocol."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:194
|
||||
msgid "Properties"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:196
|
||||
msgid ""
|
||||
"Calling :func:`property` is a succinct way of building a data descriptor "
|
||||
"that triggers function calls upon access to an attribute. Its signature is::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:201
|
||||
msgid ""
|
||||
"The documentation shows a typical use to define a managed attribute ``x``::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:209
|
||||
msgid ""
|
||||
"To see how :func:`property` is implemented in terms of the descriptor "
|
||||
"protocol, here is a pure Python equivalent::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:249
|
||||
msgid ""
|
||||
"The :func:`property` builtin helps whenever a user interface has granted "
|
||||
"attribute access and then subsequent changes require the intervention of a "
|
||||
"method."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:253
|
||||
msgid ""
|
||||
"For instance, a spreadsheet class may grant access to a cell value through "
|
||||
"``Cell('b10').value``. Subsequent improvements to the program require the "
|
||||
"cell to be recalculated on every access; however, the programmer does not "
|
||||
"want to affect existing client code accessing the attribute directly. The "
|
||||
"solution is to wrap access to the value attribute in a property data "
|
||||
"descriptor::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:269
|
||||
msgid "Functions and Methods"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:271
|
||||
msgid ""
|
||||
"Python's object oriented features are built upon a function based "
|
||||
"environment. Using non-data descriptors, the two are merged seamlessly."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:274
|
||||
msgid ""
|
||||
"Class dictionaries store methods as functions. In a class definition, "
|
||||
"methods are written using :keyword:`def` and :keyword:`lambda`, the usual "
|
||||
"tools for creating functions. The only difference from regular functions is "
|
||||
"that the first argument is reserved for the object instance. By Python "
|
||||
"convention, the instance reference is called *self* but may be called *this* "
|
||||
"or any other variable name."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:281
|
||||
msgid ""
|
||||
"To support method calls, functions include the :meth:`__get__` method for "
|
||||
"binding methods during attribute access. This means that all functions are "
|
||||
"non-data descriptors which return bound or unbound methods depending whether "
|
||||
"they are invoked from an object or a class. In pure python, it works like "
|
||||
"this::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:293
|
||||
msgid ""
|
||||
"Running the interpreter shows how the function descriptor works in practice::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:307
|
||||
msgid ""
|
||||
"The output suggests that bound and unbound methods are two different types. "
|
||||
"While they could have been implemented that way, the actual C implementation "
|
||||
"of :c:type:`PyMethod_Type` in :source:`Objects/classobject.c` is a single "
|
||||
"object with two different representations depending on whether the :attr:"
|
||||
"`im_self` field is set or is *NULL* (the C equivalent of ``None``)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:313
|
||||
msgid ""
|
||||
"Likewise, the effects of calling a method object depend on the :attr:"
|
||||
"`im_self` field. If set (meaning bound), the original function (stored in "
|
||||
"the :attr:`im_func` field) is called as expected with the first argument set "
|
||||
"to the instance. If unbound, all of the arguments are passed unchanged to "
|
||||
"the original function. The actual C implementation of :func:"
|
||||
"`instancemethod_call()` is only slightly more complex in that it includes "
|
||||
"some type checking."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:322
|
||||
msgid "Static Methods and Class Methods"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:324
|
||||
msgid ""
|
||||
"Non-data descriptors provide a simple mechanism for variations on the usual "
|
||||
"patterns of binding functions into methods."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:327
|
||||
msgid ""
|
||||
"To recap, functions have a :meth:`__get__` method so that they can be "
|
||||
"converted to a method when accessed as attributes. The non-data descriptor "
|
||||
"transforms an ``obj.f(*args)`` call into ``f(obj, *args)``. Calling ``klass."
|
||||
"f(*args)`` becomes ``f(*args)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:332
|
||||
msgid "This chart summarizes the binding and its two most useful variants:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:335
|
||||
msgid "Transformation"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:335
|
||||
msgid "Called from an Object"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:335
|
||||
msgid "Called from a Class"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:338
|
||||
msgid "function"
|
||||
msgstr "fonction"
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:338
|
||||
msgid "f(obj, \\*args)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:338 ../Doc/howto/descriptor.rst:340
|
||||
msgid "f(\\*args)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:340
|
||||
msgid "staticmethod"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:342
|
||||
msgid "classmethod"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:342
|
||||
msgid "f(type(obj), \\*args)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:342
|
||||
msgid "f(klass, \\*args)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:345
|
||||
msgid ""
|
||||
"Static methods return the underlying function without changes. Calling "
|
||||
"either ``c.f`` or ``C.f`` is the equivalent of a direct lookup into ``object."
|
||||
"__getattribute__(c, \"f\")`` or ``object.__getattribute__(C, \"f\")``. As a "
|
||||
"result, the function becomes identically accessible from either an object or "
|
||||
"a class."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:351
|
||||
msgid ""
|
||||
"Good candidates for static methods are methods that do not reference the "
|
||||
"``self`` variable."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:354
|
||||
msgid ""
|
||||
"For instance, a statistics package may include a container class for "
|
||||
"experimental data. The class provides normal methods for computing the "
|
||||
"average, mean, median, and other descriptive statistics that depend on the "
|
||||
"data. However, there may be useful functions which are conceptually related "
|
||||
"but do not depend on the data. For instance, ``erf(x)`` is handy conversion "
|
||||
"routine that comes up in statistical work but does not directly depend on a "
|
||||
"particular dataset. It can be called either from an object or the class: "
|
||||
"``s.erf(1.5) --> .9332`` or ``Sample.erf(1.5) --> .9332``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:363
|
||||
msgid ""
|
||||
"Since staticmethods return the underlying function with no changes, the "
|
||||
"example calls are unexciting::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:376
|
||||
msgid ""
|
||||
"Using the non-data descriptor protocol, a pure Python version of :func:"
|
||||
"`staticmethod` would look like this::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:388
|
||||
msgid ""
|
||||
"Unlike static methods, class methods prepend the class reference to the "
|
||||
"argument list before calling the function. This format is the same for "
|
||||
"whether the caller is an object or a class::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:403
|
||||
msgid ""
|
||||
"This behavior is useful whenever the function only needs to have a class "
|
||||
"reference and does not care about any underlying data. One use for "
|
||||
"classmethods is to create alternate class constructors. In Python 2.3, the "
|
||||
"classmethod :func:`dict.fromkeys` creates a new dictionary from a list of "
|
||||
"keys. The pure Python equivalent is::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:419
|
||||
msgid "Now a new dictionary of unique keys can be constructed like this::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/howto/descriptor.rst:424
|
||||
msgid ""
|
||||
"Using the non-data descriptor protocol, a pure Python version of :func:"
|
||||
"`classmethod` would look like this::"
|
||||
msgstr ""
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue