Skip to content

Commit 63c34f4

Browse files
Update translation
Co-Authored-By: Marcos Moraes
1 parent 625c68f commit 63c34f4

File tree

3 files changed

+109
-13
lines changed

3 files changed

+109
-13
lines changed

library/ctypes.po

Lines changed: 104 additions & 8 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-07 16:23+0000\n"
15+
"POT-Creation-Date: 2025-11-09 15:45+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/"
@@ -1419,6 +1419,11 @@ msgid ""
14191419
"`BigEndianUnion`, and :class:`LittleEndianUnion` base classes. These "
14201420
"classes cannot contain pointer fields."
14211421
msgstr ""
1422+
":mod:`ctypes` usa a ordem de bytes nativa para Estruturas e Uniões. Para "
1423+
"construir estruturas com ordem de bytes não nativa, você pode usar classes "
1424+
"base :class:`BigEndianStructure`, :class:`LittleEndianStructure`, :class:"
1425+
"`BigEndianUnion` e :class:`LittleEndianUnion`. Essas classes não podem "
1426+
"conter campos de ponteiros."
14221427

14231428
#: ../../library/ctypes.rst:683
14241429
msgid "Bit fields in structures and unions"
@@ -1430,6 +1435,9 @@ msgid ""
14301435
"fields are only possible for integer fields, the bit width is specified as "
14311436
"the third item in the :attr:`~Structure._fields_` tuples::"
14321437
msgstr ""
1438+
"É possível criar estruturas e uniões contendo campos de bits. Campos de bits "
1439+
"só são possíveis para campos de inteiros, a largura do bit é especificada "
1440+
"como o terceiro item nas tuplas :attr:`~Structure._fields_`::"
14331441

14341442
#: ../../library/ctypes.rst:689
14351443
msgid ""
@@ -1795,7 +1803,7 @@ msgstr ""
17951803

17961804
#: ../../library/ctypes.rst:902
17971805
msgid "For these cases, the :func:`cast` function is handy."
1798-
msgstr ""
1806+
msgstr "Para esses casos, a função :func:`cast` é útil."
17991807

18001808
#: ../../library/ctypes.rst:904
18011809
msgid ""
@@ -1805,6 +1813,12 @@ msgid ""
18051813
"ctypes pointer type. It returns an instance of the second argument, which "
18061814
"references the same memory block as the first argument::"
18071815
msgstr ""
1816+
"A função :func:`cast` pode ser usada para converter uma instância ctypes em "
1817+
"um ponteiro para um diferente tipo de dado ctypes. :func:`cast` recebe dois "
1818+
"parâmetros, um objeto ctypes que é ou pode ser convertido para um ponteiro "
1819+
"de algum tipo, e um tipo ponteiro ctypes. Ela retorna uma instância do "
1820+
"segundo argumento, que referencia o mesmo bloco de memória que o primeiro "
1821+
"argumento:: "
18081822

18091823
#: ../../library/ctypes.rst:910
18101824
msgid ""
@@ -1819,6 +1833,8 @@ msgid ""
18191833
"So, :func:`cast` can be used to assign to the ``values`` field of ``Bar`` "
18201834
"the structure::"
18211835
msgstr ""
1836+
"Então, :func:`cast` pode ser usada para atribuir ao campo ``values`` da "
1837+
"estrutura ``Bar``::"
18221838

18231839
#: ../../library/ctypes.rst:918
18241840
msgid ""
@@ -1839,6 +1855,9 @@ msgid ""
18391855
"yet specified. In C, they are specified by forward declarations, which are "
18401856
"defined later::"
18411857
msgstr ""
1858+
"*Tipos Incompletos* são estruturas, uniões ou vetores, cujos membros ainda "
1859+
"não foram especificados. Em C, eles são especificados por declarações "
1860+
"antecipadas, que são definidas posteriormente::"
18421861

18431862
#: ../../library/ctypes.rst:934
18441863
msgid ""
@@ -1854,7 +1873,7 @@ msgstr ""
18541873
msgid ""
18551874
"The straightforward translation into ctypes code would be this, but it does "
18561875
"not work::"
1857-
msgstr ""
1876+
msgstr "A tradução direta para código ctypes seria esta, mas não funciona::"
18581877

18591878
#: ../../library/ctypes.rst:944
18601879
msgid ""
@@ -1875,6 +1894,10 @@ msgid ""
18751894
"itself. In :mod:`ctypes`, we can define the ``cell`` class and set the :attr:"
18761895
"`~Structure._fields_` attribute later, after the class statement::"
18771896
msgstr ""
1897+
"por que a nova ``class cell`` não está disponível na própria declaração da "
1898+
"classe. Em :mod:`ctypes`, podemos definir a classe ``cell`` e definir o "
1899+
"atributo :attr:`~Structure._fields_` posteriormente, após a declaração da "
1900+
"classe:: "
18781901

18791902
#: ../../library/ctypes.rst:958
18801903
msgid ""
@@ -1892,6 +1915,9 @@ msgid ""
18921915
"Let's try it. We create two instances of ``cell``, and let them point to "
18931916
"each other, and finally follow the pointer chain a few times::"
18941917
msgstr ""
1918+
"Vamos tentar. Criamos duas instâncias de ``cell``, e deixamos que elas "
1919+
"apontem uma para a outra, e finalmente seguimos a cadeia de ponteiros "
1920+
"algumas vezes::"
18951921

18961922
#: ../../library/ctypes.rst:969
18971923
msgid ""
@@ -1919,13 +1945,18 @@ msgid ""
19191945
":mod:`ctypes` allows creating C callable function pointers from Python "
19201946
"callables. These are sometimes called *callback functions*."
19211947
msgstr ""
1948+
":mod:`ctypes` permite criar ponteiros de função C chamáveis a partir de "
1949+
"chamáveis Python. Estas são às vezes chamadas de *funções de retorno*."
19221950

19231951
#: ../../library/ctypes.rst:992
19241952
msgid ""
19251953
"First, you must create a class for the callback function. The class knows "
19261954
"the calling convention, the return type, and the number and types of "
19271955
"arguments this function will receive."
19281956
msgstr ""
1957+
"Primeiro, você deve criar uma classe para função de retorno. A classe sabe a "
1958+
"convenção de chamada , o tipo de retorno, e o número e tipos de argumentos "
1959+
"que essa função irá receber."
19291960

19301961
#: ../../library/ctypes.rst:996
19311962
msgid ""
@@ -1934,13 +1965,20 @@ msgid ""
19341965
"factory function creates types for callback functions using the ``stdcall`` "
19351966
"calling convention."
19361967
msgstr ""
1968+
"A função de fábrica :func:`CFUNCTYPE` cria tipos para funções de retorno "
1969+
"usando a convenção de chamada ``cdecl``. No Windows, a função de fábrica :"
1970+
"func:`WINFUNCTYPE` cria tipos para funções de retorno usando a convenção de "
1971+
"chamada ``stdcall``."
19371972

19381973
#: ../../library/ctypes.rst:1001
19391974
msgid ""
19401975
"Both of these factory functions are called with the result type as first "
19411976
"argument, and the callback functions expected argument types as the "
19421977
"remaining arguments."
19431978
msgstr ""
1979+
"Ambas estas funções de fábrica são chamadas com o tipo de resultado como "
1980+
"primeiro argumento, e os tipos de argumento esperados da função de retorno "
1981+
"como os argumentos restantes."
19441982

19451983
#: ../../library/ctypes.rst:1005
19461984
msgid ""
@@ -2048,6 +2086,8 @@ msgid ""
20482086
"The function factories can be used as decorator factories, so we may as well "
20492087
"write::"
20502088
msgstr ""
2089+
"As fábricas de funções podem ser usadas como fábricas de decoradores, então "
2090+
"também podemos escrever::"
20512091

20522092
#: ../../library/ctypes.rst:1072
20532093
msgid ""
@@ -2071,6 +2111,10 @@ msgid ""
20712111
"are used from C code. :mod:`ctypes` doesn't, and if you don't, they may be "
20722112
"garbage collected, crashing your program when a callback is made."
20732113
msgstr ""
2114+
"Certifique-se de manter referências aos objetos :func:`CFUNCTYPE` enquanto "
2115+
"eles forem usados a partir do código C. O :mod:`ctypes` não faz isso, e se "
2116+
"você não o fizer, eles podem ser coletados pelo coletor de lixo, travando "
2117+
"seu programa quando uma função de retorno é chamada."
20742118

20752119
#: ../../library/ctypes.rst:1091
20762120
msgid ""
@@ -2081,24 +2125,38 @@ msgid ""
20812125
"with :class:`threading.local` will *not* survive across different callbacks, "
20822126
"even when those calls are made from the same C thread."
20832127
msgstr ""
2128+
"Além disso, note que se a função de retorno for chamada em uma thread criada "
2129+
"fora do controle do Python (por exemplo, pelo código externo que chama a "
2130+
"função de retorno), o ctypes cria uma nova thread Python "
2131+
"\"dummy\" (fictícia) em cada invocação. Este comportamento é correto para a "
2132+
"maioria dos propósitos, mas significa que os valores armazenados com :class:"
2133+
"`threading.local` *não* sobreviverão entre diferentes funções de retorno, "
2134+
"mesmo quando essas chamadas são feitas a partir da mesma thread C."
20842135

20852136
#: ../../library/ctypes.rst:1101
20862137
msgid "Accessing values exported from dlls"
2087-
msgstr ""
2138+
msgstr "Acessando valores exportados de dlls"
20882139

20892140
#: ../../library/ctypes.rst:1103
20902141
msgid ""
20912142
"Some shared libraries not only export functions, they also export variables. "
20922143
"An example in the Python library itself is the :c:data:`Py_Version`, Python "
20932144
"runtime version number encoded in a single constant integer."
20942145
msgstr ""
2146+
"Algumas bibliotecas compartilhadas não exportam apenas funções, elas também "
2147+
"exportam variáveis. Um exemplo na própria biblioteca Python é a :c:data:"
2148+
"`Py_Version`, o número da versão de tempo de execução do Python codificado "
2149+
"em um único inteiro constante."
20952150

20962151
#: ../../library/ctypes.rst:1107
20972152
msgid ""
20982153
":mod:`ctypes` can access values like this with the :meth:`~_CData.in_dll` "
20992154
"class methods of the type. *pythonapi* is a predefined symbol giving access "
21002155
"to the Python C api::"
21012156
msgstr ""
2157+
":mod:`ctypes` pode acessar valores como este com os métodos de classe :meth:"
2158+
"`~_CData.in_dll` do tipo. *pythonapi* é um símbolo predefinido que dá acesso "
2159+
"à API C do Python::"
21022160

21032161
#: ../../library/ctypes.rst:1111
21042162
msgid ""
@@ -2112,10 +2170,12 @@ msgid ""
21122170
"An extended example which also demonstrates the use of pointers accesses "
21132171
"the :c:data:`PyImport_FrozenModules` pointer exported by Python."
21142172
msgstr ""
2173+
"Um exemplo estendido que também demonstra o uso de ponteiros acessa o "
2174+
"ponteiro :c:data:`PyImport_FrozenModules` exportado pelo Python."
21152175

21162176
#: ../../library/ctypes.rst:1118
21172177
msgid "Quoting the docs for that value:"
2118-
msgstr ""
2178+
msgstr "Citando a documentação para esse valor:"
21192179

21202180
#: ../../library/ctypes.rst:1120
21212181
msgid ""
@@ -2136,6 +2196,9 @@ msgid ""
21362196
"So manipulating this pointer could even prove useful. To restrict the "
21372197
"example size, we show only how this table can be read with :mod:`ctypes`::"
21382198
msgstr ""
2199+
"Então, manipular este ponteiro pode até ser útil. Para restringir o tamanho "
2200+
"do exemplo, mostramos apenas como esta tabela pode ser lida com :mod:"
2201+
"`ctypes`::"
21392202

21402203
#: ../../library/ctypes.rst:1128
21412204
msgid ""
@@ -2156,6 +2219,8 @@ msgid ""
21562219
"We have defined the :c:struct:`_frozen` data type, so we can get the pointer "
21572220
"to the table::"
21582221
msgstr ""
2222+
"Nós definimos tipo de dado :c:struct:`_frozen`, para que possamos obter o "
2223+
"ponteiro para a tabela::"
21592224

21602225
#: ../../library/ctypes.rst:1142
21612226
msgid ""
@@ -2172,6 +2237,11 @@ msgid ""
21722237
"crash with an access violation or whatever, so it's better to break out of "
21732238
"the loop when we hit the ``NULL`` entry::"
21742239
msgstr ""
2240+
"Como ``table`` é um ``pointer`` para o vetor de registros ``struct_frozen``, "
2241+
"nós podemos iterar sobre ele, mas só temos que nos certificar de que nosso "
2242+
"loop termine, porque ponteiros não têm tamanho. Cedo ou tarde, ele "
2243+
"provavelmente travaria com uma violação de acesso ou algo assim, então é "
2244+
"melhor sair do loop quando atingirmos a entrada ``NULL``::"
21752245

21762246
#: ../../library/ctypes.rst:1152
21772247
msgid ""
@@ -2192,20 +2262,25 @@ msgid ""
21922262
"(indicated by the negative ``size`` member) is not well known, it is only "
21932263
"used for testing. Try it out with ``import __hello__`` for example."
21942264
msgstr ""
2265+
"O fato de que o Python padrão tem um módulo congelado e um pacote congelado "
2266+
"(indicado pelo membro ``size`` negativo) não é bem conhecido, é usado apenas "
2267+
"para testes. Experimente com ``import __hello__`` por exemplo."
21952268

21962269
#: ../../library/ctypes.rst:1170
21972270
msgid "Surprises"
2198-
msgstr ""
2271+
msgstr "Surpresas"
21992272

22002273
#: ../../library/ctypes.rst:1172
22012274
msgid ""
22022275
"There are some edges in :mod:`ctypes` where you might expect something other "
22032276
"than what actually happens."
22042277
msgstr ""
2278+
"Existem algumas pontos limites no :mod:`ctypes` onde você pode esperar algo "
2279+
"diferente do que realmente ocorre."
22052280

22062281
#: ../../library/ctypes.rst:1175
22072282
msgid "Consider the following example::"
2208-
msgstr ""
2283+
msgstr "Considere o exemplo a seguir::"
22092284

22102285
#: ../../library/ctypes.rst:1177
22112286
msgid ""
@@ -2233,6 +2308,9 @@ msgid ""
22332308
"Hm. We certainly expected the last statement to print ``3 4 1 2``. What "
22342309
"happened? Here are the steps of the ``rc.a, rc.b = rc.b, rc.a`` line above::"
22352310
msgstr ""
2311+
"Hm. Nós com certeza esperávamos que a última instrução exibisse ``3 4 1 2``. "
2312+
"O que aconteceu? Aqui estão os passos da linha ``rc.a, rc.b = rc.b, rc.a`` "
2313+
"acima::"
22362314

22372315
#: ../../library/ctypes.rst:1198
22382316
msgid ""
@@ -2250,19 +2328,29 @@ msgid ""
22502328
"the contents of ``temp1``. So, the last assignment ``rc.b = temp1``, doesn't "
22512329
"have the expected effect."
22522330
msgstr ""
2331+
"Observe que ``temp0`` e ``temp1`` ainda são objetos que utilizam o buffer "
2332+
"interno do objeto ``rc`` acima. Portanto, executar ``rc.a = temp0`` copia o "
2333+
"conteúdo do buffer de ``temp0`` para o buffer de ``rc``. Isso, por sua vez, "
2334+
"altera o conteúdo de ``temp1``. Assim, a última atribuição ``rc.b = temp1`` "
2335+
"não produz o efeito esperado."
22532336

22542337
#: ../../library/ctypes.rst:1209
22552338
msgid ""
22562339
"Keep in mind that retrieving sub-objects from Structure, Unions, and Arrays "
22572340
"doesn't *copy* the sub-object, instead it retrieves a wrapper object "
22582341
"accessing the root-object's underlying buffer."
22592342
msgstr ""
2343+
"Tenha em mente que obter sub-objetos de estruturas, uniões e vetores não "
2344+
"copia o sub-objeto; em vez disso, recupera um objeto de encapsulamento "
2345+
"(wrapper) que acessa o buffer subjacente do objeto raiz."
22602346

22612347
#: ../../library/ctypes.rst:1213
22622348
msgid ""
22632349
"Another example that may behave differently from what one would expect is "
22642350
"this::"
22652351
msgstr ""
2352+
"Outro exemplo que pode se comportar de maneira diferente do que alguém "
2353+
"poderia esperar é o seguinte::"
22662354

22672355
#: ../../library/ctypes.rst:1215
22682356
msgid ""
@@ -2280,6 +2368,8 @@ msgid ""
22802368
"Objects instantiated from :class:`c_char_p` can only have their value set to "
22812369
"bytes or integers."
22822370
msgstr ""
2371+
"Objetos instanciados a partir de :class:`c_char_p` só podem ter seu valor "
2372+
"definido para bytes ou inteiros."
22832373

22842374
#: ../../library/ctypes.rst:1228
22852375
msgid ""
@@ -2289,10 +2379,16 @@ msgid ""
22892379
"object itself, instead the ``contents`` of the object is stored. Accessing "
22902380
"the contents again constructs a new Python object each time!"
22912381
msgstr ""
2382+
"Por que está imprimindo ``False``? Instâncias de ctypes são objetos que "
2383+
"contêm um bloco de memória, além de alguns :term:`descriptor`\\s que acessam "
2384+
"o conteúdo dessa memória. Armazenar um objeto Python no bloco de memória não "
2385+
"armazena o próprio objeto; em vez disso, armazena-se o seu atributo "
2386+
"``contents``. Acessar o contents novamente constrói um novo objeto Python a "
2387+
"cada vez!"
22922388

22932389
#: ../../library/ctypes.rst:1238
22942390
msgid "Variable-sized data types"
2295-
msgstr ""
2391+
msgstr "Tipos de dados de tamanho variável"
22962392

22972393
#: ../../library/ctypes.rst:1240
22982394
msgid ""

potodo.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
1 directory 65.23% done
2-
└── 3.12/ 65.23% done
1+
1 directory 65.30% done
2+
└── 3.12/ 65.30% done
33
├── installing/ 100.00% done
44
├── distributing/ 100.00% done
55
├── faq/ 99.68% done
66
│ └── library.po 157 / 162 ( 96.0% translated)
77
├── using/ 100.00% done
88
├── reference/ 100.00% done
9-
├── library/ 58.69% done
9+
├── library/ 58.81% done
1010
│ ├── 2to3.po 121 / 132 ( 91.0% translated)
1111
│ ├── array.po 80 / 84 ( 95.0% translated)
1212
│ ├── ast.po 255 / 306 ( 83.0% translated)
@@ -31,7 +31,7 @@
3131
│ ├── contextlib.po 56 / 172 ( 32.0% translated)
3232
│ ├── contextvars.po 50 / 51 ( 98.0% translated)
3333
│ ├── crypt.po 6 / 36 ( 16.0% translated)
34-
│ ├── ctypes.po 191 / 523 ( 36.0% translated)
34+
│ ├── ctypes.po 226 / 523 ( 43.0% translated)
3535
│ ├── curses.po 64 / 484 ( 13.0% translated)
3636
│ ├── dataclasses.po 71 / 153 ( 46.0% translated)
3737
│ ├── datetime.po 633 / 637 ( 99.0% translated)

stats.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"completion": "65.23%", "translated": 43871, "entries": 62010, "updated_at": "2025-11-09T23:40:01+00:00Z"}
1+
{"completion": "65.3%", "translated": 43906, "entries": 62010, "updated_at": "2025-11-10T23:39:38+00:00Z"}

0 commit comments

Comments
 (0)