@@ -12,7 +12,7 @@ msgid ""
1212msgstr ""
1313"Project-Id-Version : Python 3.11\n "
1414"Report-Msgid-Bugs-To : \n "
15- "POT-Creation-Date : 2025-11-09 16:27 +0000\n "
15+ "POT-Creation-Date : 2025-11-13 16:39 +0000\n "
1616"PO-Revision-Date : 2025-09-22 16:49+0000\n "
1717"Last-Translator : Rainer Terroso, 2025\n "
1818"Language-Team : Portuguese (Brazil) (https://app.transifex.com/python-doc/ "
@@ -36,11 +36,12 @@ msgid ""
3636"pattern, but there are some details that you need to understand before you "
3737"can get started. This document is a gentle introduction to the topic."
3838msgstr ""
39- "O Python permite que o gravador de um módulo de extensão C defina novos "
40- "tipos que podem ser manipulados a partir do código Python, da mesma forma "
41- "que os tipos embutidos :class:`str` e :class:`list`. O código para todos os "
42- "tipos de extensão segue um padrão, mas há alguns detalhes que você precisa "
43- "entender antes de começar. Este documento é uma introdução suave ao tópico."
39+ "O Python permite que o desenvolvedor de um módulo de extensão em C defina "
40+ "novos tipos que podem ser manipulados a partir do código Python, da mesma "
41+ "forma que os tipos embutidos :class:`str` e :class:`list`. O código para de "
42+ "todos tipos de extensão segue um padrão, mas há alguns detalhes que você "
43+ "precisa entender antes de começar. Este documento é uma introdução suave ao "
44+ "tópico."
4445
4546#: ../../extending/newtypes_tutorial.rst:24
4647msgid "The Basics"
@@ -57,15 +58,14 @@ msgid ""
5758"an object, a method called, or it is multiplied by another object. These C "
5859"functions are called \" type methods\" ."
5960msgstr ""
60- "O tempo de execução do :term:`CPython` considera todos os objetos Python "
61- "como variáveis do tipo :c:expr:`PyObject*`, que serve como um \" tipo base\" "
62- "para todos os objetos Python. A própria estrutura :c:type:`PyObject` contém "
63- "apenas a :term:`contagem de referências` do objeto e um ponteiro para o "
64- "\" objeto de tipo\" do objeto. É aqui que ocorre a ação; o objeto de tipo "
65- "determina quais funções (C) são chamadas pelo interpretador quando, por "
66- "exemplo, um atributo é consultado em um objeto, um método é chamado ou é "
67- "multiplicado por outro objeto. Essas funções C são chamadas de \" métodos de "
68- "tipo\" ."
61+ "O tempo de execução do :term:CPython trata todos os objetos Python como "
62+ "variáveis do tipo :c:expr:`PyObject*`, que funciona como um “tipo base” para "
63+ "todos os objetos Python. A estrutura :c:type:`PyObject`em si contém apenas "
64+ "a :term:`contagem de referências` do objeto e um ponteiro para o “objeto de "
65+ "tipo” correspondente. É nesse objeto de tipo que tudo acontece: ele "
66+ "determina quais funções em C o interpretador chama quando, por exemplo, um "
67+ "atributo é acessado em um objeto, um método é chamado ou o objeto é "
68+ "multiplicado por outro. Essas funções em C são chamadas de “métodos de tipo”."
6969
7070#: ../../extending/newtypes_tutorial.rst:35
7171msgid ""
@@ -102,8 +102,9 @@ msgid ""
102102"Now that's quite a bit to take in at once, but hopefully bits will seem "
103103"familiar from the previous chapter. This file defines three things:"
104104msgstr ""
105- "Isso é bastante para ser absorvido de uma só vez, mas esperamos que os bits "
106- "pareçam familiares no capítulo anterior. Este arquivo define três coisas:"
105+ "Isso é bastante informação para assimilar de uma só vez, mas algumas partes "
106+ "devem parecer familiares pelo que foi visto no capítulo anterior. Este "
107+ "arquivo define três elementos:"
107108
108109#: ../../extending/newtypes_tutorial.rst:53
109110msgid ""
@@ -180,6 +181,10 @@ msgid ""
180181"listing all the :c:type:`PyTypeObject` fields that you don't care about and "
181182"also to avoid caring about the fields' declaration order."
182183msgstr ""
184+ "Recomendamos usar inicializadores nomeados no estilo C99, como mostrado "
185+ "acima, para evitar listar todos os campos de :c:type:`PyTypeObject` com os "
186+ "quais você não precisa se preocupar e também para não depender da ordem de "
187+ "declaração desses campos"
183188
184189#: ../../extending/newtypes_tutorial.rst:105
185190msgid ""
@@ -188,6 +193,10 @@ msgid ""
188193"fields will be filled with zeros by the C compiler, and it's common practice "
189194"to not specify them explicitly unless you need them."
190195msgstr ""
196+ "A definição real de :c:type:`PyTypeObject` no :file:`object.h` possui muito "
197+ "mais ref:`fields <type-structs> do que a definição acima. Os campos "
198+ "restantes serão preenchidos com zeros pelo compilador C, e é prática comum "
199+ "não especificá-los explicitamente, a menos que sejam necessários."
191200
192201#: ../../extending/newtypes_tutorial.rst:110
193202msgid "We're going to pick it apart, one field at a time::"
@@ -198,12 +207,16 @@ msgid ""
198207"This line is mandatory boilerplate to initialize the ``ob_base`` field "
199208"mentioned above. ::"
200209msgstr ""
210+ "Essa linha é um boilerplate obrigatório para inicializar o campo ``ob_base`` "
211+ "mencionado acima. ::"
201212
202213#: ../../extending/newtypes_tutorial.rst:119
203214msgid ""
204215"The name of our type. This will appear in the default textual "
205216"representation of our objects and in some error messages, for example:"
206217msgstr ""
218+ "O nome do nosso tipo. Ele aparecerá na representação textual padrão do "
219+ "nosso objeto e em algumas mensagens erro, por exemplo:"
207220
208221#: ../../extending/newtypes_tutorial.rst:129
209222msgid ""
@@ -213,13 +226,22 @@ msgid ""
213226"`!custom.Custom`. Using the real dotted import path is important to make "
214227"your type compatible with the :mod:`pydoc` and :mod:`pickle` modules. ::"
215228msgstr ""
229+ "Observe que o nome é um nome pontilhado que inclui o nome módulo e o nome do "
230+ "tipo dentro do módulo. O módulo, neste caso, é :mod:`!custom` e o tipo é :"
231+ "class:`!Custom`, portanto, definimos o nome do tipo como :class:`!custom."
232+ "Custom`. O uso do pontilhado real caminho de importação é importante para "
233+ "tornar seu tipo compatível com o :mod:`pydoc` e os módulos :mod:`pickle`. ::"
216234
217235#: ../../extending/newtypes_tutorial.rst:138
218236msgid ""
219237"This is so that Python knows how much memory to allocate when creating new :"
220238"class:`!Custom` instances. :c:member:`~PyTypeObject.tp_itemsize` is only "
221239"used for variable-sized objects and should otherwise be zero."
222240msgstr ""
241+ "Isso serve para que o Python saiba quanta memória deve ser alocada ao criar "
242+ "novas instâncias do :class:`!Custom`. O :c:member:`~PyTypeObject."
243+ "tp_itemsize` é usado somente para objeto de tamanho variável e, caso "
244+ "contrário, deve ser zero."
223245
224246#: ../../extending/newtypes_tutorial.rst:144
225247msgid ""
0 commit comments