Skip to content

Commit a64ee7d

Browse files
Update translation
Co-Authored-By: Marcos Moraes Co-Authored-By: Rafael Fontenelle <rffontenelle@gmail.com> Co-Authored-By: Rainer Terroso
1 parent 44b7b1f commit a64ee7d

File tree

6 files changed

+119
-39
lines changed

6 files changed

+119
-39
lines changed

extending/newtypes_tutorial.po

Lines changed: 61 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ msgid ""
1212
msgstr ""
1313
"Project-Id-Version: Python 3.12\n"
1414
"Report-Msgid-Bugs-To: \n"
15-
"POT-Creation-Date: 2025-11-09 15:45+0000\n"
15+
"POT-Creation-Date: 2025-11-13 15:53+0000\n"
1616
"PO-Revision-Date: 2025-07-18 19:57+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."
3838
msgstr ""
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
4647
msgid "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\"."
5960
msgstr ""
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
7171
msgid ""
@@ -151,8 +151,9 @@ msgid ""
151151
"Now that's quite a bit to take in at once, but hopefully bits will seem "
152152
"familiar from the previous chapter. This file defines three things:"
153153
msgstr ""
154-
"Isso é bastante para ser absorvido de uma só vez, mas esperamos que os bits "
155-
"pareçam familiares no capítulo anterior. Este arquivo define três coisas:"
154+
"Isso é bastante informação para assimilar de uma só vez, mas algumas partes "
155+
"devem parecer familiares pelo que foi visto no capítulo anterior. Este "
156+
"arquivo define três elementos:"
156157

157158
#: ../../extending/newtypes_tutorial.rst:53
158159
msgid ""
@@ -187,10 +188,7 @@ msgid ""
187188
"typedef struct {\n"
188189
" PyObject_HEAD\n"
189190
"} CustomObject;"
190-
msgstr ""
191-
"typedef struct {\n"
192-
"PyObject_HEAD\n"
193-
"} CustomObject;"
191+
msgstr "typedef struct { PyObject_HEAD} CustomObject;"
194192

195193
#: ../../extending/newtypes_tutorial.rst:67
196194
msgid ""
@@ -236,6 +234,10 @@ msgid ""
236234
" double ob_fval;\n"
237235
"} PyFloatObject;"
238236
msgstr ""
237+
"typedef struct {\n"
238+
" PyObject_HEAD\n"
239+
" double ob_fval;\n"
240+
"} PyFloatObject;"
239241

240242
#: ../../extending/newtypes_tutorial.rst:88
241243
msgid "The second bit is the definition of the type object. ::"
@@ -253,13 +255,26 @@ msgid ""
253255
" .tp_new = PyType_GenericNew,\n"
254256
"};"
255257
msgstr ""
258+
"estático PyTypeObject CustomType = {\n"
259+
" .ob_base = PyVarObject_HEAD_INIT(NULL, 0)\n"
260+
" .tp_name = \"custom.Custom\",\n"
261+
" .tp_doc = PyDoc_STR(\"Custom objeto\"),\n"
262+
" .tp_basicsize = sizeof(CustomObject),\n"
263+
" .tp_itemsize = 0,\n"
264+
" .tp_flags = Py_TPFLAGS_DEFAULT,\n"
265+
" .tp_new = PyType_GenericNew,\n"
266+
"};"
256267

257268
#: ../../extending/newtypes_tutorial.rst:101
258269
msgid ""
259270
"We recommend using C99-style designated initializers as above, to avoid "
260271
"listing all the :c:type:`PyTypeObject` fields that you don't care about and "
261272
"also to avoid caring about the fields' declaration order."
262273
msgstr ""
274+
"Recomendamos usar inicializadores nomeados no estilo C99, como mostrado "
275+
"acima, para evitar listar todos os campos de :c:type:`PyTypeObject` com os "
276+
"quais você não precisa se preocupar e também para não depender da ordem de "
277+
"declaração desses campos"
263278

264279
#: ../../extending/newtypes_tutorial.rst:105
265280
msgid ""
@@ -268,30 +283,38 @@ msgid ""
268283
"fields will be filled with zeros by the C compiler, and it's common practice "
269284
"to not specify them explicitly unless you need them."
270285
msgstr ""
286+
"A definição real de :c:type:`PyTypeObject` no :file:`object.h` possui muito "
287+
"mais ref:`fields <type-structs> do que a definição acima. Os campos "
288+
"restantes serão preenchidos com zeros pelo compilador C, e é prática comum "
289+
"não especificá-los explicitamente, a menos que sejam necessários."
271290

272291
#: ../../extending/newtypes_tutorial.rst:110
273292
msgid "We're going to pick it apart, one field at a time::"
274293
msgstr "Vamos separá-lo, um campo de cada vez ::"
275294

276295
#: ../../extending/newtypes_tutorial.rst:112
277296
msgid ".ob_base = PyVarObject_HEAD_INIT(NULL, 0)"
278-
msgstr ""
297+
msgstr ".ob_base = PyVarObject_HEAD_INIT(NULL, 0)"
279298

280299
#: ../../extending/newtypes_tutorial.rst:114
281300
msgid ""
282301
"This line is mandatory boilerplate to initialize the ``ob_base`` field "
283302
"mentioned above. ::"
284303
msgstr ""
304+
"Essa linha é um boilerplate obrigatório para inicializar o campo ``ob_base`` "
305+
"mencionado acima. ::"
285306

286307
#: ../../extending/newtypes_tutorial.rst:117
287308
msgid ".tp_name = \"custom.Custom\","
288-
msgstr ""
309+
msgstr ".tp_name = \"custom.Custom\","
289310

290311
#: ../../extending/newtypes_tutorial.rst:119
291312
msgid ""
292313
"The name of our type. This will appear in the default textual "
293314
"representation of our objects and in some error messages, for example:"
294315
msgstr ""
316+
"O nome do nosso tipo. Ele aparecerá na representação textual padrão do "
317+
"nosso objeto e em algumas mensagens erro, por exemplo:"
295318

296319
#: ../../extending/newtypes_tutorial.rst:122
297320
msgid ""
@@ -300,6 +323,10 @@ msgid ""
300323
" File \"<stdin>\", line 1, in <module>\n"
301324
"TypeError: can only concatenate str (not \"custom.Custom\") to str"
302325
msgstr ""
326+
"\"\" + custom.Custom()\n"
327+
"Traceback (most recent call last):\n"
328+
"File \"<stdin>\", line 1, in <module> \n"
329+
"TypeError: can only concatenate str (not \"custom.Custom\") to str"
303330

304331
#: ../../extending/newtypes_tutorial.rst:129
305332
msgid ""
@@ -309,19 +336,30 @@ msgid ""
309336
"`!custom.Custom`. Using the real dotted import path is important to make "
310337
"your type compatible with the :mod:`pydoc` and :mod:`pickle` modules. ::"
311338
msgstr ""
339+
"Observe que o nome é um nome pontilhado que inclui o nome módulo e o nome do "
340+
"tipo dentro do módulo. O módulo, neste caso, é :mod:`!custom` e o tipo é :"
341+
"class:`!Custom`, portanto, definimos o nome do tipo como :class:`!custom."
342+
"Custom`. O uso do pontilhado real caminho de importação é importante para "
343+
"tornar seu tipo compatível com o :mod:`pydoc` e os módulos :mod:`pickle`. ::"
312344

313345
#: ../../extending/newtypes_tutorial.rst:135
314346
msgid ""
315347
".tp_basicsize = sizeof(CustomObject),\n"
316348
".tp_itemsize = 0,"
317349
msgstr ""
350+
".tp_basicsize = sizeof(CustomObject),\n"
351+
".tp_itemsize = 0,"
318352

319353
#: ../../extending/newtypes_tutorial.rst:138
320354
msgid ""
321355
"This is so that Python knows how much memory to allocate when creating new :"
322356
"class:`!Custom` instances. :c:member:`~PyTypeObject.tp_itemsize` is only "
323357
"used for variable-sized objects and should otherwise be zero."
324358
msgstr ""
359+
"Isso serve para que o Python saiba quanta memória deve ser alocada ao criar "
360+
"novas instâncias do :class:`!Custom`. O :c:member:`~PyTypeObject."
361+
"tp_itemsize` é usado somente para objeto de tamanho variável e, caso "
362+
"contrário, deve ser zero."
325363

326364
#: ../../extending/newtypes_tutorial.rst:144
327365
msgid ""

howto/functional.po

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ msgid ""
1111
msgstr ""
1212
"Project-Id-Version: Python 3.12\n"
1313
"Report-Msgid-Bugs-To: \n"
14-
"POT-Creation-Date: 2025-08-27 16:11+0000\n"
14+
"POT-Creation-Date: 2025-11-13 15:53+0000\n"
1515
"PO-Revision-Date: 2025-07-18 19:57+0000\n"
1616
"Last-Translator: Rafael Fontenelle <rffontenelle@gmail.com>, 2025\n"
1717
"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/"
@@ -1312,6 +1312,11 @@ msgid ""
13121312
"truth value of some condition; for use with :func:`filter`, the predicate "
13131313
"must take a single value."
13141314
msgstr ""
1315+
":func:`filter(predicate, iter) <filter>` retorna um iterador sobre todos os "
1316+
"elementos da sequência que atendem a uma determinada condição, e é "
1317+
"similarmente duplicada por compreensões de lista. Um **predicate** é uma "
1318+
"função que retorna o valor lógico de alguma condição; para uso com :func:"
1319+
"`filter`, o predicado deve receber um único valor."
13151320

13161321
#: ../../howto/functional.rst:659
13171322
msgid "This can also be written as a list comprehension:"

library/ctypes.po

Lines changed: 40 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ msgid ""
1212
msgstr ""
1313
"Project-Id-Version: Python 3.12\n"
1414
"Report-Msgid-Bugs-To: \n"
15-
"POT-Creation-Date: 2025-11-09 15:45+0000\n"
15+
"POT-Creation-Date: 2025-11-13 15:53+0000\n"
1616
"PO-Revision-Date: 2025-07-18 19:57+0000\n"
1717
"Last-Translator: Marcos Moraes, 2025\n"
1818
"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/"
@@ -2005,12 +2005,21 @@ msgid ""
20052005
"is smaller than the second, a zero if they are equal, and a positive integer "
20062006
"otherwise."
20072007
msgstr ""
2008+
"A :func:`!qsort` deve ser chamada com um ponteiro para os dados a serem "
2009+
"ordenados, o número de itens no vetor de dados, o tamanho de um item, e um "
2010+
"ponteiro para a função de comparação, a função de retorno (callback). A "
2011+
"função de retorno será então chamada com dois ponteiros para itens, e ela "
2012+
"deve retornar um inteiro negativo se o primeiro item for menor que o "
2013+
"segundo, um zero se eles forem iguais, e um inteiro positivo caso contrário."
20082014

20092015
#: ../../library/ctypes.rst:1021
20102016
msgid ""
20112017
"So our callback function receives pointers to integers, and must return an "
20122018
"integer. First we create the ``type`` for the callback function::"
20132019
msgstr ""
2020+
"Então, nossa função de retorno (callback function) recebe ponteiros para "
2021+
"inteiros, e deve retornar um inteiro. Primeiro criamos o ``type`` para a "
2022+
"função de retorno::"
20142023

20152024
#: ../../library/ctypes.rst:1024
20162025
msgid ""
@@ -2023,6 +2032,8 @@ msgid ""
20232032
"To get started, here is a simple callback that shows the values it gets "
20242033
"passed::"
20252034
msgstr ""
2035+
"Para começar, aqui está uma função de retorno (callback) simples que mostra "
2036+
"os valores que lhe são passados::"
20262037

20272038
#: ../../library/ctypes.rst:1030
20282039
msgid ""
@@ -2052,6 +2063,7 @@ msgstr ""
20522063
#: ../../library/ctypes.rst:1047
20532064
msgid "Now we can actually compare the two items and return a useful result::"
20542065
msgstr ""
2066+
"Agora podemos realmente comparar os dois itens e retornar um resultado útil::"
20552067

20562068
#: ../../library/ctypes.rst:1049
20572069
msgid ""
@@ -2071,7 +2083,7 @@ msgstr ""
20712083

20722084
#: ../../library/ctypes.rst:1062
20732085
msgid "As we can easily check, our array is sorted now::"
2074-
msgstr ""
2086+
msgstr "Como podemos verificar facilmente, nosso vetor está ordenado agora::"
20752087

20762088
#: ../../library/ctypes.rst:1064
20772089
msgid ""
@@ -2394,6 +2406,8 @@ msgstr "Tipos de dados de tamanho variável"
23942406
msgid ""
23952407
":mod:`ctypes` provides some support for variable-sized arrays and structures."
23962408
msgstr ""
2409+
"O :mod:`ctypes` fornece algum suporte para vetores e estruturas de tamanhos "
2410+
"variável."
23972411

23982412
#: ../../library/ctypes.rst:1242
23992413
msgid ""
@@ -2403,6 +2417,12 @@ msgid ""
24032417
"cannot be made smaller than the natural memory block specified by the "
24042418
"objects type, a :exc:`ValueError` is raised if this is tried::"
24052419
msgstr ""
2420+
"A função :func:`resize` pode ser usada para redimensionar o buffer de "
2421+
"memória de um objeto ctypes existente. A função recebe o objeto como "
2422+
"primeiro argumento, e o tamanho solicitado em bytes como o segundo "
2423+
"argumento. O bloco de memória não pode ser tornado menor do que o bloco de "
2424+
"memória natural especificado pelo tipo do objeto, um :exc:`ValueError` é "
2425+
"levantado se isso for tentado::"
24062426

24072427
#: ../../library/ctypes.rst:1248
24082428
msgid ""
@@ -2427,6 +2447,9 @@ msgid ""
24272447
"contained in this array? Since the type still only knows about 4 elements, "
24282448
"we get errors accessing other elements::"
24292449
msgstr ""
2450+
"Isso é bom e funcional, mas como alguém acessaria os elementos contidos "
2451+
"neste vetor? Já que o tipo ainda sabe apenas sobre 4 elementos, obtemos "
2452+
"erros ao acessar outros elementos::"
24302453

24312454
#: ../../library/ctypes.rst:1266
24322455
msgid ""
@@ -2445,20 +2468,26 @@ msgid ""
24452468
"the dynamic nature of Python, and (re-)define the data type after the "
24462469
"required size is already known, on a case by case basis."
24472470
msgstr ""
2471+
"Outra maneira de usar tipos de dados de tamanho variável com o :mod:`ctypes` "
2472+
"é usar a natureza dinâmica do Python, e (re)definir o tipo de dados depois "
2473+
"que o tamanho necessário já for conhecido, caso a caso."
24482474

24492475
#: ../../library/ctypes.rst:1282
24502476
msgid "ctypes reference"
24512477
msgstr "Referência ctypes"
24522478

24532479
#: ../../library/ctypes.rst:1288
24542480
msgid "Finding shared libraries"
2455-
msgstr ""
2481+
msgstr "Encontrando bibliotecas compartilhadas"
24562482

24572483
#: ../../library/ctypes.rst:1290
24582484
msgid ""
24592485
"When programming in a compiled language, shared libraries are accessed when "
24602486
"compiling/linking a program, and when the program is run."
24612487
msgstr ""
2488+
"Ao programar em uma linguagem compilada, bibliotecas compartilhadas são "
2489+
"acessadas ao compilar/linkar (compiling/linking) um programa, e quando o "
2490+
"programa é executado."
24622491

24632492
#: ../../library/ctypes.rst:1293
24642493
msgid ""
@@ -2468,12 +2497,20 @@ msgid ""
24682497
"be loaded), while the ctypes library loaders act like when a program is run, "
24692498
"and call the runtime loader directly."
24702499
msgstr ""
2500+
"O propósito da função :func:`~ctypes.util.find_library` é localizar uma "
2501+
"biblioteca de forma semelhante ao que o compilador ou o carregador de tempo "
2502+
"de execução (runtime loader) faz (em plataformas com várias versões de uma "
2503+
"biblioteca compartilhada, a mais recente deve ser carregada), enquanto os "
2504+
"carregadores de biblioteca do ctypes agem como quando um programa é "
2505+
"executado, e chamam o carregador de tempo de execução diretamente."
24712506

24722507
#: ../../library/ctypes.rst:1299
24732508
msgid ""
24742509
"The :mod:`!ctypes.util` module provides a function which can help to "
24752510
"determine the library to load."
24762511
msgstr ""
2512+
"O módulo :mod:`!ctypes.util` fornece uma função que pode ajudar a determinar "
2513+
"a biblioteca a ser carregada."
24772514

24782515
#: ../../library/ctypes.rst:1307
24792516
msgid ""

library/turtle.po

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ msgid ""
1111
msgstr ""
1212
"Project-Id-Version: Python 3.12\n"
1313
"Report-Msgid-Bugs-To: \n"
14-
"POT-Creation-Date: 2025-09-17 04:24+0000\n"
14+
"POT-Creation-Date: 2025-10-27 15:49+0000\n"
1515
"PO-Revision-Date: 2025-07-18 19:58+0000\n"
1616
"Last-Translator: Rafael Fontenelle <rffontenelle@gmail.com>, 2025\n"
1717
"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/"
@@ -4670,15 +4670,15 @@ msgstr "coordenadas mundiais"
46704670

46714671
#: ../../library/turtle.rst:2675
46724672
msgid "clock"
4673-
msgstr "clock"
4673+
msgstr "relógio"
46744674

46754675
#: ../../library/turtle.rst:2675
46764676
msgid "analog clock showing time of your computer"
46774677
msgstr "Relógio analógico que mostra o horário do seu computador"
46784678

46794679
#: ../../library/turtle.rst:2675
46804680
msgid "turtles as clock's hands, ontimer"
4681-
msgstr "tartarugas como ponteiros de relógio, ontimer"
4681+
msgstr "tartarugas como as mãos do relógio, ontimer"
46824682

46834683
#: ../../library/turtle.rst:2678
46844684
msgid "colormixer"

0 commit comments

Comments
 (0)