@@ -409,7 +409,7 @@ msgid ""
409409"c>`__; example module initialization shown at the bottom of the file."
410410msgstr ""
411411"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."
412+ "`xxlimited <https://github.com/python/cpython/blob/master/Modules/xxlimited."
413413"c>`__; há um exemplo de inicialização do módulo no final do arquivo."
414414
415415#: ../../howto/isolating-extensions.rst:211
@@ -491,11 +491,11 @@ msgid ""
491491msgstr ""
492492"Não há problema em compartilhar objetos verdadeiramente imutáveis entre "
493493"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)."
494+ "objetos mutáveis. De toda forma , no CPython, todo objeto Python tem um "
495+ "detalhe de implementação mutável: o contador de referências. Mudanças no "
496+ "refcount são protegidas pelo GIL. Logo, todo código que compartilha um "
497+ "objeto Python entre interpretadores depende implicitamente do atual GIL do "
498+ "CPython (que é global a nível de processo)."
499499
500500#: ../../howto/isolating-extensions.rst:277
501501msgid ""
@@ -505,14 +505,20 @@ msgid ""
505505"*heap type* for short. These correspond more closely to classes created by "
506506"Python's ``class`` statement."
507507msgstr ""
508+ "Por ser imutável e global no processo, um tipo estático não pode acessar o "
509+ "estado do \" seu\" módulo. Se um método de tal tipo precisar de acesso ao "
510+ "estado do módulo, o tipo precisa ser convertido para um *tipo alocado no "
511+ "heap*, ou, abreviando, *tipo no heap*. Tipos no heap correspondem mais "
512+ "fielmente a classes criadas pela instrução ``class`` do Python."
508513
509514#: ../../howto/isolating-extensions.rst:284
510515msgid "For new modules, using heap types by default is a good rule of thumb."
511516msgstr ""
517+ "Para módulos novos, usar tipos no heap por padrão é uma boa regra geral."
512518
513519#: ../../howto/isolating-extensions.rst:288
514520msgid "Changing Static Types to Heap Types"
515- msgstr ""
521+ msgstr "Mudando tipos estáticos para tipos no heap "
516522
517523#: ../../howto/isolating-extensions.rst:290
518524msgid ""
@@ -523,82 +529,116 @@ msgid ""
523529"unintentionally change a few details (e.g. pickleability or inherited "
524530"slots). Always test the details that are important to you."
525531msgstr ""
532+ "Tipos estáticos podem ser convertidos para tipos no heap, mas note que a API "
533+ "de tipos no heap não foi projetada para conversão \" sem perda\" de tipos "
534+ "estáticos—isto é, para criar um tipo que funciona exatamente como um dado "
535+ "tipo estático. Então, ao reescrever a definição de classe em uma nova API, é "
536+ "provável que você altere alguns detalhes sem querer (por exemplo, se o tipo "
537+ "é serializável em pickle ou não, ou slots herdados). Sempre teste os "
538+ "detalhes que são importantes para você."
526539
527540#: ../../howto/isolating-extensions.rst:299
528541msgid ""
529542"Watch out for the following two points in particular (but note that this is "
530543"not a comprehensive list):"
531544msgstr ""
545+ "Fique atento em particular aos dois pontos a seguir (mas note the esta não é "
546+ "uma lista completa):"
532547
533548#: ../../howto/isolating-extensions.rst:302
534549msgid ""
535550"Unlike static types, heap type objects are mutable by default. Use the :c:"
536551"macro:`Py_TPFLAGS_IMMUTABLETYPE` flag to prevent mutability."
537552msgstr ""
553+ "Ao contrário de tipos estáticos, tipos no heap são mutáveis por padrão. Use "
554+ "o sinalizador :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` para impedir a "
555+ "mutabilidade."
538556
539557#: ../../howto/isolating-extensions.rst:304
540558msgid ""
541559"Heap types inherit :c:member:`~PyTypeObject.tp_new` by default, so it may "
542560"become possible to instantiate them from Python code. You can prevent this "
543561"with the :c:macro:`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag."
544562msgstr ""
563+ "Tipos no heap herdam :c:member:`~PyTypeObject.tp_new` por padrão, e portanto "
564+ "eles podem passar a ser instanciáveis a partir de código Python. Você pode "
565+ "impedir isso com o sinalizador :c:macro:`Py_TPFLAGS_DISALLOW_INSTANTIATION`."
545566
546567#: ../../howto/isolating-extensions.rst:310
547568msgid "Defining Heap Types"
548- msgstr ""
569+ msgstr "Definindo tipos no heap "
549570
550571#: ../../howto/isolating-extensions.rst:312
551572msgid ""
552573"Heap types can be created by filling a :c:struct:`PyType_Spec` structure, a "
553574"description or \" blueprint\" of a class, and calling :c:func:"
554575"`PyType_FromModuleAndSpec` to construct a new class object."
555576msgstr ""
577+ "Tipos no heap podem ser criados preenchendo uma estrutura :c:struct:"
578+ "`PyType_Spec`, uma descrição ou \" diagrama\" de uma classe, e chamando :c:"
579+ "func:`PyType_FromModuleAndSpec` para construir um novo objeto classe."
556580
557581#: ../../howto/isolating-extensions.rst:317
558582msgid ""
559583"Other functions, like :c:func:`PyType_FromSpec`, can also create heap types, "
560584"but :c:func:`PyType_FromModuleAndSpec` associates the module with the class, "
561585"allowing access to the module state from methods."
562586msgstr ""
587+ "Outras funções, como :c:func:`PyType_FromSpec`, também podem criar tipos no "
588+ "heap, mas :c:func:`PyType_FromModuleAndSpec` associa a classe ao módulo, "
589+ "permitindo acesso ao estado do módulo a partir dos métodos."
563590
564591#: ../../howto/isolating-extensions.rst:321
565592msgid ""
566593"The class should generally be stored in *both* the module state (for safe "
567594"access from C) and the module's ``__dict__`` (for access from Python code)."
568595msgstr ""
596+ "A classe deve em geral ser guardada *tanto* no estado do módulo (para acesso "
597+ "seguro a partir do C) *quanto* no ``__dict__`` do módulo (para acesso a "
598+ "partir de código Python)."
569599
570600#: ../../howto/isolating-extensions.rst:327
571601msgid "Garbage-Collection Protocol"
572- msgstr ""
602+ msgstr "Protocolo de recolhimento de lixo "
573603
574604#: ../../howto/isolating-extensions.rst:329
575605msgid ""
576606"Instances of heap types hold a reference to their type. This ensures that "
577607"the type isn't destroyed before all its instances are, but may result in "
578608"reference cycles that need to be broken by the garbage collector."
579609msgstr ""
610+ "Instâncias de tipos no heap contêm referências aos seus tipos. Isso garante "
611+ "que o tipo não é destruído antes que todas as suas instâncias sejam, mas "
612+ "pode resultar em ciclos de referência que precisam ser quebrados pelo "
613+ "coletor de lixo."
580614
581615#: ../../howto/isolating-extensions.rst:334
582616msgid ""
583617"To avoid memory leaks, instances of heap types must implement the garbage "
584618"collection protocol. That is, heap types should:"
585619msgstr ""
620+ "Para evitar vazamentos de memória, instâncias de tipos no heap precisam "
621+ "implementar o protocolo de recolhimento de lixo. Isto é, tipos no heap devem:"
586622
587623#: ../../howto/isolating-extensions.rst:338
588624msgid "Have the :c:macro:`Py_TPFLAGS_HAVE_GC` flag."
589- msgstr ""
625+ msgstr "Ter o sinalizador :c:macro:`Py_TPFLAGS_HAVE_GC`. "
590626
591627#: ../../howto/isolating-extensions.rst:339
592628msgid ""
593629"Define a traverse function using ``Py_tp_traverse``, which visits the type "
594630"(e.g. using ``Py_VISIT(Py_TYPE(self))``)."
595631msgstr ""
632+ "Definir uma função de travessia usando ``Py_tp_traverse``, que visita o tipo "
633+ "(por exemplo, usando ``Py_VISIT(Py_TYPE(self))``)."
596634
597635#: ../../howto/isolating-extensions.rst:342
598636msgid ""
599637"Please refer to the the documentation of :c:macro:`Py_TPFLAGS_HAVE_GC` and :"
600638"c:member:`~PyTypeObject.tp_traverse` for additional considerations."
601639msgstr ""
640+ "Por favor veja as documentações de :c:macro:`Py_TPFLAGS_HAVE_GC` e de :c:"
641+ "member:`~PyTypeObject.tp_traverse` para considerações adicionais."
602642
603643#: ../../howto/isolating-extensions.rst:346
604644msgid ""
0 commit comments