@@ -13,7 +13,7 @@ msgid ""
1313msgstr ""
1414"Project-Id-Version : Python 3.9\n "
1515"Report-Msgid-Bugs-To : \n "
16- "POT-Creation-Date : 2020-10-25 04:26 +0000\n "
16+ "POT-Creation-Date : 2020-10-26 04:33 +0000\n "
1717"PO-Revision-Date : 2017-02-16 17:44+0000\n "
1818"Last-Translator : m_aciek <maciej.olko@gmail.com>, 2020\n "
1919"Language-Team : Polish (https://www.transifex.com/python-doc/teams/5390/pl/)\n "
@@ -48,7 +48,7 @@ msgid ""
4848"storage, and deletion."
4949msgstr ""
5050
51- msgid "This HowTo guide has three major sections:"
51+ msgid "This guide has four major sections:"
5252msgstr ""
5353
5454msgid ""
@@ -67,6 +67,13 @@ msgid ""
6767"level of detail."
6868msgstr ""
6969
70+ msgid ""
71+ "The last section has pure Python equivalents for built-in descriptors that "
72+ "are written in C. Read this if you're curious about how functions turn into "
73+ "bound methods or about how to implement common tools like :func:"
74+ "`classmethod`, :func:`staticmethod`, and :func:`property`."
75+ msgstr ""
76+
7077msgid "Primer"
7178msgstr ""
7279
@@ -200,7 +207,7 @@ msgstr ""
200207msgid ""
201208"Optionally, descriptors can have a :meth:`__set_name__` method. This is "
202209"only used in cases where a descriptor needs to know either the class where "
203- "it is created or the name of class variable it was assigned to."
210+ "it was created or the name of class variable it was assigned to."
204211msgstr ""
205212
206213msgid ""
@@ -256,7 +263,7 @@ msgid ""
256263msgstr ""
257264
258265msgid ""
259- "Custom validators need to subclass from :class:`Validator` and supply a :"
266+ "Custom validators need to inherit from :class:`Validator` and must supply a :"
260267"meth:`validate` method to test various restrictions as needed."
261268msgstr ""
262269
@@ -278,8 +285,9 @@ msgstr ""
278285
279286msgid ""
280287":class:`String` verifies that a value is a :class:`str`. Optionally, it "
281- "validates a given minimum or maximum length. Optionally, it can test for "
282- "another predicate as well."
288+ "validates a given minimum or maximum length. It can validate a user-defined "
289+ "`predicate <https://en.wikipedia.org/wiki/Predicate_(mathematical_logic)>`_ "
290+ "as well."
283291msgstr ""
284292
285293msgid "Practical use"
@@ -304,10 +312,7 @@ msgstr "Streszczenie"
304312
305313msgid ""
306314"Defines descriptors, summarizes the protocol, and shows how descriptors are "
307- "called. Examines a custom descriptor and several built-in Python "
308- "descriptors including functions, properties, static methods, and class "
309- "methods. Shows how each works by giving a pure Python equivalent and a "
310- "sample application."
315+ "called. Provides an example showing how object relational mappings work."
311316msgstr ""
312317
313318msgid ""
@@ -431,7 +436,9 @@ msgstr ""
431436msgid "It transforms ``A.x`` into ``A.__dict__['x'].__get__(None, A)``."
432437msgstr ""
433438
434- msgid "In pure Python, it looks like this::"
439+ msgid ""
440+ "The full C implementation can be found in :c:func:`type_getattro()` in :"
441+ "source:`Objects/typeobject.c`."
435442msgstr ""
436443
437444msgid ""
@@ -442,12 +449,9 @@ msgstr ""
442449msgid ""
443450"The attribute lookup ``super(A, obj).m`` searches ``obj.__class__.__mro__`` "
444451"for the base class ``B`` immediately following ``A`` and then returns ``B."
445- "__dict__['m'].__get__(obj, A)``."
446- msgstr ""
447-
448- msgid ""
449- "If not a descriptor, ``m`` is returned unchanged. If not in the dictionary, "
450- "``m`` reverts to a search using :meth:`object.__getattribute__`."
452+ "__dict__['m'].__get__(obj, A)``. If not a descriptor, ``m`` is returned "
453+ "unchanged. If not in the dictionary, ``m`` reverts to a search using :meth:"
454+ "`object.__getattribute__`."
451455msgstr ""
452456
453457msgid ""
@@ -457,9 +461,9 @@ msgid ""
457461msgstr ""
458462
459463msgid ""
460- "**Summary**: The details listed above show that the mechanism for "
461- "descriptors is embedded in the :meth: `__getattribute__()` methods for :class:"
462- "`object`, :class:`type`, and :func:` super`."
464+ "**Summary**: The mechanism for descriptors is embedded in the :meth: "
465+ "`__getattribute__()` methods for :class:`object`, :class:`type`, and :func :"
466+ "`super`."
463467msgstr ""
464468
465469msgid "The important points to remember are:"
@@ -514,7 +518,7 @@ msgid ""
514518"afterwards, :meth:`__set_name__` will need to be called manually."
515519msgstr ""
516520
517- msgid "Descriptor Example"
521+ msgid "ORM Example"
518522msgstr ""
519523
520524msgid ""
@@ -524,26 +528,29 @@ msgid ""
524528msgstr ""
525529
526530msgid ""
527- "The essential idea is that instances only hold keys to a database table. "
528- "The actual data is stored in an external table that is being dynamically "
529- "updated ::"
531+ "The essential idea is that the data is stored in an external database. The "
532+ "Python instances only hold keys to the database's tables. Descriptors take "
533+ "care of lookups or updates ::"
530534msgstr ""
531535
532536msgid ""
533- "We can use the :class:`Field` to define \" models\" that describe the schema "
534- "for each table in a database::"
537+ "We can use the :class:`Field` class to define \" models\" that describe the "
538+ "schema for each table in a database::"
535539msgstr ""
536540
537541msgid ""
538542"An interactive session shows how data is retrieved from the database and how "
539543"it can be updated::"
540544msgstr ""
541545
546+ msgid "Pure Python Equivalents"
547+ msgstr ""
548+
542549msgid ""
543550"The descriptor protocol is simple and offers exciting possibilities. "
544- "Several use cases are so common that they have been packaged into individual "
545- "function calls. Properties, bound methods, static methods, and class "
546- "methods are all based on the descriptor protocol."
551+ "Several use cases are so common that they have been prepackaged into builtin "
552+ "tools. Properties, bound methods, static methods, and class methods are all "
553+ "based on the descriptor protocol."
547554msgstr ""
548555
549556msgid "Properties"
@@ -640,7 +647,7 @@ msgid ""
640647"where *cls* comes from in class methods, this is it!"
641648msgstr ""
642649
643- msgid "Static Methods and Class Methods "
650+ msgid "Static Methods"
644651msgstr ""
645652
646653msgid ""
@@ -722,18 +729,21 @@ msgid ""
722729"`staticmethod` would look like this::"
723730msgstr ""
724731
732+ msgid "Class Methods"
733+ msgstr ""
734+
725735msgid ""
726736"Unlike static methods, class methods prepend the class reference to the "
727737"argument list before calling the function. This format is the same for "
728738"whether the caller is an object or a class::"
729739msgstr ""
730740
731741msgid ""
732- "This behavior is useful whenever the function only needs to have a class "
733- "reference and does not care about any underlying data . One use for class "
734- "methods is to create alternate class constructors. The classmethod :func: "
735- "`dict.fromkeys` creates a new dictionary from a list of keys. The pure "
736- "Python equivalent is::"
742+ "This behavior is useful whenever the method only needs to have a class "
743+ "reference and does rely on data stored in a specific instance . One use for "
744+ "class methods is to create alternate class constructors. For example, the "
745+ "classmethod :func: `dict.fromkeys` creates a new dictionary from a list of "
746+ "keys. The pure Python equivalent is::"
737747msgstr ""
738748
739749msgid "Now a new dictionary of unique keys can be constructed like this::"
0 commit comments