Skip to content

Commit c63a308

Browse files
committed
Update translation from Transifex
1 parent c38bfef commit c63a308

1 file changed

Lines changed: 45 additions & 35 deletions

File tree

howto/descriptor.po

Lines changed: 45 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ msgid ""
1313
msgstr ""
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."
4949
msgstr ""
5050

51-
msgid "This HowTo guide has three major sections:"
51+
msgid "This guide has four major sections:"
5252
msgstr ""
5353

5454
msgid ""
@@ -67,6 +67,13 @@ msgid ""
6767
"level of detail."
6868
msgstr ""
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+
7077
msgid "Primer"
7178
msgstr ""
7279

@@ -200,7 +207,7 @@ msgstr ""
200207
msgid ""
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."
204211
msgstr ""
205212

206213
msgid ""
@@ -256,7 +263,7 @@ msgid ""
256263
msgstr ""
257264

258265
msgid ""
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."
261268
msgstr ""
262269

@@ -278,8 +285,9 @@ msgstr ""
278285

279286
msgid ""
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."
283291
msgstr ""
284292

285293
msgid "Practical use"
@@ -304,10 +312,7 @@ msgstr "Streszczenie"
304312

305313
msgid ""
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."
311316
msgstr ""
312317

313318
msgid ""
@@ -431,7 +436,9 @@ msgstr ""
431436
msgid "It transforms ``A.x`` into ``A.__dict__['x'].__get__(None, A)``."
432437
msgstr ""
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`."
435442
msgstr ""
436443

437444
msgid ""
@@ -442,12 +449,9 @@ msgstr ""
442449
msgid ""
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__`."
451455
msgstr ""
452456

453457
msgid ""
@@ -457,9 +461,9 @@ msgid ""
457461
msgstr ""
458462

459463
msgid ""
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`."
463467
msgstr ""
464468

465469
msgid "The important points to remember are:"
@@ -514,7 +518,7 @@ msgid ""
514518
"afterwards, :meth:`__set_name__` will need to be called manually."
515519
msgstr ""
516520

517-
msgid "Descriptor Example"
521+
msgid "ORM Example"
518522
msgstr ""
519523

520524
msgid ""
@@ -524,26 +528,29 @@ msgid ""
524528
msgstr ""
525529

526530
msgid ""
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::"
530534
msgstr ""
531535

532536
msgid ""
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::"
535539
msgstr ""
536540

537541
msgid ""
538542
"An interactive session shows how data is retrieved from the database and how "
539543
"it can be updated::"
540544
msgstr ""
541545

546+
msgid "Pure Python Equivalents"
547+
msgstr ""
548+
542549
msgid ""
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."
547554
msgstr ""
548555

549556
msgid "Properties"
@@ -640,7 +647,7 @@ msgid ""
640647
"where *cls* comes from in class methods, this is it!"
641648
msgstr ""
642649

643-
msgid "Static Methods and Class Methods"
650+
msgid "Static Methods"
644651
msgstr ""
645652

646653
msgid ""
@@ -722,18 +729,21 @@ msgid ""
722729
"`staticmethod` would look like this::"
723730
msgstr ""
724731

732+
msgid "Class Methods"
733+
msgstr ""
734+
725735
msgid ""
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::"
729739
msgstr ""
730740

731741
msgid ""
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::"
737747
msgstr ""
738748

739749
msgid "Now a new dictionary of unique keys can be constructed like this::"

0 commit comments

Comments
 (0)