Skip to content

Commit c8247f2

Browse files
author
github-actions
committed
Update translations from Transifex
1 parent 236425b commit c8247f2

File tree

2 files changed

+90
-12
lines changed

2 files changed

+90
-12
lines changed

c-api/typeobj.po

+4-3
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,16 @@
1010
# Claudio Rogerio Carvalho Filho <excriptbrasil@gmail.com>, 2023
1111
# Rafael Fontenelle <rffontenelle@gmail.com>, 2023
1212
# Vitor Buxbaum Orlandi, 2023
13+
# Pedro Fonini, 2024
1314
#
1415
#, fuzzy
1516
msgid ""
1617
msgstr ""
1718
"Project-Id-Version: Python 3.13\n"
1819
"Report-Msgid-Bugs-To: \n"
19-
"POT-Creation-Date: 2024-05-11 02:33+0000\n"
20+
"POT-Creation-Date: 2024-05-17 14:15+0000\n"
2021
"PO-Revision-Date: 2021-06-28 00:50+0000\n"
21-
"Last-Translator: Vitor Buxbaum Orlandi, 2023\n"
22+
"Last-Translator: Pedro Fonini, 2024\n"
2223
"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/"
2324
"teams/5390/pt_BR/)\n"
2425
"MIME-Version: 1.0\n"
@@ -3105,7 +3106,7 @@ msgstr ""
31053106

31063107
#: ../../c-api/typeobj.rst:2187
31073108
msgid "Heap Types"
3108-
msgstr ""
3109+
msgstr "Tipos no heap"
31093110

31103111
#: ../../c-api/typeobj.rst:2189
31113112
msgid ""

howto/isolating-extensions.po

+86-9
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ msgstr ""
2727

2828
#: ../../howto/isolating-extensions.rst:7
2929
msgid "Isolating Extension Modules"
30-
msgstr "Isolando Módulos de Extensão"
30+
msgstr "Isolando módulos de extensão"
3131

3232
#: ../../howto/isolating-extensions.rst-1
3333
msgid "Abstract"
@@ -228,7 +228,7 @@ msgstr ""
228228
"objeto de módulo, não devem ser compartilhados com outros objetos de módulo, "
229229
"e devem ser limpados quando o objeto de módulo for desalocado. Uma vez que "
230230
"esta é somente uma regra geral, exceções são possíveis (veja `Gerenciando "
231-
"Estado Global`_), mas elas necessitam mais cuidado e atenção a casos "
231+
"estado global`_), mas elas necessitam mais cuidado e atenção a casos "
232232
"especiais."
233233

234234
#: ../../howto/isolating-extensions.rst:111
@@ -254,42 +254,58 @@ msgid ""
254254
"``binascii.Error`` are separate objects. In the following code, the "
255255
"exception is *not* caught:"
256256
msgstr ""
257+
"Note que módulos isolados criam alguns casos particulares que podem acabar "
258+
"surpreendendo. O mais notável é que, tipicamente, cada objeto de módulo não "
259+
"vai compartilhar as suas classes e exceções com outros módulos similares. "
260+
"Continuando o `exemplo acima <Objetos de módulo isolados_>`__, note "
261+
"``old_binascii.Error`` e ``binascii.Error`` são objetos separados. No código "
262+
"a seguir, a exceção *não* é capturada:"
257263

258264
#: ../../howto/isolating-extensions.rst:139
259265
msgid ""
260266
"This is expected. Notice that pure-Python modules behave the same way: it is "
261267
"a part of how Python works."
262268
msgstr ""
269+
"Isso é esperado. Repare que módulos Python-puro se comportam do mesmo jeito: "
270+
"isso é parte de como o Python funciona."
263271

264272
#: ../../howto/isolating-extensions.rst:142
265273
msgid ""
266274
"The goal is to make extension modules safe at the C level, not to make hacks "
267275
"behave intuitively. Mutating ``sys.modules`` \"manually\" counts as a hack."
268276
msgstr ""
277+
"O objetivo é fazer módulos de extensão seguros no nível do C, e não fazer "
278+
"gambiarras se comportarem de forma intuitiva. Modificar o ``sys.modules`` "
279+
"\"manualmente\" conta como uma gambiarra."
269280

270281
#: ../../howto/isolating-extensions.rst:148
271282
msgid "Making Modules Safe with Multiple Interpreters"
272-
msgstr ""
283+
msgstr "Fazendo módulos seguros com múltiplos interpretadores"
273284

274285
#: ../../howto/isolating-extensions.rst:152
275286
msgid "Managing Global State"
276-
msgstr "Gerenciando Estado Global"
287+
msgstr "Gerenciando estado global"
277288

278289
#: ../../howto/isolating-extensions.rst:154
279290
msgid ""
280291
"Sometimes, the state associated with a Python module is not specific to that "
281292
"module, but to the entire process (or something else \"more global\" than a "
282293
"module). For example:"
283294
msgstr ""
295+
"Às vezes, o estado associado a um módulo Python não é específico àquele "
296+
"módulo, mas ao processo inteiro (ou a alguma outra coisa \"mais global\" que "
297+
"um módulo). Por exemplo:"
284298

285299
#: ../../howto/isolating-extensions.rst:158
286300
msgid "The ``readline`` module manages *the* terminal."
287-
msgstr ""
301+
msgstr "O módulo ``readline`` gerencia *o* terminal."
288302

289303
#: ../../howto/isolating-extensions.rst:159
290304
msgid ""
291305
"A module running on a circuit board wants to control *the* on-board LED."
292306
msgstr ""
307+
"Um módulo executando em uma placa de circuito quer controlar *o* componente "
308+
"LED."
293309

294310
#: ../../howto/isolating-extensions.rst:162
295311
msgid ""
@@ -299,6 +315,11 @@ msgid ""
299315
"whether for Python or other languages). If that is not possible, consider "
300316
"explicit locking."
301317
msgstr ""
318+
"Nestes casos, o módulo Python deve prover *acesso* ao estado global, ao "
319+
"invés de *possuí-lo*. Se possível, escreva o módulo de forma que múltiplas "
320+
"cópias dele possam acessar o estado independentemente (junto com outras "
321+
"bibliotecas, sejam elas do Python ou de outras linguagens). Se isso não for "
322+
"possível, considere usar travas explícitas."
302323

303324
#: ../../howto/isolating-extensions.rst:168
304325
msgid ""
@@ -307,17 +328,24 @@ msgid ""
307328
"being loaded more than once per process—see `Opt-Out: Limiting to One Module "
308329
"Object per Process`_."
309330
msgstr ""
331+
"Se for necessário usar estado global para o processo, o jeito mais simples "
332+
"de evitar problemas com múltiplos interpretadores é prevenir explicitamente "
333+
"que o módulo seja carregado mais de uma vez por processo—veja `Exclusão "
334+
"voluntária: limitando a um objeto de módulo por processo`_."
310335

311336
#: ../../howto/isolating-extensions.rst:175
312337
msgid "Managing Per-Module State"
313-
msgstr ""
338+
msgstr "Gerenciando estado por módulo"
314339

315340
#: ../../howto/isolating-extensions.rst:177
316341
msgid ""
317342
"To use per-module state, use :ref:`multi-phase extension module "
318343
"initialization <multi-phase-initialization>`. This signals that your module "
319344
"supports multiple interpreters correctly."
320345
msgstr ""
346+
"Para usar estado por módulo, use :ref:`inicialização multifásica de módulos "
347+
"de extensão <multi-phase-initialization>`. Assim, você sinaliza que o seu "
348+
"módulo suporta múltiplos interpretadores corretamente."
321349

322350
#: ../../howto/isolating-extensions.rst:181
323351
msgid ""
@@ -329,6 +357,13 @@ msgid ""
329357
"``csv``'s :py:data:`~csv.field_size_limit`) which the C code needs to "
330358
"function."
331359
msgstr ""
360+
"Defina ``PyModuleDef.m_size`` como um número positivo *N* para requerer *N* "
361+
"bytes de armazenamento local para o módulo. Geralmente, *N* será o tamanho "
362+
"de alguma ``struct`` específica para o módulo, a qual pode guardar todo o "
363+
"estado a nível de C do módulo. Em particular, é nela que você deve colocar "
364+
"ponteiros para classes (incluindo exceções, mas excluindo tipos estáticos) e "
365+
"configurações (por exemplo, :py:data:`~csv.field_size_limit` no módulo "
366+
"``csv``) que o código C precisa para funcionar."
332367

333368
#: ../../howto/isolating-extensions.rst:190
334369
msgid ""
@@ -337,12 +372,19 @@ msgid ""
337372
"means error- and type-checking at the C level, which is easy to get wrong "
338373
"and hard to test sufficiently."
339374
msgstr ""
375+
"Outra opção é guardar estado no ``__dict__`` do módulo, mas você deve evitar "
376+
"quebrar quando usuários modificarem o ``__dict__`` a partir do código "
377+
"Python. Isso geralmente significa verificar tipos e erros no nível do C, o "
378+
"que é fácil de ser feito incorretamente e difícil de se testar "
379+
"suficientemente."
340380

341381
#: ../../howto/isolating-extensions.rst:195
342382
msgid ""
343383
"However, if module state is not needed in C code, storing it in ``__dict__`` "
344384
"only is a good idea."
345385
msgstr ""
386+
"Entretanto, se o estado do módulo não for necessário para o código C, guardá-"
387+
"lo somente no ``__dict__`` é uma boa ideia."
346388

347389
#: ../../howto/isolating-extensions.rst:198
348390
msgid ""
@@ -353,17 +395,26 @@ msgid ""
353395
"and make the code longer; this is the price for modules which can be "
354396
"unloaded cleanly."
355397
msgstr ""
398+
"Se o estado do módulo inclui ponteiros para ``PyObject``, o objeto de módulo "
399+
"deve conter referências a tais objetos e implementar os ganchos a nível de "
400+
"módulo ``m_traverse``, ``m_clear`` e ``m_free``. Eles funcionam como os "
401+
"``tp_traverse``, ``tp_clear`` e ``tp_free`` de uma classe. Adicioná-los "
402+
"requer algum trabalho e torna o código mais longo; é o preço de módulos que "
403+
"podem ser descarregados de forma limpa."
356404

357405
#: ../../howto/isolating-extensions.rst:205
358406
msgid ""
359407
"An example of a module with per-module state is currently available as "
360408
"`xxlimited <https://github.com/python/cpython/blob/master/Modules/xxlimited."
361409
"c>`__; example module initialization shown at the bottom of the file."
362410
msgstr ""
411+
"Um exemplo de módulo com estado por módulo está disponível atualmente como "
412+
"``xxlimited <https://github.com/python/cpython/blob/master/Modules/xxlimited."
413+
"c>`__; há um exemplo de inicialização do módulo no final do arquivo."
363414

364415
#: ../../howto/isolating-extensions.rst:211
365416
msgid "Opt-Out: Limiting to One Module Object per Process"
366-
msgstr ""
417+
msgstr "Exclusão voluntária: limitando a um objeto de módulo por processo"
367418

368419
#: ../../howto/isolating-extensions.rst:213
369420
msgid ""
@@ -372,35 +423,49 @@ msgid ""
372423
"module, you can explicitly make your module loadable only once per process. "
373424
"For example::"
374425
msgstr ""
426+
"Um ``PyModuleDef.m_size`` não-negativo sinaliza que um módulo admite "
427+
"múltiplos interpretadores corretamente. Se este ainda não é o caso para o "
428+
"seu módulo, you pode explicitamente torná-lo carregável somente uma vez por "
429+
"processo. Por exemplo::"
375430

376431
#: ../../howto/isolating-extensions.rst:234
377432
msgid "Module State Access from Functions"
378-
msgstr ""
433+
msgstr "Acesso ao estado de módulo a partir de funções"
379434

380435
#: ../../howto/isolating-extensions.rst:236
381436
msgid ""
382437
"Accessing the state from module-level functions is straightforward. "
383438
"Functions get the module object as their first argument; for extracting the "
384439
"state, you can use ``PyModule_GetState``::"
385440
msgstr ""
441+
"É trivial acessar o estado a partir de funções a nível do módulo. Funções "
442+
"recebem o objeto de módulo como o primeiro argumento; para extrair o estado, "
443+
"você pode usar ``PyModule_GetState``::"
386444

387445
#: ../../howto/isolating-extensions.rst:251
388446
msgid ""
389447
"``PyModule_GetState`` may return ``NULL`` without setting an exception if "
390448
"there is no module state, i.e. ``PyModuleDef.m_size`` was zero. In your own "
391449
"module, you're in control of ``m_size``, so this is easy to prevent."
392450
msgstr ""
451+
"``PyModule_GetState`` pode retornar ``NULL`` sem definir uma exceção se não "
452+
"houver estado de módulo, ou seja se ``PyModuleDef.m_size`` for zero. No seu "
453+
"próprio módulo, você controla o ``m_size``, de forma que isso é fácil de "
454+
"prevenir."
393455

394456
#: ../../howto/isolating-extensions.rst:258
395457
msgid "Heap Types"
396-
msgstr ""
458+
msgstr "Tipos no heap"
397459

398460
#: ../../howto/isolating-extensions.rst:260
399461
msgid ""
400462
"Traditionally, types defined in C code are *static*; that is, ``static "
401463
"PyTypeObject`` structures defined directly in code and initialized using "
402464
"``PyType_Ready()``."
403465
msgstr ""
466+
"Tradicionalmente, tipos definidos em C são *estáticos*; isto é, estruturas "
467+
"``static PyTypeObject`` definidas diretamente em código e inicializadas "
468+
"usando ``PyType_Ready()``."
404469

405470
#: ../../howto/isolating-extensions.rst:264
406471
msgid ""
@@ -409,6 +474,11 @@ msgid ""
409474
"limit the possible issues, static types are immutable at the Python level: "
410475
"for example, you can't set ``str.myattribute = 123``."
411476
msgstr ""
477+
"Tais tipos são necessariamente compartilhados pelo processo inteiro. "
478+
"Compartilhá-los entre objetos de módulo requer atenção a qualquer estado que "
479+
"eles possuam ou acessem. Para limitar potenciais problemas, tipos estáticos "
480+
"são imutáveis a nível do Python: por exemplo, você não pode atribuir ``str."
481+
"meuatributo = 123``."
412482

413483
#: ../../howto/isolating-extensions.rst:270
414484
msgid ""
@@ -419,6 +489,13 @@ msgid ""
419489
"Python objects across interpreters implicitly depends on CPython's current, "
420490
"process-wide GIL."
421491
msgstr ""
492+
"Não há problema em compartilhar objetos verdadeiramente imutáveis entre "
493+
"interpretadores, desde que através deles não seja possível acessar outros "
494+
"objetos mutáveis. Entretanto, no CPython, todo objeto Python tem um detalhe "
495+
"de implementação mutável: o contador de referências. Mudanças no refcount "
496+
"são protegidas pelo GIL. Logo, todo código que compartilha um objeto Python "
497+
"entre interpretadores depende implicitamente do GIL (que é global a nível de "
498+
"processo)."
422499

423500
#: ../../howto/isolating-extensions.rst:277
424501
msgid ""

0 commit comments

Comments
 (0)