@@ -409,7 +409,7 @@ msgid ""
409
409
"c>`__; example module initialization shown at the bottom of the file."
410
410
msgstr ""
411
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."
412
+ "`xxlimited <https://github.com/python/cpython/blob/master/Modules/xxlimited."
413
413
"c>`__; há um exemplo de inicialização do módulo no final do arquivo."
414
414
415
415
#: ../../howto/isolating-extensions.rst:211
@@ -491,11 +491,11 @@ msgid ""
491
491
msgstr ""
492
492
"Não há problema em compartilhar objetos verdadeiramente imutáveis entre "
493
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)."
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)."
499
499
500
500
#: ../../howto/isolating-extensions.rst:277
501
501
msgid ""
@@ -505,14 +505,20 @@ msgid ""
505
505
"*heap type* for short. These correspond more closely to classes created by "
506
506
"Python's ``class`` statement."
507
507
msgstr ""
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."
508
513
509
514
#: ../../howto/isolating-extensions.rst:284
510
515
msgid "For new modules, using heap types by default is a good rule of thumb."
511
516
msgstr ""
517
+ "Para módulos novos, usar tipos no heap por padrão é uma boa regra geral."
512
518
513
519
#: ../../howto/isolating-extensions.rst:288
514
520
msgid "Changing Static Types to Heap Types"
515
- msgstr ""
521
+ msgstr "Mudando tipos estáticos para tipos no heap "
516
522
517
523
#: ../../howto/isolating-extensions.rst:290
518
524
msgid ""
@@ -523,82 +529,116 @@ msgid ""
523
529
"unintentionally change a few details (e.g. pickleability or inherited "
524
530
"slots). Always test the details that are important to you."
525
531
msgstr ""
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ê."
526
539
527
540
#: ../../howto/isolating-extensions.rst:299
528
541
msgid ""
529
542
"Watch out for the following two points in particular (but note that this is "
530
543
"not a comprehensive list):"
531
544
msgstr ""
545
+ "Fique atento em particular aos dois pontos a seguir (mas note the esta não é "
546
+ "uma lista completa):"
532
547
533
548
#: ../../howto/isolating-extensions.rst:302
534
549
msgid ""
535
550
"Unlike static types, heap type objects are mutable by default. Use the :c:"
536
551
"macro:`Py_TPFLAGS_IMMUTABLETYPE` flag to prevent mutability."
537
552
msgstr ""
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."
538
556
539
557
#: ../../howto/isolating-extensions.rst:304
540
558
msgid ""
541
559
"Heap types inherit :c:member:`~PyTypeObject.tp_new` by default, so it may "
542
560
"become possible to instantiate them from Python code. You can prevent this "
543
561
"with the :c:macro:`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag."
544
562
msgstr ""
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`."
545
566
546
567
#: ../../howto/isolating-extensions.rst:310
547
568
msgid "Defining Heap Types"
548
- msgstr ""
569
+ msgstr "Definindo tipos no heap "
549
570
550
571
#: ../../howto/isolating-extensions.rst:312
551
572
msgid ""
552
573
"Heap types can be created by filling a :c:struct:`PyType_Spec` structure, a "
553
574
"description or \" blueprint\" of a class, and calling :c:func:"
554
575
"`PyType_FromModuleAndSpec` to construct a new class object."
555
576
msgstr ""
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."
556
580
557
581
#: ../../howto/isolating-extensions.rst:317
558
582
msgid ""
559
583
"Other functions, like :c:func:`PyType_FromSpec`, can also create heap types, "
560
584
"but :c:func:`PyType_FromModuleAndSpec` associates the module with the class, "
561
585
"allowing access to the module state from methods."
562
586
msgstr ""
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."
563
590
564
591
#: ../../howto/isolating-extensions.rst:321
565
592
msgid ""
566
593
"The class should generally be stored in *both* the module state (for safe "
567
594
"access from C) and the module's ``__dict__`` (for access from Python code)."
568
595
msgstr ""
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)."
569
599
570
600
#: ../../howto/isolating-extensions.rst:327
571
601
msgid "Garbage-Collection Protocol"
572
- msgstr ""
602
+ msgstr "Protocolo de recolhimento de lixo "
573
603
574
604
#: ../../howto/isolating-extensions.rst:329
575
605
msgid ""
576
606
"Instances of heap types hold a reference to their type. This ensures that "
577
607
"the type isn't destroyed before all its instances are, but may result in "
578
608
"reference cycles that need to be broken by the garbage collector."
579
609
msgstr ""
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."
580
614
581
615
#: ../../howto/isolating-extensions.rst:334
582
616
msgid ""
583
617
"To avoid memory leaks, instances of heap types must implement the garbage "
584
618
"collection protocol. That is, heap types should:"
585
619
msgstr ""
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:"
586
622
587
623
#: ../../howto/isolating-extensions.rst:338
588
624
msgid "Have the :c:macro:`Py_TPFLAGS_HAVE_GC` flag."
589
- msgstr ""
625
+ msgstr "Ter o sinalizador :c:macro:`Py_TPFLAGS_HAVE_GC`. "
590
626
591
627
#: ../../howto/isolating-extensions.rst:339
592
628
msgid ""
593
629
"Define a traverse function using ``Py_tp_traverse``, which visits the type "
594
630
"(e.g. using ``Py_VISIT(Py_TYPE(self))``)."
595
631
msgstr ""
632
+ "Definir uma função de travessia usando ``Py_tp_traverse``, que visita o tipo "
633
+ "(por exemplo, usando ``Py_VISIT(Py_TYPE(self))``)."
596
634
597
635
#: ../../howto/isolating-extensions.rst:342
598
636
msgid ""
599
637
"Please refer to the the documentation of :c:macro:`Py_TPFLAGS_HAVE_GC` and :"
600
638
"c:member:`~PyTypeObject.tp_traverse` for additional considerations."
601
639
msgstr ""
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."
602
642
603
643
#: ../../howto/isolating-extensions.rst:346
604
644
msgid ""
0 commit comments