Skip to content

Commit 5efdd76

Browse files
Update translations
1 parent 7eee267 commit 5efdd76

File tree

4 files changed

+83
-7
lines changed

4 files changed

+83
-7
lines changed

c-api/intro.po

Lines changed: 78 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ msgid ""
1111
msgstr ""
1212
"Project-Id-Version: Python 3.10\n"
1313
"Report-Msgid-Bugs-To: \n"
14-
"POT-Creation-Date: 2025-05-02 16:07+0000\n"
14+
"POT-Creation-Date: 2025-06-06 16:52+0000\n"
1515
"PO-Revision-Date: 2022-11-05 17:21+0000\n"
1616
"Last-Translator: Rafael Fontenelle <rffontenelle@gmail.com>, 2024\n"
1717
"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/"
@@ -438,6 +438,17 @@ msgid ""
438438
"objects that reference each other here; for now, the solution is \"don't do "
439439
"that.\")"
440440
msgstr ""
441+
"A contagem de referências é importante porque os computadores atuais têm um "
442+
"tamanho de memória finito (e frequentemente severamente limitado); ela conta "
443+
"quantos lugares diferentes existem que possuem uma :term:`referência forte` "
444+
"a um objeto. Tal lugar pode ser outro objeto, ou uma variável C global (ou "
445+
"estática), ou uma variável local em alguma função C. Quando a última :term:"
446+
"`referência forte` a um objeto é liberada (ou seja, sua contagem de "
447+
"referências se torna zero), o objeto é desalocado. Se ele contiver "
448+
"referências a outros objetos, essas referências são liberadas. Esses outros "
449+
"objetos podem ser desalocados por sua vez, se não houver mais referências a "
450+
"eles, e assim por diante. (Há um problema óbvio com objetos que referenciam "
451+
"uns aos outros aqui; por enquanto, a solução é \"não faça isso\".)"
441452

442453
#: ../../c-api/intro.rst:272
443454
msgid ""
@@ -457,6 +468,22 @@ msgid ""
457468
"``sizeof(Py_ssize_t) >= sizeof(void*)``). Thus, the reference count "
458469
"increment is a simple operation."
459470
msgstr ""
471+
"Contagens de referências são sempre manipuladas explicitamente. A maneira "
472+
"normal é usar a macro :c:func:`Py_INCREF` para obter uma nova referência a "
473+
"um objeto (ou seja, incrementar sua contagem de referências em um), e :c:"
474+
"func:`Py_DECREF` para liberar essa referência (ou seja, decrementar a "
475+
"contagem de referências em um). A macro :c:func:`Py_DECREF` é "
476+
"consideravelmente mais complexa do que a incref, pois deve verificar se a "
477+
"contagem de referências se torna zero e, em seguida, fazer com que o "
478+
"desalocador do objeto seja chamado. O desalocador é um ponteiro para função "
479+
"contido na estrutura de tipo do objeto. O desalocador específico do tipo "
480+
"cuida da liberação de referências para outros objetos contidos no objeto se "
481+
"este for um tipo de objeto composto, como uma lista, bem como de executar "
482+
"qualquer finalização adicional necessária. Não há chance de a contagem de "
483+
"referências transbordar; pelo menos tantos bits são usados ​​para armazenar a "
484+
"contagem de referência quantos forem os locais de memória distintos na "
485+
"memória virtual (presumindo ``sizeof(Py_ssize_t) >= sizeof(void*)``). "
486+
"Portanto, o incremento da contagem de referências é uma operação simples."
460487

461488
#: ../../c-api/intro.rst:288
462489
msgid ""
@@ -475,6 +502,21 @@ msgid ""
475502
"that are called from Python; the call mechanism guarantees to hold a "
476503
"reference to every argument for the duration of the call."
477504
msgstr ""
505+
"Não é necessário manter uma :term:`referência forte` (ou seja, incrementar a "
506+
"contagem de referências) para cada variável local que contém um ponteiro "
507+
"para um objeto. Em teoria, a contagem de referências do objeto aumenta em um "
508+
"quando a variável é feita para apontar para ele e diminui em um quando a "
509+
"variável sai do escopo. No entanto, esses dois se cancelam, portanto, no "
510+
"final, a contagem de referências não mudou. A única razão real para usar a "
511+
"contagem de referências é evitar que o objeto seja desalocado enquanto nossa "
512+
"variável estiver apontando para ele. Se sabemos que existe pelo menos uma "
513+
"outra referência ao objeto que vive pelo menos tanto quanto nossa variável, "
514+
"não há necessidade de tomar uma nova :term:`referência forte` (ou seja, "
515+
"incrementar a contagem de referências) temporariamente. Uma situação "
516+
"importante em que isso ocorre é em objetos que são passados como argumentos "
517+
"para funções C em um módulo de extensão que são chamados de Python; o "
518+
"mecanismo de chamada garante manter uma referência a todos os argumentos "
519+
"durante a chamada."
478520

479521
#: ../../c-api/intro.rst:304
480522
msgid ""
@@ -486,6 +528,14 @@ msgid ""
486528
"code path which allows control to flow back to the user from a :c:func:"
487529
"`Py_DECREF`, so almost any operation is potentially dangerous."
488530
msgstr ""
531+
"No entanto, uma armadilha comum é extrair um objeto de uma lista e mantê-lo "
532+
"por um tempo, sem tomar uma nova referência. Alguma outra operação poderia "
533+
"remover o objeto da lista, liberando essa referência e possivelmente "
534+
"desalocando-o. O perigo real é que operações aparentemente inocentes podem "
535+
"invocar código Python arbitrário que poderia fazer isso; existe um caminho "
536+
"de código que permite que o controle flua de volta para o usuário a partir "
537+
"de um :c:func:`Py_DECREF`, então quase qualquer operação é potencialmente "
538+
"perigosa."
489539

490540
#: ../../c-api/intro.rst:312
491541
msgid ""
@@ -496,6 +546,12 @@ msgid ""
496546
"This leaves the caller with the responsibility to call :c:func:`Py_DECREF` "
497547
"when they are done with the result; this soon becomes second nature."
498548
msgstr ""
549+
"Uma abordagem segura é sempre usar as operações genéricas (funções cujo nome "
550+
"começa com ``PyObject_``, ``PyNumber_``, ``PySequence_`` ou ``PyMapping_``). "
551+
"Essas operações sempre criam uma nova :term:`referência forte` (ou seja, "
552+
"incrementam a contagem de referências) do objeto que retornam. Isso deixa o "
553+
"chamador com a responsabilidade de chamar :c:func:`Py_DECREF` quando "
554+
"terminar com o resultado; isso logo se torna uma segunda natureza."
499555

500556
#: ../../c-api/intro.rst:323
501557
msgid "Reference Count Details"
@@ -517,6 +573,20 @@ msgid ""
517573
"said to *borrow* the reference. Nothing needs to be done for a :term:"
518574
"`borrowed reference`."
519575
msgstr ""
576+
"O comportamento da contagem de referências de funções na API C/Python é "
577+
"melhor explicado em termos de *propriedade de referências*. A propriedade "
578+
"pertence às referências, nunca aos objetos (os objetos não são possuídos: "
579+
"eles são sempre compartilhados). \"Possuir uma referência\" significa ser "
580+
"responsável por chamar Py_DECREF nela quando a referência não for mais "
581+
"necessária. A propriedade também pode ser transferida, o que significa que o "
582+
"código que recebe a propriedade da referência torna-se responsável por "
583+
"eventualmente efetuar um liberando ela chamando :c:func:`Py_DECREF` ou :c:"
584+
"func:`Py_XDECREF` quando não é mais necessário -- ou passando essa "
585+
"responsabilidade (geralmente para o responsável pela chamada). Quando uma "
586+
"função passa a propriedade de uma referência para seu chamador, diz-se que o "
587+
"chamador recebe uma *nova* referência. Quando nenhuma propriedade é "
588+
"transferida, diz-se que o chamador *toma emprestado* a referência. Nada "
589+
"precisa ser feito para uma :term:`referência emprestada`."
520590

521591
#: ../../c-api/intro.rst:338
522592
msgid ""
@@ -610,6 +680,13 @@ msgid ""
610680
"For example, this function sets all items of a list (actually, any mutable "
611681
"sequence) to a given item::"
612682
msgstr ""
683+
"É muito mais comum usar :c:func:`PyObject_SetItem` e amigos com itens cujas "
684+
"referências você está apenas pegando emprestado, como argumentos que foram "
685+
"passados para a função que você está escrevendo. Nesse caso, o comportamento "
686+
"deles em relação às referências é muito mais são, já que você não precisa "
687+
"tomar uma nova referência só para poder doá-la (\"mande-a ser roubada\"). "
688+
"Por exemplo, esta função define todos os itens de uma lista (na verdade, "
689+
"qualquer sequência mutável) para um determinado item::"
613690

614691
#: ../../c-api/intro.rst:417
615692
msgid ""

howto/logging-cookbook.po

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ msgid ""
1111
msgstr ""
1212
"Project-Id-Version: Python 3.10\n"
1313
"Report-Msgid-Bugs-To: \n"
14-
"POT-Creation-Date: 2025-05-09 17:01+0000\n"
14+
"POT-Creation-Date: 2025-06-20 16:58+0000\n"
1515
"PO-Revision-Date: 2022-11-05 17:21+0000\n"
1616
"Last-Translator: Rafael Fontenelle <rffontenelle@gmail.com>, 2024\n"
1717
"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/"
@@ -67,7 +67,7 @@ msgstr ""
6767
"além disso, o código da aplicação pode definir e configurar um logger pai em "
6868
"um módulo e criar (mas não configurar) um logger filho em um módulo "
6969
"separado, e todas as chamadas de logger para o filho passarão para o pai. "
70-
"Aqui está um módulo prinicipal::"
70+
"Aqui está um módulo principal::"
7171

7272
#: ../../howto/logging-cookbook.rst:56
7373
msgid "Here is the auxiliary module::"

potodo.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55

66

7-
# c-api (57.69% done)
7+
# c-api (57.86% done)
88

99
- allocation.po 8 / 9 ( 88.0% translated).
1010
- arg.po 193 / 195 ( 98.0% translated).
@@ -14,7 +14,6 @@
1414
- gcsupport.po 10 / 40 ( 25.0% translated).
1515
- init.po 119 / 310 ( 38.0% translated).
1616
- init_config.po 129 / 375 ( 34.0% translated).
17-
- intro.po 79 / 86 ( 91.0% translated).
1817
- long.po 30 / 51 ( 58.0% translated).
1918
- memory.po 57 / 184 ( 30.0% translated).
2019
- module.po 48 / 99 ( 48.0% translated).
@@ -324,5 +323,5 @@
324323
- 3.7.po 243 / 555 ( 43.0% translated).
325324

326325

327-
# TOTAL (65.21% done)
326+
# TOTAL (65.22% done)
328327

stats.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"completion": "65.21%", "translated": 33698, "entries": 51675, "updated_at": "2025-06-21T00:34:59+00:00Z"}
1+
{"completion": "65.22%", "translated": 33705, "entries": 51675, "updated_at": "2025-06-22T00:39:24+00:00Z"}

0 commit comments

Comments
 (0)